160 likes | 358 Views
第一章 软件工程概述. 软件 = 程序 + 数据 + 文档 了解 软件危机 : 原因 , 现象 , 办法 ( 软件工程学 ) 软件工程 ( 学 ): 技术 + 管理 软件工程方法学 3 个要素:方法、工具和过程。 软件生命周期 : 定义 + 开发 + 运行维护 了解 典型的软件过程模型. 第二章 可行性研究. 了解可行性研究的基本任务和基本步骤 掌握利用数据流图和 数据字典描绘系统 的逻辑模型. 第三章 需求分析. 需求分析的任务 :回答系统必须“做什么”? 功能需求 + 其他需求 获取需求的方法 : 访谈、面向数据流自顶向下求精、
E N D
第一章 软件工程概述 • 软件 =程序+数据+文档 • 了解软件危机: 原因,现象,办法(软件工程学) • 软件工程(学): 技术+管理 • 软件工程方法学 3个要素:方法、工具和过程。 • 软件生命周期: 定义+开发+运行维护 • 了解 典型的软件过程模型
第二章 可行性研究 • 了解可行性研究的基本任务和基本步骤 • 掌握利用数据流图和数据字典描绘系统的逻辑模型
第三章 需求分析 • 需求分析的任务:回答系统必须“做什么”? • 功能需求+其他需求 • 获取需求的方法: 访谈、面向数据流自顶向下求精、 • 简易的应用规格说明技术、快速建立软件原型。 • 分析建模与规格说明: 数据、功能和行为模型 • 实体-联系图 & 数据规范化 • 状态转换图 • 其他图形工具(层次方框图、Warnier图、IPO图) • 了解验证软件需求:一致性、完整性、现实性和有效性
第五、六章、结构化设计 软 件 设 计 概要设计(总体设计) 确定软件的结构以及各组成分 (子系统或模块)之间的相互关系。 详细设计 确定模块内部的算法和数据结构,产 生描述各模块程序过程的详细文档。 方 案 设 计 体 系 结 构 设 计 过 程 设 计 数 据 设 计 接 口 设 计
第五、六章、结构化设计 • 理解结构设计原理中最主要:模块独立原理 • (力争高内聚、低耦合) • 了解改进软件设计的启发规则 • (如:作用范围在控制范围之内) • 面向数据流的设计方法(结构化设计方法) • 根据DFD图的类型可根据变化分析或事物分析技术, • 将DFD图转换为变换型系统结构图或事物型系统结构图。 SD法总体设计的步骤是: ⑴ 从DFD图导出初始的模块结构图。 ⑵ 按照SD法设计总则,改进模块结构图。
第五、六章、结构化设计 • 什么是结构化程序设计? • 详细设计阶段的描述方法 • 1、流程图 • 2、结构化流程图(N-S图) • 3、PAD图—问题分析图 • 了解人机界面设计 • 了解面向数据结构的设计方法 • (JACKSON系统开发方法) • 程序复杂程度的定量度量(McCabe、Halstead)
第七章 实现 • 实现包括编码和测试两个阶段 • 编码=设计结果翻译成程序(某种程序语言编写) • 软件测试的目标是什么? • 测试包含静态测试和动态测试,测试步骤至少分为: • 1. 模块测试 --- 单元 • 2. 子系统测试 --- 局部 • 3. 系统测试 --- 集成 • 4. 验收测试 --- 用户参与 • 白盒测试和黑盒测试是软件测试的两类基本方法 • 掌握白盒测试技术中的逻辑覆盖,黑盒测试的基本方 • 法(等价划分、边界值分析等)
第八章 维护 • 理解 软件维护的4类活动 • (改正性、适应性、完善性、预防性) • 了解决定软件可维护性的基本要素 • (可理解、可测试、可修改、可移植和可重用性) • 文档是影响软件可维护性的决定因素 • 了解软件再工程(预防性维护)
第九章 面向对象方法学引论 • 面向对象方法学的要点(OCIM) 和 5 大优点, 源于它 • 的接近人类思维的恰当的解空间抽象模型:对象. • 理解面向对象的基本概念(对象、类、继承、封装等) • 如何用UML语言建立对象模型, 动态模型和功能模型及 • 他们之间的关系。
第十章 面向对象分析 • 分析就是提取系统需求并建立问题域精确模型的过程,它包括理解、表达和验证等3项主要工作内容。面向对象分析的关键工作,是分析、确定问题域中的对象及对象间的关系,并建立起问题域的对象模型。 • 复杂系统的对象模型通常由下述5个层次组成: • 主题层、类与对象层、结构层、属性层和服务层。 • 掌握如何建立对象模型(利用名词解析法) • 分析员必须与用户及领域专家反复交流、多次磋商,及时纠正错误认识并补充缺少的信息,完善模型。 • 最终的模型必须得到用户和领域专家的确认。
第十一章 面向对象设计 了解面向对象设计准则和提高设计质量的启发式规则 理解软件重用,特别是类构件重用技术。 系统设计(总体)与对象设计(详细): 界限模糊,反复迭代。 设计求解空间OO模型的4大逻辑部分: 问题域子系统、人机交互子系统、任务管理子系统和数据管理子系统。 5. 了解设计类中服务的方法及实现关联的策略。
第十二章 面向对象实现 具有方便的开发环境和丰富的类库的面向对象程序设计语言,是实现面向对象设计的最佳选择。 传统的程序设计风格准则依然成立,面向对象方法还有一些新准则:例如提高可重用性、可扩充性、健壮性等。 面向对象测试的策略和技术与传统测试有所不同,对象类成为测试的焦点。 单元测试: 测试类时使用的方法主要有随机测试、划分测试和基于故障的测试。每种方法都测试类中封装的操作。每种操作要在不同的对象状态(由对象的属性值表示)下测试。 采用基于线程或基于使用的策略完成集成测试。 从动态模型导出的测试用例,可以测试指定的类及其协作者。 面向对象系统的确认测试可以用传统的黑盒方法完成。情景/脚本为系统确认测试提供了用例。
第十三章 项目管理 软件工程包括技术和管理两方面的内容。有效的管理是大型软件工程项目成功的关键。 估算软件规模、估算工作量。 了解进度计划的工具有Gantt图和工程网络。 了解典型的组织结构有民主制程序员组、主程序员组和现代程序员组等3种。 软件质量保证措施主要有基于非执行的测试(也称为复审)、基于执行的测试(即通常所说的测试)。 软件配置管理是在软件整个生命期内管理变化的一组活动。 理解能力成熟度模型(CMM),其基本思想是改进对软件过程的管理。它定义了5个成熟度等级,一个软件开发组织可以用一系列小的改良性步骤迈入更高的成熟度等级。
(1) 技术可行性 (2) 经济可行性 (3) 操作可行性 (4) 社会可行性(法律可行性) (5) 抉择 开始 问题定义 可性行研究 可行否? N Y 项目实施计划 终止项目的建议 结束
数据流图四种基本符号 或 数据加工 (数据变换) 数据源点或终点 (外部实体) 或 或 数据存储文件 数据流
----系统逻辑模型 外部实体 输出 数据流 输入 数据流 外部实体 软件 系统 … … … … 外部实体 外部实体 输出 数据流 输入 数据流 数据流图的画法: 1)先找系统的数据源点和汇点(外部实体)。 2)找出外部实体的输入流与输出流。 3)从外部实体的输出数据流出发,按照逻辑需要,逐步画出一系列逻辑加 工,直到找到外部实体所需的输入数据流(数据流的封闭性)。 4)确定使用的数据文件。 5)进行检查和修改 。 6)按上述步骤,从各加工出发,需子图的画子图。 进行检查修改的原则 : 1) 数据守恒 (每个加工既要有输入数据流,又要有输出数据流; 父图子图的平衡 。) 2) 数据封闭性原则 (外部实体之间)