














软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。
软件开发主要分为以下几个阶段:
1、计划
在软件开发的最初,要先对所有解决的项目进行总体的定义,从技术、经济、社会因素方面研究并论证本软件项目的可行性,写出可行性研究报告,研究解决问题的方案,并且对成本进行评估。
2、分析
软件需求分析是对开发的软件进行系统的分析。在这一阶段要和客户一起来确定以待解决的问题。进行分析所用的方法有构化分析方法、数据流程图和数据字典等方法。这一阶段是根据需求说明书,设计相应软件系统的体系结构以及子模块。
3、设计
软件设计可以分为概要设计和详细设计两个阶段。概要设计其实是结构设计,目的是给出软件的模块结构。详细设计的任务是设计模块的程序流程、算法、数据结构、数据库。
4、编码
编码就是将软件设计转换成计算机能够接受的程序。了解软件开发语言、工具的特性和编程风格,对于软件开发工具的选择和软件开发质量非常有好处。
5、测试
软件测试也是非常关键的一个步骤,目的是用较小的代价发现更多的错误。为达到这个目标,需要设计一套测试用例。不同的测试方法有不同的测试用例设计方法。
6、维护
维护是在软件研制已经完成后,对软件进行一些软件工程的活动。也可以说是根据软件运行的情况,对软件进行恰当的修改,使其该软件更符合要求,纠正软件中的错误。软件问题报告和修改报告。