- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程讲义_第08章 设计工程
构件级设计元素 软件的构件级设计完全类似于某个房屋中的一组详细绘图(以及规格说明)。这些绘图描绘了每个房间内的布线和管道、电器插座和开关、水龙头、水池、浴室、浴盆、下水道、壁橱和储藏室的位置,还说明了所使用的地板、装饰以及和房间相关的任何细节。软件的构件级设计完整地描述了每个软件构件的内部细节。为此,构件级设计为所有本地数据对象定义数据结构,为所有在构件内发生的处理定义算法细节,并定义允许访问构件操作(行为)的接口。 构件级设计元素 在面向对象的软件工程中,使用UML图表现的构件如图8-6所示。图中表示的构件名为SensorManagement(SafeHome安全功能的一部分)。虚线箭头连接了构件和名为Sensor的类。SensorManagement构件完成所有和SafeHome传感器相关的功能,包括监测和配置传感器。 构件的细节设计可以在很多不同的抽象级下建模。活动图可以用于表示处理逻辑,构件详细的处理流可以使用伪代码表示,也可以使用一些图形来表示。 SAFEHOME实例[30] 图8-6 SensorManagement的UML构件图 部署级设计元素 部署级设计元素指明软件功能和子系统将如何在支持软件的物理计算环境内分布。例如SafeHome产品元素被配置为在三个主要的计算环境内运行——基于住宅的PC、SafeHome控制面板和位于CPI公司的服务器(提供基于Internet的系统访问)。 在设计过程中,开发的UML部署图以及随后的精化如图8-7所示。图中显示了三个计算环境(实际上,还可能包括传感器、摄像头和其他的环境)。图中标识出了每个计算元素中的子系统。如个人计算机中有完成安全、监视、住宅管理和通信功能的子系统。此外,还设计了一个外部访问子系统以管理外界资源对SafeHome系统的访问。细化每个子系统,用以说明该子系统所实现的构件。 SAFEHOME实例[31] 图8-7 SafeHome的UML部署图 部署级设计元素 图8-7所示的图使用描述符形式,这意味着部署图显示了计算环境但并没有明确地说明配置细节。在后面的阶段或构建开始时,应该用实例形式重新为部署图提供这些细节,明确每个实例的部署(专用的称为硬件配置)。 基于模式的软件设计 任何领域的顶级设计人员都具有一种不可思议的能力,就是看出其中的模式,即刻画问题和相应的多个模式的特点,组合这些模式就可以形成解决方案。贯穿整个设计过程,软件设计人员都应寻找每个机会重用现有的设计模式而不是创建一个全新的。 描述设计模式 成熟的工程学科利用成千上万的设计模式。模式中固有的东西是属性和操作。设计模式可以使用如下的模板来描述。 描述设计模式 设计模式的描述还可以考虑一系列的设计影响因素。设计影响因素描述与应用该模式的软件相关的非功能性的需求(例如维护的简易性、可移植性)。此外,影响因素定义了可能限制设计实现方式的一些约束。本质上,设计影响因素描述了使用设计模式所必需的环境和条件。模式特征(类、职责和协作)指出了设计的属性,调整这些属性可以帮助模式适应各种各样的问题。这些属性表现了设计的特点,可以通过搜索找到一个恰当的模式。最终,与使用设计模式相关的指导原则指出了设计决策的结果。 应该慎重选择设计模式的名称。软件复用中的一个关键问题是当存在成百上千的候选模式时,不能找到合适的可复用模式。一个有意义的模式名称将有助于查找“恰当”的模式。 在设计中使用模式 在整个软件设计中都可以使用设计模式。一旦开发了分析模型,设计人员可以检查待求解问题的详细表示和该问题所带来的限制。在各种抽象级上检查问题说明,以确定如下类型的设计模式中的一个或多个是否适合该问题。 在设计中使用模式 体系结构模式:这些模式定义软件的整体结构,体现了子系统和软件构件之间的关系,并定义了说明体系结构元素(类、包、构件、子系统)之间关系的规则。 设计模式:这些模式解决设计中特有的元素,例如解决某些设计问题中的构件聚集、构件间的联系或影响构件到构件之间通信的机制。 习惯用语:有时被称为编码模式,这些编程语言所特有的模式通常实现了构件、特定的接口协议或构件之间通信机制的算法元素。 这些模式类型的不同不仅在于每一个模式都是在不同的抽象级上的表示,还在于为软件过程中构建活动提供直接指导的抽象等级也不同。 框架 在某些情况下,可能需要为设计工作提供和实现相关的特定的骨架基础设施(被称作框架)。也就是说,设计人员可能选择一个“可复用的小架构,该架构为一簇软件抽象及其环境提供通用的结构和行为……从而在给定的域中表明它们的协作和使用“。 框架不是体系结构模式,而是一个带有”插入点”集合的骨架,插入点使得体系结构能够适应特定的问题域。插入点使得设计人员能够在骨架内集成与问题相关的特定类。在面向对象的环境内,框架是相互合作的类的集合。 框
您可能关注的文档
最近下载
- 精益化智慧手术室建设指南.pdf VIP
- 房产经纪人初级培训培训之房屋租赁培训资料.ppt
- 云浮硫铁矿企业集团公司校园招聘模拟试题附带答案详解.docx VIP
- 2025年中国微压富氧舱市场调查研究报告.docx
- 学习教育专题党课2篇:持续推进作风建设.docx VIP
- AIAG-VDA-FMEA作业指导书(第五版FMEA管理规定).docx VIP
- GB4968-2008 火灾分类.doc VIP
- 2022年公务员考试必备-公基常识真题含答案.doc VIP
- 环境管理 生命周期评价 原则与框架.pdf VIP
- (高清版)DB36∕T 1273-2020 铜尾矿掺合料在混凝土和砂浆中应用技术规程.pdf VIP
文档评论(0)