软件工程概述
软件工程是由于60年代中期,计算机应用范围迅速扩大,软件的复杂度和开发使用量急剧增长,人们为了解决软件开发过程中不可考的因素而引进的一种工程学概念。
软件工程过程是程序员借助软件工具从而完成的一系列软件工程活动。PDCA包括,软件规格说明(规定软件的功能和运行时的限制),软件开发(开发出满足规格说明需求的软件),软件确认(确认开发的软件能够满足用户的需求),软件演进(在软件运行过程中不断地改进以满足客户新的需求)
软件过程模型用于对软件生命周期中的各项任务有序的按照规程进行。软件生命周期描述了一个软件从生到死的全过程,包括了需求分析、软件设计、软件开发、运行维护、淘汰。常见的软件过程模型有:瀑布模型(缺点:难以准确的获取用户的需求,导致需求分析阶段获取的需求不明确;串行化的过程使得软件需要很长时间才能出成果,一旦用户的需求发生改变,会给软件开发造成很大的损失)原型模型,原型模型分为两个阶段分别为原型开发阶段和目标软件开发阶段。工程师通常在原型开发阶段根据用户提供的软件系统的定义快速地开发一个原型,然后在目标软件开发阶段对原型进行修改和完善,确认系统软件的需求并且达到一致的理解。(用户需要对软件系统的需求非常明确,并且每次修改原型时目标范围应该收敛,原型应该可以快速的形成)螺旋模型,通过对四个开发部分的迭代逐渐逼近目标系统,经过迭代尽快地收敛到用户可接受的目标范围内。(支持大型软件开发)