软件工程第5章.pptx
《软件工程第5章.pptx》由会员分享,可在线阅读,更多相关《软件工程第5章.pptx(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1 总体设计的过程总体设计的过程5.1.1 5.1.1 设计供选择的方案设计供选择的方案5.1.2 5.1.2 推荐最佳实现方案推荐最佳实现方案5.1.3 5.1.3 设计软件结构设计软件结构 5.1.4 5.1.4 数据库设计数据库设计 5.1.5 5.1.5 制定测试计划制定测试计划 第1页/共74页5.1.1 设计供选择的方案设计供选择的方案需求分析阶段得出的数据流图是总体设计的根本出发点。通常,选取的这些方案中至少应包括低成本、中成本和高成本的三种方案类型。对每个合理方案要提供以下几方面资料:(1)系统流程图;(2)数据字典;(3)成本效益分析;(4)实现这个系统的进度计划。第2页
2、/共74页5.1.2 推荐最佳方案推荐最佳方案分析员从合理方案中选择一个最佳方案向用户推荐,并为推荐的方案制定详细的实现计划。对于分析员推荐的最佳方案,用户和有关专家应该认真审查。如果确认该方案确实符合用户的需要,并且在现有条件下完全能够实现,则应该提请使用部门负责人进一步审批。在使用部门负责人也接受了分析员所推荐的方案之后,方可进入总体设计过程的下一步工作,即结构设计阶段。第3页/共74页过程设计:确定每个模块的处理过程。结构设计:确定系统由哪些模块组成,以及这些模块之间的相互关系。5.1.3 设计软件结构设计软件结构 对于大型系统的设计,通常分为两个阶段:结构设计和过程设计。其中,结构设计
3、是总体设计阶段的任务,而过程设计则是详细设计阶段的任务。第4页/共74页软件的层次结构第5页/共74页1)水平划分2)垂直划分第6页/共74页5.1.4 数据库设计数据库设计 数据库的应用越来越广泛,目前大多数的系统都要用到数据库技术。数据库设计是一项专门的技术,包括模式设计、子模式设计、完整性和安全性设计和优化处理等。第7页/共74页5.1.5 制定测试计划制定测试计划 在软件开发的早期阶段提前考虑软件的测试计划是很有必要的。这样能促使软件设计人员在设计时注意到软件的测试问题,从而有利于提高软件的可测试性。第8页/共74页总体设计阶段的文档总体设计阶段的文档(1)总体设计说明书(包括系统实现
4、方案和软件模块结构);(2)测试计划(包括测试策略、测试方案、预测的测试结果、测试进度计划等);(3)用户手册(根据总体设计阶段的结果,编写的初步的用户操作手册);(4)详细的实现计划;(5)数据库设计结果。第9页/共74页5.2 软件设计基本原理软件设计基本原理5.2.1 5.2.1 模块化模块化5.2.2 5.2.2 抽象抽象5.2.3 5.2.3 信息隐蔽信息隐蔽5.2.4 5.2.4 模块独立性模块独立性第10页/共74页模块:又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。例如高级语言中的过程、函数、子程序等都可作为模块。5.2.1 模块化模块化模块化是软件的一个重要属
5、性。模块化的特性提供了人们处理复杂的问题的一种方法,同时也使得软件能够被有效地管理。第11页/共74页这种“分而治之”的思想提供了模块化的根据:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。根据前面的结论,我们可以得出下面的不等式:E(P1P2)E(P1)E(P2)这个不等式表明:单独解决问题P1和P2所需的工作量之和,比把P1和P2合起来作为一个问题来解决时所需的工作量要少。有两个函数:C(x)表示问题x的复杂程度;E(x)表示解决问题x所需要的工作量(时间)。对于两个问题P1和P2,如果:C(P1)C(P2)则:E(P1)E(P2)另一个有趣的特性是:C(P1P2)C(
6、P1)C(P2)第12页/共74页模块化和软件成本的关系模块化和软件成本的关系第13页/共74页我们在考虑问题时,集中考虑和当前问题有关的方面,而忽略和当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。5.2.2 抽象抽象软件工程过程的每一步,都是对软件解法的抽象层次的一次细化。在可行性研究阶段,软件被看作是一个完整的系统部分;在需求分析期间,我们使用在问题环境中熟悉的术语来描述软件的解法;当我们由总体设计阶段转入详细设计阶段时,抽象的程度进一步减少;最后,当源程序写出来时,也就达到了抽象的最低层。第14页/共74页信息隐蔽原理认为:模块所包含的信息(过程
7、和数据)对于其他模块来说应该是隐蔽的。也就是说,模块应当被这样规定和设计,使得包含在模块中的信息(过程或数据)对于其它不需要这些信息的模块来说,是不能访问的,或者说是“不可见”的。5.2.3 信息隐蔽信息隐蔽信息隐蔽对于软件的测试与维护都有很大的好处。因为对于软件的其它部分来说,绝大多数数据和过程都是隐蔽的,这样,在修改期间由于疏忽而引入的错误所造成的影响就可以局限在一个或几个模块内部,不至波及到软件的其他部分。第15页/共74页模块的独立性是软件质量的关键:(1)模块化程度较高的软件容易开发;(2)模块化程度较高的软件也比较容易测试和维护。5.2.4 模块独立性模块独立性模块的独立性的度量标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程
限制150内