软件工程实验指导书实验内容实验一:建立用例图、类图实验二:建立动态图实验三:建立组件图、部署图实验四:建立数据流图实验五:建立结构图、程序流程图实验一(1)建立用例框图●实验目的:1、掌握建立系统用例框图。
2、掌握对系统初始需求进行分析,初步了解和分析系统用户和系统提供的功能,确定角色和用例;3、掌握分析系统用户和系统功能之间的关系,确定角色和用例的关系;●实验要求:1、使用rose建立系统用例框图;2、使用rose建立系统角色;3、使用rose建立系统用例;4、使用rose建立角色与用例的关系;●预备知识:1创建用例框图:●右击rose浏览器中的包Use Case View;●选择弹出菜单中的New菜单,单击Use Case Diagram;●选择新框图后,输入新框图名;●双击浏览器中的新框图将其打开。
2增加用例:●选择工具栏中的User Case按钮或选择tools->create->UserCase,单击User Case框图中任一位置并放上新用例;●右击浏览器中User Case View,选择New->User Case,从浏览器中把新增加的用例拖动到用例框图中。
3增加角色:●选择工具栏中的Actor按钮或选择tools->create->Actor,单击UserCase框图中任一位置并放上新角色;●或者右击浏览器中User Case View,选择New->Actor,从浏览器中把新增加的角色拖动到用例框图中。
●用例与角色规范:●双击用例(角色)或则右击用例(角色),从弹出菜单中选择OpenSpecification;●在name字段中输入用例(角色)名称;●在stereotype字段中输入用例(角色)版型;●在Abstract复选框中设置抽象用例(角色);●在Documentation字段输入用例(角色)描述;●在rank字段中输入用例优先级;●在multiplic字段中设置角色基数;4使用关系:●选择单向关联按钮,将鼠标从角色拖动到用例,或从用例到角色;●选择依赖按钮,将鼠标从用例拖动到用例,双击用例关系,设置关系版型,在stereotype字段中输入include或者extend,设置用例的使用关系或扩展关系;●选择继承按钮,将鼠标从角色拖动到角色,设置角色的一般化关系;5用例框图工具栏:实验内容:1、初始需求:这是一个图书馆信息管理系统(1)图书管理员是图书馆员工。
他们的主要工作就是和图书、读者打交道,并在软件系统的支持下工作。
(2)图书管理员负责新书的购买和登记,每一种图书可以购进多本书。
(3)图书管理员对图书进行加工处理,给每本书添加条码号和索取号,条码号在图书馆中是唯一的,可以唯一确定具体一本图书。
索取号主要由分类号和出版日期组成。
(4)图书管理员对加工好的图书书目信息进行登记。
(5)图书管理员对本馆读者进行管理,办理读者证,并对读者信息进行登记。
(6)图书管理员对读者办理借书业务,将图书借给读者,并登记借阅信息,同时检查读者预定信息,如果有相应预定信息,则进行预定取消处理。
(7)图书管理员对读者办理还书业务,将读者还回的图书从新放回图书馆,并登记还书信息。
(8)图书管理员对读者办理预定业务,并登记预定信息。
(9)当旧书破旧不堪时,系统管理员可以把它们从图书馆中剔除,并登记剔除信息。
(10)所有图书和读者信息要能够方便地进行查询。
(11)馆长可以对每个月的图书借阅情况进行统计。
(12)本系统支持从calis系统导入图书编目信息。
(13)系统能够运行在所有流行的技术环境中,包括UNIX、Windows和OS/2等,并有一个现代的图形用户界面。
(14)系统容易扩展新功能。
2、在use case view中新建一个图书馆管理信息系统用例框图;3、分析初始需求,找出角色,把角色添加到用例框图中,设置角色规范,包括名称,概要说明等;4、分析初始需求,找出用例,把用例添加到用例框图中,设置用例规范,包括名称,概要说明等;5、建立角色,用例的关系;6、保存模型文件;7、使用tools->web publisher发布用例框图;8、浏览发布结果。
实验一(2)建立设计类框图一、实验目的:1、掌握设计类的描述;2、掌握建立设计类;3、掌握建立设计类的关系;二、实验要求:1、根据分析模型中的分析类描述,初步对设计类进行描述;2、根据设计类的描述,使用ROSE建立设计类;3、分析设计类,建立类的关系;三、预备知识:1、添加类:●右击rose浏览器中的包Logical View,选择弹出菜单中的New菜单,单击Class Diagram;●选择类工具栏中的class按钮,单击类框图中的任一位置;●输入类名;2、类规范:●双击类框图中的类或者右击类,从弹出菜单中选择OpenSpecification;●在Name中输入名称;●在Stereotype中输入类的版型;●在visibility中设置可见性;●在multiplicity中设置类的基数(实例数);●在Space中输入类的存储需求;●在Persistence中设置类的持续性;●在Concurrency中设置类并发性;(sequential:只有一个控制线程时,类正常工作,而在有多个控制线程时则不能保证类能否正常工作;Guarded存在多个控制线程时,类正常工作但不同线程中的类应相互协作,保证互不干扰;Active:类有自己的控制线程;Synchronous:存在多个控制线程时,类正常工作不需要与其他类相互协作,因为类本身能处理互斥情形。
)●在Abstract中设置类为抽象类;3、添加类的属性:●在类的规范窗口中选择Attributes选项;●在类属性设置区域右击鼠标,从弹出菜单中选择insert项,添加一个类属性;●双击新添加的属性项,在属性规范窗口中的name中输入属性名称,在type中输入属性的数据类型;在initial中输入属性的初始值;在Export Control中设置属性的可见性;在derived设置属性为派生属性;4、添加类的操作:●在类的规范窗口中选择Operations选项;●在类操作设置区域右击鼠标,从弹出菜单中选择insert项,添加一个类操作;●双击新添加的操作项,在操作规范窗口中的name中输入属性名称,在Return中输入操作返回类型;在Export Control中设置操作的可见性;●单击操作规范窗口中的detail项,在arguments中插入操作的变元(参数),并设置变元的类型和初始值;在protocol中输入操作协议;在exceptions中指定操作异常;在Size输入操作所需要的内存量;在Time中指定操作所需的时间;四、实验内容:a)根据设计类描述规格说明样式和分析模型中的分析类和分析类描述,使用word描述设计类;类的主要属性和操作如下:i.Book:图书信息类;属性name:书名,字符型;author:作者名,字符型;isbn:国际标准书号,字符型;publisher:出版社,字符型;pdate:出版日期,日期型;Ctype:分类号,字符型,Sno:索书号,字符型,派生属性;Bnum:复本数,数值型,初始值为0,派生属性;操作:find:查找,Create:创建,Check:检查,destroy:销毁;Add:增加,Dele:删除ii.Bitem:书目或馆藏信息类,属性Barcode:条码号,字符型;BiAdd:馆藏地点,字符型;操作:find:查找,Create:创建,Check:检查,destory:销毁;Add:增加,Dele:删除iii.Reader:读者信息类;属性name:读者姓名,字符型;Tel:联系电话,字符型;Address:联系地址,字符型;find:查找,Create:创建,Check:检查,destory:销毁;Add:增加,Dele:删除iv.LoanBook:借阅信息类:属性Ltime,日期型;操作:Create:创建;Loan,借书;Retu,还书;v.LoanForm:借阅窗体类,版型为Form;b)在Logical View建立设计包,包名为“设计模型”,在“设计模型”包中分别建立“用户界面”和“业务逻辑”包;c)在“用户界面”包中建立类框图;把分析模型中的边界类拖到框图中;d)在“业务逻辑”包中建立类框图;把分析模型中的实体类和控制类拖到框图中;e)设置类的规范(名称,类型,版型,可见性,基数,存储需求,持续性,并发性,抽象类);f)添加类的属性(名称,数据类型,初始值,可见性);g)添加类的操作(名称,返回数据类型,可见性,变元等);h)设置类之间的关系;设计类框图如下:i)保存模型文件;j)使用tools->web publisher发布用例模型;k)浏览发布结果。
实验二(1)建立交互框图一、实验目的:1、掌握建立时序框图;2、掌握建立协作框图;二、实验要求:1、根据分析模型中的用例实现,设计模型中的设计类,使用rose建立时序框图;2、将设计类中的操作映射消息;3、根据时序框图,使用ROSE模型转换功能,建立协作框图;三、预备知识:1、添加时序框图:●右击rose浏览器中的包Logical View,选择弹出菜单中的New菜单,单击Sequence Diagram;●命名时序框图;2、添加对象:●选择时序框图工具栏中的object,单击时序框图中要放对象的位置;●双击对象,在对象规范窗口中设置对象的名称并将对象映射类;●在Persistence中设置对象持续性(持续,静态或临时);●在multiple instances中设置对象的多个实例;3、使用消息:●选择时序框图工具栏中的object Message;●将鼠标从发送消息的对象或角色生命线拖动到接受消息对象或角色生命线;●设置消息规范,命名消息,将消息映射对象操作;●设置消息同步信息:(1) simple(简单),这个消息在单个控制线程中运行;(2) synchronous(同步),客户发出消息后,等待供应者响应这个消息;(3) balking(阻止),如果供应者无法立既接收消息,客户放弃这个消息;(4) timeout(超时),如果供应者无法在指定时间内接收消息,客户放弃这个消息;(5) asynchronous(异步),客户发出消息给供应者,然后客户继续处理,不等待消息是否被接收;(6) procedure call (过程调用),客户机等待处理消息的整个嵌套顺序完成后才继续;(7) return(返回),表示从过程调用返回;●设置消息频率:aperiodic(不定期)和periodic(定期)4、添加生命线结束:●选择时序框图工具栏中的destruction Marker图标;●单击对象生命线;5、使用时序框图创建协作框图:●打开时序框图;选择菜单Browse->create Collaboration或按F5;6、时序框图工具栏说明:7四、实验内容:1、初步建立借书用例的时序框图,参考如下图,同学根据自己的借书用例分析设计实际建立;2、创建借书用例的协作框图;3、细化设计类,参考如下图;4、细化借书用例时序框图,包括对象映射类,消息映射类操作等,参考如下图;5、检查模型,选择菜单Tools->check model,对模型进行检查;6、建立还书、预定等用例的时序框图;7、保存模型。