软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。当然,对于软件工程不同的人和组织对它都有不同的定义,但自己通俗的理解是以尽可能低的成本在规定时间内研发功能质量合格的软件的一系列指导方法。
由于落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致计算机软件的开发和维护过程中遇到一系列严重问题,这就产生了软件危机,而软件工程的存在则是在软件开发维护过程中给予技术手段和管理方法等方面的指导,尽量避免软件危机的出现,在软件开发过程中要制定计划、进行分析设计、还要编码规范等等,由此可见之前的学生信息管理系统和机房收费系统有多么的不规范了,因此,学好软件工程对我们以后的学习的帮助不言而喻。
下面是一张软工的概括图:
软件开发过程:
1、制定计划
在制定计划时要先定义问题,找出问题所在,然后进行可行性研究,一般从经济、技术、操作、法律和时间等五个方面研究,并编写软件计划书。
2、需求分析
制定完计划后,还要了解用户需求,知道要干什么,深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节和定义软件的其他有效性需求。
3、软件设计
软件设计就是根据用信息域表示的软件需求,以及功能和性能需求,进行数据设计、系统结构设计和过程设计。然后编写概要设计说明书、详细设计说明书和程序规格说明书。
4、程序编码
程序设计好后还要选择合适的编程语言,同时也要注意代码的规范化
5、软件测试
软件完成后在投入使用之前还要进行严密的测试,软件和程序都要测试,通过不断的调试来优化软件,使之不断完善,常用的测试方法有白盒测试和黑盒测试
6、运行维护
运行维护主要是根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,预防软件出现错误,延长软件的生命周期,主要分为改正性维护、适应性维护和完善性维护
软件工程使我们能够在软件开发过程中更加规范化,从管理和技术两方面去指导我们,这是作为一个工程师乃至程序员都应具备的思想,因此,对于软工我们要时常回顾,它会引领我们在IT的道路上走得更远,一起加油!