网站建设茂名,绿色能源网站模板,全球最大购物网站,wordpress多用户注册曾经几乎一统天下的统一软件开发过程RUP#xff08;Rational Unified Process#xff09;即使是现在看来#xff0c;它也是一套非常先进并完整的理论体系加工具集合。虽然目前来看#xff0c;敏捷开发方法似乎更优秀#xff0c;但是到今天为止#xff0c;几乎大部分的政府…
曾经几乎一统天下的统一软件开发过程RUPRational Unified Process即使是现在看来它也是一套非常先进并完整的理论体系加工具集合。虽然目前来看敏捷开发方法似乎更优秀但是到今天为止几乎大部分的政府和国企项目中都在使用RUP所以了解它也是一件必然的事情。
那么统一软件开发过程RUP到底是什么呢
所谓的统一软件开发过程便是将9个核心工作流在项目中迭代使用。这9个核心工作流分别是
业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境
业务建模
业务建模Business Modeling是为了用来理解和描述业务流程、角色、责任和业务目标用的。它关注于如何优化和改进业务操作。比如创建一个业务流程图以改进客户服务流程定义角色和职责以提高效率。
这里用一个ERP的销售报价流程为例 需求
需求Requirement是为了描述系统应该做什么并使开发人员和用户就这一描述达成共识。为了达到该目标要对需要的功能和约束进行提取、组织和文档化最重要的是要能理解系统所解决问题的定义和范围。
那么该怎么来描述需求呢我这里有个小技巧不知道大家有没有写过用户故事我觉得这是一种非常棒的需求描述方式它的格式也是固定的“作为一个 [角色]我希望 [功能]以便 [目标/利益]。”
就比如上面的商品估价可以这么写
商品估价
作为一个 财务人员我希望 系统允许对商品估价进行手动调整以便 我可以根据市场变化和业务需求调整商品的价格策略。
除了用户故事以外原型法也是常见的需求描述手段。
原型法通过构建可视化模型原型来展示和测试系统的功能和界面。这有助于用户更直观地理解系统并提供反馈。
原型法 可以在 用户故事 的基础上进行帮助细化和验证用户故事中的需求。用户故事 可以作为原型设计的基础确保原型中展示的功能符合用户的实际需求和期望。
至于需要写到什么程度要和客户达成多少共识这个和实际情况项目工期团队规模客户约定都有关系并不可以一概而论。
分析和设计
分析和设计Analysis Design便是将需求转化成未来系统的设计方法。
这里我只用面向对象的分析和设计来进行说明
面向对象分析OOA 聚焦于需求和对象建模帮助理解和定义系统的需求。
主要包括用例图、类图、对象图等这些图示帮助描述系统的功能和对象之间的交互。
面向对象设计OOD 聚焦于如何实现这些需求通过详细设计来创建系统的结构和功能。
主要包括类图、时序图、状态图等描述系统的内部结构和对象之间的交互细节。
至于需要写到什么程度这个也和实际情况有关理论上虽然是越详细越好但是往往在实际项目建设中会受限于经费和时间影响只能选择一部分来进行设计。
实现
组织代码定义代码的层次结构和组织方式。开发组件使用源文件、二进制文件和可执行文件等方式来实现类和对象。测试和集成对开发的组件进行单元测试并将它们整合起来确保它们能够共同工作形成一个可执行的系统。
测试
验证互动检查对象之间的交互是否如预期。检查集成确保所有的软件组件能够正确集成。需求确认验证所有需求是否已经正确实现。缺陷识别发现和处理缺陷最好是在软件正式发布前。迭代测试在整个项目开发过程中反复测试以尽早发现缺陷减少修改缺陷的成本。测试通常从可靠性、功能性和系统性能三个方面进行。
部署
软件打包将软件打包为最终用户可以使用的格式。安装将软件安装到用户的环境中。提供帮助为用户提供必要的支持和帮助。其他活动可能包括进行测试版发布、迁移现有软件和数据等。
配置和变更管理
控制产物管理项目中多个产物的版本和变体。跟踪版本记录和跟踪软件开发过程中的不同版本。审计记录保存关于产品修改的详细记录包括修改的原因、时间和责任人员。
项目管理
平衡目标协调和管理可能产生冲突的目标。管理风险识别和应对项目中的风险。克服约束解决项目执行中的各种限制和障碍。提供框架为项目的规划、人员配备、执行和监控提供实用的准则。
环境
提供开发环境为开发团队提供必要的软件开发工具和过程。配置项目支持项目开发过程中所需的活动。开发规范指导如何在组织中实现开发过程提供逐步的指导手册。
软件开发过程RUP中的每一个工作流都有许多的方法论和工具组我不可能讲全它们否则我都可以写三本书了《系统分析师》、《系统架构师》、《项目管理师》这里我只是简单的介绍了一下各个工作流和其中用到的少量工具希望大家喜欢。