实验九面向对象的分析.doc
文本预览下载声明
实验九 面向对象的分析
1 实验要求与目的
? 熟悉面向对象的分析过程;
? 掌握分析阶段的三种模型;
? 掌握用例图、类图以及状态图的绘制;
2 实验原理与背景知识
2.1 面向对象分析
面向对象分析的依据是软件的功能性需求,主要的输出是系统模型(对象模型+动态模型+功能模型),该模型更多侧重于描述需要解决的问题是什么样的。
简单来说,分析的过程是提取系统需求的过程,主要包括3项内容,即理解、表达和验证。面向对象分析(OOA)的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。
面向对象的分析主要有两部分工作:
(1)需求陈述
(2)分析建模
2.2 对象模型——主要使用UML中的类图和对象图描述
面向对象分析大体上按照下列顺序进行:
? 寻找类与对象
? 确定关联
? 识别结构
? 识别主题
? 定义属性
? 建立动态模型
? 建立功能模型
? 定义服务
2.3 动态模型——主要使用UML中的顺序图和状态图描述
建立动态模型的主要步骤:
? 编写典型交互行为的脚本。虽然脚本中不可能包括每个偶然事件,但是,至少必须保证不遗漏常见的交互行为。
? 从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。
? 排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。通常在画状态图之前先画出事件跟踪图(顺序图)。
? 比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。
2.4 功能模型——主要使用用例图和数据流图进行描述
(1)功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成。其中的处理功能可以用IPO图(或表)和伪码等多种方式进一步描述。
(2)用例图
用例描述的是外部行为者(actor)所理解的系统功能。
在UML中,组成用例图的主要元素是系统、用例、行为者、关联以及用例之间的关系。
3 实验内容及步骤
3.1一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD和报纸等出版物供读者借阅。这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并且有借出、收回等服务。
请建立上述图书馆馆藏出版物的对象模型。
3.2 在温室管理系统中,有一个环境控制器,当没有种植作物时处于空闲状态。一旦种上作物,就要进行温度控制,定义气候,即在什么时期应该达到什么温度。当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;太阳出来时,进入白天状态,由于温度升高,要调用调节温度过程,保持要求的温度。当日落时,进入夜晚状态,当作物收货,终止气候的控制,则进入空闲状态。
请建立环境控制器的动态模型。
3.3 银行账户管理系统中,一个客户可以在多个银行中开设账户,一个客户也可在同一银行中开设多个不同的账户。客户可以通过银行职员进行开户、存款、取款、转账、注销账户等活动。其中转账指客户将自己的某个账户上的钱转入同一银行的不同账户(称为银行内转账)或转入不同银行的账户(称为银行间转账)。系统管理员负责系统的账户管理及业务报表的生成。请建立该银行账户管理系统的用例模型。
4.扩展与练习
4.1建立图形系统的对象模型,问题陈述如下:图形分为0维图形、一维图形和二维图形。0维图形是指实际中的一个点;一维图形又分为直线、圆弧、折线;二维图形分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。
显示全部