第三章思考题
作者:互联网
1 简述软件过程、软件生存周期、软件过程模型(软件生存周期模型)三者之间的概念区别。
软件过程
定义:
软件生存周期中的一系列相关过程所涉及的活动。
过程是活动的集合。
活动是任务的集合。
任务是将输入转换为输出的操作。
软件生成周期
软件从生到死的过程,这个过程一般称之为软件的软件生存周期或生命周期(Software Development Life Cycle)
软件生存周期可划分为定义、开发和运行三个时期,每个时期又细分为若干个阶段。
软件生存周期包括可行性分析、项目计划、需求分析、软件设计、编码与测试、运行与维护等阶段,每个阶段又包含一系列的活动。
软件过程模型(软件生存周期模型)
IEEE 12207.0-1996 定义
一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从系统的需求定义到系统的使用终止。
软件生存周期模型是一种软件过程的抽象表示,也称为软件开发模型。
软件生存周模型一般使用直观的图形标识软件开发的过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型。
2 软件过程就是软件开发过程么?为什么?
不是,软件过程是软件生存周期中的一系列相关过程所涉及的活动。软件开发过程只是其中一部分。
3 请选择两个常见的软件过程模型,谈谈你对它们的理解?并对它们进行比较。
瀑布模型( Waterfall Model )将软件生命周期划分为软件计划、需求分析和定义、设计、实现、测试、运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。
从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈.
开发:下导式;确认:回溯式(文档驱动,适合需求稳定、明确的软件项目)
特点:
- 顺序性和依赖性
- 推迟实现
- 质量保证的观点
- 是一种线性模型
- 强调文档的作用
局限性:
- 软件生存周期的末期才能看到开发成果,风险大,错误代价大
- 不能很好的适应需求变化
原型模型( Prototyping Model )利用原型法技术尽可能快地构造一个实际系统的简化模型
特点:
- 能够快速实现系统初步模型
- 便于开发人员和用户交流,明确需求
- 通过逐步求精使原型逐步完善
- 符合人类认知过程和思维活动
- 适用于不能预先确切定义需求的软件项目
瀑布模型不能适应需求变化,而原型模型可以。
4 瀑布模型和其他常见模型有什么关联和区别?
瀑布模型是一种线性模型,文档驱动的模型。
增量模型采用一系列的增量方式开发系统。
螺旋模型结合瀑布模型和快速原型,是一种风险驱动的开发模型
构件集成模型利用模块化方法将整个系统模块化,复用构件库中的软件构件,通过组合手段提高应用软件系统过程的效率和质量。
统一过程模型是以用例驱动的,以架构为中心,迭代和增量的过程。
瀑布模型是结构化模型的基础,其他模型都有参考它,但是都有改进,可以适应需求的更改。
与面向对象的模型关系不大。
5 根据你当前所在的团队项目,你更倾向于选择哪一种软件过程模型?为什么?
构件集成模型
因为首先我们使用的是python语言等,更适应面向对象的方法,其次构件集成模型是基于构件的开发模型,整个系统是模块化的,构件库中的软件构件可以复用。
我们可以通过开发相应构件后,组装即可。
标签:第三章,周期,思考题,模型,生存,构件,软件,过程 来源: https://www.cnblogs.com/WANGSUJIMAN/p/14911637.html