【软件工程】设计的概念和原则.pdf

【软件工程】设计的概念和原则.pdf

ID:52930427

大小:230.03 KB

页数:38页

时间:2020-04-01

【软件工程】设计的概念和原则.pdf_第1页
【软件工程】设计的概念和原则.pdf_第2页
【软件工程】设计的概念和原则.pdf_第3页
【软件工程】设计的概念和原则.pdf_第4页
【软件工程】设计的概念和原则.pdf_第5页
资源描述:

《【软件工程】设计的概念和原则.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软软件件工工程程第1313章设计的概念和原则第第13131313章章设计的概念和原则设计的概念和原则13.13.11软件设计和软件工程软件设计和软件工程13.213.2设计过程设计过程13.2.1设计和软件质量13.2.2软件设计的演化13.13.33设计原则设计原则第1313章设计的概念和原则13.4设计概念13.4.1抽象13.4.5控制层次13.4.2求精13.4.6结构划分13.4.3模块化13.4.7数据结构13.4.4软件体系结构13.4.8软件过程13.4.9信息隐蔽第第13131313章

2、章设计的概念和原则设计的概念和原则13.513.5有效的模块设计13.513.5..11功能独立性13.513.5..22内聚13.513.5.3.3耦合13.613.6针对有效模块化的设计启发13.713.7设计模型13.813.8设计文档13.9小结13.13.13.13.1111软件设计和软件工程软件设计和软件工程设计阶段产生:•数据设计:将分析时创建的信息域模型变换成实现软件所需的数据结构。•体系结构设计:定义了软件的主要结构性元素、可用于达成针对系统而定义的需求的““设计模式””以及影响体系结

3、构设计模式被应用方式的约束之间的关系。•接口设计:描述了软件内部、软件和协作系统之间以及软件同人之间如何通信。•构件级设计:将软件体系结构的结构性元素变换为对软件构件的过程性描述。13.213.213.213.2设计过程设计过程��软件设计软件设计是一个迭代的过程,通过它是一个迭代的过程,通过它需求被变换为用于构造软件的需求被变换为用于构造软件的““““蓝图蓝图””””13.2.113.2.113.2.113.2.1设计和软件质量设计和软件质量良好设计演化的三个良好设计演化的三个特征特征::��设计必须

4、实现所有包含在分析模型中设计必须实现所有包含在分析模型中的明显需求的明显需求��设计必须是可读的,可理解的。设计必须是可读的,可理解的。��设计应该提供软件的完整面貌设计应该提供软件的完整面貌设计质量标准:设计质量标准:1.1.展示一种层次性结构2.2.模块化3.3.包含数据、体系结构、接口和构件((模块))的表示4.4.适合数据模块导出数据结构5.5.具有独立功能特征的构件6.6.导出降低模块和外部环境间复杂连接的接口7.通过使用由软件需求分析过程中获得的信息所驱动的可重复的方法导出13.2.13.2

5、.13.2.13.2.13.2.2222软件设计的演化软件设计的演化软件设计方法共同特性:��一种用于将分析模型变换到设计表示的机制��用于表示功能性构件及其接口的符号体系��用于求精和划分的启发信息��质量评价的指导原则13.13.13.13.3333设计原则设计原则软件设计的原则:•不应该受“隧道视野”的限制•对于分析模型应该是可跟踪的•不应该从头做起•应该缩短软件和现实世界中问题的“智力距离”•应该表现出一致性和集成性•应该构造以适应变更软件设计的原则:软件设计的原则:•应该构造以使得即使遇到异常

6、的数据、事件或操作条件时也能够平滑、轻巧地降级•不是编码,编码也不是设计•在创建设计时就应该能够评估质量,而不是在事情完成之后•应该复审设计以减少概念性(语义性)错误13.413.413.413.4设计概念设计概念概念设计问题:��能使用什么标准将软件划分为单个构件?��如何将功能或数据结构与软件的概念性表示分离开?��是否存在定义软件设计的技术质量的统一标准?13.4.13.4.13.4.13.4.1111抽象抽象�过程抽象:一个命名的指令序列,它具有特定和有限的功能。�数据抽象:命名的数据集合,它描

7、述一个数据对象。�控制抽象:隐含了不刻画内部细节的程序控制机制。13.4.213.4.213.4.213.4.2求精求精��逐步求精是自顶向下设计策略��求精实际上是一个详细描述的过程��抽象和求精是互补的概念13.4.13.4.13.4.13.4.3333模块化模块化设C(x)是描述问题x复杂性的函数,E(x)是定义解决问题x所需工作量(按时间计算)的函数,两个问题p1和p2,如果C(p1)>C(p2)那么E(p1)>E(p2)。另一特性:C(p1+p2)>C(p1)+C(p2)。可得出:E(p1+p

8、2)>E(p1)+E(p2)。结论:“分而治之”,将复杂问题分解成可以管理的片断会更容易。根据定义有效的模块化系统的能力评价设计方法:��模块可分解性��模块可组装性��模块可理解性��模块连续性��模块保护13.4.13.4.13.4.13.4.4444软件体系结构软件体系结构�软件体系结构软件体系结构意指意指““““软件的整体结构和软件的整体结构和这种结构提供给系统在概念上的整体性这种结构提供给系统在概念上的整体性的方式的方式””””1

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

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

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