中南大学软件工程实验报告.docx
《中南大学软件工程实验报告.docx》由会员分享,可在线阅读,更多相关《中南大学软件工程实验报告.docx(42页珍藏版)》请在冰豆网上搜索。
中南大学软件工程实验报告
CENTRALSOUTHUNIVERSITY
软件工程实验报告
学生姓名
专业班级
学号
学院信息科学与工程学院
指导教师龙军
实验时间
2015年5月
课程群实验名:
网上选课系统建模
通过实验培养学生综合运用软件工程理论进行系统分析和设计的能力,加深
对面向对象技术的认知和理解;较系统地学习Visio等建模工具及UML建模方
法。
面向对象技术以其显著的优势成为计算机软件领域的主流技术。
越来越多的
软件企业认识到,要在激烈的市场竞争中立于不败之地,采用面向对象技术是势
在必行的选择。
软件行业需要大量掌握面向对象方法与技术的人才,这些人才不
仅仅是能够使用一种或几种面向对象编程语言来编程,更重要的是能运用面向对
象方法进行系统建模,即通过面向对象的分析(OOA)和面向对象的设计(OOD)
建立系统的分析模型和设计模型。
网上选课系统介绍
传统的纸上方式选课,既浪费人力物力,又浪费时间,还很容易出现错误。
而借助网上选课系统,让学生自己在终端上录入自己的个人选课信息来替代有纸化的手工操作,不仅为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。
网上选课系统的功能性需求包括以下内容:
(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。
(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。
接下来我们将通过Visio等工具对此网上选课系统建立模型,从以下三个方面进行:
(1)用例建模,进行需求分析,确定系统的参与者。
网上选课系统的参与
者包含二种,分别是Student(学生)和SystemManager(系统管理员)然后,我
们根据参与者的不同分别画出各个参与者的用例图。
1
(2)领域建模,由前面的需求分析得到系统主要的类对象:
学生类、系统管理员类、课程类等,并创建系统的类图。
(3)业务流建模,使用状态图和活动图来描述创建系统动态模型。
参考书目:
[1]软件工程核心知识,李大牛,北方联合出版集团,2014;
[2]UML基础、案例与应用(第三版),JosephSchmuller著,李虎、赵龙刚译,人民邮电出版社,2004.8。
实验编号:
1用例建模
实验报告
实验名称用例建模
学号姓名专业、班
实验地点科技楼指导教师龙军时间
一、实验目的
1.理解需求分析在软件开发过程中的重要地位;
2.掌握用例的概念;
3.掌握UML中用例图的组成、作用以及使用场合;
4.掌握用例与用例之间的各种关系;
5.学习针对具体场景使用用例图进行分析说明的方法;
6.掌握用例描述的概念和基本结构,以及用例描述的作用。
2015年4月
2
二、实验内容
1.学习针对具体场景识别参与者和用例的方法,设计其用例图;
2.学习通过Visio绘制用例图的方法;
3.掌握如何对每个用例进行用例描述;
4.撰写系统设计实验报告;
5.由每个学生独立完成。
三、实验步骤
1、网上选课系统主要包括如下功能:
管理员通过系统管理界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以对课程进行改动和删除;学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:
查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
2.对本系统的的用例、参与者进行分析:
本系统拟使用java语言通过三层模型实现:
数据核心层、业务逻辑层和接入层。
数据核心层包括对数据库的操作;业务逻辑层作为中间层对用户输入进出逻辑处理,在映射到相应的数据层操作;接入层包括用户界面、系统登录界面、管理界面、用户选课界面等。
本系统涉及的用户包括管理员和学生,是用例图中的活动者,他们的主要特
征类似,都有学号和姓名等信息,可抽象出“基”活动者people,而register和student则从people诞生,数据库管理系统是另外一个活动者。
3、写出系统中出现的一些事件流,如添加课程事件流、删除课程事件流、修改
课程事件流,选课事件流等。
(1)添加课程事件流:
a)管理员选择进入管理界面,用例开始
b)系统提示输入管理员密码
c)管理员输入密码
d)系统验证密码
A1:
密码错误
3
e)进入管理界面,系统显示目前所建立的全部课程信息
f)管理员选择添加课程
g)系统提示输入新课程信息
h)管理员输入信息
i)系统验证是否和已有课程冲突
A2:
有冲突
j)系统添加新课程,提示课程添加成功
k)系统重新进入管理主界面,显示所有课程
l)用例结束
(2)其他事件流:
A1:
密码错误
a)系统提示再次输入密码
b)用户确认
c)三次错误,拒绝再次访问。
d)否则进入添加课程事件流第e)步。
A2:
有冲突
a)系统提示有冲突,显示冲突课程信息
b)用户重新输入
c)继续验证直到无冲突
d)进入添加课程事件流第j)步
删除课程事件流和修改课程事件流于此类此。
(3)选课事件流:
a)学生进入选课登录界面,用例开始
b)系统提示输入学号和密码
c)学生输入学号和密码
d)系统验证课程是否可选
A1:
验证失败
e)进入选课主界面
f)学生点击选择课程
4
g)系统显示所有课程信息
h)学生选择课程
i)系统验证选课是否成功
A2:
选课不成功
j)系统提示课程选择成功,提示学生交费
k)用例结束。
(4)错误流:
A1:
验证失败
a)系统提示验证失败,提示重新输入
b)三次错误,拒绝再次访问
c)成功,转选课事件流第e)步
A2:
选课不成功
a)系统提示课程不可选以及原因
b)学生重新选课
c)重新验证直至成功
d)转选课事件流第j)步。
因为付费方式多样,再次不必讨论付费用例。
查询事件流比较简单,在这里
也不用详细描述。
3、根据以上描述,绘制系统的用例图。
并选择其中一个用例(如添加课程Add
Course)给出其用例描述。
用例的描述格式(参考模板)
描述项说明
用例名称表明用户的意图或用例的用途,如“预订图书”
标识符[可选]惟一标识符,如“UC1701”,在文档其他地方可用标识符
来引用这个用例
用例描述概述用例的几句话
参与者与此用例相关的参与者列表
优先级一个有序的排列,1代表优先级最高
5
状态[可选]
用例的状态,通常为以下几种之一:
进行中、等待审查、
通过审查或未通过审查
前置条件
访问用例前必须满足的条件列表
后置条件
用例完成以后得到满足的条件列表
基本操作流程
描述用例中各项工作都正常进行时用例的工作方式
可选操作流程
描述变更工作方式、出现异常或发生错误的情况下所遵循
的路径
被泛化的用例
此用例所泛化的用例列表
被包含的用例
此用例所包含的用例列表
被扩展的用例
此用例所扩展的用例列表
修改历史记录
[可
关于用例的修改时间、修改原因和修改人的详细信息
选]
问题[可选]
与此用例的开发相关的问题列表
决策[可选]
关键决策的列表,将这些决策记录下来以便维护时使用
频率[可选]
参与则访问此用例的频率,如用户是每日访问一次还是每
月访问一次
四、结果与分析
用例“添加课程”的描述
用例名称
添加课程
标识符
UC0001
用例描述
管理员通过系统界面进入,添加所要开设的课程,确认无
误后将其信息保存到数据库中,以供学生选择。
参与者
管理员
优先级
1
状态
通过审查
前置条件
管理员登录进入系统
后置条件
可选课程数目增加
基本操作流程
管理员录入课程信息;
6
系统检查课程信息是否已存在;
系统为这门课程生成唯一代号(课程代号);
系统添加新的课程代号。
可选操作流程系统检查课程信息不存在,系统添加新的课程信息;
被泛化的用例无
被包含的用例无
被扩展的用例无
修改历史记录王五,定义基本操作流程,2015年3月20日
王五,定义可选操作流程,2015年3月20日
网上选课系统的用例图如下:
通过实验,我学习了针对具体场景识别参与者和用例的方法,设计了网上选课系统的用
例图;并通过MicrosoftVisio2013绘制了系统的用例图;最后,对用例“添加课程”进行了用例描述。
五、教师评语成绩
签名:
日期:
7
实验编号:
2领域建模
实验报告
实验名称
领域建模
学
号
姓
名
专业、班
实验地点
科技楼
指导教师
龙军
时间
一、实验目的
2015年5月
1.掌握类的定义,类的3要素,UML中类的表示方法;
2.掌握类与类之间的各种关系代表的含义及表示方法;
3.掌握实体类、边界类、控制类的概念和表示方法;
3.掌握接口和抽象类的概念和表示方法,类的多重性关系。
二、实验内容
1.通过网上选课系统学习识别类和类之间关系的方法;
2.学习使用Visio绘制类图的方法;
3.掌握类图中属性和操作的添加方法;
4.撰写系统设计实验报告;
5.由每个学生独立完成。
三、实验步骤
1.分析实验三中选课用例的顺序图,除了角色之外,有以下名词:
课程,界面和控制对象。
从而抽象出三个类:
课程类Course、界面类FormObject和控制对象
类ControlObject。
2.课程类Course应具有的属性有:
课程名称、开课教室、授课教师、选课的学
生、开课起始时间、允许选课的学生人数,操作有设置课程名称、设置开课教师、设置课程号、设置授课教师信息、设置开课起始时间、设置允许选课的学生人数、查询课程名称、查询开课教师、查询授课教师信息、查询开课起始时间、查询允
8
许选课的学生人数。
根据以上分析,绘制课程类Course的类图。
3.类似的,自己分析建立界面类FormObject和控制对象类ControlObject的类图。
4.在选课系统中,涉及到的用户包括Student(学生)和Registrar(管理员),
其主要特性相似,所以可以建立统一基类People,Student和Registrar由
People派生。
如下图所示:
9
5.在选课系统中涉及到的角色包括:
(1)学生Student;
(2)管理员Registrar;
(3)学生和管理员的父类People;
(4)数据库Database。
6.这些类和角色之间的关系如下:
(1)角色Student和Register从People派生;
(2)学生、管理员在与系统交互时,都有一个界面与之对应;
(3)一个界面可能和课程相关(0-多门);
(4)控制对象负责课程的处理,处理结果显示在界面上;
(5)控制对象完成对数据库的操作;
(6)界面请求控制对象的服务。
7.进一步分析如下:
(1)一个用户界面对象和0个或多个学生相关。
(2)一个用户界面对象和0个或多个管理员相关。
10
(3)一个用户界面对象和0个或多个课程信息相关。
(4)一个控制对象和0个或多个课程信息相关。
(5)一个用户界面对象和一个控制对象相关。
(6)一个控制对象和一个用户界面对象相关。
8.根据以上分析,绘制出系统的简略类图。
9.对绘制的简略类图,添加类的属性和操作,绘制出系统的详细类图。
四、结果与分析
系统的简略类图如下:
系统的详细类图如下:
通过实验,我学习了识别类和类之间关系的方法,使用MicrosoftVisio2013绘制了系统
的简略类图;然后学习并掌握了类图中属性和操作的添加方法,并用MicrosoftVisio2013
绘制了课程类Course、界面类FormObject、控制对象类ControlObject的类图,以及系统的详细类图。
11
五、教师评语成绩
签名:
日期:
实验编号:
3业务流建模
实验报告
实验名称
业务流建模
学
号
姓
名
专业、班
实验地点
科技楼
指导教师
龙军
时间
一、实验目的
2015年5月
1.掌握活动的概念及表示方法;
2.掌握分支、监护条件、分叉、汇合和泳道的概念;
3.掌握阅读和绘制活动图的方法;
4.掌握状态的定义和组成部分;
5.掌握UML中状态的表示方法;
6.掌握如何创建Statechart图;
7.学习Statechart图中对象可以存在不同的状态信息,掌握对象如何从一种状态过渡到另一种状态,以及对象在不同状态中的行为。
二、实验内容
1.学习根据用例描述绘制活动图的方法
2.学习使用Visio绘制活动图。
3.通过网上选课系统学习识别对象状态的方法;
4.通过网上选课系统理解对象状态的转换。
5.学习使用Visio绘制状态图的方法;
6.撰写系统设计实验报告。
12
7.由每个学生独立完成。
三、实验步骤
1.分析AddCourse(添加课程)用例的事件流,画出AddCourse用例的活动图。
在用例图中分析过,选课系统中的添加课程(AddCourse)用例的事件流如下:
(1)管理员选择进入管理界面,用例开始;
(2)管理员输入课程各项信息;
(3)系统验证是否和已有课程冲突;
A1:
有冲突
(4)系统添加新课程,提示课程添加成功;
(5)系统重新进入管理主界面,显示所有课程;
(6)用例结束。
其他事件流:
A1:
有冲突
(1)系统提示冲突,显示冲突课程信息;
(2)用户重新输入;
(3)继续验证直至无冲突;
(4)进入添加课程事件流第4步。
根据以上描述并进一步细化,绘制出AddCourse用例的活动图。
2.对网上选课系统中的课程类(对象)(Course)的状态变化过程分析如下:
(1)课程对象被创建,添加到数据库中;
(2)管理员可以删除、修改课程信息,在某个学期开设该课程;(3)如果选修人数超过指定人数,就不再允许学生选这门课;(4)学期结束,课程的状态终止。
根据以上描述,绘制课程类(Course)的状态图。
13
四、结果与分析
AddCourse(添加课程)用例的活动图如下:
课程类(Course)的状态图如下:
14
通过实验,学习了根据用例描述绘制活动图的方法,并用MicrosoftVisio2013绘制了
AddCourse(添加课程)用例的活动图。
通过网上选课系统,学习了识别对象状态的方法,
理解了对象状态的转换机制,并用MicrosoftVisio2013绘制了课程类(Course)的状态图。
五、教师评语成绩
签名:
日期:
15