ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:201.20KB ,
资源ID:11896093      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11896093.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《软件工程导论》实验指导书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《软件工程导论》实验指导书.docx

1、软件工程导论实验指导书软件工程导论实验指导书实验类别: 实验课程名称:软件工程导论实验室名称: 实验课程编号: 总学时:48 学 分:3适用专业:软件工程先修课程:程序设计语言实验在教学培养计划中地位、作用;软件工程导论是理论与实践并重的课程。这门实验课为配合软件工程的课堂教学而编写。通过本实验课程培养学生的实际分析问题、编程和动手能力,最终使学生系统的掌握该门课程的主要内容,更好的完成教学任务。实验一 面向对象分析-用例图的绘制(2学时)1、实验目的:通过实验,熟悉并掌握面向对象分析的一种工具Rational Rose 2003,掌握面向对象软件开发中用例图的绘制。2、实验内容:设计和实现某

2、学校的网上选课系统的用例图。3、实验要求: (1) 给出本系统的功能描述:某学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行修改和删除。学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费,并将这些操作结果存入数据库中。(2) 对本系统的用例、活动者进行分析:本系统拟使用Java语言通过三层模型实现:数据核心层、业务逻辑层和接入层。数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理,再映射到相应的数据层操作;接入层包括用户界面、系统登录界面

3、、管理界面、用户选课界面等。本系统涉及的用户包括管理员和学生,他们是用例图中的活动者,他们的主要特征相似,都具有学号和姓名等信息,可抽象出“基”活动者people,而registrar和student则从people继承诞生,数据库管理系统是另外一个活动者。(3) 写出系统中出现的一些事件流,如添加课程事件流、删除课程事件流、修改课程事件流、选课事件流。下面是系统中出现的一些事件流。添加课程事件流:a) 管理员选择进入管理界面,用例开始。b) 系统提示输入管理员密码。c) 管理员输入密码。d) 系统验证密码。A1:密码正确e) 进入管理界面,系统显示目前所建立的全部课程信息。f) 管理员选择添

4、加课程。g) 系统提示输入新课程信息。h) 管理员输入信息。i) 系统验证是否和已有课程冲突。A2:没有冲突j) 系统添加新课程,提示课程添加成功。k) 系统重新进入管理主界面,显示所有课程。l) 用例结束。其他事件流:A1:密码错误a) 系统提示再次输入密码b) 用户确认。c) 三次错误,拒绝再次访问。d) 否则进入添加课程事件流第e)步。 A2:有冲突a) 系统提示有冲突,显示冲突课程信息b) 用户重新输入c) 继续验证知道无冲突d) 进入添加课程事件流第j)步删除课程事件流和修改课程事件流与此类似。选课事件流:a) 学生进入选课登陆界面,用例开始。b) 系统提示输入学号和密码。c) 学生

5、输入学号和密码。d) 系统验证课程是否可选。 A1:验证通过e) 进入选课主界面。f) 学生点击选择课程。g) 系统显示所有课程信息。h) 学生选择课程。i) 系统验证课程是否可选。 A2:课程可选j) 系统提示课程选择成功,提示学生交费。k) 用例结束。错误流:A1:验证失败a) 系统提示验证失败,提示重新输入 b) 三次错误,拒绝再次访问。c) 成功,转选课事件流第e)步A2:课程不可选a) 系统提示课程不可选以及原因。b) 学生重新选课。c) 重新验证直至成功。d) 转选课事件流第j)步。因为付费方式多样,所以此处不必讨论费用例。查询事件流比较简单,这里也不用详细描述。(4) 根据以上的

6、分析,可以绘出如下图所示的系统用例图。(5) 在Rose 2003中绘制系统用例图,具体步骤如下:a) 点击浏览器中的Use Case View 中的Main,弹出用例图窗口。b) 将光标置于工具栏的Actor图标上,按下左键并将光标拖拽到用例图窗口上,放开左右键,用例窗口内出现一个活动者的图标,将其命名为“People”c) 采用同样的方法,在用例图中添加Registrar和Student图标。d) 点击用例窗口工具栏中的图标“generalization”,在用例图窗口中,将光标从Student移动到People之间添加泛化(generalization)关系。e) 同样在Registra

