③共京宽大学 BEDING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS 软件工程模型与方法 TSMdels methods of Software Telecommunications Software Engineering Group ngineering 第九章面向对象分析 修佳鹏xiujiapeng(@bupt.cn 通软件中心 ⊙2008 BUPTTSEG
© 2008 BUPT TSEG 第九章 面向对象分析 修佳鹏 xiujiapeng@bupt.cn 软件工程模型与方法 Models & Methods of Software Engineering
共京部電大学 本章内容 ◆9.1面向对象分析综述 ◆92用例建模 ◆9.3创建领域模型 ◆9.4绘制系统顺序图 ◆9.5创建系统操作契约 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 2 本章内容 ◆ 9.1 面向对象分析综述 ◆ 9.2 用例建模 ◆ 9.3 创建领域模型 ◆ 9.4 绘制系统顺序图 ◆ 9.5 创建系统操作契约
共京部電大学 91面向对象分析综述 ◆面向对象分析( Object- Oriented Analysis,简称 OOA)就是运用面向对象的方法进行系统分析, 强调运用面向对象方法,对问题域和系统职责进 分析和理解,找岀描述问题域及系统职责所需 的对象,定义对象的属性、服务以及它们之间的 关系,目标是建立一个符合问题域、满足用户需 求的OOA模型 问题域( problem domain):被开发系统的应用领域 ,即在现实世界中由这个系统进行处理的业务范围 系统职责( system responsibilities),所开发的系统应 该具备的职能 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 3 9.1 面向对象分析综述 ◆ 面向对象分析(Object-Oriented Analysis,简称 OOA)就是运用面向对象的方法进行系统分析, 强调运用面向对象方法,对问题域和系统职责进 行分析和理解,找出描述问题域及系统职责所需 的对象,定义对象的属性、服务以及它们之间的 关系,目标是建立一个符合问题域、满足用户需 求的OOA模型。 ➢ 问题域(problem domain):被开发系统的应用领域 ,即在现实世界中由这个系统进行处理的业务范围 ➢ 系统职责(system responsibilities),所开发的系统应 该具备的职能
共京部電大学 OOA与OOD的职责划分 ◆OOA针对现实世界中的问题域与系统职责,用面 向对象的方法建立起针对问题域和系统职责的模 型,作为分析的结果。OOA模型不考虑与系统的 具体实现相关的因素(譬如,采用什么程序设计 语言和数据库),从而使OOA模型独立于具体的 实现环境。 ◆OOD则是针对系统的具体实现,运用OO方法进行 系统设计。其中包括两方面的工作:一是根据实 现条件对○OA模型做某些必要的调整和修改,使 其成为OOD模型的一部分;二是针对具体实现条 件,建立人机界面、数据存储和控制驱动等模型 。这些部分与O0A采角用相向的概念和表示法 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 4 OOA与OOD的职责划分 ◆ OOA针对现实世界中的问题域与系统职责,用面 向对象的方法建立起针对问题域和系统职责的模 型,作为分析的结果。OOA模型不考虑与系统的 具体实现相关的因素(譬如,采用什么程序设计 语言和数据库),从而使OOA模型独立于具体的 实现环境。 ◆ OOD则是针对系统的具体实现,运用OO方法进行 系统设计。其中包括两方面的工作:一是根据实 现条件对OOA模型做某些必要的调整和修改,使 其成为OOD模型的一部分;二是针对具体实现条 件,建立人机界面、数据存储和控制驱动等模型 。这些部分与OOA采用相同的概念和表示法
共京部電大学 软件分析所面临的问题 对问题域和系统职责的理解 ◆2.交流问题 ◆3.需求的不断变化 软件复用的要求 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 5
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 5 软件分析所面临的问题 ◆ 1.对问题域和系统职责的理解 ◆ 2.交流问题 ◆ 3.需求的不断变化 ◆ 4.软件复用的要求
共京部電大学 面向对象分析步骤 ◆(1)利用用例以及用例图来捕获和描述用 户的需求,从而建立系统的功能需求模型 。为创建需求模型,首先要从业务需求描 述出发,识别参与者和使用场景;对场景 进行汇总、分类和抽象,形成用例;确定 参与者和用例、用例和用例之间的关系, 形成用例模型。 ◆(2)从业务需求描述和用例描述中提取“ 关键概念”,形成领域模型。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 6 面向对象分析步骤 ◆ (1)利用用例以及用例图来捕获和描述用 户的需求,从而建立系统的功能需求模型 。为创建需求模型,首先要从业务需求描 述出发,识别参与者和使用场景;对场景 进行汇总、分类和抽象,形成用例;确定 参与者和用例、用例和用例之间的关系, 形成用例模型。 ◆ (2)从业务需求描述和用例描述中提取“ 关键概念”,形成领域模型
共京部電大学 面向对象分析步骤 (3)从用例出发,将系统看作一个黑盒子 识别出参与者和系统交互的系统事件 在系统顺序图中进行描述,并进一步识别 出系统操作。 (4)从系统顺序图和领域模型出发,建立 系统操作契约,描述响应系统事件的系统 操作执行后对系统状态的影响,从而回答 系统“做什么”的问题。此处的系统状 变化指的是领域模型中概念的创建和删除 ,概念属性的修改以及概念之间关联的建 立和删除。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 7 面向对象分析步骤 ◆ (3)从用例出发,将系统看作一个黑盒子 ,识别出参与者和系统交互的系统事件, 在系统顺序图中进行描述,并进一步识别 出系统操作。 ◆ (4)从系统顺序图和领域模型出发,建立 系统操作契约,描述响应系统事件的系统 操作执行后对系统状态的影响,从而回答 系统“做什么”的问题。此处的系统状态 变化指的是领域模型中概念的创建和删除 ,概念属性的修改以及概念之间关联的建 立和删除
共京部電大学 领域专家 场景 用例 文本 用例图 系统顺序图 功能需求描述 业务需 求描述 分析师 领域模型 系统操作契约 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 8 领域专家 分析师 业务需 求描述 领域模型 场景 用例 文本 用例图 功能需求描述 系统顺序图 系统操作契约
共京部電大学 在线考试系统功能描述 ◆本系统主要是为程序设计类课程考试而设 计,但是也应该能适应到其他的课程。目 的在于: >1增加考试灵活性,减轻任课教师的出题、判 卷和统计工作; 2避免纸面考程序设计题的一些缺陷; 3增加一些统计分析功能,便于老师及时跟踪 学生对知识点的掌握情况。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 9
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 9 在线考试系统功能描述 ◆ 本系统主要是为程序设计类课程考试而设 计,但是也应该能适应到其他的课程。目 的在于: ➢ 1.增加考试灵活性,减轻任课教师的出题、判 卷和统计工作; ➢ 2.避免纸面考程序设计题的一些缺陷; ➢ 3.增加一些统计分析功能,便于老师及时跟踪 学生对知识点的掌握情况
共京部電大学 系统用户 ◆教师 ◆学生 ◆助教 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 10
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 10 系统用户 ◆ 教师 ◆ 学生 ◆ 助教