- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程
第7章设计概念
主要内容
软件工程中的设计
设计过程
设计概念
设计模型
小结
设计工程
设计创建了软件的表达或模型,但与分析模型
(关注于说明必需的数据、功能和行为)不同,
设计模型提供了软件体系结构、数据结构、接口
和构件的细节,而这些都是实现系统必需的。
设计要让软件工程师为将要构建的系统或产品
建立模型。在生成代码、进行测试以及在涉及大
量最终用户使用之前,可能要评估该模型的质量
并进行改进。设计是确立软件质量的关键步骤。
设计工程
设计可以采用很多不同的方法描绘软件。
首先,设计必须体现系统或产品的体系结
构;其次,为各类接口建模,这些接口在
软件和最终用户、软件和其他系统及设备
以及软件和自身组成的构件之间起到联系
作用;最后,设计用于构建系统的软件构
件。每个视图表现了不同的设计活动,但
是都要遵循一组基本的设计概念,这些设
计概念指导着所有的软件设计工作。
设计工程
在软件设计过程中,包含体系结构、接
口、构件和部署表示的设计模型是主要的
工作产品。
可以从以下诸方面来评估设计模型:确定
设计模型是否存在错误、不一致或遗漏,
是否存在更好的方案可供选择,设计模型
是否可以在已经设定的限制、时间进度和
花费下实现。
设计工程
设计工程包括一套原理、概念和实践,可
以指导高质量的系统或产品开发。设计原
理建立了最重要的原则,用以指导设计师
工作。在运用设计实践的技术和方法之前,
必须先理解设计概念,而且设计实践本身
会导致产生各种软件设计表示,这些表示
将指导随后的构建活动。
设计工程
设计是一项核心的工程活动。Lotus 1-2-3的
发明人在 《Dr.Dobbs杂志》上发表了 “软件设
计宣言”:设计是你身处两个世界——技术世界
和人类的目标世界——而你尝试将这两个世界结
合在一起……设计良好的建筑应该展示出坚固、
适用和令人赏心悦目的特点。对好的软件来说也
是如此。所谓坚固,是指程序应该不含任何妨碍
其功能的缺陷。适用是要程序符合开发的目标。
赏心悦目则是要求使用程序的体验应是愉快的。
设计工程
设计工程的目标是创作出坚固、适用和赏心悦
目的模型或设计表示。为此,设计师的做法必
须先实现多样化再行聚合。多样化是指要获取多
种方案和设计的原始资料,包括目录、教科书和
头脑中的构件、构件方案和知识。在各种信息汇
聚在一起之后,设计师应从其中挑选能够满足需
求工程和分析模型所定义的需求的元素。此时,
设计工程师在经取舍后,进行聚合,使之成为构
件的某种特定的配置,于是便得到最终的产品。
多样化和聚合需要直觉和判断力,其质量取决
于构造类似实体的经验、一系列指导模型演化方
式的原则和(或)启发、一系列质量评价的标准以
及导出最终设计表示的迭代过程。
设计工程
在本章将探讨可以应用于所有软件设计的
基本概念和原则、设计模型的元素以及模
式对设计过程的影响。在随后的章节中,
将考察应用于体系结构、接口和构件级设
计的各种各样的设计方法。
软件工程中的设计
软件设计在软件工程过程中处于技术核心,并
且它的应用与所使用的软件过程模型无关。对软
件需求进行分析和建模开始之后,软件设计是建
模活动的最后一个软件工程动作,接着便要进入
构造阶段。
需求模型的每个元素都提供了创建四种设计模
型所必需的信息,这四种设计模型是完成完整的
设计规格说明所必需的。软件设计过程中的信息
流如图7-1所示。由基于场景的元素、基于类的
元素和行为元素所表明的分析模型是设计任务的
输入。使用相应的设计表示法和设计方法,将得
到数据或类的设计、体系结构设计、接口设计和
构件设计。
软件工程中的设计
图7-1从需求模型到设计模型的转化
软件工程中的设计
数据/类设计将分析类模型转化为设计类的实现
以及软件实现所要求的数据结构。CRC索引卡
定义的类和关系、类属性和其他表示法刻画的详
细数据内容为数据设计活动提供了基础。在和软
件体系结构设计连接中可能会有部分的类设计,
更详细的类设计在设计每个软件构件时进行。
体系结构设计定义了软件的主要结构元素之间
的关系、可用于达到系统所定义需求的体系结构
风格和设计模式以及影响体系结构实现方式的约
束。体系结构设计表示——基于计算机系统的框
架——可以从需求模型导出。
软件工程
文档评论(0)