1.软件工程基础知识
软件工程:
应用计算机科学、数学、管理科学等原理,以工程化的原则和方法来解决软件问题的工程。
目的:提高软件生产率、提高软件质量、降低软件成本。
软件生存周期:
1.可行性分析与项目开发计划:确定软件的开发目标及其可行性。参与人员:用户、项目负责人、系统分析师。文档:可行性分析报告和项目开发计划书。
2.需求分析:确定系统的功能、性能、数据、界面……要求,从而确定系统的逻辑模型。参与人员:用户、项目负责人、系统分析师。文档:软件需求说明书。
3.设计(概要设计、详细设计)
概要设计:确定的各项功能需求转换成需要的体系结构(每个模块都可和某些功能相对应),是软件系统的结构(模块:数目,层次结构、调用关系;总体数据结构;数据库结构)。参与人员:系统分析师、软件设计师。文档:概要设计文档。
详细设计:对每个模块完成的功能进行具体描述,将功能描述转变为的、结构化的过程描述,即控制结构(先后执行顺序、条件判断、重复处理),并用表示工具将其表示出来。参与人员:软件设计师、程序员。文档:详细设计文档。
4.编码:把每个模块的控制结构转换成计算机可接受的程序代码,即某种特定程序设计语言表示的源程序清单。
5.测试:保证软件质量的重要手段。在设计测试用例的基础上检查软件的各个组成部分。参与人员:另一部门/单位的软件设计师、分析师。文档:软件测试计划、测试用例、软件测试报告
6.维护:软件生存周期中时间长的阶段。已交付的软件投入正式使用后,便进入软件维护阶段。
运行中发现软件隐含的错误而需要修改;为了适应变化的软件工作环境需要做适当变更;用户业务发生变化需要扩充、增强软件功能;为将来的软件维护活动预先做准备……