系统架构设计师学习之路(20)

本文阐述了软件质量管理的重要性,强调其在项目管理中的关键地位,同时解析了软件开发中的风险因素,介绍了结构化分析与面向对象的设计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.3.3 软件开发的质量与风险
1.软件质量
成功的软件质量管理是在约定的时间和范围、预算的成本及要求的质量下,达到项目干系人的期望。质量管理是项目管理的重要方面之一,它与范围、成本和时间是项目成功的关键因素。项目质量管理包括为确保项目能够满足所要执行的需求的过程,包括质量管理职能的所有活动。
ISO9000对项目质量的定义:一组固有特性满足需求的程度。需求指明示的、通常隐含的或必须履行的需求或期望。特性是指可区分的特性,可以是固有的或赋予的、定性的或定量的、有各种类别(物理的、感官的、行为的、时间的、功能的等)。
美国质量管理协会把质量定义为:过程、产品或服务满足明确或隐含的需求能力的特征。质量与范围、成本和时间是项目成功的关键因素。
注意:不要把质量和等级相混淆,等级是指具有相同使用功能不同技术特性的产品或服务的类别。
质量低说明产品或服务存在问题,没有达到要求,而等级低的产品或服务就不一定存在问题。
2.软件开发风险
在项目所处的自然、经济、社会和政治环境中,每一个项目都有风险。完全避开或消除风险,或只享受权益而不承担风险,是不可能的。
对项目风险进行分析、管理,是能够避开不利条件、减少损失的。
风险定义的三个必要条件:当事件、活动或项目有损失或收益与之相联系,涉及到某种必然性或不确定性和涉及到某种选择时。
具有不确定性的事件不一定是风险。
项目风险既包括对项目目标的威胁,也包括促进项目目标的机会。风险源于所有项目之中的不确定性因素。已知风险是那些已经识别和分析的风险。对于已知风险,进行相应计划是可能的。

4.4 设计方法

4.4.1 结构化分析与设计
结构化程序设计的概念最早由E.W.Dijkstra提出,其理由是GOTO语句对程序的可读性、可测试性、可维护性带来极大的危害,应该用更可维护的控制结构替代它。
Bohm和Jacopini证明了仅用“顺序”、“分支”、“循环”三种基本的控制构件即能构造任何单入口和单出口程序。
结构程序设计:是一种程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。
自顶向下逐步求精的方法,先整体后局部,先抽象后具体,开发出的软件一般具有较清晰的层次。
另一方面,采用结构程序设计的技术可能会多占用一些时间和空间资源。随着硬件技术的发展,因结构程序设计所增加顺带这点耗费对大多数应用来说已不再是重要的因素。
结构程序设计的思想应该在软件设计中体现出来。随着面向对象、软件重用等新的软件开发方法和技术的发展,更现实、更有效的开发途径可能是自顶向下和自底向上两种方法的有机结合。
4.4.2 面向对象的分析设计
面向对象的分析模型:

  • 顶层架构图
  • 用例描述用例图
  • 领域概念模型

面向对象的设计模型:

  • 以包图表示的软件体系结构图
  • 以交互图表示的用例实现图
  • 完整精确的类图
  • 针对复杂对象的状态图
  • 用以描述流程化处理过程的活动图

设计人员处理的任务:

  • 设计用例实施方案。针对分析模型中的用例,设计实现方案。实现方案用UML交互图表示。
  • 设计技术支撑方案。在大型软件项目中,往往需要一些技术支撑实施来帮助业务需求层面的类或子系统完成其功能。
  • 设计用户界面。针对分析模型中的领域概念模型以及引进的新类,完整、精确地确定每个类的属性和操作,并完整地标示类之间的关系。
  • 精化设计模型。为了实现软件重用和强内聚、松耦合等软件设计原则,还可以对已经形成的类图进行各种微调,最终形成足以构成面向对象程序设计的基础和依据的详尽类图。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值