65397第1章软件开发方法二软件工程内容摘要:

,即编码、测试、交付、安装、文档、培训; (6)客户评审,获得客户的反馈。 下一页 上一页 停止放映 第 35|76页 软件过程  软件过程是生产软件的一系列可预测、可控制活动的步骤,即把用户要求转化为软件产品的一系列有序开发活动的集合。  软件过程给出了软件开发所要遵循的基本路线,它的重要性在于它使一组开发活动具有了一致性和结构,从而使在软件开发过程中人们能够使用自己熟悉的技术和工具设计和开发软件,并能保持软件产品和服务在一定程度上的一致性和质量。 过程的重要性还在于它能够获取经验并将这些经验传授给别人。  但是, Wasserman在 1996年提出: “ 应用类型和组织文化之间的巨大差别使得过程本身规范化是不可能的 ”。 相反,他建议不同类型的软件,使用不同的过程。 下一页 上一页 停止放映 第 36|76页 软件质量  软件质量保证 SQA活动,贯穿于软件过程始终。 开发单位成立 SQA小组负责全面质量管理。 在开发项目计划时就要做出 SQA计划。 其工作:  各种测试 测试软件是否满足规格说明要求。  各种评审 为多种人员参与的讨论会,以规格说明或各种标准,规范为准评价各项软件工作。  各种审计 以职能人员为主审,审查软件过程产物是否符合标准或规格说明书。  报告和记录 所有测试、评审、审计都要详细记录并写出报告,报告和记录均要整理、归档。  以上活动均应在软件质量保证计划中列出。 下一页 上一页 停止放映 第 37|76页 三 . 组织过程  组织过程包括的软件开发活动和任务是: • 基础设施建设 • 软件工程工具和方法 • 改进 • 培训 下一页 上一页 停止放映 第 38|76页 基础设施建设  建立、维护和管理用于软件开发过程中其他活动的硬件和软件的基础设施;  建立、维护和管理用于软件开发过程中其他活动的软件开发工具和方法;  建立、维护和管理用于软件开发过程中其他活动的开发技术 、技术规范和标准;  建立、维护和管理用于软件开发过程中其他活动的其他基础设施。 下一页 上一页 停止放映 第 39|76页 软件工程工具和方法  程序的开发、运行都是在支持软件的基础上作出的。 支持软件的总和称之为软件开发环境。  早期的环境只有最必要的软件工具;例如语言的编译器、连接器、加载和运行工具、排错、信息显示及编辑工具。 称为最小环境工具集。  70年代中期 , 软件工程师迫于软件危机的压力 , 提出了计算机辅助软件工程 (CASE)的设想 , 开发出一系列工具尽量使软件过程的各项活动自动化、半自动化。  相应问题:工具日益增多 , 给使用者带来不便 ,例如,各工具的使用方法、格式、参数等差异的问题。 这就在客观上产生了对于集成的 CASE工具的需求。 下一页 上一页 停止放映 第 40|76页 计算机辅助软件工程 CASE  人们期望,借助 CASE工具,有朝一日软件开发人员可以像在自动流水线上生产计算机那样生产软件。  CASE 工具具有如下特征:  支持专用的个人计算环境;  使用图形功能对软件系统进行说明并建立文档;  将生命周期各阶段的工作连接在一起;  收集和连接软件系统从最初的软件需求到软件维护各个环节的所有信息;  用人工智能实现软件开发和维护工作的自动化。 下一页 上一页 停止放映 第 41|76页 软件工程工具  信息工程工具  过程模型和管理工具  项目计划工具  风险分析工具  项目管理工具  需求追踪工具  度量和管理工具  文档工具  系统软件工具  质量保证工具  数据库管理工具 下一页 上一页 停止放映 第 42|76页 改进  软件开发技术会随着软件开发工程实践活动的不断开展而发展。 改进活动就负有总结经验、不断改进开发技术和开发方法的职能。 改进活动的基本内容有: • 对整个软件生存过程进行评估; • 对现行过程进行度量; • 对现行过程进行改进。 下一页 上一页 停止放映 第 43|76页 培训  为了使用户能够尽快掌握使用软件系统,要对用户进行培训。  活动包括: • 制定培训计划。 • 编写培训教材。 • 实施培训计划。 下一页 上一页 停止放映 第 44|76页 软件工程方法学  通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。  软件工程方法学包括 3个要素:方法、工具和过程。  这三者之间是相互联系的。 方法是完成软件开发过程中各项任务的技术方法,回答 “ 怎样做 ” 的问题;工具是为运用方法而提供的自动或半自动的软件支撑环境;过程是为了获得高质量的软件所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 下一页 上一页 停止放映 第 45|76页 传统方法学  传统方法学是建立在软件生存周期方法学和结构化方法学的基础上。 因此,具有明显的那个时代的特点。 70年代,计算机技术水平不高,开发工具少而且性能差。  对于大型复杂问题的求解,人们不得不采用 “ 将大化小 “ 、 “ 将难化简 ” ,最后“ 分而治之 ” 的开发策略。 下一页 上一页 停止放映 第 46|76页  结构化方法是由结构化分析方法SA、结构化设计方法 SD和结构化程序设计方法 SP组成的,该方法的核心是基于功能分解的模块化层次结构方法。 下一页 上一页 停止放映 第 47|76页 结构化分析 SA •自顶向下 •逐步求精 •模块化设计  结构化分析的要点是:将大问题化为小问题,找出关键点、难点,定量描述;核心是:分解;手段是:模块化。 下一页 上一页 停止放映 第 48|76页 结构化设计 SD •模块化结构 •模块独立性  结构化设计方法的要点是:将系统设计成由相对独立、单一功能的模块组成的软件结构。 模块独立性用模块内的内聚性和模块间的耦合性来衡量。 下一页 上一页 停止放映 第 49|76页 结构化程序设计 SP • 自顶向下逐步加细; • 模块只有一个入口,一个出口; • 三种基本结构; • 开发支持库; • 主程序员组  结构化程序设计方法 SP的要点是用三种基本结构的语句编写只有一个入口和一个出口的模块程序,尽可能地采用重用程序,开发组织形式为主程序员组。 下一页 上一页 停止放映 第 50|76页 传统方法学的缺点  过分强调了分阶段实施,使得开发过程各个阶段之间存在严重的顺序性和依赖性;  很难将一个复杂的问题化简、分解;  设计方法存在很大的主观随意性;  基于功能分解的系统结构难于修改和扩充;  思维成果的可重用性。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。