7、r和People之间添加泛化关系。f) 点击工具栏中Use Case但图标,将光标移到用例图窗口,窗口内显示用例的椭圆图标,将其命名为“Select Course”。g) 点击工具栏中的Undirectional Relation 图标,将光标从Student指向Select Course,在Student和Select Course之间添加关联关系。h) 重复以上步骤,完成(4)中所示的用例图。i) 然后再指定活动者和用例的属性。在浏览器中选择活动者People,按下鼠标右键,在弹出的菜单中选择“Open Specification”,可以看到People的版型(Stereotype)是Ac

8、tor。j) 双击Select Course用例,弹出Use Case Specification对话框。k) 在Documentation文本框中书写该用例的事件流。l) 在完成以上步骤,可以看到Rose在浏览器中自动标出了各种关系。实验二 面向对象分析-类图和对象图的绘制(2学时)1、实验目的:通过实验,熟悉并掌握面向对象软件开发中类图和对象图的绘制。2、实验内容:设计绘制选课系统中的类图和对象图。3、实验要求(1) 分析实验一中,有以下名词:课程、界面和控制对象。从而抽象出三个类:课程类、界面类和控制对象类。(2) 课程类应具有的属性有:课程名称、开课教室、授课教师、选课的学生、开课起始

9、时间、允许选课的学生人数。方法有:设置课程名称、设置开课教师、设置课程号、设置授课教师信息、设置开课起始时间、设置允许选课的学生人数、查询课程名称、查询开课教师、查询授课教师信息、查询开课起始时间、查询允许选课的学生人数。(3) 在Rose中创建Course类的类图,具体步骤如下:a) 选择浏览器中的“Logical View”,按下鼠标右键,在弹出的菜单中选择“New”,再在下一级菜单中选择“Class”,创建一个新的Course类。b) 添加属性。在浏览器中选择“Course”,按下鼠标右键,在弹出的菜单中选择“New”,再选择“Attribute”,则一个新的属性被添加,将属性名字改成“

10、name”。c) 选择“name”,按下鼠标右键,选择“Open Specification”,则弹出“Class Attribute Specification”对话框。在这个对话框中有两个选项卡,一个用来设置属性的固有特性,比如类型(Type)、版型(Stereotype)、初始值(Initial)、存取控制(Export Control)等,一个用来进一步指定属性是静态(Static)的还是继承(Derived)的等。d) 如果要删除属性,右键选择属性,在弹出的菜单中选择“Delete”即可。e) 添加操作。选择浏览器中的“Course”,按下鼠标右键,在弹出的菜单中选择“New”,再在

11、下一级菜单中选择“Operation”,则添加一个新的操作。将添加操作的名字命名为“GetName”。f) 选择GetName,按下鼠标右键,选择“Open Specification”,在弹出的对话框中可以设置操作的固有特性。g) 在Specification对话框中,操作或者属性都有存取控制的选项默认值是公有的,属性的存取控制的选项默认值是私有的。不同的存取控制采取控制不同的标记表示。h) 重复以上步骤,完成Course类的设计。(4) 类似的,自己分析建立界面类(FromObject)和控制对象类(ControlObject),如后图所示。(5) 在选课系统中,涉及到的用户包括Stude

12、nt(学生)和Registrar(管理员),其主要特征相似,所以可以建立统一基类People,而Student和Registrar由People派生。如下图所示:(6) 在Rose中实现(5)所述继承关系。具体步骤如下:a) 右键单击浏览器中Logical View,选择NEW,新建一个class diagram,取名为Main,双击Logical View下的Main图标,弹出类图窗口,从Use Case View下将People、Register和Student拖到窗口中。b) 选择类图工具栏的“Generalization” 图标,在类图窗口中,按下鼠标左键,将光标从角色Student移

13、动到People,在二者之间出现一个表示继承关系的箭头标志。c) 同理添加Register与People之间的继承关系。d) 这时Register和Student都没有设置属性,给People增加一私有属性name。在类图窗口中双击Student的图标,弹出“Class Specification”对话框,点击Attributes选项卡,注意这时Show inherite 被选择,而Attributes列表中没有任何属性。可以看到,父类中的私有属性没有被继承。e) 将People的name属性设置成保护属性,操作同d),可以看到Show inherite被选择时,Attributes列表中有一

