系统分析与设计 — Homework 2
系统分析与设计 — Homework 2
1 简答题
1.1 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
瀑布模型:
瀑布模型强调系统开发应有完整之周期,且必须完整的经历周期之每一开发阶段,并系统化的考量分析与设计的技术、时间与资源之投入等。该模式强调系统开发过程需有完整的规划、分析、设计、测试及文件等管理与控制,所以能有效的确保系统品质。
优点:
- 降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性。
- 推迟软件实现,强调在软件实现前必须进行分析和设计工作。
- 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,使产品达到预期的质量要求。
缺点:
- 强调过程活动的线性顺序。
- 缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。
- 风险控制能力较弱。
- 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量。
- 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
增量模型:
增量模型首先对系统最核心或最清晰的需求进行分析、 设计、实现、测试并集成到系统中,再按优先级逐步实现后续需求。
优点:
- 增强客户对系统的信心。
- 降低系统失败风险。
- 提高系统可靠性。
- 提高系统的稳定性和可维护性。
缺点:
- 增量粒度难以选择。
- 确定所有的基本业务服务比较困难。
螺旋模型:
螺旋模型是由风险驱动的迭代过程,强调可选方案和约束条件 从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。螺旋模型遵从瀑布模型的要求,将瀑布模型的多个阶段转化到多个迭代过程中,以减少项目的风险。
优点:
- 设计上的灵活性,可以在项目的各个阶段进行变更。
- 以小的分段来构建大型系统,使成本计算变得简单容易。
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
- 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
缺点:
- 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
- 过多的迭代次数会增加开发成本,延迟提交时间。
1.2 简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?
三大特点:
- 用例驱动
- 以体系结构为核心
- 迭代及增量
体现用户驱动的开发:
- 用例驱动
- 迭代及增量
体现了风险驱动开发:
- 以体系结构为核心
1.3 UP 四个阶段的划分准则是什么?关键的里程碑是什么?
四个阶段:
- 初始阶段:该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,结交结果包括需求和用例。
- 细化阶段:该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构,问题领域、修改后的需求及项目开发计划等相关文档。
- 构造阶段:增量式开发可以交付给用户的软件产品。
- 交付阶段:目的是将软件产品交付给用户。
关键里程碑:
每个阶段结束于一个主要的里程碑,每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
- 初始阶段:生命周期目标里程碑。生命周期目标里程碑评价项目基本的生存能力。
- 细化阶段:生命周期结构里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
- 构造阶段:初始功能里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。
- 交付阶段:产品发布里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
1.4 IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的?
- 范围/内容明确提出了哪些工作要做,哪些工作不要做,以及要做的水平,工期是事先与客户达成好的,不能有过多的变动
- 质量是客户最关心的,是一个产品的验收条件往往取决于客户,范围/内容是所有项目利害关系者对项目范围的共同理解,说明了项目的主要目标。
1.5 为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?
因为UP是迭代过程,迭代开发是UP的关键实践。需求分析,设计,实现,迭代,测试和交付的生命周期是有固定长度的,是在时间盒里面限制的,例如起始的固定周期就是限制在两周前,之后的迭代开发构成也是有较为明确的时间限制的。因此,在每次迭代完成后,都有一定的产品可供发布。
2 项目管理使用
项目日常汇报:
PS: 由于只是课程作业,所以没有在博客公开姓名,本人完成的是红色标注区域。
后端组第一次迭代计划:
本人负责的是控制层+数据库实现 。
后台KANBAN: