软件开发是根据用户要求构建软件系统或系统软件部分的过程。软件开发是一项系统工程,其中包括需求捕获,需求分析,设计,实施和测试。软件通常以某种编程语言来实现,软件分为系统软件和应用程序软件。它不仅包括可以在计算机上运行的程序,与这些程序相关的文件通常也被视为软件的一部分。软件设计思想和方法的一般过程,包括设计软件功能和实现算法和方法、软件总体结构设计和模块设计、编程和调试、程序联合调试和测试以及编写和提交程序。
软件开发的步骤如下:
一、计划
把所有待解决的问题都梳理一遍,包括了解用户需求和实际环境,从技术、经济和社会因素三个方面研究和论证软件项目的可行性,编制可行性研究报告,并讨论解决方案解决问题,并估算可用资源(如计算机硬件,系统软件,人力等)的成本,可获得的收益和开发进度,并制定实施计划以完成开发任务。
二、分析
软件需求分析是对要开发什么软件的系统进行分析和假设。这是一个消除错误和保留事实,正确理解用户需求,然后用软件工程开发语言表达的过程。此阶段的工作是根据需求规范的要求设计和建立相应的软件系统的体系结构,然后将整个系统分解为几个子系统或模块,定义子系统或模块之间的接口关系,并分别设计子系统的详细信息。定义、编写软件轮廓设计和详细设计规范,数据库或数据结构设计规范,组装测试计划。
在任何软件或系统开发的初始阶段,必须充分掌握用户需求,以便优先确定应实现的功能、应采用的规格以及在随后的系统开发过程中应设置的限制。系统工程师最终将在此基础上完成设计计划,并在此基础上定义后续程序开发,系统功能和性能的描述和限制。
三、设计
软件设计可以分为两个阶段:轮廓设计和详细设计。实际上,软件设计的主要任务是将软件分解为模块,这些模块是可以实现数据、程序描述和可执行程序的特定功能的程序单元。它可以是功能、过程、子例程、具有程序描述的独立程序和数据,也可以是组合,分解和替换的功能单元。然后设计模块。大纲设计是结构设计,其主要目的是给出软件的模块结构,该结构由软件结构图表示。详细设计的首要任务是设计模块的程序流程,算法和数据结构,其次任务是设计数据库。通用方法仍然是结构化编程方法。
四、编码
软件编码是指将软件设计利用计算机语言转换为计算机可以接受的程序。全面了解软件开发语言,工具功能和编程样式将会极大的帮助我们选择正确的开发工具并确保软件产品开发的质量。
除特殊场合外,1980年代的高级语言在当前软件开发中很少使用。而是使用面向对象的开发语言,例如Java。而且,面向对象的开发语言和开发环境大多集成在一起,极大地提高了开发速度。