14、个属性name,父类中的保护属性被子类继承。f) 将People的name属性设置成公有属性,操作同d),可以看到Show inherite被选择时,Attributes列表中有一个属性name,父类中的公有属性被子类继承。(7) 在选课系统中,涉及到的角色包括学生Student、管理员Registrar、学生和管理员的父类People、数据库Database。角色和类之间的关系如下所述: 角色Student、Registrar从People派生。 学生、管理员与系统交互时,都有一个界面与之对应。 一个界面可能和课程相关(0-多门)。 控制对象负责课程的处理,处理结果在界面上显示。 控制对象完

15、成对数据库的操作。 界面请求控制对象的服务。进一步分析如下: 一个用户界面对象和0个或多个学生相关。 一个用户界面对象和0个或多个管理员相关。 一个用户界面对象和0个或多个课程信息相关。 一个控制对象和0个或多个课程信息相关。 一个用户界面对象和一个控制对象相关。 一个控制对象和一个用户界面对象相关。(8) 利用Rose绘制完整的类图。具体步骤如下:a) 在“课程设计”模型的Logical View中,选择“Main”类图,将定义的类或角色从浏览器中拖至“Main”类窗口。b) 在类图的工具栏中选择“unidirectional association”图标,在类图窗口中,按下鼠标左键,从St

16、udent指向FromObject类,则在Student和FromObject之间添加了关联,然后调整一下类的位置。为了显示方便,将类的属性和操作的“Show All Attributes”和“Show All Operations”设置为不选,将类的属性和操作隐藏起来。c) 可以给新添加的关联命名。在类图窗口中,选择Student和FromObject之间的关联,按下鼠标右键,在弹出的菜单中选择“Open Specification”,则弹出一个对话框。d) 在该对话框中可以设置关联的属性。关联两端的对象,箭头指向的称为“Role A”,另一端称为“Role B”。e) 在“Associat

17、ion Specification For” 对话框中点击“Role B Detail”选项卡,将Multiplic设置成1,再点击“Role A Detail” 选项卡,将Multiplic设置成0.n。f) 使用类似的方法,完成选课系统的完整类图,如下图所示。实验三 面向对象分析-顺序图的绘制(2学时)1、实验目的:通过实验,熟悉并掌握面向对象软件开发中顺序图的绘制。2、实验内容:以选课系统中的选课用例(Select Course)为例,设计和实现顺序图。3、实验要求(1) 假设学生已经成功登录系统,分析选课的事件流。a) 学生进入选课主界面。b) 学生点击选课。c) 系统显示所有课程信息

18、。d) 学生选择课程。e) 系统验证课程是否可选。A1:课程可选f) 系统提示课程选择成功,提示学生交费。g) 用例结束。A1:课程不可选a) 系统提示课程不可选及原因。b) 学生重新选课。c) 重新验证直至成功。d) 转选课事件流第f)步。序列图描述的是对象与对象的交互,创建序列图的步骤如下:a) 寻找对象。b) 寻找角色。c) 将消息加进图中。首先,查找Select Course用例的对象。从实践流中发现涉及以下对象:a) 界面。b) 课程。c) 对于业务层的操作,也应该有对象进行处理。d) 实践流中设计的角色有:学生、数据库。(2) 然后,分析对象、交色之间交互的消息。本用例主要有以下交

19、互:a) 学生通过界面发送选课命令。b) 界面向控制对象请求课程信息。c) 控制对象向数据库发送查询数据消息。d) 控制对象暂存数据库的查询结果。e) 界面对象从控制对象中取得所有的课程信息。f) 在界面上显示所有的课程信息。g) 界面对象发送命令要求控制对象删除课程信息。h) 学生选择课程。i) 界面对象要求学生输入学号。j) 界面对象向控制对象发送信息,查询该生是否可以选择选定的课程。k) 控制对象从数据库查询关联信息。l) 控制对象判断是否可以选课。m) 如果可以选课,则向数据库中添加关联信息。n) 向界面对象返回信息。(3) 根据以上分析,整理得出最终Select Course的顺序图

