初识软工:
在本节中又讲了渐增模型和演化模型。
演化模型是做两次开发,第一次只是实验开发,其目标只是在于探索可行性,弄清软件的需求i。
渐增模型 在每步中加上确认,在产品设计的时候,要进过几步,每一步都要多次的检验。也就是所说的增量模型。
更多的模型之间的介绍和比较参考:http://xhf123456789plain.blog.163.com/blog/static/172880482201152481251233/
关于软件的生存周期,软件也有一个孕育的过程,诞生,成长,成熟,衰亡的生存过程。软件生存期是指一个计算机软件从功能确定、设计、到开发成功投入使用,并在使用中
不断的修改、增补和完善,知道停止该软件使用的全过程,包括制定计划,需求分析,软件设计,程序编码,软件测试和运行维护六个阶段,一下这六个流程的主要任务概括的描述。
1、制定计划
在软件系统开发之前,首先应当制定项目开发计划,该阶段是软件生存周期的第一个阶段。其主要任务如下。
确定要开发软件系统的总目标。
给出功能、性能、可靠性以及接口等方面的要求。
完成该软件任务的可行性分析。
估计可利用的资源(硬件、软甲和人力等)、成本、效益和开发进度。
制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
2、需求分析和定义
当完成计划的制定之后,需要对用户的需求去粗取精、真正的理解,然后把它用软件工程的语言开发表达出来。其主要的任务如下:
去用户出做需求调研,让用户提出对软件系统的所有需求。
对用户提出的需求进行分析、综合,并给出详细的定义。
编写软件需求说明书及初步的系统用户手册,提交管理机构评审。
3、软件设计
需求分析和定义阶段结束之后,对于软件必须“做什么”的结论已经明确,下一步是如何实现软件的需求,即进入软件设计阶段,该阶段又可以分为概要设计和详细设计两部分。其主要的工作如下:
概要设计:把各项软件需求转化为软件系统的总体结构和数据结构,结构中的每一部分都是意义明确的模块,每个模块都和某些需求相对应。
详细设计:即是过程设计,对每个模块都要完成的工作进行具体的描述,即给出详细的数据结构和算法,为源程序的编写打下基础。
编写设计说明书,提交评审。
4、程序编写
软件设计解决了软件“怎么干”的问题,而程序编写是在计算机上真正实现的一个具体的软件系统。具体的工作包括一下两个方面。
把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。这一步工作也成为编码。
要求写出程序应该是结构良好、清晰易读的,且与设计相一致。
5、软件测试
软件分析和设计、程序编写过程其中都难免有各种各样的错误,需要通过测试来查找和修改,以保证软件的质量。其主要工作如下:
单元测试:查找各个模块在功能和结构上存在的问题并加以纠正。
集成测试:将已测试通过的模块按一定顺序组装起来进行测试。
有效性测试:按规定的各项需求,着项进行测试,判断已开发的软件是否合格,能否交付用户使用。
6、运行/维护
软件项目开发成功后,要投入运行。软件系统在运行过程中,会不断收到系统内、外环境的变化以及各种人为的、技术的设备的影响,要求软件能够适用这种变化,不断地完善,这就要进行软件的维护,以保证正常而可靠地运行,并能使软件不断的改善和提高,充分发挥其作用。软件维护有4鈡类型,它们分别完成一下任务。
纠正性维护:运行中发现了软件中的错误而进行的修改工作。
适用性维护:为了适应变化了的软件工作环境,而做出适当的变更。
完善性维护:为了增强软件的功能而做出的变更。
预防性维护:为未来的修改与调整奠定好的基础而进行的工作。