第七讲:软件设计基础ppt课件.ppt

第七讲:软件设计基础ppt课件.ppt

ID:58692959

大小:1.25 MB

页数:62页

时间:2020-10-04

第七讲:软件设计基础ppt课件.ppt_第1页
第七讲:软件设计基础ppt课件.ppt_第2页
第七讲:软件设计基础ppt课件.ppt_第3页
第七讲:软件设计基础ppt课件.ppt_第4页
第七讲:软件设计基础ppt课件.ppt_第5页
资源描述:

《第七讲:软件设计基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程导论刘春计算机与信息工程学院软件工程系课程进度我们现在的位置第七讲:软件设计基础8.1软件设计的目标和任务软件需求:解决“系统做什么”软件设计:解决“系统应该怎么做”软件设计的目标软件设计的任务将需求分析阶段产生的需求规格说明转换为软件设计文档。软件设计的目标和任务把分析阶段产生的软件需求说明转换为用适当手段表示的软件设计文档。回答Howtodo?包括4个方面的设计:体系结构设计定义软件部件间的关系概要设计接口设计软件内部、外部及与人之间的通信数据设计信息模型软件数据结构详细设计过程设计软件组件的过程性描述6结构化软件设计任务(1/3)从项目管理的角度:概要设计:根据需求确定

2、软件和数据的总体框架详细设计:将“概设”结果进一步精化成算法和数据结构从技术的角度:体系结构设计:确定程序各主要部件之间的关系接口设计:系统的用户接口、内部与外部接口数据设计:把信息描述转换为实现软件所要求的数据结构过程设计:完成每一部件的过程化描述结构化软件设计任务(2/3)体系结构设计定义软件部件间的关系概要设计接口设计软件内部、外部及与人之间的通信数据设计信息模型软件数据结构详细设计过程设计软件组件的过程性描述结构化软件设计任务(2/3)概要设计详细设计设计复审软件需求规格说明书软件设计文档结构化设计过程面向对象的设计任务(1/2)结构化设计数据设计过程设计接口设计体系结构设计

3、封装成类/对象的属性和操作对象间的消息封装成对象间的协作面向对象的设计面向对象分析和面向对象设计之间没有明显的界限,很难精确区分两个阶段。面向对象分析和设计都是迭代过程,设计之后可能再进行进一步的分析面向对象软件设计任务(1/2)系统设计详细设计设计复审软件需求规格说明书软件设计文档面向对象设计过程消息设计系统设计:完成系统整体结构的设计,包括将子系统分配到处理器和任务,选择实现数据管理、界面支持和任务管理的设计策略,为系统设计合适的控制机制;对象设计:对OOA模型中类/对象模型的具体化和细化,包括用传统设计方法中过程设计的方法设计对象的每个操作,定义实现系统所需的内部类,为类属性设

4、计内部数据结构等;消息设计:使用对象间的协作和对象-关系模型,设计出消息模型;复审设计模型:设计过程的递进性,要求从需求和实现两个角度对设计模型进行复审,并伴随着附加的OOA活动。模块化与模块独立性1.模块模块是指这样一组程序语句,它包括输入、输出和逻辑处理功能、内部信息及其运行计划。模块指可单独命名且可通过名字访问的过程函数、子程序或宏调用。8.2软件设计的概念与原则模块具有如下4个基本属性。(1)接口:指模块的输入与输出。(2)功能:指该模块实现什么功能,做什么事情。(3)逻辑:描述模块内部怎么做。(4)状态:该模块使用时的环境和条件。8.2.1模块化与模块独立性2.模块化解决一

5、个复杂问题时,自顶向下逐层把软件划分成若干模块的过程。目的是为了降低软件的复杂性。模块化与模块独立性分解和模块独立性,是实现模块化设计的重要指导思想分解(decomposition)C(P1+P2)>C(P1)+C(P2)E(P1+P2)>E(P1)+E(P2)C为问题的复杂度,E为解题需要的工作量模块化与模块独立性模块数接口成本最小成本区M软件开发工作量总成本模块成本173.模块独立性概括了把软件划分为模块时要遵守的准则衡量模块独立性的两个准则内聚(cohesion)指模块内部各成分之间的联系,也称块内联系或模块强度耦合(coupling)指一个模块与其它模块之间的联系,也称为块间

6、联系模块的独立性高块内联系强块间联系弱模块化与模块独立性1.巧合性内聚(coincidentalcohesion)2.逻辑性内聚(logicalcohesion)3.时间性内聚(temporalcohesion)4.过程性内聚(proceduralcohesion)5.通信性内聚(communicationalcohesion)6.顺序性内聚(sequentialcohesion)7.功能性内聚(functionalcohesion)内聚1  2  3  4  5  6  7弱强低内聚     中内聚   高内聚19①偶然性内聚块内各组成成分在功能上是互不相关的。内聚XYZWA=B+

7、CGETCARDPUTOUTPUTIFI=5THENE=0……②逻辑性内聚这种模块把几种相关、相似功能组合在一起,每次被调用时,由传递给模块的参数来确定该模块应完成哪一种功能。内聚读入分数平均/最高?计算平均分计算最高分输出结果③时间性内聚如果一个模块所包含的任务必须在同一“时间”内完成,则这个模块的块内联系称为时间性内聚。紧急意外故障处理关闭文件报警保留现场...内聚④过程化内聚当一个模块中包含的一组任务必需按照某一特定的次序执行时,就称为过程性内聚模块

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。