《软件工程导论》实验指导书课案.docx
《《软件工程导论》实验指导书课案.docx》由会员分享,可在线阅读,更多相关《《软件工程导论》实验指导书课案.docx(12页珍藏版)》请在三一文库上搜索。
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) 进入管理界面,系统显示目前所建立的全部
4、课程信息。f) 管理员选择添加课程。g) 系统提示输入新课程信息。h) 管理员输入信息。i) 系统验证是否和已有课程冲突。A2 :没有冲突j) 系统添加新课程,提示课程添加成功。k) 系统重新进入管理主界面,显示所有课程。l) 用例结束。其他事件流:A1 :密码错误a) 系统提示再次输入密码b) 用户确认。c) 三次错误,拒绝再次访问。d)否则进入添加课程事件流第e)步。A2 :有冲突a) 系统提示有冲突,显示冲突课程信息b) 用户重新输入c) 继续验证知道无冲突d)进入添加课程事件流第j)步删除课程事件流和修改课程事件流与此类似。选课事件流:a) 学生进入选课登陆界面,用例开始。b) 系统提
5、示输入学号和密码。c) 学生输入学号和密码。d) 系统验证课程是否可选。A1 :验证通过e) 进入选课主界面。f) 学生点击选择课程。g) 系统显示所有课程信息。h) 学生选择课程。i) 系统验证课程是否可选。A2 :课程可选j) 系统提示课程选择成功,提示学生交费。k) 用例结束。错误流:A1 :验证失败a) 系统提示验证失败,提示重新输入b) 三次错误,拒绝再次访问。c)成功,转选课事件流第e)步A2 :课程不可选a) 系统提示课程不可选以及原因。b) 学生重新选课。c) 重新验证直至成功。d) 转选课事件流第 j) 步。因为付费方式多样,所以此处不必讨论费用例。查询事件流比较简单,这里也
6、不用详细描述。4 ) 根据以上的分析,可以绘出如下图所示的系统用例图。Delete Course(5) 在Rose 2003中绘制系统用例图,具体步骤如下:a)点击浏览器中的 Use Case View中的Main ,弹出用例图窗口。b)将光标置于工具栏的Actor图标上,按下左键并将光标拖拽到用例图窗口上,放开左右键,用例窗口内出现一个活动者的图标,将其命名为“People”c) 采用同样的方法,在用例图中添加 Registrar和Student图标。d)点击用例窗口工具栏中的图标“generalization”,在用例图窗口中,将光标 从Student移动到 People之间添加泛化(ge
7、neralization)关系。e)同样在Registrar和People之间添加泛化关系。f) 点击工具栏中Use Case但图标,将光标移到用例图窗口,窗口内显示用例的椭圆图标,将其命名为 Select Course。g) 点击工具栏中的 Undirectional Relation 图标,将光标从 Student指向SelectCourse,在Student和Select Course之间添加关联关系。h)重复以上步骤,完成(4)中所示的用例图。i) 然后再指定活动者和用例的属性。在浏览器中选择活动者People,按下鼠标右键,在弹出的菜单中选择 Open Specification ,
8、可以看到 People的 版型(Stereotypes)是 Actorj) 双击 Select Course 用例,弹出 Use Case Specification 对话框。k) 在Documentation文本框中书写该用例的事件流。l) 在完成以上步骤,可以看到Rose在浏览器中自动标出了各种关系。实验二 面向对象分析- 类图和对象图的绘制( 2 学时)1、实验目的:通过实验,熟悉并掌握面向对象软件开发中类图和对象图的绘制。2、实验内容:设计绘制选课系统中的类图和对象图。3、实验要求( 1) 分析实验一中,有以下名词:课程、界面和控制对象。从而抽象出三个类:课程类、界面类和控制对象类。(
9、 2) 课程类应具有的属性有:课程名称、开课教室、授课教师、选课的学生、开课起始时间、允许选课的学生人数。方法有:设置课程名称、设置开课教师、设置课程号、设置授课教师信息、设置开课起始时间、设置允许选课的学生人数、查询课程名称、查询开课教师、查询授课教师信息、查询开课起始时间、查询允许选课的学生人数。( 3) 在 Rose 中创建 Course 类的类图,具体步骤如下:a) 选择浏览器中的“ Logical View ” ,按下鼠标右键,在弹出的菜单中选择“New” ,再在下一级菜单中选择“Class” ,创建一个新的Course 类。b) 添加属性。 在浏览器中选择“Course” ,按下鼠
10、标右键,在弹出的菜单中选择“New” ,再选择“Attribute ” ,则一个新的属性被添加,将属性名字改成“ name” 。c) 选择name,按下鼠标右键,选择Open Specification,则弹出ClassAttribute Specification 对话框。在这个对话框中有两个选项卡,一个 用来设置属性的固有特性,比如类型( Type ) 、版型(Stereotype) 、初始值( Initial ) 、存取控制( Export Control )等,一个用来进一步指定属性是静态(Static)的还是继承(Derived )的等。d) 如果要删除属性,右键选择属性,在弹出的菜
11、单中选择“ Delete ”即可。e) 添加操作。 选择浏览器中的“Course” ,按下鼠标右键,在弹出的菜单中选择“ New ”,再在下一级菜单中选择“ Operation ”,则添加一个新的操作。将添加操作的名字命名为“ GetName” 。f) 选才G GetName,按下鼠标右键,选择Open Specification ,在弹出的对话框中可以设置操作的固有特性。g) 在 Specification 对话框中,操作或者属性都有存取控制的选项默认值是公有的,属性的存取控制的选项默认值是私有的。不同的存取控制采取控制不同的标记表示。h) 重复以上步骤,完成Course 类的设计。( 4)
12、 类似的,自己分析建立界面类( FromObject)和控制对象类(ControlObject ),如后图所示。( 5) 在选课系统中,涉及到的用户包括Student (学生)和Registrar (管理员),其主要特征相似,所以可以建立统一基类People,而Student和Registrar由People派生。如下图所示:PegislrarStudent(tram lift CueOee Un C*it Uif(6)在Rose中实现(5)所述继承关系。具体步骤如下:a) 右键单击浏览器中 Logical View ,选择 NEW,新建一个 class diagram,取 名为Main ,双
13、击Logical View 下的Main图标,弹出类图窗口,从Use Case View 下将 People、Register 和 Student拖到窗口中。b)选择类图工具栏的“Generalization”图标,在类图窗口中,按下鼠标左键, 将光标从角色Student移动到People,在二者之间出现一个表示继承关系 的箭头标志。c) 同理添加Register与People之间的继承关系。d) 这日Register和Student都没有设置属性,给People增加一私有属性 name。 在类图窗口中双击 Student的图标,弹出Class Specification 对话框,点 击Att
14、ributes选项卡,注意这时Show inherite 被选择,而Attributes列表中 没有任何属性。可以看到,父类中的私有属性没有被继承。e) 将People的name属性设置成保护属性,操作同d),可以看到Show inherite 被选择时,Attributes列表中有一个属性 name,父类中的保护属性被子类 继承。f) 将People的name属性设置成公有属性,操作同d),可以看到Show inherite 被选择时,Attributes列表中有一个属性 name,父类中的公有属性被子类 继承。(7) 在选课系统中,涉及到的角色包括学生Student、管理员Registra
15、r学生和管理员的父类People、数据库Database。角色和类之间的关系如下所述: 角色 Student、Registrar 从 People 派生。 学生、管理员与系统交互时,都有一个界面与之对应。一个界面可能和课程相关(0-多门)。控制对象负责课程的处理,处理结果在界面上显示。控制对象完成对数据库的操作。 界面请求控制对象的服务。进一步分析如下:一个用户界面对象和 0个或多个学生相关。一个用户界面对象和 0个或多个管理员相关。一个用户界面对象和 0个或多个课程信息相关。一个控制对象和0个或多个课程信息相关。一个用户界面对象和一个控制对象相关。一个控制对象和一个用户界面对象相关。(8)
16、利用Rose绘制完整的类图。具体步骤如下 :a)在课程设计模型的 Logical View中,选择Main”类图,将定义的类 或角色从浏览器中拖至“Main”类窗口。b) 在类图的工具栏中选择unidirectional association 图标,在类图窗口中, 按下鼠标左键, 从Student指向FromObject类,贝U在Student和FromObject之间添加了关联,然后调整一下类的位置。为了显示方便,将类的属性和操作的Show All Attributes 和Show All Operations ”设置为不选,将类 的属性和操作隐藏起来。c) 可以给新添加的关联命名。在类图
17、窗口中,选择 Student和FromObject之 间的关联,按下鼠标右键,在弹出的菜单中选择 Open Specification”,则 弹出一个对话框。d)在该对话框中可以设置关联的属性。关联两端的对象,箭头指向的称为“Role A”,另一端称为 “ Role B”。e) 在“Association Specification For ” 对话框中点击“Role B Detai在 选项 卡,将 Multiplic 设置成1,再点击“ Role A Detail” 选项卡,将 Multiplic 设置成0.n。f)使用类似的方法,完成选课系统的完整类图,如下图所示。i-SSSMSJ 口 n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程导论 软件工程 导论 实验 指导书
链接地址:https://www.31doc.com/p-11705359.html