软件工程教学课件chapter08.ppt
《软件工程教学课件chapter08.ppt》由会员分享,可在线阅读,更多相关《软件工程教学课件chapter08.ppt(31页珍藏版)》请在第壹文秘上搜索。
1、1 第8章 设计概念2设计nMitch Kapor,Lotus 1-2-3的创始人,在 Dr.Dobbs杂志上发表了“软件设计宣言”,他说:n良好的软件设计应该展示:n坚固:程序应该展示不含任何妨碍其功能的缺陷。n适用:程序应该符合开发的目标。n愉悦:使用程序的体验应是愉快的。3分析模型-设计模型Anal ysi s M odeluse-cases-t ext use-case di agr am s act i vi t y di agr am s swi m l ane di agr am sdat a f l ow di agr am s cont r ol-f l ow di agr
2、am s pr ocessi ng nar r at i vesf fl lo ow w-o or ri ie en nt te ed d e el le em m e en nt ts sb be eh ha av vi io or ra al le el le em m e en nt ts sc cl la as ss s-b ba as se ed de el le em m e en nt ts ss sc ce en na ar ri io o-b ba as se ed de el le em m e en nt ts scl ass di agr am s anal ysi s
3、 packages CRC m odel s col l abor at i on di agr am s st at e di agr am s sequence di agr am sD D a at ta a/C Cl la as ss s D D e es si ig gn nA A r rc ch hi it te ec ct tu ur ra al l D D e es si ig gn nI In nt te er rf fa ac ce e D D e es si ig gn nC Co om m p po on ne en nt t-L Le ev ve el l D D e
4、 es si ig gn nDesi gn Model基于场景的元素用例文本用例图活动图泳道图基于类的元素类图分析包CRC模型协作图行为元素状态图顺序图面向流的元素数据流图控制流图处理叙述设计模型数据/类设计体系结构设计接口设计构件级设计分析模型4设计和质量n设计必须实现所有包含在需求模型中的明确需求,而且必须满足利益相关者期望的所有隐含需求。n对于那些生成代码的人和那些进行测试以及随后维护软件的人而言,设计必须是可读的、可理解的指南。n设计必须提软件的全貌,从实现的角度说明数据域、功能域和行为域。5质量指导原则n设计应该展示出这样一种结构:(a)已经使用可识别的体系结构风格或模式创建;(b)
5、由展示良好设计特征的构建构成;(c)能够以演化的方式实现。n对于更小的系统,设计有时可以线性开发。n设计应该模块化;也就是说,应将软件逻辑地划分为元素或子系统。n设计应该包含数据、体系结构、接口和构件的清晰表示。n设计应导出数据结构,这些数据结构适用于要实现的类,并从可识别的数据模式提取。n设计应导出显示独立功能特征的构件。n设计应导出接口,这些接口降低了构件之间以及与外部环境连接的复杂性。n设计的导出应根据软件需求分析过程中获取的信息采用可重复的方法进行。n应该用能够有效传达其意义的表示法来表达设计。质量属性(FURPS)n功能性通过评估程序的特征集和能,所提交功能的通用性以及整个系统的安全
6、性来评估n易用性通过考虑人员因素、整体美感、一致性和文档来评估。n可靠性通过测量故障的频率和严重性、输出结果的精确性、平均故障事件、故障恢复能力和程序的可预见性来评估。n性能通过考虑处理速度、响应时间、资源消耗、吞吐量和效率来度量n可支持性综合了扩展程序的能力、适应性和耐用性3方面的能力。67设计原则n设计过程中不要有“井蛙之见”。n设计应起源于分析模型。n设计不要白费力气做重复工作。n在软件和真实世界的问题之间,设计应能“最小化知识距离”DAV95。n设计应表现出一致性和集成性。n设计结构应适应变化。n即使遇到数据、事件或操作条件异常时,设计结构应能温和处理。n设计不是编码,编码不是设计。n
7、创建设计时就应对其质量进行评估,而不是创建之后。n评审设计以最小化概念上的(语义的)错误。来自来自 Davis DAV958基本概念n抽象数据、过程、控制n体系结构软件的整个结构n模式已证实的解决方案的“精髓”n关注点分离任何复杂问题如果被分解为若干块,该复杂问题更容易地被处理。n模块化数据和功能的划分n信息隐蔽控制接口n功能独立专一的功能和低耦合n求精所有抽象精化的细节n方面一种理解全部需求如何影响设计的机制n重构一种简化设计的重新组织的技术n设计类提供设计细节,使分析类得以实现9过程抽象实现为一个“知识”对象,与进门有关implemented with a knowledge of the
8、 object that is associated with enter10数据抽象实现为一个数据结构制造商模块数类型转动方向插入灯数量类型重量打开机制implemented as a data structure11体系结构结构特性。结构特性。外部功能特性。外部功能特性。相关系统族。相关系统族。12模式13关注点分离n任何复杂问题如果被分解为可以独立解决和(或)优化的若干块,该复杂问题能够容易地被处理。n一个关注点是一个特征或行为,被指定为软件需求模型的一部分。n通过将关注点分割为更小的关注点,使得解决一个问题需要付出更少的工作量和时间。14模块化n软件工程师难以掌握单块软件(即由一个单独
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教学 课件 chapter08