如今,随着PC端时代的渐行渐远,互联网初创企业如雨后春笋般冒出.早在2016年,中国移动终端用户就首超6亿人,已成为世界智能移动端领先的用户群体,也正因如此,随着时代的不断发展,软件开发数量也随着用户基数的增加而疯狂增长.
现在人们可以随口说出各种常用的PC端软件亦或者是各种手机APP,可是,您了解软件开发的基础知识吗?
我们来系统地了解一下,"软件开发"到底是什么意思.
软件开发(Softwaredevelopment)根据用户要求建造出软件系统或者系统中的软件部分的过程.
软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程.软件一般是用某种程序设计语言来实现的.
通常采用软件开发工具可以进行开发.
软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分.
软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序.
软件开发大体上被分为六个阶段,分别是:计划、分析、设计、编码、测试和维护.
1.计划对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施计划.
2.分析软件需求分析就是对开发什么样的软件的一个系统的分析与设想.它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程.
本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划.
3.设计软件设计可以分为概要设计和详细设计两个阶段.
概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示.
详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法.
4.编码软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单".
5.测试软件测试的目的是以较小的代价发现尽可能多的错误.不同的测试方法有不同的测试用例设计方法.
白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误.结构错误包括逻辑、数据流、初始化等错误.
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口.
白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误.其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误.
6.维护维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动.
即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误.编写软件问题报告、软件修改报告.