系统设计与分析(三)
简答题
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
瀑布模型
定义
瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
优点
- 为项目提供了按阶段划分的检查点
- 当前一阶段完成后,只需要关注后续阶段
- 可在迭代模型中应用瀑布模型
缺点:
- 在项目各个阶段之间极少有反馈
- 只有在项目生命周期的后期才能看到结果
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段
增量模型
定义
增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。
优点
- 增强客户对系统的信心
- 降低系统失败风险
- 提高系统可靠性
- 提高系统的稳定性和可维护性
缺点
- 建立初始模型时,作为增量基础的基本业务的确定有一定难度
- 增量粒度难以选择
螺旋模型
定义
螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其它模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
优点
- 设计上的灵活性,可以在项目的各个阶段进行变更
- 以小的分段来构建大型系统,使成本计算变得简单容易
- 客户始终参与保证了项目不偏离正确方向以及项目的可控性
- 客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互
- 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品
缺点
很难让用户确信这种演化方法的结果是可以控制的,建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
简述统一过程三大特点,与面向对象的方法有什么关系?
统一过程的三大特点
-
用户为中心
用例分析作为一项软件技术,远远比功能分解复杂。大部分需求人员不具备编写用例的能力,用户多数看不懂用例。因此,在交互过程中,传统以功能列表描述为主的《需求规格说明书》应用更加广泛。 -
架构为重心
对于业务逻辑非常复杂的系统,打造一个强健的架构是必须的。但对于一些业务逻辑相对简单,而用户交互逻辑复杂的系统,过于强调架构似乎没有必要。例如,对于一个有着很多模块的网站,各个模块相对独立,访问各自的表,维护一套用例图、类图、时序图就成为累赘。 -
风险驱动
UP的另一个驱动就是风险,因为如果你不主动预测和防范风险,风险就会主动攻击你。UP需要对软件开发中的风险进行分析、预测并关注软件的构造。
统一过程是一个面向对象的软件开发技术,给出了有关软件开发过程组织及实施的指导。
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
划分标准
统一过程按照其工作和迭代在时间上被分为四个顺序的阶段。
阶段关键的里程碑
初始阶段
初始阶段结束时是第一个重要的里程碑:生命周期目标里程碑。
初始阶段的评审标准:
- 风险承担者就范围定义成本日程估计达成共识
- 以客观的主要用例证实对需求的理解
- 成本/日程、优先级、风险和开发过程的可信度
- 被开发体系结构原型的深度和广度
- 实际开支与计划开支的比较
细化阶段
细化阶段结束是第二个重要的里程碑:生命周期的结构里程碑。此刻,检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
主要的审核标准包括回答以下的问题:
- 产品的蓝图是否稳定?
- 体系结构是否稳定?
- 可执行的演示版是否显示风险要素已被处理和可靠的解决
- 构建阶段的计划是否足够详细和精确?是否被可靠的审核基础支持?
- 如果当前计划在现有的体系结构环境中被执行而开发出完整系统,是否所有的风险承担人同意该蓝图是可实现的?
- 实际的费用开支与计划开支是否可以接受?
构建阶段
创建阶段结束是第三个重要的项目里程碑(初始功能里程碑)。此刻,决定是否软件、环境、用户可以运作而不会将项目暴露在高度风险下。该版本也常被称为"beta"版。
构建阶段主要的审核标准包括回答以下的问题:
- 产品是否足够稳定和成熟得发布给用户?
- 是否所有的风险承担人准备好向用户移交?
- 实际费用与计划费用的比较是否仍可被接受?
交付阶段
在交付阶段的终点是第四个重要的项目里程碑,产品发布里程碑。此时,决定是否目标已达到或开始另一个周期。在许多情况下,里程碑会与下一个周期的初始阶段相重叠。
发布阶段的审核标准主要包括以下两个问题:
- 用户是否满意?
- 实际费用与计划费用的比较是否仍可被接受?
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
因为统一过程是一个迭代增量的过程,有初始阶段、细化阶段、构建阶段、交付阶段四个阶段,并且在每个阶段结束时都需要进行相应的目标评估,以判定是否能够进入下一个阶段。RUP迭代周期明确了不同阶段迭代的里程碑和目标、支持CI/CD的版本交付、为固定项目周期提供了可能。利用软件产品范围的弹性,合理规划范围(20%业务决定80%满意度),使得软件生产按固定节奏运行,固定迭代周期、固定开发周期、固定升级周期。因此软件企业总能按固定节奏生产、固定周期发布软件产品。
这样带来的好处是:能够提高软件团队的生产能力,建立了非常明确的过程结构,而且每个阶段都有明确的里程碑和判定标准,确保了软件的质量,同时也提高了软件生产的效率。
TAPD简单使用
创建项目
邀请成员
看板使用
看板使用与Github上面的相似,包括创建、使用等
文档使用
文档可以创建word文档、思维导图等,也可以下载
报表
在报表处可以跟进敏捷项目的各项任务