软件建模技术实验指导书
(第2版)
罗海平 段喜龙 梁旗军等编著
南昌航空大学软件学院
1
前言
软件建模技术是计算机软件学科发展最快的领域之一,也是应用范围广、实用性很强的技术之一,它已经成为信息社会的核心技术和重要基础。软件建模技术是软件工程专业学生的专业必修课,其主要目的是使学生在较好地掌握软件建模原理的基础上,熟练掌握较新的的软件建模系统(如PowerDesigner11和Rational Rose2003)的应用技术。
目前在高校教学中,介绍软件建模技术一类的教材较多,但与之相适应的实验指导书却非常少,本书是作者在18年软件开发和7年从事软件建模教学过程的基础上,为满足软件建模技术课程教学需要而编写的实验指导书。本实验内容全面,并紧扣课程理论教学内容。
本书内容循序渐进、深入浅出、全面连贯,一个个实验使读者可以充分利用较新的PowerDesigner平台来深刻理解并掌握软件建模技术与原理,能充分掌握软件建模技术,能利用Java、C++和C#等开发工具进行应用系统的初步设计与开发,达到理论联系实践、学以致用的教学目的与教学效果。本书共有5个实验(可以根据实验要求课时选做),具体如下:
? 实验一 用例
? 实验二 状态图和活动图
? 实验三 交互图 ? 实验四 类图
? 实验五 一个小型数据库应用系统的建模
本书各实验内容翔实,可边学习、边操作实践、边思考与扩展延伸实验,教学中可按需要选做实验,而且各实验内容也可以按课时与课程要求的不同而作取舍。
由于实践仓促,编者水平有限,书中难免有错误、疏漏和欠妥之处,敬请广大读者与同行专家批评指正。
2
? 实验一 用例 ........................................................................................................................... 2 ? 实验三 交互图 ....................................................................................................................... 2 ? 实验四 类图 ............................................................................................................................. 2 ? 实验五 一个小型数据库应用系统的建模 ............................................................................. 2 本书各实验内容翔实,可边学习、边操作实践、边思考与扩展延伸实验,教学中可按需要选做实验,而且各实验内容也可以按课时与课程要求的不同而作取舍。 ................................... 2 实验1 用例 .................................................................................................................................... 4
1.1背景知识 ............................................................................................................................. 4 1.2实验目的 ............................................................................................................................. 7 1.3实验器材 ............................................................................................................................. 7 1.4实验内容 ............................................................................................................................. 7 1.5实验步骤 ............................................................................................................................. 7 1.6实验报告要求 ................................................................................................................... 10 实验2 状态图和活动图 ................................................................................................................ 11
2.1背景知识 ........................................................................................................................... 11 2.2实验目的 ........................................................................................................................... 12 2.3实验器材 ........................................................................................................................... 12 2.4实验内容 ........................................................................................................................... 12 2.5实验步骤 ........................................................................................................................... 12 2.6实验报告要求 ................................................................................................................... 17 实验3 交互图 .............................................................................................................................. 18
3.1实验目的 ........................................................................................................................... 18 3.2实验器材 ........................................................................................................................... 18 3.3实验内容 ........................................................................................................................... 18 3.4实验步骤 ........................................................................................................................... 18 3.5实验报告要求 ................................................................................................................... 21 实验4 类图 .................................................................................................................................... 22
4.1实验目的 ........................................................................................................................... 22 4.2实验器材 ........................................................................................................................... 22 4.3实验内容 ........................................................................................................................... 22 4.4实验步骤 ........................................................................................................................... 22 4.5实验报告要求 ................................................................................................................... 28 实验5 一个小型数据库应用系统的建模 .................................................................................... 29
5.1实验目的 ........................................................................................................................... 29 5.2实验器材 ........................................................................................................................... 29 5.3实验内容 ........................................................................................................................... 29 5.4实验步骤 ........................................................................................................................... 29 5.5实验报告要求 ................................................................................................................... 31 参考文献......................................................................................................................................... 32
3
实验1 用例
1.1背景知识
用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。(用例是文档描述)
用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛(generalization)几种关系。
共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
包含(include) 扩展(extend) 泛化(generalization) 1、包含(include)
包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以依赖包含用例执行的结果,但是双方都不能访问对方的属性。
包含关系对典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。
例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系。
4