《软件工程》PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程
辅导课程五 主讲教师:程义月
h
1
软件工程 第3章 需求分析
h
2
需求分析的目的
可行性 研究
系统逻辑模型
需求分析
粗略的 数据流图 数据字典 简要算法
系统逻辑模型
详细的 数据流图 数据字典 简要算法
h
3
学习内容
• 系统的综合需求
– 功能 – 性能 – 运行 – 将来
• 系统的数据需求
– 概念模型(ER模型) – 数据结构
• 需求分析的过程
• 图形工具 – 层次方框图 – Warnier图 – IPO图
• 验证软件需求 – 一致 – 完整 – 现实 – 有效
h
4
学习目标
• 系统的综合需求
– 功能 – 性能 – 运行 – 将来
• 系统的数据需求
– 概念模型(ER模型) – 数据结构
• 需求分析的过程
• 图形工具 – 层次方框图 – Warnier图 – IPO图
• E-R模型包含三个基本成分:“实体”、“联系”、 “属性”
(1)实体:是客观世界中存在的、且可相互区分的事物。 它可以是人或物,也可以是具体事物或抽象事物。
• 例如:教师、学生、课程是实体。 • 实体用矩形框表示,如:
教师
h
15
概念模型(2)
(2)联系:客观世界中的事物彼此之间有联系,描述 实体与实体之间的关系。联系有三种:
• 系统性能要求
– 1—50个录入员,要求响应时间低于1秒 – 全校有20000人,一个学期平均每人5们课,共100000条
记录 – 只有管理员才能查询、统计和修改成绩
• 运行要求
– WINDOWS NT – VISUAL FOXPRO
h
9
沿数据流图回溯
源点
数据流图
终点
回溯
h
10
例子-回溯分析法
– 数据要求:数据字典、图形工具(数据结构的层次图、Warnier图) – 用户系统描述:初步的用户手册 – 修正的开发计划
h
7
需求分析过程图示
有补充和修正
需求分解
分析追踪 数据流图
用户复查 无补充和修正
细化数 据流图
不需分解
h
8
例子-成绩录入系统的综合要求
• 系统功能要求
– 身份验证,成绩录入,正确性校验
– 人工技术 – 形式化(rsl语言)
• 现实性(技术水平)
– 经验 – 仿真
• 完整性与有效性 • 为数据流和加工命名
– 与用户密切配合
h
27
案例1:需求分析报告
h
教师
1 教
学生
N 学
成绩
N
M
课程
h
17
规范化
• 第一范式
– 每个属性值都必须是原子值,即仅仅是一个简单值而 不含内部结构。
• 第二范式
– 满足第一范式条件,而且每个非关键字属性都由整个 关键字决定(而不是由关键字的一部分来决定)。
• 第三范式
– 符合第二范式的条件,每个非关键字属性都仅由关键 字决定,而且一个非关键字属性不能仅仅是对另一个 非关键字属性的进一步描述(即一个非关键字属性值 不依赖于另一个非关键字属性值)
h
21
Warnier图
• Warnier图也用树形结构描绘信息,且更丰 富,能表达逻辑关系。
h
22
IPO图
• IPO图是输入/处理/输出图的简称,能够方便 地描述输入数据、对数据的处理和输出数 据之间的关系。
• 基本形式是在左边的框中列出有关的输入 数据,在中间的框内列出主要的处理,在 右边的框内列出产生的输出数据。
• 验证软件需求 – 一致 – 完整 – 现实 – 有效
h
5
需求分析的任务
基本任务:准确地回答“系统必须做什么?”
1.确定对系统的综合需求
(1)系统功能要求(2)系统性能要求(3)运行要求 (4)将来可能提出的要求
2.分析系统的数据要求
采用建立“概念模型”的方法,并辅助图形工具,如: 层次方框图、Warnier图等。
3.导出系统的逻辑模型
数据流程图、数据字典、主要算法
4.修正系统开发计划 5.开发原型系统
h
6
需求分析的过程
1.沿数据流程图回溯
– 从“输出端”到“输入端”回溯,分析数据元素。
2.用户复查
– 借助已有的数据流程图,帮助复查,再次完善数据流程图。
3.细化数据流程图 4.修正开发计划 5.书写文档
– 系统规格说明:系统的概貌、功能要求、运行要求、将来可能的 要求。
h
23
例子:层次方框图和Warnier图
学生
学号 生日
性别
年月日
层次方框图
学生
学号 年
生日 月
日 性别
Warnier图
h
24
例子:IPO图
输入
处理
身份信息 身份文件
校验身份
输出
日志文件 警告信息
h
25
• 样机 • 好处 • 成本 • 工具
开发原型系统
h
26
验证软件需求
• 一Fra Baidu bibliotek性(需求之间不相互矛盾)
• 评论
– 软件工程总带有个性化和经验化的东西
h
12
例子-成绩录入数据流图细化
录入员
成绩 录入
成绩文件
录入员
成绩第一 次录入
成绩第二 次录入
第一次成绩文件 第二次成绩文件
成绩 校验
成绩文件
h
13
数据需求 概念模型
h
14
概念模型(1)
• 最常用的表示概念性数据模型的方法:实体—联 系方法(Entity-Relationship Approach),简称E-R模型。
– 1:1(一对一联系) 例如:实体“校长”与“大学”之间的联系为“1:1” – 1:N(一对多联系) 例如:实体“学校”与“院系”之间的联系为“1:N” – M:N(多对多联系) 例如:实体“学生”与“课程”之间的联系为“M:N” – 联系用菱形框表示,如:
h
16
概念模型(3)
(3)属性:属性是实体或联系所具有的性质。通常一个 实体或联系由若干属性来刻画。
输入数据
加工: f g k
输出数据
输入数据:x,y
输出数据:a,b,c,d
a=f(x,y) b=g(x) c=? d=k(w)
结论: 1.缺乏一个得到输出数据c的加工 2.缺少一个输入数据
h
11
细化数据流图
• 方法
– 分层的数据流图
• 细化的终极目标
– 当某一功能进一步分解会促使分析员考虑如何 编程实现该功能时,则可以停止该功能的分解
• 一般使用第三范式,避免第三范式
h
18
例子-成绩录入系统的数据需求
m
n
学生
成绩
课程
E-R模型
学生
学号 生日
性别
年月日
h
层次方框图
19
需求分析图形工具
h
20
层次方框图
• 层次方框图用树形结构的一系列多层次的 矩形框描绘数据的层次结构。
• 树形结构的顶层是一个单独的矩形框,它 表达完整的数据结构,下面的各层矩形框 代表这个数据的子集,最底层的各个框代 表组成这个数据的实际数据元素(不能再 分解的元素)
辅导课程五 主讲教师:程义月
h
1
软件工程 第3章 需求分析
h
2
需求分析的目的
可行性 研究
系统逻辑模型
需求分析
粗略的 数据流图 数据字典 简要算法
系统逻辑模型
详细的 数据流图 数据字典 简要算法
h
3
学习内容
• 系统的综合需求
– 功能 – 性能 – 运行 – 将来
• 系统的数据需求
– 概念模型(ER模型) – 数据结构
• 需求分析的过程
• 图形工具 – 层次方框图 – Warnier图 – IPO图
• 验证软件需求 – 一致 – 完整 – 现实 – 有效
h
4
学习目标
• 系统的综合需求
– 功能 – 性能 – 运行 – 将来
• 系统的数据需求
– 概念模型(ER模型) – 数据结构
• 需求分析的过程
• 图形工具 – 层次方框图 – Warnier图 – IPO图
• E-R模型包含三个基本成分:“实体”、“联系”、 “属性”
(1)实体:是客观世界中存在的、且可相互区分的事物。 它可以是人或物,也可以是具体事物或抽象事物。
• 例如:教师、学生、课程是实体。 • 实体用矩形框表示,如:
教师
h
15
概念模型(2)
(2)联系:客观世界中的事物彼此之间有联系,描述 实体与实体之间的关系。联系有三种:
• 系统性能要求
– 1—50个录入员,要求响应时间低于1秒 – 全校有20000人,一个学期平均每人5们课,共100000条
记录 – 只有管理员才能查询、统计和修改成绩
• 运行要求
– WINDOWS NT – VISUAL FOXPRO
h
9
沿数据流图回溯
源点
数据流图
终点
回溯
h
10
例子-回溯分析法
– 数据要求:数据字典、图形工具(数据结构的层次图、Warnier图) – 用户系统描述:初步的用户手册 – 修正的开发计划
h
7
需求分析过程图示
有补充和修正
需求分解
分析追踪 数据流图
用户复查 无补充和修正
细化数 据流图
不需分解
h
8
例子-成绩录入系统的综合要求
• 系统功能要求
– 身份验证,成绩录入,正确性校验
– 人工技术 – 形式化(rsl语言)
• 现实性(技术水平)
– 经验 – 仿真
• 完整性与有效性 • 为数据流和加工命名
– 与用户密切配合
h
27
案例1:需求分析报告
h
教师
1 教
学生
N 学
成绩
N
M
课程
h
17
规范化
• 第一范式
– 每个属性值都必须是原子值,即仅仅是一个简单值而 不含内部结构。
• 第二范式
– 满足第一范式条件,而且每个非关键字属性都由整个 关键字决定(而不是由关键字的一部分来决定)。
• 第三范式
– 符合第二范式的条件,每个非关键字属性都仅由关键 字决定,而且一个非关键字属性不能仅仅是对另一个 非关键字属性的进一步描述(即一个非关键字属性值 不依赖于另一个非关键字属性值)
h
21
Warnier图
• Warnier图也用树形结构描绘信息,且更丰 富,能表达逻辑关系。
h
22
IPO图
• IPO图是输入/处理/输出图的简称,能够方便 地描述输入数据、对数据的处理和输出数 据之间的关系。
• 基本形式是在左边的框中列出有关的输入 数据,在中间的框内列出主要的处理,在 右边的框内列出产生的输出数据。
• 验证软件需求 – 一致 – 完整 – 现实 – 有效
h
5
需求分析的任务
基本任务:准确地回答“系统必须做什么?”
1.确定对系统的综合需求
(1)系统功能要求(2)系统性能要求(3)运行要求 (4)将来可能提出的要求
2.分析系统的数据要求
采用建立“概念模型”的方法,并辅助图形工具,如: 层次方框图、Warnier图等。
3.导出系统的逻辑模型
数据流程图、数据字典、主要算法
4.修正系统开发计划 5.开发原型系统
h
6
需求分析的过程
1.沿数据流程图回溯
– 从“输出端”到“输入端”回溯,分析数据元素。
2.用户复查
– 借助已有的数据流程图,帮助复查,再次完善数据流程图。
3.细化数据流程图 4.修正开发计划 5.书写文档
– 系统规格说明:系统的概貌、功能要求、运行要求、将来可能的 要求。
h
23
例子:层次方框图和Warnier图
学生
学号 生日
性别
年月日
层次方框图
学生
学号 年
生日 月
日 性别
Warnier图
h
24
例子:IPO图
输入
处理
身份信息 身份文件
校验身份
输出
日志文件 警告信息
h
25
• 样机 • 好处 • 成本 • 工具
开发原型系统
h
26
验证软件需求
• 一Fra Baidu bibliotek性(需求之间不相互矛盾)
• 评论
– 软件工程总带有个性化和经验化的东西
h
12
例子-成绩录入数据流图细化
录入员
成绩 录入
成绩文件
录入员
成绩第一 次录入
成绩第二 次录入
第一次成绩文件 第二次成绩文件
成绩 校验
成绩文件
h
13
数据需求 概念模型
h
14
概念模型(1)
• 最常用的表示概念性数据模型的方法:实体—联 系方法(Entity-Relationship Approach),简称E-R模型。
– 1:1(一对一联系) 例如:实体“校长”与“大学”之间的联系为“1:1” – 1:N(一对多联系) 例如:实体“学校”与“院系”之间的联系为“1:N” – M:N(多对多联系) 例如:实体“学生”与“课程”之间的联系为“M:N” – 联系用菱形框表示,如:
h
16
概念模型(3)
(3)属性:属性是实体或联系所具有的性质。通常一个 实体或联系由若干属性来刻画。
输入数据
加工: f g k
输出数据
输入数据:x,y
输出数据:a,b,c,d
a=f(x,y) b=g(x) c=? d=k(w)
结论: 1.缺乏一个得到输出数据c的加工 2.缺少一个输入数据
h
11
细化数据流图
• 方法
– 分层的数据流图
• 细化的终极目标
– 当某一功能进一步分解会促使分析员考虑如何 编程实现该功能时,则可以停止该功能的分解
• 一般使用第三范式,避免第三范式
h
18
例子-成绩录入系统的数据需求
m
n
学生
成绩
课程
E-R模型
学生
学号 生日
性别
年月日
h
层次方框图
19
需求分析图形工具
h
20
层次方框图
• 层次方框图用树形结构的一系列多层次的 矩形框描绘数据的层次结构。
• 树形结构的顶层是一个单独的矩形框,它 表达完整的数据结构,下面的各层矩形框 代表这个数据的子集,最底层的各个框代 表组成这个数据的实际数据元素(不能再 分解的元素)