首页 理论教育 软件开发最佳实践:《软件系统分析与体系结构设计》

软件开发最佳实践:《软件系统分析与体系结构设计》

时间:2023-10-16 理论教育 版权反馈
【摘要】:项目的需求管理提供了一系列方案,用以解决软件开发中遇到的问题。3)基于构件的软件体系结构构件是实现清晰功能的模块或子系统,为软件配置管理提供了一个非常自然的基础,RUP支持基于构件的软件开发。RUP正是建立在上述6项最佳实践活动的基础上,目的是交付一个定义良好的过程。

软件开发最佳实践:《软件系统分析与体系结构设计》

尽管项目失败的方式各不相同,但究其原因,主要有需求管理不规范、沟通信息不精确或不畅通、软件体系结构脆弱或不稳定、软件过度复杂、需求设计与实现不一致、测试不够、过于乐观、未解决风险、自动控制变化不足等。

为解决这些问题,需要一种更好的、迭代的、可预测的方式开发软件产品,这就是软件开发中的最佳实践,它可以精确量化产品价值,为许多成功的机构所普遍运用。最佳实践包括以下6种:

1)迭代式软件开发

迭代式软件开发方法是一个连续发现、创造和实现的过程。这种方法在生命周期早期,可以及时发现和更正需求理解错误;使开发人员重视项目中的关键问题,抓住可能导致项目真实风险的问题;尽早发现需求、设计和实现间的不一致。该方法不断迭代地测试可以给出项目状况的客观评价;允许和鼓励用户反馈信息,以明确系统的真实需求。迭代或软件开发使得需求、特色、日程上的战略性变化更为容易。

2)需求管理

需求是系统必须达到的条件或性能,它在整个软件项目生命周期中是变化的。动态需求管理包括三项活动:提取、组织和文档化需要的功能和约束;估计需求的变化并评估它们的影响;跟踪、权衡和文档化折中方案和决策

项目的需求管理提供了一系列方案,用以解决软件开发中遇到的问题。它规定了一系列需求管理的原则性方法;人员之间的交流都建立在已定义的需求上;规定了需求的优先级,给开发和发布系统提供了连续的和可跟踪的线索,易于发现系统中的不一致性;对功能和性能作出尽可能客观的评价,使最终系统更能满足用户的需要。

3)基于构件的软件体系结构

构件是实现清晰功能的模块或子系统,为软件配置管理提供了一个非常自然的基础,RUP支持基于构件的软件开发。基于构件建立软件体系结构有一系列方案,用以解决软件开发中所遇到的问题。它可促进创建有效软件重用的弹性结构;模块化方法使得人们可以关注系统中容易变化的不同元素;可被组装为良好定义的结构或特殊的标准化的框架(如CORBA,EJB,COM+)和其他商品化的构件,提供了软件的可复用性。

一个软件体系结构包括一系列重要决策:确定软件系统的组织;确定构成系统的结构元素及其接口;用结构元素之间的协作关系说明各个结构元素的行为;将结构元素及其行为组合为更大的子系统;依据软件体系结构风格约定,指导系统的构建,约定涉及元素以及它们的接口、协助和组合。(www.xing528.com)

4)建立软件的可视化模型

模型是现实的简化,它从特定的视角完整地描述一个系统。通过模型化,可将系统体系结构的结构和行为可视化、具体化。工业级标准UML是成功可视化软件建模的基础,应用UML,开发人员可以清楚地、无二义性地理解软件设计,详细说明系统行为并沟通。

可视化建模可以帮助开发人员提高管理复杂软件的能力,并且确保每次迭代过程中构件模块一致于源代码,保持设计和实现的一致性。

5)不断地验证软件质量

在软件实施后再查找和发现软件问题,比在早期进行此项工作要花费多得多的时间和资源。因此,质量应基于可靠性、功能性、应用和系统性能,根据需求进行不断地评估和验证。验证系统功能,需要对每一个关键场景进行测试。场景描述了系统应实现的某一种行为,RUP帮助计划、设计、实现、执行和评估这些测试类型。

6)控制软件的变更

当软件开发在不同组、不同地点并行进行时,开发人员同时工作于多个迭代过程、发布版本、产品和平台上,因此管理变更的能力和确定每个修改的可接受性在变更不可避免环境中是必需的,必须建立管理软件变更的循环工作流,在迭代过程中持续监控变更,动态发现问题并及时反映。同时指导如何通过隔离修改和控制整个软件产物(代码、文档等)的修改来为每个开发者建立安全专用工作空间,减少平行工作的小组成员之间的相互干扰。

成熟的开发组织能够利用良好的开发过程,采用最佳实践活动,以一种可预测的循环方式开发复杂的系统,这样软件开发的组织能力能够保持稳定,并能随着新项目不断改进,从而提高整个软件开发的效能和生产率。RUP正是建立在上述6项最佳实践活动的基础上,目的是交付一个定义良好的过程。

根据以上对RUP的描述,可将RUP准确定义如下:RUP是用例驱动的,以体系结构为核心的,以质量控制和风险管理为目标的,迭代的、增量的开发过程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