第三章思考
一、简述软件过程,软件生存周期,软件过程模型(软件生存周期模型)三者之间的概念区别:
1、软件过程:软件过程为一个为建造高质量软件所需完成的任务的框架,即形成软件产品的一系列步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。
2、软件生存周期:指软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、3、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
软件过程模型:是一种开发策略,该策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。
二、软件过程就是软件开发过程么?为什么?
不是,软件过程是指软件整个生命周期,从需求获取、需求分析、设计、实现、测试、发布和维护一个过程模型。一个软件过程定义了软件开发中采用的方法,但软件过程还包含该过程中应用的技术——技术方法和自动化工具。
三、请选择两个常见的软件过程模型,谈谈你对他们的理解?并进行比较
瀑布模型:就像是瀑布从上往下流一样,必须等前一阶段的工作完成之后,才能开始后一阶段的工作。并且每一个阶段的输出文档就是就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确后,后一阶段的工作才能得到正确结果。同时,早期犯下错误后改正错误的代价更低,越到后期,改正错误的代价就越高。适用于需求确定,无大的需求变更,工作能够采用线性的方式完成的软件。
增量模型:融合了瀑布模型的基本成分和原型实现的迭代特征,软件开发过程中,将软件系统按功能分解为许多增减构件,并以构件为单位逐个地完成,并都被集成到系统之中。客户对每个增量的使用和评估都作为下一个增量发布的新特性和功能。适用于既定的商业要求期限之前不可能找到足够的开发人员的情况。
四、瀑布模型和其他常见模型有什么关联和区别?
瀑布模型的泛用性很强,一直被人们所使用和推崇。但瀑布模型毕竟有其时代的局限性,在当今软件开发过程中,瀑布模型的缺点也越来越显著,因此,后续人们又开发了很多优秀的模型,其中或多或少都有瀑布模型的影子。可以认为其他常见的模型以瀑布模型为基准,进行优化改进。
五、我们团队目前更倾向于使用瀑布模型。因为在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容,使用瀑布模型虽然耗费时间,但相应的比较稳定和可靠。