(4)程序编码:在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。 应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述 ⑤5)软件测试:单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构造 软件模块结构的手段,同时测试其功能和接口。确认测试检査所有的需求是否都得到满足。 在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。 亼。(6)软件维护:为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软 维护相关联的那些任务依赖于所要实施的维护的类型 1-3】瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义, 软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序, 如同瀑布流水,逐级下落。然而软件开发的实践表明,上述各项活动之间并非完全是自上而 下,呈线性图式。实际情况是,每项开发活动均应具有以下特征: (1)从上一项活动接受本项活动的工作对象,做为输入 (2)利用这一输入实施本项活动应完成的内容 (3)给出本项活动的工作成果,做为输出传给下一项活动: (4)对本项活动实施的工作进行评审。若其工作得到确认,则继续进行下一项活动,否 则返回前项,甚至更前项的活动进行返工。 【1-4】软件工程包括三个要素:方法、工具和过程 软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计 划与估算、软件系统需求分析、数据结构、系统总体结枃的设计、算法过程的设计、编码、 测试以及维护等。软件工程方法常采用某一种特殊的语言或图形的表达方法及一套质量保证 标准。 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。目前,已经推出了许 多软件工具,已经能够支持上述的软件工程方法。特别地,已经有人把诸多的软件工具集成 起来,使得一种工具产生的信息可以为其它的工具所使用,这样建立起一种被称之为计算机 辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和一个存放开 发过程信息的工程数据库组合起来形成一个软件工程环境 软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机 软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变 化所需要的管理、及软件开发各个阶段完成的里程碑 【1-5】在软件开发过程中必须遵循下列软件工程原则 抽象:采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以 由抽象到具体、由复杂到简单,逐步得到问题的解 信息隐蔽:遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将 实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。 模块化:按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息 隐蔽和抽象,有助于表示复杂的系统, 局部化:按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合, 模块内部高内聚。这有助于控制解的复杂性 ·确定性:软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助 于人们之间的沟通,保证整个开发工作协调一致 致性:强调软件开发过程的标准化、统一化。包括文档格式的一致,工作流程的10 (4) 程序编码 :在设计完成之后,用一种适当的程序设计语言或 CASE 工具生成源程序。 应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。 (5) 软件测试 :单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构造 软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的需求是否都得到满足。 在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。 (6) 软件维护 :为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软 件维护相关联的那些任务依赖于所要实施的维护的类型。 【1-3】瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义, 软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序, 如同瀑布流水,逐级下落。然而软件开发的实践表明,上述各项活动之间并非完全是自上而 下,呈线性图式。实际情况是,每项开发活动均应具有以下特征: (1) 从上一项活动接受本项活动的工作对象,做为输入; (2) 利用这一输入实施本项活动应完成的内容; (3) 给出本项活动的工作成果,做为输出传给下一项活动; (4) 对本项活动实施的工作进行评审。若其工作得到确认,则继续进行下一项活动,否 则返回前项,甚至更前项的活动进行返工。 【1-4】软件工程包括三个要素:方法、工具和过程。 软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计 划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、 测试以及维护等。软件工程方法常采用某一种特殊的语言或图形的表达方法及一套质量保证 标准。 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。目前,已经推出了许 多软件工具,已经能够支持上述的软件工程方法。特别地,已经有人把诸多的软件工具集成 起来,使得一种工具产生的信息可以为其它的工具所使用,这样建立起一种被称之为计算机 辅助软件工程(CASE)的软件开发支撑系统。CASE 将各种软件工具、开发机器和一个存放开 发过程信息的工程数据库组合起来形成一个软件工程环境。 软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机 软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变 化所需要的管理、及软件开发各个阶段完成的里程碑。 【1-5】在软件开发过程中必须遵循下列软件工程原则。 ·抽象 : 采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以 由抽象到具体、由复杂到简单,逐步得到问题的解。 ·信息隐蔽 : 遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将 实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。 ·模块化 : 按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息 隐蔽和抽象,有助于表示复杂的系统。 ·局部化 : 按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合, 模块内部高内聚。这有助于控制解的复杂性。 ·确定性 : 软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助 于人们之间的沟通,保证整个开发工作协调一致。 ·一致性 : 强调软件开发过程的标准化、统一化。包括文档格式的一致,工作流程的一