20、。(4) 在Rose 2003中绘制系统顺序图。a) 在浏览器中右键点击“Use Case View”,在弹出的菜单中选择“New”,再在下一级菜单中选择“Sequence Diagram”,则Use Case View中显示一个新创建的顺序图图标,将其命名为Select Course。b) 在浏览器中选择角色,将其从浏览器中拖到顺序图中,图窗口中显示角色:Student,Student对象下有虚线条。c) 选择Create a Object工具栏按钮,光标变成十字形状,将光标移到图窗口中,按下鼠标左键,则顺序图窗口中添加了一个无名对象,窗口的顶部也出现了一个无名泳道。d) 选择新创建的对象,

21、按下鼠标右健,在弹出的菜单种选择“Open Specification”,弹出“Object Specification”对话框,选择对象的类,这是个界面对象,这里选择FromObject。并将其命名为Form。e) 选择对象类且输入对象名称后,按下“OK”按钮。此时,顺序图窗口中显示已经命名的标有类(型)的对象。f) 用同样的方法在顺序图中添加对象courses和control,添加活动者Database。g) 下面在顺序图中增加消息。选择工具栏中的“object message”图标,在顺序图中将光标从stu指向From,释放鼠标右键,则stu和From之间添加了一个消息,标有序号1,在其

22、后添加消息名称:SelectCommand()。h) 重复以上过程,完成整个顺序图。实验四 面向对象软件开发状态图、活动图的绘制(2学时)1、实验目的:通过实验,熟悉并掌握面向对象软件开发中状态图、活动图的绘制。2、实验内容:设计和制作选课系统中课程类(对象)(Course)的状态图、Add Course(添加课程)活动图。3、实验要求(1) 考察课程类(对象)(Course)的状态变化过程。课程对象被创建,添加到数据库中,管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。学期结束,课程的状态终止。课程对象的状态图如下图所示:(2) 在Ro

23、se 2003中创建此课程对象的状态图。具体步骤如下:a) 在浏览器中选择“Logical View”,按下鼠标右键,在弹出的菜单中选择“New”,再选择“StateChart Diagram”,创建一个新的状态图,命名为“Course”。b) 在工具栏中选择起始状态图标(Start State),放到状态图窗口中,在选择一个状态框图标(State),放到状态图中,将其命名为“Created”。c) 使用同样的方法,添加“In Database”状态和“In Schedule”状态。d) 选择“Created”状态,双击,探出对话框,在其Documentation文本框中键入“创建课程对象”。

24、e) 在工具栏中选择“State Transition”图标,在状态图中从起始状态指向“Created”状态,在二者之间建立一个转移。f) 双击转移,弹出“State Transition Specification”对话框中,点击Detail选项卡,可以在其中输入转移的其他信息。g) 按下“OK”,返回到状态图窗口。h) 用鼠标双击“Created”状态,弹出“State Specification”对话框中,点击Actions选项卡,设置这个状态下的Activity。将光标置于列表框中,按下鼠标右键,在弹出的菜单中选择Insert。列表中添加了一个Activity。i) 双击刚才添加的Ac

25、tivity,弹出Action Specification对话框,在Name文本框中输入Get Course Info。j) 按下“OK”按钮。k) 采用同样的方法,在“In Database”和“In Schedule”之间添加转移,双击该转移,在弹出的对话框中点击Detail选项卡,设置守护条件。图过选修某门课的学生树梢与最大可选学生数,则这门课程的状态可以从“In Database”转移到“In Schedule”。l) 按下“OK”按钮,返回到状态图窗口。m) 重复以上过程,既可以作成Course状态图。(3) 分析Add Course用例的事件流,画出Add Course用例的活动图

26、。在用例图中分析过,Add Course用例的事件流为:a) 管理员选择进入管理界面,用例开始。b) 系统提示输入管理员密码。c) 管理员输入密码。d) 系统验证密码。 A1:密码错误e) 进入管理界面,系统显示目前所建立的全部课程信息。f) 管理与那选择添加课程。g) 系统提示输入新课程信息。h) 管理员输入信息。i) 系统验证是否和已有课程冲突。 A2:有冲突j) 系统添加新课程,提示添加成功。k) 系统重新进入管理主界面,显示所有课程。l) 用例结束。因为管理员密码验证过程可以抽取出来,作为通用的流程,所以这里对Add Course事件流稍作修改,将管理员输入课程信息作为起始的活动,内容

