zoukankan
html css js c++ java
软考知识点梳理--统一软件开发过程RUP
在大多数传统的生命周期中,阶段是以其中的主要活动命名的:需求分析、设计、编码、测试。传统的软件开发工作大部分强调过程的串行执行,也就是一个活动需 要在前一个活动完成后才开始,从而形成一个过程串,该过程串就组成了软件项目的生命周期。
在迭代模型中,每个阶段都执行一次传统的、完整的串行过程串,执 行一次过程串就是一次迭代。每次迭代涉及的过程都包括不同比例的所有活动。 RUP (Rational Unified Process)软件统一过程是一种“过程方法”,它就是迭代模型的一种。
RUP 中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段 (Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人 满意,可以允许项目进入下一个阶段。 统一过程(Unified Process,UP)是一个通用过程框架,它是基于构件的,在为软件系统建模时,UP使用的是UML。
与其他软件过程相比,UP具有三个显著的特点,即 用例驱动、以架构为中心、迭代和增量。有关用例的概念,将在3.17节进行介绍;有关软件架构的详细知识,将在3.2.2节进行介绍。 UP中的软 件过程可以划分为四个阶段,分别是初始阶段、细化阶段、构建阶段和交付阶段。每个阶段结束时都要安排一次技术评审,以确定本阶段的目标是否已经满足。如果 评审结果令人满意,就可以允许项目进入下一个阶段。基于UP的软件过程是一个迭代过程,每次经过四个阶段就会产生一代软件。除非产品退役,否则通过重复同 样的四个阶段,产品将演化为下一代产品,但每一次的侧重点都将放在不同的阶段上。 初始阶段的任务是为系统建立业务模型并确定项目的边界。
在初始阶段,必须识别所有与系统交互的外部实体(执行者),定义系统与外部实体交互的特性。在这个阶段中,所关注的是整个项目的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来说,初始阶段可能很短。
细 化阶段的任务是分析问题领域,建立完善的架构,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功 能和诸如性能等非功能需求,同时为项目建立支持环境。在细化阶段,可执行的原型依赖于项目的范围、规模和风险等因素。必须至少处理初始阶段中识别的关键用 例,因为关键用例通常揭示了项目的主要技术风险。
在构建阶段,要开发所有剩余的构件和应用程序功能,将这些构件集成为产品,并进行详细测试。从某 种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返 工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件作好准备。 当基线已 经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。
交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行β测试,制作产品 发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,例如,进行调试、性能或 可用性的增强等。
从以上介绍可以看出,UP由于太过于庞大和复杂,相对于轻量级的敏捷方法来说,显得死板和难以实施。UP不但不能快速适应需求的 变化,而且变更一个需求要经历复杂的过程和很多额外的工作。对于较小的组织和项目来说,使用敏捷方法可能比较合适,而使用UP似乎有些费力不讨好。
查看全文
相关阅读:
CMSIS RTOS RTX License
ssh无法登录linux服务器的解决办法
蓝牙利用协议栈API读取设备MAC地址
ARM Cortex-M3 MCU的I2C DMA操作和中断
ARM RTX操作系统—Theory of Operation—System Resources & Scheduling Options
ARM RTX操作系统—Theory of Operation—System Task Manager & Task Management
ARM RTX操作系统—Theory of Operation—Timer Tick Interrupt
ARM RTX操作系统—Overview—Advantages
静态代理和动态代理
异常未处理,该怎么处理?
原文地址:https://www.cnblogs.com/jianlian/p/9537097.html
最新文章
vue 调用 js 获取的今日、本周、本月、本年起始和结束日期
element-ui table sortable某列数据后加上单位后排序不正确
element-UI根据后台数据动态生成el-checkbox-group,点击保存获取绑定的checked项(二维数组)
Vue重置当前页面数据
vue vue-clipboard2(vue复制功能)
vue-json-editor json编辑器的使用及重复调用时遇到的一个小坑
vue+element-ui中的el-table-column使用v-if导致位置错乱的现象
Element-ui Cascader 级联选择器change时同时返回value 和 label
常用正则表达式
vue-router 如何在新窗口打开页面
热门文章
单链表节点的查找
计算带头结点单链表的长度 计算单链表的长度,实现单链表的打印
单链表(单链表的建立)
Ubuntu下的wxWidgets编程(学生信息管理写入文件,文件格式是.txt)
C++链接库的使用,二维向量,三维向量,Ubuntu下C++测试向量库
vc++ 中ADO数据库的配置(SQLServer2005)
VC++ 中ADO数据库的配置(Access2003-Access2007)
我的简历
Ubuntu下C、C++进程间的编程
Keil 链接错误 Error: L6406E: No space in execution regions with .ANY selector matching
Copyright © 2011-2022 走看看