简答题
瀑布模型:
优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
缺点:开发过程一般不能逆转;实际的项目开发很难严格按该模型进行;客户往往很难清楚地给出所有的需求;软件的实际情况必须到项目开发的后期客户才能看到。
增量模型:
优点:第一个可交付版本所需要的成本和时间是较少的;可以减少用户需求的变更;允许增量投资。
缺点:增大管理成本;初始增量可能会造成后来增量的不稳定;如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布。
螺旋模型:
优点:可以在项目的各个阶段进行变更;成本计算简单容易;客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;客户始终掌握项目的最新信息 , 能够和管理层有效地交互;客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
缺点:很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
三大特点:
用例驱动 | 按照RUP,Use Case贯穿整个软件开发的生命周期 |
---|---|
以体系结构为中心 | 软件体系结构是关于构成系统的元素、这些元素之间的交互、元素和元素之间地组成模式以及作用在这些组成模式上的约束等方面的描述 |
迭代和增量 | 在每次迭代中,只考虑系统的一部分需求,进行分析、设计、实现、测试、部署等过程 |
与面向对象方法的关系:
统一过程将用户需求转化为软件系统所需的活动的集合,这体现了面向对象的思想。在它的工作流中,第一步是需求捕获,然后分析、设计、实现、测试,这也是面向对象的。至于三大特点,用例驱动要求客户对Use Case进行描述;在体系结构中,用户会关心最终系统的功能,因此会侧重于逻辑视图;采用迭代和增量的方式可以较早得到一个可运行的系统,提高用户参与度。
划分的准则是特定的目标不同,并且结束时有里程碑。初始阶段的里程碑是生命周期目标;细化阶段的里程碑是生命周期构架;构造阶段的里程碑是初始运作功能;移交阶段的里程碑是产品发布。
因为统一过程规定了软件生命周期的四个阶段,其中每个阶段的时长、成果是固定的,企业根据统一过程即可按固定节奏生产和发布软件产品。
带来的好处:它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。可以标识并减少风险、分配和跟踪任务、检查商业理由、设计组件构架、构建和测试、验证和评价结果等。