《软件设计概要.ppt》由会员分享,可在线阅读,更多相关《软件设计概要.ppt(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、软件设计概要现在学习的是第1页,共20页软件设计的任务n分析模型 设计模型 设计文档n回答How to do?n可以分为概要设计、详细设计n软件设计包括n数据设计n体系结构设计n接口设计n过程设计现在学习的是第2页,共20页软件设计的任务n数据设计n信息模型 软件数据结构n体系结构设计n定义软件部件间的关系n接口设计n软件内部、外部及与人之间的通信n过程设计n软件组件的过程性描述现在学习的是第3页,共20页软件设计的基本概念n模块(module)与构件(component)n模块:定义输入、输出和特性的程序实体n构件:可重复使用的软件组件n抽象(abstract)与细化(refinement)
2、n抽象:分层次考虑和处理问题(数据和过程)n细化:从高到低的逐步分解过程n信息隐藏n对其它模块隐藏模块内部的数据和过程n软件复用现在学习的是第4页,共20页模块化设计(modular design)n分解(decomposition)n模块独立性(module independence)n自顶向下(topdown design)n自底向上(bottomup design)现在学习的是第5页,共20页分解(decomposition)C(P1+P2)C(P1)+C(P2)E(P1+P2)E(P1)+E(P2)C为问题的复杂度,E为解题需要的工作量 模块数接口成本最小成本区M软件开发工作量总成本模
3、块成本现在学习的是第6页,共20页模块独立性(module independence)n内聚(cohesion)n模块内部各成分之间n耦合(coupling)n一个模块与其它模块之间n模块的独立性高 n块内联系强 n块间联系弱 现在学习的是第7页,共20页内聚弱强低内聚中内聚高内聚现在学习的是第8页,共20页内聚 cohesionn.偶然性内聚 coincidental cohesionn.逻辑性内聚 logical cohesionn.时间性内聚 temporal cohesionn.过程性内聚 procedural cohesionn.通讯性内聚 communicational cohes
4、ionn.顺序性内聚 sequential cohesionn.功能性内聚 functional cohesion现在学习的是第9页,共20页逻辑性模块 读入分数平均/最高?计算平均分计算最高分输出结果现在学习的是第10页,共20页耦合 coupling1.非直接耦合no direct coupling2.数据耦合data coupling3.特征耦合 stamp coupling4.控制耦合control coupling 5.外部耦合 external coupling6.公共耦合 common coupling7.内容耦合 content coupling现在学习的是第11页,共20页弱
5、耦合数据耦合非直接耦合模块2模块1模块4模块3特征耦合(参数表传递数据结构)现在学习的是第12页,共20页公共耦合现在学习的是第13页,共20页自定向下和自底向上设计自顶向下顶层开始逐步分解由底向上选择关键部分先设计扩展到整个系统现在学习的是第14页,共20页设计需要处理的问题n协同设计n谁最合适设计系统的某一方面?n如何使组内成员相互了解别人的设计?n如何协调设计组件使整个系统统一?n用户界面设计n让用户驾驭软件,不是软件驾驭用户 n减少用户的记忆 n保持界面的一致性 n并发系统设计n怎样确保同时执行的组件间对共享数据的一致性 现在学习的是第15页,共20页并发处理(顺序执行)1、组件1查询
6、X是否为空。2、组件1被告知X不为空。3、组件2查询X是否为空。4、组件2被告知X不为空。5、组件1出栈,删除最后一个元素。6、组件2想出栈,但X已为空,系统进入非法状态。现在学习的是第16页,共20页并发处理1、组件1询问栈X是否为空。2、组件1被告知栈X不为空。3、组件2询问栈X是否为空。4、组件2被告知栈X不为空。5、组件1出栈,删去最后一个元素,并锁住栈X。6、组件2想出栈,但被告知X已上锁。7、另一个组件加了一个元素到栈X中。8、组件2被告知X已开锁(由于外部进程或者因为组件2 再次尝试)9、组件2出栈。现在学习的是第17页,共20页软件设计文档n软件设计说明书n1)范围 n2)数据设计 n3)体系结构设计n4)接口设计 n5)模块的过程设计 n6)其他 包括测试的考虑,确保设计满足所有需求,设计约束和一些特殊注解等内容。现在学习的是第18页,共20页设计复审(design review)n及早发现设计中的缺陷n差错的传播n复审的内容n概要设计复审 n系统的总体结构,模块划分,内外接口 n详细设计复审 n各个模块的具体设计 现在学习的是第19页,共20页设计复审(design review)n复审的方式n正式复审(Formal review)n非正式复审Informal review现在学习的是第20页,共20页