1.软件工程:指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件工程的问题。其目的是提高软件生产率,提高软件质量,降低软件成本。基本要素包含方法,工具和过程
2.软件生存周期:可行性分析与项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护
3.软件生存周期模型:
瀑布模型(按顺序阶段性开发,不适应用户需求的变化)
演化模型(先构造一个初始版本再不断改进)
螺旋模型(制定计划、风险分析、实施工程、用户评估),只有螺旋模型会考虑风险因素
喷泉模型(重视用户需求,允许各步骤交叉进行。以用户需求为动力,以对象驱动,适合面向对象开发方法)
4.软件开发方法:
结构化方法(面向数据流,自顶向下逐层分解,数据处理领域的问题)
jackson 方法(面向数据结构)
原型化方法(开发一个对用户透明的框架,然后根据用户需求壮大。用户需求不明确且经常发生变化,但系统规模不大且不复杂)
面向对象开发方法
5.需求分析:确定软件系统的综合要求,分析软件系统的数据要求,导出系统的逻辑模型,修正项目开发计划,可开发一个原型系统
6.数据域的属性:数据流,数据内容,数据结构
7.需求工程:
需求开发(需求捕获、需求分析、编写规格说明书、需求验证)
需求管理(定义需求基线、处理需求变更、需求跟踪)
8.软件开发项目管理:
成本估算(自顶向下估算方法、自底向上估算方法、差别估算方法);
风险分析(风险识别、风险预测、风险评估、风险控制);
风险控制是利用某些技术和方法设法避开或转移风险,在此活动中,通常需要考虑风险避免、风险监控和风险管理及意外事件计划3方面问题
进度管理(Gantt 图、PERT 图);
人员管理(主程序员组、无主程序员组、层次式程序员组)
9.软件配置管理的目标:标识变更,控制变更,确保变更正确地实现,报告有关变更。其主要内容包括版本管理、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持等,没有质量控制
10.基线:软件生存期中各开发阶段的一个特定点,相当于断点,便于检查和肯定阶段成果
11.软件开发工具:需求分析工具,设计工具,编码与排错工具,测试工具
12.软件维护工具:版本控制工具,文档分析工具,开发信息库工具,逆向工程工具【由于缺少文档资料,而对软件的一种分析】,再工程工具
13.软件管理和软件支持工具