随着计算机的发展,人们对计算机的依赖性越来越强,对软件的需求量越来越多,同样对一些大型软件的需求量增加。然而问题出来了,落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题。这就迫切需要一种科学、系统的管理方法,在这种情形下,软件工程诞生了。
那么何为软件工程呢,官方的说法:软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。那么软件工程到底是如何做到这些的呢?软件工程将软件生命周期的每一步进行规范化,从而达到开发高质量软件的目的。那么软件的生命周期都包含哪些流程呢?
一、软件的可行性分析
无可非议,不想做无用功就必须要进行可行性分析。具体包括:经济可行性、技术可行性、操作可行性、法律可行性、时间可行性。
二、软件需求分析
确定了软件的可行性,决定开始做,那么分析用户的需求便成了首要的任务。需求分析要解决的问题是“做什么”,至于如何实现它不予理睬。此阶段是用户和软件开发人员充分交流的阶段,只有双方达成共识才可进入下一阶段。
三、软件设计
这一阶段主要要完成的就是概要设计(总体设计)、详细设计(过程设计),既有软件的整体掌控,又有软件实现的具体细节,这一阶段设计直接决定将来软件的好坏。
四、软件开发
其实,如果软件设计阶段做的比较好的话,软件开发阶段基本上没有太大的问题。当然编写代码的过程还是有一些值得注意的地方,什么模块的高内聚低耦合啦,代码的规范问题啦等等,这些都是每一个程序员都知道的东东,这里就不细说了。
五、软件测试
作为一个合格的软件,测试工作是必不可少的。我们要用各种工具、技巧测试我们的软件,软件的测试是高质量软件诞生的必要过程,同时也是对用户负责的表现。
六、软件维护
产品都有售后服务,这里不多说。
以上便是软件工程的主要内容,作为一个程序员,软件工程是必须要学好地。自己还有待于提高,加油喽!