揭示软件开发的完整过程

软件开发

系统开发

软件测试


浏览:1349 次

无论什么应该遵循相关的规则和流程,软件都是独一无二的。完整的软件只有通过相关的设计和开发过程才能完美呈现。本文主要描述软件开发生命周期过程中的每个过程。

1.计划

要解决的问题的总体定义包括了解用户的需求和真实环境,从三个方面研究和论证软件项目的可行性,包括技术、经济和社会因素,编写可行性研究报告,讨论问题的解决方案,估计可用资源的成本,制定完成开发任务的实施计划。

2.分析

软件需求分析是对开发何种软件的系统分析和假设。它是一个去粗取精,去伪存真,正确理解用户需求,然后用软件工程开发语言表达的过程。该阶段的基本任务是确定要与用户一起解决的问题,建立软件的逻辑模型,准备需求规范文件并获得用户的批准。需求分析的主要方法包括结构分析、数据流程图和数据字典。该阶段的工作是根据需求规范的要求设计和建立相应软件系统的体系结构,并将整个系统分解为几个子系统或模块,定义子系统或组件之间的接口关系,对每个子系统进行具体的设计定义,准备软件大纲设计和详细设计规范、数据库或数据结构设计规范以及装配测试计划。在任何软件或系统开发的初始阶段,有必要充分掌握用户需求,以便在接下来的系统开发过程中确定应实现哪些功能、应采用哪些规范以及应优先设置哪些限制。系统工程师将基于此最终完成设计方案,然后定义后续程序开发、系统功能和性能描述及限制。

3.设计

软件设计可分为两个阶段:概要设计和详细设计。事实上,软件设计的主要任务是将软件分解成模块,模块是指能够实现某种功能的数据和程序描述,以及能够执行程序的程序单元。它可以是一个函数、过程、子程序、具有程序描述的独立程序和数据,也可以是可以组合、分解和替换的功能单元。模块,然后是模块设计。概要设计是结构设计,其主要目标是给出软件的模块结构,由软件结构图表示。详细设计的首要任务是设计模块的程序流程、算法和数据结构,次要任务是设计数据库、通用方法或结构化程序设计方法。

4.编码

软件编码是指将软件设计转换为计算机可接受的程序,即编写用编程语言表示的“源程序列表”。充分了解软件开发语言和工具的特点和编程风格,有助于选择开发工具,确保软件产品的开发质量。除特殊场合外,20世纪80年代的语言在当前的软件开发中很少使用。相反,使用了面向对象的开发语言。而且面向对象的开发语言和开发环境大多是集成的,大大提高了开发速度。

5.测试

软件测试的目的是以较小的成本找到尽可能多的错误。实现这一目标的关键是设计一组优秀的测试用例。如何设计一组优秀的测试用例取决于对测试方法的理解。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法。测试对象是源程序,它基于程序的内部逻辑结构来查找软件编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化和其他错误。用例设计的关键是用更少的用例覆盖尽可能多的内部程序逻辑结果。