《软件体系结构》实验指导书.docx
- 文档编号:18567097
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:67
- 大小:2.28MB
《软件体系结构》实验指导书.docx
《《软件体系结构》实验指导书.docx》由会员分享,可在线阅读,更多相关《《软件体系结构》实验指导书.docx(67页珍藏版)》请在冰点文库上搜索。
《软件体系结构》实验指导书
前言
软件体系结构课程是计算机科学与技术本科专业的一门重要的专业课.通过本课程的学习,使学生在已有的计算机软硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握面向对象系统分析与设计的基本方法和技术,并具有针对特定环境下的应用问题进行信息系统开发(包括系统分析,设计与实现)的能力。
通过学习本课程学生可以理解和掌握软件体系结构的分析和设计方法,掌握面向对象系统分析和设计的建模标准UML语言,能够利用RationalRose(或MicrosoftViso)软件以某一信息系统为例进行系统分析和设计。
本课程主要介绍系统原理的基本概念、系统开发过程RUP、对面向对象分析和面向对象设计的方法、对面向对象分析和设计的建模标准UML等内容。
通过本课程的学习,学生掌握的知识、内容及掌握的程度要求为:
1.使学生理解面向对象的信息系统的开发过程、系统分析和设计的原则和方法;
2.使学生掌握UML语言的基础知识,以及UML在面向对象的软件系统分析和设计中的应用,并能使用UML工具建立系统模型;
3.使学生掌握在UML系统模型下应用高级语言建立应用系统的方法;
4.通过案例教学和实验,提高学生在应用面向对象技术开发软件方面的动手能力和解决问题的能力,并鼓励创新。
本实验所要求的建模工具为RationalRose2003。
实验一用例图及进度安排
一、实验目的
1.熟悉用例图的基本功能和使用方法。
2.掌握如何使用建模工具绘制用例图方法。
3.学习使用MicrosoftProject对题目进行进度安排。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
根据实例,如“图书馆管理系统”开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。
要求:
对其中主要功能的用例书写书面用例。
四、实验步骤
书写“删除读者信息”用例的书面用例。
一般应包含以下信息:
(1)管理员在录入界面,输入待删除的读者名;
(2)“业务逻辑”组件在数据库中,查找待删除的读者名;
(3)如果不存在,则显示出错信息,返回步骤
(1),如果存在则继续;
(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;
(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;
(6)在数据库中,删除相关信息;
(7)显示删除成功信息;
(8)结束。
分析:
在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。
绘图步骤:
(1)在用例图上双击main,出现如图1.1所示,为绘制用例图做好准备。
图1.1
(2)在图中的工具栏选取Actor图标,在右边的图中添加一个Actor,并输入名称:
administrator,如图1.2所示。
(3)在左边的工具栏中,选取用例的图标,在右边的图中画出一个用例,并输入用例的名称:
login。
图1.2
(4)按照步骤(3),绘制出如图1.4和图1.5的两个用例。
图1.3
图1.4
图1.5
(5)在绘出了用例后,接下来的是绘制参与者与用例实现,如图1.6所示。
图1.6
(6)根据步骤(5),同时完成如图1.7和图1.8。
此时,删除读者用例图就到此完成。
其系统查询读者信息等其他的功能会在时序图和活动图中描绘。
(7)根据分析情况,进一步添加或细化用例图。
图1.7
图1.8
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验二活动图
一、实验目的
1.熟悉活动图的基本功能和使用方法。
2.掌握如何使用建模工具绘制活动图方法。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
根据实例,如“图书馆管理系统”开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。
要求:
用活动图来描述系统中已知用例的业务过程:
1.描述删除读者用例。
四、实验步骤
绘制“删除读者信息”用例的活动图。
删除读者信息一般按照以下步骤进行:
(1)管理员在录入界面,输入待删除的读者名;
(2)“业务逻辑”组件在数据库中,查找待删除的读者名;
(3)如果不存在,则显示出错信息,返回步骤
(1),如果存在则继续;
(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;
(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;
(6)在数据库中,删除相关信息;
(7)显示删除成功信息;
(8)结束。
绘图步骤:
(1)在用例图中,找到删除的用例,如图2.1所示,在删除用例上单击右键,在弹出的快捷菜单中选“New”,Rose工具也会弹出一个菜单,选”ActivityDiagram”,选中后单击,便可以新建好一个活动图。
如图2.2所示。
图2.1
图2.2
(2)新建好活动图后,双击删除的活动图,得到如图2.3所示,然后把在左边的工具栏内点击“Swinlane“,在右边的图添加一个泳道,如图2.4所示,并命名为administrator.按照此步骤,再添加另一个泳道,并命名为SystemTool,得到图2.5。
图2.3
(3)接着在左边的工具上选取开始点,并在administrator的泳道上添加,如图2.6所示;添加完开始结点后,再来为此活动图添加活动,图2.7所示,在左边的工具栏上选中Activity这个图标,在administrator这边的泳道上添加一个活动,命名为登录(login),再在开始结点和活动登录(login)之间添加活动关系,如图2.8所示。
图2.4
图2.5
图2.6
图2.7
图2.8
(3)完成步骤
(2)后,登录输入需要对输入的信息进行验证,则在图中添加一个验证框,如图2.9所示:
添加验证框后,验证的内容,如果通过,则允许管理员进行查询操作,如图2.10所示;如不能通过,则结束,如图2.11所示。
图2.9
图2.10
图2.11
(4)验证后,下一步的操作是查询需要删除的记录,添加一个活动,命名为delete,如图2.12和图2.13所示。
图2.12
图2.13
(5)最后,在删除后,系统会返回操作结果给操作者,图2.14所示;删除成功或删除失败系统都会有信息返回给操作者。
(7)根据分析设计情况,进一步添加或细化活动图。
图2.14
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验三状态图
一、实验目的
1.熟悉状态图的基本功能和使用方法。
2.掌握如何使用建模工具绘制状态图方法。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
通过前面内容的学习,完成了对“图书馆管理系统”的需求的初步分析,得出系统的用例图和相应的活动态。
通过这两类图我们可以初步了解系统的业务处理过程,但对业务处理过程的处理状态间转换了解仍不够,这不利于设计人员对系统业务的进一步理解,而状态图能从对象的动态行为的角度去描述系统的业务活动。
因此,指派你运用本节所学的状态图,完成如下任务:
1.完成图书业务模块中还书用例的状态图。
四、实验步骤
1.业务分析:
由前面章节对图书馆管理系统中的还书主要业务的描述和分析可知,还书业务的动态行为是由:
空闲(idle)、图书查找(finding)、还书(reversion)、失败(Failure)、归还成功(Success)5种状态及激活相互转换的事件。
2.绘制状态图:
请您根据分析运用UML绘制还书用例的状态图。
分析:
还书的状态图,还书的主要业务都是由管理员来完成,首先管理员必须先登录系统,并通过验证后,便可以进行下一步的操作,查找该书的相关信息,如存在,则进行还书操作,如不存在该信息,则给出提示信息;
绘图步骤:
(1)在用例图中的还书(revesion)用例,单击右键,如图3.1所示,新建一个状态图,命名为revesion状态图,图3.2所示。
图3.1
图3.2
(2)双击“receivesion”状态图,展开后,在左边的工具栏上选取一个实心圆点,此结点为开始结点,图3.3所示;当还书的时候,操作者先要询问系统的状态,如果系统忙,操作者则必需等待,因此,得到系统的两种状态,如图3.5所示。
图3.3
图3.4
图3.5
(3)操作者在询问系统和状态后,得到的图3.6所示两种状态,如果系统忙,操作者必需要等待、结束,如图3.7和图3.8所示,重返步骤
(1)。
图3.6
图3.7
图3.8
(4)如系统空闲,则进行对还书的信息进行查询操作,图3.9所示;查询也有两种结果,一是查询得到该书的相关信息,二查询不到该书的相关信息;则此时有两种状态,需要建立两种状态,如图3.10所示。
图3.9
图3.10
(5)最后,操作者进行了操作后,系统会给出操作的结果给操作者;操作成功或失败,都会有提示信息给出。
整个的还书的过程便完成;图3.11所示。
(7)根据分析设计情况,进一步添加或细化状态图。
图3.11
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验四类
一、实验目的
1.理解类的基本概念。
2.掌握如何从需求分析中抽象出类的方法。
3.掌握在RationalRose中绘制类的操作方法。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
通过前面内容的学习,完成了对“图书馆管理系统”的需求的初步分析,得出系统的用例图和相应的活动态和状态图。
通过这两类图我们可以初步了解系统的业务处理流程。
现在需要对系统进行静态建模,这就需要从系统的用例图、活动图和状态图去寻找和发现类。
因此,指派你运用本节所学的有关如何抽象出类的知识,完成如下任务:
1.寻找和抽象出书籍管理功能中的类。
四、实验步骤
1.分析:
由前面章节对图书馆管理系统中的书籍管理功能可知,该模块是由书籍信息类、书目类、新增书籍界面类、修改书籍界面类、删除书籍界面类和书籍管理类6个类组成。
2.绘制类的步骤:
(1)打开前面初步构建的UML模型文件;
(2)打开Rose中的逻辑视图(LogicalView),选择分析模型(analysismodel)目录。
并在其下创建一个子目录并命名为:
“图书馆业务功能”。
(3)用鼠标右击“图书馆业务功能”在弹出来的菜单中选择“New→Classdiagram”项,创建类图,如图4.1所示。
(4)双击新建的类图,并点右边控件集中选中的类的图标,并用鼠标在图中分别拖出一个类图,并命名为Book,如图4.2所示。
图4.1
图4.2
(5)接下来的一步为设置类的属性,在新的类中双击该类,在打开属性面板中,可以看到在此可以设置类的属性和方法等其他的信息,图4.3所示;后撞击Attributes这个栏目,此栏目为设置类的属性的选项,在图中间的单击右键,可以看到有一个“Insert”的选项,选中这个选项,图4.4所示,后在出现的对话框中输入相关信息如图4.5所示;如书本的ISBN号,在Type这个方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般这些属性都设置Private这个权限,如图4.6所示。
这个类的其他属性也可以按照以上的做法设置,最后得到的结果是图4.7所示。
图4.3图4.4
图4.5图4.6
(6)设置好类的属性,现在来设置类的方法(也是操作),双击类后在弹出的菜单上选operations这个选项,可以看到图4.8所示,在图中的空白地方,单击右键,在弹出的菜单中选insert这个选项,也就只有这个选项可用,见图4.9,接着输入方法名,同时可以设置该方法的返回类型,也可以在Documentations的方框内填写一些相关的方法说明,如图4.12所示,设置好该方法的访问权限,见图4.13。
类的其他方法也可以按上面来设置好,最后,得到该类的其他方法见类4.14。
图4.7图4.8
图4.9图4.10
图4.11图4.12
图4.13图4.14
(7)至此,类的方法和属性都设置好了,如图4.15所示。
图4.15
(8)接下来为书目类设置,按照上面的步骤可以设置好该类的属性和方法,如图4.16和图4.17所示。
图4.16图4.17
(9)最后,绘制出由分析得出的各个类,如图4.18所示,此时,类图便完成。
(10)根据分析情况,进一步细化添加相关的类。
图4.18
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验五类的关系
一、实验目的
1.理解类间关系的基本概念。
2.掌握描绘类间关系的方法。
3.掌握在RationalRose中绘制类关系的操作方法。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
通过对前面内容的学习,使我们完成了“图书馆管理系统”的需求分析,并从业务对象中抽象出了类。
我们知道类通常是不会单独存在,而是由关联、泛化、依赖等关系相互协作来静态描述业务系的。
因此,我们在找出系统中所存在的类的前提下,需要进一步对业务对象间如何联系进行建模。
现指派你运用本节所学的相关知识,完成如下任务:
1.对书籍管理功能中的类的关系建模。
四、实验步骤
1.分析:
由前面章节对图书馆管理系统中的书籍管理业务分析和对该业务的抽象出来的类可知,图书馆的主要静态模型类图是由书籍管理类、书类、书目类、管理员类、用户类和各种界面操作类组成。
其中用户类与管理员类是泛化的关系,而其它类之间均是关联关系。
2.请根据教材中示例部分在RationalRose中绘制类间的关系。
绘图步骤:
(1)打开上面做好的类图,添加管理员类,用户类,界面类。
首先,添加一人管理员类,图5.1,并按照上面所说方法添加类的各种属性和方法,见图5.2、图5.3。
(2)可以依照上面的操作来添加其他的类,如:
用户类(Reader类)、界面类(ActionForm),添加完后结果如图5.4和图5.5所示;
(3)其他的类添加完后,就可以为各个类添加关系了,由关联、泛化、依赖等关系相互协作来静态描述业务系,所以,各个类的关系也由这几个关系来完成。
如图5.6所示:
Person类是administrator类和reader类两个类的父类,他们之间为泛化关系。
administrator类和reader类是继承Person类。
BoobItem类是继承Book类的,其他的类为一般的依赖关系,最后,连接完线条便得到图5.6。
(4)根据分析设计情况,进一步细化各类之间的关系。
图5.1
图5.2
图5.3
图.5.4
图5.5
图5.6
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验六交互图
一、实验目的
1.理解时序图的基本概念。
2.理解协作图的基本概念。
3.掌握在RationalRose中绘制交互图的操作方法。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
通过对教学内容的学习,使我们完成了“图书馆管理系统”的需求分析,并从业务对象中抽象出了类。
现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。
现指派你运用本节所学的相关知识,完成如下任务:
1.对书籍管理功能中的用例进行动态建模。
四、实验步骤
1.分析:
根据演示部分对图书业务功能模块中的交互操作进行动态建模的操作步骤和方法,请你对书籍管理模块中的交互操作进行动态建模。
该模块中主要存在新增书籍、修改书籍信息和删除书籍三种交互操作。
2.请根据教材中示例部分在RationalRose中绘制上述的交互图。
绘图步骤:
(1)在Rose软件的左边栏目上的LogiclView单击右键,新建一个时序图,时序图是交互图一种表示,可以用时序来表示,如图6.1;在此,先简单介绍一下其用法:
图中的直线箭头是发送消息;虚线箭头是返回消息;曲折线是对象自己给自己发送消息并调用。
(2)接下来的是添加类,系统中的类是其他的方法的边界,在上面做好的类找到可以直接拖拉来图中,见图6.2和图6.3所示。
图6.1
图6.2
图6.3
(3)添加类后,便可以添加方法了,开始是必需是外面的实体向系统发送消息,如图6.4所示,是管理员登录时向系统发送的消息;
图6.4
(5)可以按上一步的方法来完成其他的方法,如viladate(验证),返回验证结果,当用户收到结果后,可以正常登录后便能进行增加图书,见图6.5到图6.9。
最后得到的时序图如图6.10所示。
图6.5
图6.6
图6.7
图6.8
图6.9
图6.10
(6)完成了时序图后,可以按F5键便得到增加图书的协作图,见图6.11所示。
图6.11
(7)剩下的更新图书信息和删除图书信息的交互图在此不再一一详细的介绍,其绘图方法跟绘制增加图书的方法一样,最后得到见图6.12到图6.15
图6.12
图6.13
图6.14
图6.15
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验七对象图和包
一、实验目的
1.对象图的基本概念。
2.包的基本概念。
3.掌握在RationalRose中绘制对象图和包。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
“图书馆管理系统”的分析和设计已按计划完成类图和交互图的分析与设计,不过当这份文档提交给图书馆的使用人员审查时,他们认为最好能用一个实例来说明系统的运作,现系统分析部指派您完成该项任务,为系统绘制一张对象图。
1.以借书过程为例绘制对象图;
四、实验步骤
为了更好的描述借书过程,根据图7.1绘制借书过程中某一时刻的对象图
1
图7.1
(1)确定对象的值
假定管理员在为读者“S05001”办理“UMLGuide”的借书手续,这时首先弹出一个借书窗口“lfLend”,在其上输入读者ID和书名,点击“借书”按钮。
这里lfLend对象将调用业务管理者类bmMain对象的findBookByName方法去获取一个书名为“UMLGuide”的Book对象bLend,然后bmMain再通过lendBook方法,去调用bLend对象findFreeItem方法,去查找一本可借阅的图书,这里假定找到图书iLend,然后使用setLoanState更改iLend的借阅状态为“借出”,完成借书过程。
表7.1描述了在成功设置iLend对象借阅状态为“借出”状态时,与借书过程有关的各对象的值。
表7.1
类名
对象名
属性值
方法
LendFrame
lfLend
BookName=”UMLGuide”
ReaderID=”S05001”
lendBook
BookManager
bmMain
findBookByName
lendBook
Book
bLend
BookName=”UMLGuide”
ISBN=”ISBN12315”
findFreeItem
Item
iLend
ISBN=”ISBN12315”
ItemID=”B05001”
getItemID
setLoanState
(2)绘图,根据
(1)中的描述,绘制出当iLend状态变更时,系统中各对象的状态如图7.2所示。
(3)根据分析设计情况,进一步设计对象和包之间的关系。
图7.2
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验八组件图和配置图
一、实验目的
1.理解组件图的基本概念。
2.理解组件图的应用:
逻辑配置。
3.理解配置图的基本概念。
4.理解配置图的应用:
物理配置。
5.掌握组件图和配置图绘制的方法。
二、实验器材
1.计算机一台。
2.RationalRose工具软件。
三、实验内容
“图书馆管理系统”的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和配置图,现系统分析部指派您完成如下任务:
1.完成系统的组件图。
四、实验步骤
1.绘制组件图
分析:
“图书馆管理系统”中,通过分析可以发现类图中的类应分为4个部分:
1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog类等。
2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
3.数据存储模块(DB),主要负责处理对数据的存储。
4.通用工具模块(UTIL),包括系统中通用函数。
通过一个主程序StartClass来启动。
由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括:
Item类:
书目类,表示一本实际存在的书籍或杂志;
Loan类:
借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书;
BorrowerInfomation类:
借阅者信息类,表示一个借阅者;
Title类:
表示一种书或一种杂志。
如《C++编程思想》就是一种书,用1个title表示,如果有2本这样的书,则需要用2个Item表示。
Reservation类:
预定信息类,表示一个预定信息。
Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。
绘图步骤:
(1)在组件视图中双击Main图,出现图8.1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标”一段的介绍。
图8.1
(2)在组件视图中,从工具栏中选择MainProgram图标,在右边的绘图区中添加一个新组件,并取名StartClass.java表明新增一个主程序。
图8.2
(3)选择新创建的组件,点击鼠标右键,在弹出的菜单中选择“OpenSepcification”,弹出图10.3对话框。
(4)在对话框中,可以修改组件的名称,设置组件的类型,指定实现的语言。
这里新组件的名称定为“StartClass.java”,组件构型为MainProgram(Rose中提供了多种构型,大部分在补充图标一段中均有简单的介绍),实现语言为JAVA(Rose中默认的是分析语言Analysis),修改结果如图8.4所示。
图8.3
图8.4
(5)组件图描述的是系统的实现视图,因此要指定实现组件功能的文件。
点击Fil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件体系结构 软件 体系结构 实验 指导书