《系统分析与建模》实验指导书 __2011__/__2012__年 第__二__学期 姓名:____钱秀梅_________ 学号:__ 10030117_____ 班级:_10计一_______
指导教师:___殷凯__________ 计算机科学与技术系编写
系统分析与建模实验指导书 ―1― 计算机科学与技术系 目 录
实验0 熟悉软件开发环境????????????????? 实验1 用例图设计???????????????????
实验2 类和对象图设计??????????????????? 实验3 交互图设计?????????????????????? 实验4 状态图设计?????????????????????? 实验5 活动图设计???????????????????? 实验6 包图设计?????????????????????? 实验7 物理图设计?????????????????????
附录 考核登记表??????????????????????1 3 7 9 12 15 17 23实验0 熟悉软件开发环境
一、实验目的
学习使用ea开发环境创建模型的一般方法,理解ea界面布局和元素操作的一般技巧。 二、实验环境
软件平台:microsoft windows2000 /xp。软件工具:ea 7.5。 三、实验内容与要求
1. 学会启动和关闭ea 7.5开发环境。
2. 使用目标项目(project)的向导创建一个项目。 3. 了解ea 7.5界面的六大组成部分(菜单menu、浏览器browser、文档窗口document window、图窗口diagram window、日值窗口log window和工具栏。
4. 在浏览器中实现如下操作:增加模型元素(包括角色、用例、类、组建、图等);查看现有模型元素;查看现有模型元素之间的关系;移动模型元素;更名模型元素;访问元素的详细规范。
5. 分别在在图中增加删除图元素和在浏览器中增加删除图元素。 四、实验预习和准备
参考相关书籍,能够熟练地安装和使用ea 7.5软件建立模型。 五、实验过程与结果 读者
图0-1 用例图
图0-2 一个订单系统的包图 六、实验小结和体会
1、在创建用例图和包图过程中,使用目标项目(project)的向导创建一个项目,选择需要的模型,然后在所选的模型下面创建图。
2、通过创建用例图,知道了用例图的三个基本组成部分:系统、活动者、用例,用例图是从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。用例是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述系列。用例之间可以存在一定的联系,这些联系包括泛化联系、使用联系、包含联系、扩展联系等。 3、通过创建包图,知道了包图由包和包之间的联系构成。包图的图形节点是包,节点之间用弧(依赖或泛化)连接。包图是和控制系统总体结构的重要建模工具。 实验一 用例图设计 一、实验目的
掌握在ea中用例图的基本用法和使用技巧。 二、实验环境
软件平台:microsoft windows2000 /xp。软件工具:ea7.5。 三、实验内容与要求
本实验给予某学校的网上选课系统的用例图的设计和实现。 需求描述如下:某学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开设的各种课程、讲课程信息保存在数据库中丙可以对课程进行改动和删除。学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。同样,通过业务层,这些操作结果存入数据库中。 分析:
本系统拟用三层模型实现:数据核心层、业务逻辑层和接入层。其中,数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理,再映射到相应的数据层操作;而接入层包括用户界面,包括系统登陆界面、管理界面、用户选择界面等。
本系统涉及的用户包括管理员和学生,他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象处“基”活动者people,而管理员和学生从people统一派生。数据库管理系统是另外一个活动者。 系统事件: 添加课程事件:
(1) 管理员选择进入管理界面,用例开始。 (2) 系统提示输入管理员密码。 (3) 管理员输入密码。 (4) 系统验证密码。 (5) 密码错误
(6) 进入管理界面,系统显示目前所建立的全部课程信息。 (7) 管理员许恩泽添加课程。 (8) 系统提示输入新课程信息。 (9) 管理员输入信息。
(10) 系统验证是否和已有课程冲突。 (11) a2 有冲突。 (12) 用例结束。 其他事件: a1 密码错误
(1) 系统提示再次输入。 (2) 用户确认。
(3) 三次错误,拒绝再次访问。 (4) 否则进入添加课程事件第6步。
a2 有冲突
(1) 系统提示冲突,显示冲突课程信息。 (2) 用户重新输入。
(3) 继续验证直到无冲突。(4) 进入添加课程事件第12步。
删除课程事件和修改课程事件与添加课程事件类似。请自行描述。 选课事件:
(1) 学生进入选课登陆界面,用例开始。 (2) 系统提示输入学号和密码。 (3) 学生输入学号和密码。
(4) 系统验证。 a1 验证失败 (5) 进入选课主界面。 (6) 学生点击选课。 (7) 系统显示所有课程信息。 (8) 学生选择课程。
(9) 系统验证课程是否可选。 a2 不可选。 (10) 系统提示课程选择成功,提示学生交费。 (11) 用例结束。 错误事件: a1: 验证失败。
(1) 系统提示验证失败,提示重新输入。 (2) 三次失败,拒绝访问。 (3) 成功,转选课事件第5步。 a2: 课程不可选。 (1) 系统提示课程不可选原因。 (2) 学生重新选课。 (3) 重新验证直到成功。 (4) 转选课事件第10步。
付费事件和查询事件不做描述。
根据以上分析,绘制系统所有用例图。 四、实验预习和准备
了解用例图描述系统基本方式。熟练掌握用例图绘制的基本方法,了解用例、活动者、角色等基本概念的表示。 五、实验过程与结果 数据库
六、实验小结和体会
1、用例图描述了一组用例、活动者及它们之间的关系,因此基本的用例图包括3个方面的内容:用例、活动者、用例之间的关系。
2、活动者是系统外部的一个实体(可以是任何的事物或人),它以某种方式参与了用例的执行过程。
3、用例除了与其活动者发生关联外,用例之间也存在着一定的联系。这些联系包括泛化联系、包含联系、扩展联系等。
4、在建立用例模型时,应该注意几个问题: (1)用例英简单明了,具有较强的可读性。 (2)应该用文本和其他uml图来描述用例是如何启动和停止的。 (3)应该从活动者的角度并以主动语态编写用例。 (4)垂直地绘制继承和扩展联系,水平地绘制包含联系。( 5)不要被《include》和《extend》所困扰。
5、总之,用例是以主要活动者的目标为中心的,其中每一条语句都应该描述其所想表达的子目标。实验二 类和对象图设计 一、实验目的
掌握ea中类图和对象图刻划系统的一般步骤和技巧,掌握类图和对象图中的各种基本概念的含义和表达方法。 二、实验环境
软件平台:microsoft windows2000 /xp。软件工具:ea7.5。 三、实验内容与要求 (1) 根据实验一的问题描述,结合序列图中的描述,抽象出选课系统中的类(除 角色外),然后作出他们的类图。
(2) 在选课系统中,涉及到的用户包括管理员和学生,其主要特征相似,所以可
以建立统一基类people,而管理员和学生则由people派生。创建它们三者之间的类图。 (3) 假设在选课系统中设计了以下类: (a) 界面 (b) 控制对象 (c) 课程
设计了以下角色: (a) 学生 (b) 管理员 (c) 学生和管理员的父类people (d) 数据库 这些类和角色之间的关系如下:
(a) 角色学生和管理员从people派生
(b) 学生、管理员在与系统交互时,都有一个界面与之对应。 (c) 一个界面可能和课程相关(0..n)
(d) 控制对象负责课程的处理,处理结果在界面上显示。 (e) 控制对象完成对数据库的操作。 (f) 界面请求控制对象的服务。
根据以上描述,绘制类关系图。注意对象之间关联的类型。 四、验和准备
参照相关书籍和文档,理解类和对象图绘制的基本方法。注意派生类和关联类及关联类型的表达。
五、实验过程与结果 六、实验小结和体会
1、类在uml中用一个有三个分隔区的矩形来表示。顶端的分隔区为类的名称,中间的分隔区存放类的属性、属性的类型和值,第三个分隔区存放操作、操作的参数表和返回类型。 2、类中属性的可见性主要包括public(公共)、private(私用)和protected(保护)三种,它们分别用“+”、“—”和“#”来表示。
3、对象类图不仅定义系统中的类,表示类间的联系,如关联、依赖、聚合等;还包括类的内部结构,如类的属性和操作等。
4、在uml中对象类一般都不是孤立地在系统中存在的,它们之间往往存在着各种关联关系,如聚合和组合、泛化及依赖等。5、建立对象类图做到以下几点: (1)研究和分析问题域,确定系统的需求。 (2)发现、识别、确定系统中的类和对象,明确它们的含义和责任、确定属性和操作。 (3)找出类之间存在的静态联系。
(4)对已经发现的类之间存在的联系进行调整和优化。 (5)最后绘制对象类图。 实验三 交互图设计 一、实验目的
掌握交互图(序列图和协作图)绘制的基本方法和技巧,学会使用交互图描述用例实现的方法,掌握系统动态特性建模的技巧。 二、实验环境
软件平台:microsoft windows2000 /xp。软件工具:ea。 三、实验内容与要求 本实验以选择系统中的选课用例为例,来学习交互图的设计和实现。
为了时问题更简单一些,不考虑学生的登陆。假设学生已经成功登陆系统,选择的事件可以简化如下: 选课事件:
(1) 入选课主界面。 (2) 生点击选课。
(3) 系统显示所有课程信息。 (4) 学生选择课程。
(5) 系统验证课程是否可选。 a1 不可选。 (6) 系统提示课程选择成功,提示学生交费。 (7) 用例结束。 错误事件: a1: 课程不可选。 (2) 统提示课程不可选原因。 (3) 生重新选课。 (4) 重新验证直到成功。 (5) 转选课事件第6步。 创建上述选课用例的交互图(序列图)。同时根据实验一的描述创建添加课程、修改课程和删除课程的序列图以及选择课程的协作图。 四、 实验和准备
参照相关书籍和文档,熟悉交互图绘制和描述的方法。五、实验过程与结果
5.执行选课
图3-2 选课系统的协作图 ()
六、实验小结和体会
1、交互图描述了系统的交互,由对象、关联、消息等组成。交互图可分为序列图和协作图,都可以用于建立系统动态行为模型。
2、序列图由对象、生命线、消息组成,协作图由对象、关联、消息组成。 3、序列图和协作图用不同的方式表达了系统中对象的行为。序列图描述了消息的时间顺序,适合实时系统;协作图描述了对象间的联系,适合对象类的划分;但它们在语义上是等价的,可以彼此转换。
4、交互图中的交互描述系统的一个特定行为,类似于一个用例的说明。每个交互由一组对象之间的通信序列组成,参与交互的对象通过协作建立联系,共同刻画系统的某一个行为。 实验四 状态图设计 一、实验目的
掌握状态图绘制的基本方法,理解状态图中各个要素的含义及表达。 二、实验环境 软件平台:microsoft windows2000 /xp。软件工具:ea。 三、实验内容与要求 (1) 考察课程类(对象)的状态变化过程。课程对象被创建,添加到数据库中。 管理员可以删除、修改课程信息,在某个学期,开设改课程,如果选修人数超过制定人数,就不再允许学生选这门课。学期结束,学期结束,课程的状态终止。 根据以上描述,绘制课程对象的状态图。
(2) 电梯运动是日常生活中常见的现象,请根据电梯的运动状态绘制电梯对象的 状态图。
四、实验和准备
参照相关书籍和文档,熟悉绘制状态图的基本方法。 五、实验过程与结果
六、实验小结和体会
1、一个状态图描述了一个状态机,用状态图说明系统的动态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用例实例生命周期。 2、状态图显示一个对象从生成到删除的生命周期。
3、在uml中,状态图通常由状态和迁移组成,除此之外,还可以包括像判定和同步这样的用于表示控制流向的图形元素。 实验五 活动图设计 一、实验目的
掌握使用活动图描述各种复杂事件的逻辑。 二、实验环境
软件平台:microsoft windows2000 /xp。软件工具:ea。 三、实验内容与要求 在用例图中,我们对添加课程的用例事件做了详细分析(见实验二)。由于管理员密码验证过程可以抽取出来,作为通用的流程,所以这里对添加课程事件稍作修改,将管理员输入课程信息作为起始的活动,内容如下: (1) 管理员输入信息。
(2) 系统验证是否和已有课程冲突。a2 有冲突(3) 系统添加新课程,提示课程添加成功。 (4) 系统重新进入管理主界面,显示所有课程。 (5) 用例结束。