27、如下:a) 管理员输入信息。b) 系统能够验证是否和已有课程冲突。A2:有冲突c) 系统添加新课程提示课程添加成功。d) 系统重新进入管理主界面,显示所有课程。e) 用例结束。根据以上描述并进一步细化,画出下图所示的Add Course用例的活动图。(4) 在Rose 2003中创建此课程对象的活动图。具体步骤如下:a) 在浏览器中,使用鼠标右键点击Use Case View,在弹出的菜单中选择“New” “Activity Diagram”,则在Use Case View中添加一项“Sate/Activity Model”,该项产生一个名为“New Diagram”的活动图,将其命名为“Ad

28、d Course”。b) 在浏览器中选择活动图“Add Course”,双击,弹出活动图窗口。c) 点击工具拦的“Swimlane”工具,在右边活动图窗口点击鼠标左键,即可增加一个新的泳道“New Swimlane”,同时左边的活动图“Add Course”之下,也出现一个泳道“New Course”标志。d) 双击浏览器窗口中的“New Swimlane”处,弹出“Swimlane Specification”对话框,将泳道名修改为“用户接口”。e) 使用同样的方法增加“业务逻辑接口”和“数据库接口”泳道。f) 在工具栏中选择“Start State”图标,放置到“用户接口”泳道内。g) 选

29、择工具栏中的“Activity”图标,在用户接口泳道内增加一个新的活动。h) 在浏览器中双击“New Activity”,弹出“Activity Specification”对话框,将活动的名称修改为“输入课程各项信息”。i) 在工具栏中选择“Transition”图标,在活动窗口中,将光标从起始状态指向“输入课程各项信息”,则从起始状态到“输入课程各项信息”之间添加了一条带箭头的实线,这就是转移。j) 输入课程以后,还要判断输入的课程是否合法,即需要进行课程验证。这个工作要提交到“业务逻辑接口”中进行,采用前述的方法,在业务逻辑接口泳道中添加“验证课程”活动,并在“输入课程各项信息”和“验证

30、课程”之间添加转移。k) 为了进行课程信息的验证,需要在业务逻辑接口中依据已有的课程信息,创建课程对象,提交到数据库中,进行信息的验证。l) 依据课程对象的信息,在数据库中查找课程信息。为了完成这个功能,在“数据库接口中”泳道中添加“在数据库中查询课程”活动,并在“创建课程对象”和“在数据库中查询课程”之间添加转移关系。m) 查询结果将被返回到业务逻辑接口,由业务逻辑接口判断查询结果的信息,以确认添加的课程是否合法。n) 被添加的课程有可能是合法的,也有可能是不合法的,所以要增加一个决策(decision)进行判断。将光标移到活动图窗口的工具栏上,选择“Decision”图标,然后将光标移动到

31、活动图窗口的“业务逻辑接口”泳道,按下鼠标键添加一个决策,在“判断添加课程是否合法”和决策之间添加转移。o) 如果输入的信息合法,则将在数据库中添加输入的课程信息。如果不合法,则提示重新输入课程信息。在“数据库接口”泳道中添加“在数据库中添加该课程”活动。在决策标记和“在数据库中添加该课程”活动之间添加转移。p) 这个转移发生的条件事课程是合法,所以,要在转移上添加守护条件“合法”。添加守护条件的方法是 :双击刚才添加的转移,在弹出对话框中选择“Detail”选项卡,在“Guard Condition”栏中输入转移条件“合法”。q) 如果课程输入不合法,则提示重新输入,重新输入“输入课程各项信息” 活动。在决策和“输入课程各项信息”之间添加转移,守护条件是“不合法”。r) 如果课程信息合法,则在数据库中添加课程,然后判断添加课程是否成功。增加一个决策,如果添加课程成功,则显示添加成功信息,过程结束。s) 如果添加课程失败,则显示失败,则显示添加信息错误,过程结束

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1