一、软件工程的概念
软件:和计算机硬件相辅相成的,包括程序。文档、数据集合
软件的分类:系统软件、应用软件、可复用软件、支撑软件
软件工程:为了指导软件的开发和维护而产生的一个学科
软件生存期:软件定义、软件开发、软件运行和维护
软件工程方法概论:三要素:方法、工具、过程
方法:面向对象、结构化(传统)、形式化
工具:管理过程工具,开发工具,维护工具
二、软件生存期模型
瀑布模型:顺序性,依赖性,前一个是后一个的基础,后一个步骤只有在前一个完成之后才能开始
快速原型模型:需求分析变成了快速原型 快速原型:已有的系统软件,可以直接运行在计算机上
增量模型:将系统分解为不同构件,然后对每个部件进行逐个实现
螺旋模型:增加了风险分析的快速原型模型
喷泉模型:面向对象特有的模型 通过迭代来不断更新,进一步完善
三、软件需求获取和结构化分析方法
需求获取的任务和原则:
需求获取任务:发现和分析问题;与用户进行各种方式的交流;按照三个成分:数据、过程、接口来观察问题;将获取的需求文档化
原则:深入浅出:需求获取的数量大于最终实现的数量;以流程为主线的原则:将所有流程串起来,
软件需求分析阶段的任务:需求获取、需求分、需求定义、需求验证
结构化分析方法:功能模型、数据模型、行为模型、数据字典
功能模型:数据流图 DFD图 椭圆代表加工、方块代表外部实体,等号线代表存储,箭头代表数据流方向
数据模型:ER图
行为模型:状态迁移图 STD图
数据字典:将三个模型通过词条的方式粘合在一起
词条的种类:数据流词条,加工词条,数据源点汇点词条,数据对象词,存储词条
环境图的作用:确定系统的位置,并且根据输入数据流,输出数据流和外部实体的关系来确定边界
功能建模的步骤:确定外部实体和输入数据流、输出数据流;做出环境图;做出一层数据流图
核心:数据字典