软件工程导论

1.软件生命周期

问题定义:通过访问调查客户,明确关于问题性质、工程目标、工程规模的书面报告,并向客户确认。

可行性研究:研究问题的范围,探索问题是否值得去解,是否有可行的解决办法。

需求分析:确定目标系统有哪些功能,通过与用户的交流得到系统逻辑模型,通常由数据流图、数据字典、简要的算法表示。

总体设计:设计出实现目标系统的几种可能的方案,通常设计出低成本、中等成本、高成本三种方案。应用适当的表达工具描述每种方案,分析方案的优缺点,找到最佳方案,并制定出实现该最佳方案的详细计划。设计程序的体系结构,确定程序由那些模块组成以及模块之间的关系。

详细设计:也叫模块设计,详细的设计每个模块,确定实现模块功能所需要的算法和数据结构。将解法具体化,设计出程序的详细规格说明,程序员可根据该说明写出实际的代码。

编码和单元测试:写出正确的容易理解、容易维护的程序模块。程序员根据目标系统的性质和实际环境,选取适当的高级程序设计语言或汇编语言,把详细设计的结果实现为程序,并仔细测试编写出的每一个模块。

综合测试:通过各种类型的测试、调试,使软件达到预定的要求。包括集成测试、验收测试,集成测试指根据设计的软件结构,把单元测试检验的模块按某种选定的策略装配起来,并在装配过程中进行必要的测试。验收测试指按照规格说明书的规定(需求分析阶段),由用户对目标系统进行验收。或现场测试、平行运行等测试检验。应用正式的文档资料把测试计划、详细测试方案、实际测试结果保存下来,作为软件配置的一个组成部分。

软件维护:改正性维护,诊断和改正在使用过程中发现的软件错误;适应性维护,修改软件以适应环境的变化;完善性维护,根据用户的要求改进或扩充软件;预防性维护,修改软件,为将来的维护活动预先做准备。每一项维护活动都应该经过提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收等步骤。

2.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。

瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、Rational统一过程。

你可能感兴趣的:(软件工程)