VRML虚拟现实应用技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.1 软件瀑布开发模型

软件工程实践是利用工程的概念、原理、技术和方法对软件项目进行开发、设计和维护的实践活动,是运用先进的软件项目管理技术和开发工具来完成软件项目开发任务。

软件工程项目的开发分为软件项目的定义时期、软件项目的开发时期和软件项目的维护时期3个阶段。

1)软件项目的定义时期

软件项目的定义时期是确立软件项目开发所要完成的总体目标,其主要任务是工程项目的立项、工程项目的可行性论证及工程项目的需求分析,并估算该项目需要的资源(计算机硬件、软件和人力)、成本和预算,制定项目开发计划等。

2)软件项目的开发时期

软件项目的开发时期是指软件项目具体设计、开发和实施的过程,即根据在软件项目定义时期产生的需求分析结果,进行系统的概要设计、详细设计、编码和集成测试工作。

3)软件项目的维护时期

软件项目的维护时期是指软件项目开发完成后,产生的软件产品(版本)在投入市场前需要经历一段时间的试运行。在试运行过程中,还会暴露一些在软件开发过程中没有遇到的新问题或故障,需要在运行维护阶段解决这些问题和故障。在试运行之后,认为正确的软件产品才能正式投放市场。软件产品正式投放市场后,还要进一步进行维护,也就是软件产品的版本升级过程,所以也把运行和维护称为二次开发。

软件项目开发的传统瀑布模型就是采用自上而下的开发手段,包括工程立项(提出问题)、可行性分析、需求分析、总体设计、详细设计、编码、集成测试(单元测试和综合测试)、运行维护等几个阶段。

软件项目开发的传统瀑布模型如图2-1所示。

软件工程立项是确立一个有意义的软件开发项目,可以是学术型的、科学研究型的或实际工程型的。要明确该项目的总体目标、模型、性质等,形成文档并研究讨论其可行性。

软件项目可行性分析是在较短的时间内确定该软件工程项目是否有解或值得去解。如果有解,就要导出系统高层逻辑模型,即数据流图。可行性分析包括技术可行性、经济可行性和操作可行性几个方面,并形成相关文档。如果无解,就停止该项目的开发工作。

软件项目需求分析是为该项目开发提出完整、准确、清晰、具体的工作要求,主要是软件开发人员与项目有关的业务人员进行协商来共同完成软件项目的需求。确定对系统的综合要求主要包括系统功能要求、系统性能要求、运行要求和未来可能提出的要求。要分析系统的数据要求,导出系统的逻辑模型(逻辑模型=综合要求+数据要求),形成层次方框图。

图2-1 软件项目开发的传统瀑布模型

软件项目总体设计也称为概要设计,是指在可行性论证和需求分析阶段产生的各种不同方案中,通过数据流图和层次方框图得到一份系统层次图或结构图,并分析比较每一个合理的方案,以便从中选出一个最佳方案。总体设计主要完成软件项目系统设计,确定系统的具体实施方案及软件项目的总体结构设计。软件项目总体设计过程包括设想供选择的方案、选取一个合理方案、推荐一个最佳方案、软件项目功能分解、设计软件项目总体结构、数据设计、制定测试计划、形成文档资料及审查和复审。

软件项目详细设计是确定每一个具体模块的功能要求,设计的处理过程要尽可能简单、明了、清晰,并产生程序流程图和形成文档。

软件项目编码阶段是根据项目要求,运用计算机语言和各种开发工具进行设计编码。对于工业控制,可以采用汇编语言;对于操作系统软件,可采用C语言和汇编语言;对于应用软件,可以采用各种高级语言和数据库技术等;对于可视化编码,可采用C#.net、J++及虚拟现实语言等。

软件项目集成测试主要包括单元测试和综合测试两大部分。单元测试是在详细设计和编码阶段进行,综合测试是在完成单元测试的基础上对全部软件项目进行调试。综合测试工作量大,难度较大,需要成熟且有经验的高级编程人员来进行。软件测试的方法有黑盒测试和白盒测试。软件的测试步骤为模块测试、子系统测试、集成测试、试运行测试等。

软件项目的运行维护是指在试运行和交付使用期间为更正软件项目开发中的错误或满足新的需要(功能)而开发和修改软件的过程,包括改正性维护、适应性维护、完善性维护、预防性维护和安全性维护等。