软件工程第三节
软件工程第三节
需求分析:
需求具有主观性,二义性,多变性,模糊性。
需求分析要求很专业,很仔细,很有经验。
软件需求分析
一、需求分析的任务,步骤
二、获取需求的方法
三、需求分析的方法
四、小结
需求分析与可行性分析的区别
可行性研究:粗略了解用户需求用较少成本,在较短的时间内确定是否存在一些可行的解法
许多细节被忽略了。
需求分析:准确地回答“系统必须做什么?”这个问题
依据
《可行性研究报告》
任务
(1)建立目标系统的逻辑模型
调查分析用户的确切需求,认真搞清。并细化到底“系统必须做什么”?
反复与用户交流
建立原型系统
确定目标系统的功能、性能、运行
(2)形成《软件需求规格说明书》
SRS
(1)分析系统的要求 必须处理的信息和应该产生的信息
(2)目标系统的逻辑模型 数据流图、数据字典、加工处理
(3)修正开发计划
(4)构造原型系统 AXURE、墨刀
用户了解目标系统的功能、概况
开发者快速、准确、完整把握需求
一、需求分析的任务,步骤
1、分析系统的要求
2、明确目标系统的逻辑模型
3、修正开发计划
4、构造原型系统(AXURE 磨刀):用户了解目标系统的功能、概况 开发者快速、准确、完整
5、复审、验证
二、需求分析的获取需求的方法
结构化方法SA:
实体关系图-〉数据模型
数据流图 -〉功能模型
状态转换图-〉 行为模型
面向对象分析方法OOA:
对象模型
动态模型
功能模型
《软件需求规格说明书》
结构化分析
面向数据流进行分析的方法,主要建立以下几种模型
实体关系图
来创建数据模型,描述系统中所有重要的数据对象
数据流图
用来创建功能模型,描述了信息流和数据转换
状态转换图
用来创建行为模型,描述系统状态如何响应外部事件,而进行转换
对象模型
定义实体,描述系统的静态结构,定义“对谁做”
动态模型
描述对象之间的交互过程,规定“何时做”
功能模型
描述内部数据的处理,指明系统应“做什么”
结构化分析模型:
核心是数据词典,有三种图:
实体—关系图(ERD)数据建模
数据流图(DFD)功能建模
状态转换图(STD)行为建模
一、数据建模
建立三种相互关联的信息模型(概念模型)
数据对象(实体)
属性:实体或数据对象所具有的性质
联系:客观事物之间的联系、、
教师(教工号,姓名,性别,职称,职务)
学生(学号,姓名,性别,系,年级)
课程(课程号,课名,学时,学分,教工号)
学(学号,课程号,成绩)