欢迎来到天天文库
浏览记录
ID:33581681
大小:1.19 MB
页数:72页
时间:2019-02-27
《软件工程讲义_第七章 设计概念》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程第7章设计概念主要内容软件工程中的设计设计过程设计概念设计模型小结设计工程设计创建了软件的表达或模型,但与分析模型(关注于说明必需的数据、功能和行为)不同,设计模型提供了软件体系结构、数据结构、接口和构件的细节,而这些都是实现系统必需的。设计要让软件工程师为将要构建的系统或产品建立模型。在生成代码、进行测试以及在涉及大量最终用户使用之前,可能要评估该模型的质量并进行改进。设计是确立软件质量的关键步骤。设计工程设计可以采用很多不同的方法描绘软件。首先,设计必须体现系统或产品的体系结构;其次,为各类接口建模,这些接口在软件
2、和最终用户、软件和其他系统及设备以及软件和自身组成的构件之间起到联系作用;最后,设计用于构建系统的软件构件。每个视图表现了不同的设计活动,但是都要遵循一组基本的设计概念,这些设计概念指导着所有的软件设计工作。设计工程在软件设计过程中,包含体系结构、接口、构件和部署表示的设计模型是主要的工作产品。可以从以下诸方面来评估设计模型:确定设计模型是否存在错误、不一致或遗漏,是否存在更好的方案可供选择,设计模型是否可以在已经设定的限制、时间进度和花费下实现。设计工程设计工程包括一套原理、概念和实践,可以指导高质量的系统或产品开发。设计原理建立了最
3、重要的原则,用以指导设计师工作。在运用设计实践的技术和方法之前,必须先理解设计概念,而且设计实践本身会导致产生各种软件设计表示,这些表示将指导随后的构建活动。设计工程设计是一项核心的工程活动。Lotus1-2-3的发明人在《Dr.Dobbs杂志》上发表了“软件设计宣言”:设计是你身处两个世界——技术世界和人类的目标世界——而你尝试将这两个世界结合在一起……设计良好的建筑应该展示出坚固、适用和令人赏心悦目的特点。对好的软件来说也是如此。所谓坚固,是指程序应该不含任何妨碍其功能的缺陷。适用是要程序符合开发的目标。赏心悦目则是要求使用程序的体验应
4、是愉快的。设计工程设计工程的目标是创作出坚固、适用和赏心悦目的模型或设计表示。为此,设计师的做法必须先实现多样化再行聚合。多样化是指要获取多种方案和设计的原始资料,包括目录、教科书和头脑中的构件、构件方案和知识。在各种信息汇聚在一起之后,设计师应从其中挑选能够满足需求工程和分析模型所定义的需求的元素。此时,设计工程师在经取舍后,进行聚合,使之成为构件的某种特定的配置,于是便得到最终的产品。多样化和聚合需要直觉和判断力,其质量取决于构造类似实体的经验、一系列指导模型演化方式的原则和(或)启发、一系列质量评价的标准以及导出最终设计表示的迭代过
5、程。设计工程在本章将探讨可以应用于所有软件设计的基本概念和原则、设计模型的元素以及模式对设计过程的影响。在随后的章节中,将考察应用于体系结构、接口和构件级设计的各种各样的设计方法。软件工程中的设计软件设计在软件工程过程中处于技术核心,并且它的应用与所使用的软件过程模型无关。对软件需求进行分析和建模开始之后,软件设计是建模活动的最后一个软件工程动作,接着便要进入构造阶段。需求模型的每个元素都提供了创建四种设计模型所必需的信息,这四种设计模型是完成完整的设计规格说明所必需的。软件设计过程中的信息流如图7-1所示。由基于场景的元素、基于类的元
6、素和行为元素所表明的分析模型是设计任务的输入。使用相应的设计表示法和设计方法,将得到数据或类的设计、体系结构设计、接口设计和构件设计。软件工程中的设计图7-1从需求模型到设计模型的转化软件工程中的设计数据/类设计将分析类模型转化为设计类的实现以及软件实现所要求的数据结构。CRC索引卡定义的类和关系、类属性和其他表示法刻画的详细数据内容为数据设计活动提供了基础。在和软件体系结构设计连接中可能会有部分的类设计,更详细的类设计在设计每个软件构件时进行。体系结构设计定义了软件的主要结构元素之间的关系、可用于达到系统所定义需求的体系结构风格和设计模
7、式以及影响体系结构实现方式的约束。体系结构设计表示——基于计算机系统的框架——可以从需求模型导出。软件工程中的设计接口设计描述了软件和协作系统之间、软件和使用人员之间是如何通信的。接口就意味着信息流和特定的行为类型。因此,使用场景和行为模型为接口设计提供了所需的大量信息。构件级设计将软件体系结构的结构元素变换为对软件构件的过程性描述。从基于类的模型、流模型和行为模型获得的信息将作为构件设计的基础。软件工程中的设计软件设计的重要性可以用一个词来表达——质量。设计是软件工程中形成质量的地方,设计为我们提供了可以用于质量评估的软件表示,设计是
8、我们能够将用户需求准确地转化为软件产品或系统的唯一方法。软件设计是所有软件工程活动和随后的软件支持活动的基础。没有设计,我们冒构造不稳定系统的风险,这样的系统稍做改
此文档下载收益归作者所有