软件工程全部知识点.docx
- 文档编号:7261801
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:17
- 大小:20.24KB
软件工程全部知识点.docx
《软件工程全部知识点.docx》由会员分享,可在线阅读,更多相关《软件工程全部知识点.docx(17页珍藏版)》请在冰豆网上搜索。
软件工程全部知识点
第一章软件工程概述
1.软件的发展和软件危机的产生
1.1什么是软件
1.2软件的特征
1.3软件的分类
软件无处不在
1.4软件的发展和软件危机产生
是什么导致软件项目的失败
2.软件工程的关键问题
2.1软件工程的定义
2.2软件生命周期
图书馆信息管理系统--功能设计
图书馆信息管理系统--物理模型设计
图书馆信息管理系统--数据设计
图书馆信息管理系统--界面设计
2.3软件工程师的角色(软件工程师是从事软件开发相关工作的人员的统称)
2.4职业与道德责任
知识点
3.软件工程——一种层次化技术
3.1软件工程的过程、过程框架、框架活动
软件过程模型和软件生命周期模型
软件过程和软件生命周期
3.2软件工程的方法(结构化方法、面向对象方法)
结构化方法
面向对象方法
3.3软件工程的工具(CASE)
工具—计算机辅助软件工程(CASE)
UML:
RationalRoseorMicrosoftViso
UI原型:
AxureRPorUIDesigner
4.软件工程的基本原则和目标
软件工程的目标
5.软件工程的衡量标准(ISO、CMMI)
1)国际标准
2)国家标准
3)行业标准
4)企业标准
5)项目规范
TheCMMI
具体好处
CMMI里程碑
几个级别的介绍
知识点
项目
角色
作业
第三讲软件过程(SoftwareProcesses)
软件工程——一种层次化技术
1.软件过程、框架和活动
框架活动
2.软件过程模型
2.1惯用过程模型
瀑布模型
瀑布模型的特点
瀑布模型的优缺点
瀑布模型的适应情况
V模型
V模型适合的情况
原型开发模型
惯用过程模型-增量模型
惯用过程模型-螺旋模型
2.2专用过程模型
专用过程模型之基于构件的过程模型
CBSE过程模型
2.3统一过程模型
第4讲需求工程
引言1用户描述的可能不是他想要的。
对用户的描述每个人有不同的理解
结论
RequirementsEngineering
4.1什么是需求工程
4.2软件需求的定义和分类
需求层次
需求分类例子
例
需求工程的主要活动
4.3起始
Questions
4.4导出(收集)
4.4.1收集需求
访谈
会议
4.4.1收集需求—访谈
4.4.1访谈实践
4.4.1对访谈者的要求
4.4.1收集需求—会议
4.4.1会议基本原则
Safehome案例简介
SafeHome结构/功能草案
会议上收集到的基本软件功能
市场营销人员撰写的产品要求
SafeHomeproject
mini-specification
4.4.1用户场景
例:
SafeHome系统激活的场景(用例)
例:
酒店预定场景描述
UML用例(UseCase)
4.4.2质量功能部署QFD
4.4.3导出工作产品
4.5精化
4.6协商需求
4.7规格说明(SRS)
4.8确认需求
4.9需求管理
第5讲结构化分析(SA)建模
结构化分析建模
5.1数据建模与实体—关系图(ERD)
5.2功能建模和数据流图
5.2.1数据流图的画法
FlowModelingNotation
ExternalEntity
Process
DataFlow
DataStores
例:
教材采购与销售管理系统数据流图
多个数据流与加工之间关系的符号
有关数据流
5.2.2分层数据流图
有关数据流分层
分层图编号
父图和子图的平衡
局部文件
画分层数据流图的注意事项
数据流图的步骤
例1
例2
例:
教材采购与销售管理系统零层数据流图L0
教材采购与销售管理系统一层数据流图L1
教材采购与销售管理系统二层数据流图L2.1
教材采购与销售管理系统二层数据流图L2.2
例3
DFD---0level
DFD---1level
DFD---2level精化“检测传感器”
5.2.3数据词典
数据词典中的符号
例如
5.2.4加工规格说明(处理规格说明ProcessSpecificationPSPEC)(加工逻辑描述)
ProcessSpecification(PSPEC)
结构化语言
判定树和判定表
5.3状态-迁移图
Safehome状态图
Safehome处理(加工)激活表
第6讲面向对象分析建模方法
我们在哪儿?
已做工作
创建SRS文档
6面向对象分析建模
用例图UseCaseDiagram
类图ClassDiagram
对象图ObjectDiagram
状态图StateChartDiagram
顺序图SequenceDiagram&协作图CollaborationDiagram
创建一个用例图
例:
HotelReservationSystem
1)创建系统边界
2)增加用户这个参与者和用例
3)增加预约代理这个参与者
4)增加了接待员这个参与者
保存用例图
需求分析工作流程
精化用例
分析用例
用例表格
创建用例表
第一步—根据SRS文档填写相关信息
第二步—根据用例场景确定前置条件
第三步—根据用例场景确定触发条件
第四步—根据主要用例场景确定主事件流
第五步—根据次要用例场景确定可选事件流
第六步—决定后置条件
展开高级用例
分析继承模式
参与者继承
用例的特殊化
分析用例依赖
<
<
一个旅店预约系统的组合实例
如何使用活动图?
创建用例的活动图
用例活动
分支
并发流
创建SRS文档
建立类模型
介绍分析类
(一)识别分析类
用名次短语法识别分析类
软件需求说明书中的名词
候选类表格
验证项目术语表
候选类表格(示例)
选择分析类
候选类表格
描述属性和定义操作
用CRC分析法提取分析类
选择一个候选类
识别一个相关用例
明确职责和协作者
用CRC卡记录分析类
评审CRC卡,更新候选类表格
更新候选类表格
(二)建立类模型
确定类图中的元素
关联关系
(1)名称
(2)角色
(3)多重性
(4)聚合关系
(5)组合关系
(6)导航性(方向性)
类节点组成
关联
多重性
导航性(方向性)
建立类模型
第一步-画类节点
第二步-画关联
第三步-填入关联和角色名
第四步-填入关联重数
(三)验证类模型
定义对象图的要素
链接
使用对象图验证类模型
第一步-订单情景1
第二步-订单情景1
第三步-订单情景1
第四步-订单情景1
第五步-订单情景1
第六步-订单情景1
建立订单情景2
比较对象图证实域模型
修正旅店预定系统的域模型
第7讲设计工程(DesignEngineering)
回顾过程模型-瀑布模型
回顾需求工程的主要活动
回顾结构化分析建模
回顾面向对象分析建模
回顾综合面向对象和结构化分析
1软件工程中的设计
设计的重要性
TheViewofDesign
从分析模型到设计模型
2设计与质量
2.1设计的目标
2.2设计的基本原则(优秀设计的基本特征)
3设计概念
3.1抽象
过程抽象与数据抽象
3.2模块化
模块划分与成本
3.3信息隐藏与功能独立
功能独立性(Independency)
耦合性(coupling)
内聚性(cohesion)
3.4逐步求精(细化)
3.5模式
案例:
学生-教师-课程的ER图
关联类
第8讲体系结构设计(ArchitecturalDesign)
回顾软件设计工程
设计模型的构成
软件设计的不同视图
数据设计
体系结构设计
接口设计
构件级设计
8.体系结构设计
进行体系结构设计的好处
软件体系结构和软件架构
办公室里的争论
软件架构为谁设计
8.1软件架构的4+1视图法(软件架构的描述)
例:
设备调试系统案例
逻辑视图:
设计满足功能需求的架构
逻辑架构
开发视图:
设计满足开发期质量属性的架构
过程视图:
设计满足运行期质量属性的架构
物理视图:
和部署相关的架构决策
逻辑视图到物理视图的映射
物理视图:
和部署相关的架构决策
图书管理系统的逻辑视图
图书馆信息管理系统的配置图
中国古典建筑风格
8.2软件体系结构风格
8.2.1数据中心体系结构
例:
注册表
注册表的结构
数据中心模型的特点
8.2.2客户/服务器体系结构
B/S体系结构
8.2.3层次体系结构
例:
版本管理系统
经典的三层结构
8.2.3数据流体系结构(管道-过滤器)
8.3使用数据流进行体系结构映射
8.3.1系统结构图
结构图(SC)的直观印象
在系统结构图(SC)中的模块
在系统结构图(SC)中的模块调用
8.3.2从数据流图映射到结构图
8.3.2.1变换型数据流与变换型映射
变换型数据流图
例子
变换型映射方式
变换型分析的映射方式
变换型系统结构图
以SafeHome为例说明如何进行变换映射
“传感器监测子系统”的第三级DFD
以SafeHome为例说明如何进行变换映射(分析)
“传感器监测子系统”
以SafeHome为例说明如何进行变换映射(分析)
传感器监测子系统输出流部分的SC
传感器监测子系统的程序结构“雏形”
以SafeHome为例说明如何进行变换映射(分析)
“传感器监测子系统”的程序结构
8.3.2.2事务型数据流与事务型系统结构
事务型数据流图
事务型分析的映射方式
以SafeHome为例说明如何进行事务映射(分析)
用户交互子系统的二级数据流图
确定流界
事务流映射
用户交互子系统的一级分解
用户交互子系统的程序结构雏形
例:
还书数据流程图
还书子系统结构图
8.3.2.3启发式设计策略(designheuristic)
启发式设计策略(designheuristic)
例1
例2
第9讲数据存储设计
数据库存储策略
9.1基于ER图的数据库设计
FromERDtoDatabasearchitecture
Example
9.2面向对象数据库设计
将类映射到关系数据库
将关联关系映射到关系数据库(1:
1和m:
n的关联关系)
将关联关系映射到关系数据库(1:
n的关联关系)
将关联关系映射到关系数据库(基于关联类的关联关系)
关联类
将聚合/组合关系映射到关系数据库
课堂练习
将泛化(继承)关系映射到关系数据库
开始编写设计文档
第10讲界面设计
1、什么是用户界面设计
教学信息管理系统网站
模糊不清,设计混乱的界面
2、界面设计源于需求分析阶段
3、界面设计三条“黄金原则”
3.1易用性是界面设计的核心
3.2界面必须一致
3.3界面提供帮助
3.4界面设计合理性
3.5界面的独特性
3.6界面的容错性
3.7界面与系统响应时间
4、界面设计案例—输入界面设计
点评
查询界面
点评
复杂查询
点评
审核界面设计
点评
我的桌面
第11讲构件设计
构件设计
什么是构件设计?
构件级设计
1什么是构件?
构件认识的不同观点
类的抽取过程
2基于类的构件设计
2.1基本设计原则
从问题开始!
开始设计:
正方形
设计方案正确吗?
为什么会出现问题?
面向对象的基本设计原则
(1)LiskovSubstitutionPrinciple(LSP)里氏替换原则
违背LSP原则
怎么办?
抽象类与具体类
解决方案
(2)Open-ClosePrinciple(OCP)开闭原则
OCP的关键在于抽象
自动收听构件
实现功能:
开关、调台、音量
设计的自动收听软件类图
关于OCP
举例:
违反里氏替换原则的设计
问题:
鸟会飞,企鹅不会飞!
修正后的设计:
FlyingBird和子类Eagle符合替换原则
(3)TheDependencyInversionPrinciple(DIP)依赖倒置原则
传统的依赖关系
符合DIP的系统
实例分析
(4)InterfaceSegregationPrinciple(ISP)接口分离原则
接口污染
解决方案:
分离接口
ISP本质
(5)TheSingleResponsibilityPrinciple(SRP)单一职责原则
SRP本质
违反SRP的案例
解决方案
设计质量:
好的设计
2.2打包原则
2.3构件级设计指导方针
2.4内聚
TheTypesofCohesion
(1)
TheTypesofCohesion
(2)
TheTypesofCohesion(3)
TheTypesofCohesion(4)
2.5耦合
ContentCoupling
(1)
ContentCoupling
(2)
CommonCoupling
ControlCouplingandDataCoupling
Notes
设计评审
第12讲软件测试
框架活动
1软件测试组织
1软件测试步骤
2单元测试
单元测试
单元测试环境
组件测试环境
单元测试内容
3集成测试
集成测试策略
自顶向下
自顶向下的步骤
(1)
自顶向下的步骤
(2)
回归测试
Notes
自底向上测试
自底向上的步骤
(1)
自底向上的步骤
(2)
SandwichTesting
4确认测试
α测试和β测试
5SystemTesting
恢复测试(recoverytesting)
安全性测试(securitytesting)
强度/压力测试(stresstesting)
性能测试(performancetesting)
Summary
6白盒测试
6.1基本路径测试法
计算环复杂度
抽取独立路径
6.2其他控制结构测试
(1)ConditionTesting
(2)DataFlowTesting
(3)LoopTesting
LoopTesting:
SimpleLoops
LoopTesting:
NestedLoops
7黑盒测试
7.1等价类划分测试
等价划分
划分等价类的规则举例
例:
三角形判定
等价类划分法设计测试用例的步骤
例:
调整工资模块
答案
7.2边界值分析
三角形判定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 全部 知识点