③共京宽大学 BEDING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS 软件工程模型与方法 TSEG Models methods of sE Telecommunications Software Engineering Grou 第五章结构化需求分析 肖丁diao(@bupt.edu.cn 通软件中心 ⊙2008 BUPTTSEG
© 2008 BUPT TSEG 软件工程模型与方法 Models & Methods of SE 第五章 结构化需求分析 肖丁 dxiao@bupt.edu.cn
共京部電大学 本章内容 ◆5.1结构化需求分析的由来 ◆52结构化分析模型的组成 ◆5.3数据建模 ◆5.4功能建模 ◆5.5行为建模 ◆56数据词典 ◆57软件需求规格说明书 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 2 本章内容 ◆ 5.1 结构化需求分析的由来 ◆ 5.2 结构化分析模型的组成 ◆ 5.3 数据建模 ◆ 5.4 功能建模 ◆ 5.5 行为建模 ◆ 5.6 数据词典 ◆ 5.7 软件需求规格说明书
共京部電大学 5结构化需求分析的由来 ◆分析建模的开始于20世纪60-70年代,但结 构化分析方法的第一次出现是作为另一个 重要课题“结构化设计”的附属品。 ◆其目的是需要一种图形符号体系来表示数 据和对数据进行变换的处理,这些处理最 终能被映射到软件体系结构的设计中。 ◆结构化分析这个词汇最初由 Douglas ross:提 出,由 Demarco进行了推广 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 3 5.1 结构化需求分析的由来 ◆ 分析建模的开始于20世纪60-70年代,但结 构化分析方法的第一次出现是作为另一个 重要课题—“结构化设计”的附属品 。 ◆ 其目的是需要一种图形符号体系来表示数 据和对数据进行变换的处理,这些处理最 终能被映射到软件体系结构的设计中。 ◆ 结构化分析这个词汇最初由Douglas Ross提 出,由DeMarco进行了推广
共京部電大学 52分析模型的结构 ◆需求分析的分析模型必须达到三个主要目标: 描述客户的需求; >建立创建软件设计的基础; 定义在软件完成后可以被确认的一组需求。 数 据/实 加 数工 对/体 据\规 象/关 描系(数据\流格 述图人词典图说 明 状态迁移图 控制规格说明 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 4 5.2 分析模型的结构 ◆ 需求分析的分析模型必须达到三个主要目标: ➢ 描述客户的需求; ➢ 建立创建软件设计的基础; ➢ 定义在软件完成后可以被确认的一组需求。 数据 词典 数 据 流 图 实 体 关 系 图 状态迁移图 控制规格说明 数 据 对 象 描 述 加 工 规 格 说 明
共京部電大学 53数据建模 概念性数据模型是一种面向问题的数据模 型,是按照用户 的观点来对数据和信息建模。其表示方法称为实体-关系 法,也称为实体关系模型。 它描述了从用户角度看到的数据,反映了用户的现实环境 ,但与在软件系统中的实现方法无关。 ◆软件系统本质上是信息处理系统,即对数据进行处理的系 统,因此在开发过程中必须考虑以下两方面的问题: “数据” 需要有哪些数据? 数据之间有什么联系? 数据本身有什么性质? 数据结构等 对数据的“处理” 对数据进行哪些处理? 每个处理的逻辑功能是什么? ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 5
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 5 5.3 数据建模 ◆ 概念性数据模型是一种面向问题的数据模型,是按照用户 的观点来对数据和信息建模。其表示方法称为实体-关系 法,也称为实体关系模型。 ◆ 它描述了从用户角度看到的数据,反映了用户的现实环境 ,但与在软件系统中的实现方法无关。 ◆ 软件系统本质上是信息处理系统,即对数据进行处理的系 统,因此在开发过程中必须考虑以下两方面的问题: ➢ “数据” 需要有哪些数据? 数据之间有什么联系? 数据本身有什么性质? 数据结构等 ➢ 对数据的“处理” 对数据进行哪些处理? 每个处理的逻辑功能是什么?
共京部電大学 531数据建模的作用 ◆数据建模反映了与任何数据处理应用相关 的一组特定问题: 系统处理哪些主要的数据对象 每个数据对象的组成如何? 而且哪些属性描述了这些数据对象? 这些数据对象当前位于何处? 每个数据对象与其他数据对象有哪些关系? 数据对象和变换它们的处理之间有哪些关系? ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 6 5.3.1 数据建模的作用 ◆ 数据建模反映了与任何数据处理应用相关 的一组特定问题: ➢ 系统处理哪些主要的数据对象? ➢ 每个数据对象的组成如何? ➢ 而且哪些属性描述了这些数据对象? ➢ 这些数据对象当前位于何处? ➢ 每个数据对象与其他数据对象有哪些关系? ➢ 数据对象和变换它们的处理之间有哪些关系?
共京部電大学 532数据对象 ◆数据对象描述包括了数据对象的名称及其所有属 性。通常将数据对象简称为“实体”,其具体表 现可以是: 外部实体:产生或使用消息的任何事物; 事物:例如建筑物、汽车等物体; 事件:例如警报; >角色:例如老师、学生、销售等; 组织单位:例如学校教务处、财务处等; 地点:例如仓库、停车场等 结构:例如文件、档案等。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 7 5.3.2 数据对象 ◆ 数据对象描述包括了数据对象的名称及其所有属 性。通常将数据对象简称为“实体”,其具体表 现可以是: ➢ 外部实体:产生或使用消息的任何事物; ➢ 事物:例如建筑物、汽车等物体; ➢ 事件:例如警报; ➢ 角色:例如老师、学生、销售等; ➢ 组织单位:例如学校教务处、财务处等; ➢ 地点:例如仓库、停车场等; ➢ 结构:例如文件、档案等
共京部電大学 533数据对象的属性和关系 ◆每个数据对象都具有一些区别于其他数据 对象的特征和性质,这些特征称为数据对 彖的属性。它苛角于: 命名数据对象 >描述数据对象实例; 建立与其它数据对象的联系; ◆数据对象之间可以存在某种特定的连接 称之为数据对象的关系。 ◆关系是由被分析问题的语境定义的。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 8 5.3.3 数据对象的属性和关系 ◆ 每个数据对象都具有一些区别于其他数据 对象的特征和性质,这些特征称为数据对 象的属性。它可用于: ➢ 命名数据对象; ➢ 描述数据对象实例; ➢ 建立与其它数据对象的联系; ◆ 数据对象之间可以存在某种特定的连接, 称之为数据对象的关系。 ◆ 关系是由被分析问题的语境定义的
共京部電大学 534数据对象的基数 ◆数据建模的基本元素:数据对象、属性和 关系提供了理解问题信息域的基础,但还 必须了解数据对象之间出现的次数有无必 然的联系,即实体关系对的基数 基数通常简单地表达为“-”或“多”。 考虑到“”和“多”的所有组合,两个 实体可能的关联如下: 对一:例如人和身份证件的关系; 对多:例如父母与孩子的关系; 多对多:例如学生和老师的关系; ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 9
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 9 5.3.4 数据对象的基数 ◆ 数据建模的基本元素:数据对象、属性和 关系提供了理解问题信息域的基础,但还 必须了解数据对象之间出现的次数有无必 然的联系,即实体-关系对的基数。 ◆ 基数通常简单地表达为“一”或“多”。 考虑到“一”和“多”的所有组合,两个 实体可能的关联如下: ➢ 一对一:例如人和身份证件的关系; ➢ 一对多:例如父母与孩子的关系; ➢ 多对多:例如学生和老师的关系;
共京部電大学 535实体关系图 ◆ER图的主要目的是以图形的形式表示实体 与实体之间的关系。 ◆ER图最初是由 Peter Chen为关系数据库系统 的设计提出的,标识了一组基本的构件: 实体、属性、关系。 ◆例如,教学管理系统中的教师、学生和课 程之间的关系 「学生 课程 厂教师 课程号 授课 职工号 姓名 上课 课程名 名 年龄 分 职称 性别 学时数 年龄 专业 成绩 单位 班级号 上课时间 性别 上课教室 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 10
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 10 5.3.5 实体关系图 ◆ ER图的主要目的是以图形的形式表示实体 与实体之间的关系。 ◆ ER图最初是由Peter Chen为关系数据库系统 的设计提出的,标识了一组基本的构件: 实体、属性、关系。 ◆ 例如,教学管理系统中的教师、学生和课 程之间的关系 上课 授课 学生 学号 姓名 年龄 性别 专业 班级号 课程 课程号 课程名 学分 学时数 成绩 上课时间 上课教室 教师 职工号 姓名 职称 年龄 单位 性别