软件工程结构化建模的方法和工具_软件工程中的设计

软件设计在软件工程过程中属于核心技术,并且它的应用与所使用的软件过程模型无关。一旦对软件需求进行分析和建模,软件设计就开始了。软件设计是建模活动的最后一个软件工程活动,接着便要进入构建阶段(编码和测试)。

软件设计过程中的信息流如图所示。由基于场景的元素、基于类的元素和行为元素所表示的需求模型是设计任务的输入。使用设计表示法和设计方法,将得到数据或类的设计、体系结构设计、接口设计和构件设计。

从需求模型到设计模型的转换

数据设计或类设计将类模型转化为设计类的实现以及软件实现所要求的数据结构。CRC图中定义的对象和关系,以及类属性和其他表示法描述的详细数据内容为数据设计活动提供了基础。在软件体系结构设计中也可能会进行部分类的设计,更详细的类设计则将在设计每个软件构件时进行。

体系结构设计定义了软件的主要结构化元素之间的关系、可满足系统需求的体系结构风格和模式以及影响体系结构实现方式的约束。体系结构设计表示可以从需求模型导出,该设计表示基于的是计算机系统的框架。

接口设计描述了软件和协作系统之间、软件和使用人员之间是如何通信的。接口意味着信息流(如数据和控制)和特定的行为类型。因此,使用场景和行为模型为接口设计提供了大量的信息。

构件级设计将软件体系结构的结构化元素变换为对软件构件的过程性描述。从基于类的模型和行为模型中获得的信息是构件设计的基础。

设计过程中所做出的决策将最终影响软件构建的成功与否,更重要的是,会影响软件维护的难易程度。但是,设计为什么如此重要呢?

软件设计的重要性可以用一个词来表达——质量。在软件工程中,设计是质量形成的地方,设计提供了可以用于质量评估的软件表示,设计是将利益相关者的需求准确地转化为最终软件产品或系统的唯一方法。软件设计是所有软件工程活动和随后的软件支持活动的基础。没有设计,将会存在构建不稳定系统的风险,这样的系统稍做改动就无法运行,而且难以测试,直到软件过程的后期才能评估其质量,而那时时间已经不够并且已经花费了大量经费。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值