本科实验报告
课程名称:
系统分析与设计
实验项目: 《座位管理系统》实验
实验地点:
行逸楼
专业班级: 软件 1329 学号:2013005418
学生姓名:
武英杰
指导教师:
雷红
2015 年 11 月 9 日
1
一、实验目的
通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中
的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基
础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息
系统分析与设计的规范,为后继的学习打下良好的基础。
二、实验要求
学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设
计,并完成实验报告。实验报告以纸质版(A4)在课程结束后二周上内提交(12周)。
三、实验主要设备:台式或笔记本计算机
四、实验内容
1 选题及项目背景
图书馆座位管理系统
图书馆座位管理系统
现在现在高校高校学生经常在
学生经常在图书馆进修,学校图书馆基本全是满的,为了让座位合理利用,也为了
图书馆进修,学校图书馆基本全是满的,为了让座位合理利用,也为了
方便大家,,不用在占座的时候产生一些冲突什么的事情
方便大家
不用在占座的时候产生一些冲突什么的事情,,故故在这在这设计一套网上预约座位的
设计一套网上预约座位的座位座位管理管理
系统系统,,来方便大家。
来方便大家。
2 定义
图书馆座位管理系统是用来让在校学生能更加合理利用图书馆座位
的一套系统,能合理地调控分配座位。分为线上预约跟线下刷卡两部分,
线上预约:学生可以上校园网提前进行预约,系统会反馈给学生空余的座
位,可供学生自行选择。在预约后学生务必在 15 分钟内到达并刷卡确认,
否则系统将会回收该座位给需要的同学。线下刷卡:学生在到达图书馆后,
选择座位后刷卡即可。学生可以选择自己的使用时间,到时间可以续。当
学生提前使用完离开座位的时候,刷卡离开即可。若学生有事离开,需要
刷卡,系统会计时 15 分钟,若在指定时间内学生未刷卡确认回来,系统将
自动收回该座位。(该系统的人性化功能:为了让大学生更加合理利用座位
学习,如果有同学占据座位做一些打扰别人的事情,或者学习看书以外的
2
事情,其他学生可以反馈系统,系统管理人员会进行相应的处理,如果一
些座位有特别的用处,管理员可以将其设为已用。)。
3 参考资料
《系统《系统分析与设计》
分析与设计》,,百度资料等等。
百度资料等等。
4 系统分析与设计
4.1 需求分析
4.1.1 识别参与者
学生学生,图书馆管理员等
,图书馆管理员等
4.1.2 对需求进行捕获与描述
学生填写时删除以下括号内容
学生填写时删除以下括号内容
( 内容要求 1:对每个用例进行概要说明,参考以下格式:
用例名称:删除借阅者信息
执行者:管理员
目的:完成一次删除借阅者信息的完整过程。)
(内容要求 2:选择其中一个用例(如下订单)给出其用例描述。格式参考下表
100.1 用例 ID 号及用例名
100.2 用例概述
Uc_100 下订单
该用例描述一个在线商务系统中,会员提交一份商品订单,系统验
证会员信息及商品可用性,将各条目加入订单中,会员支付后,系
统生成订单。
会员
100.3 参与者:
101.4 前置条件(Pre-Conditions) 会员登录
100.5 后置条件(Post-Conditions) 订单被记录下来并定向到订单处理部门。
100.6 事件流
100.6.
1
基本事件流
(Basic Flow)
1) 会员请求输入新订单。
2) 系统产生商品目录。
3) 会员选择购买项(商品)以及数量。
4) 系统显示会员的个人信息(送货、收费地址)。
5) 会员验证信息。E-1
6) 系统验证会员订购的每个项(商品)的可用性,获取会员价
100.6.
2
扩 展 事 件 流 ( Alternative
Flows)
格及订单总额。并显示订单总结。
7) 会员验证订单。E-2
8) 系统提示会员选择支付方式。
9) 会员选择支付方式并支付。E-3
10) 系统记录订单信息,生成一个订单确认,显示给会员,并通
过电子邮件发送给会员。
E-1(替代第5步):如果需要修改,会员修改送货地址、收费
地址,系统验证修改,存储。
E-2(替代第7步):如果订单需要修改,会员可以删除不需要
3
的项目或修改订购数量等等,一旦会员完成修改,系统继续处理订
单,转到(第6步)。如果会员选择继续购买转到第3步。
E-3:(替代第9步):如果付款不成功,系统通知会员并请求其
他支付方式。如果会员不能同时选择其他支付方式,会员可以选择
取消或挂起订单。如果会员选择挂起订单,系统把订单设置为挂起
状态,系统返回主页面。如果会员选择取消订单,系统清除输入信
息,返回主页面,终止用例。
)
4.1.3 用例图
通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。
4
4.1.4 分析与讨论
1) 建模用例图的步骤、方法?
先找到主要的角色,然后就角色的行为等开始进行总结,最后将其归类,然后将各
个角色的行为和其对应。
2) 如何识别系统的参与者?应该如何划分用例,应注意哪些问题?
列出从系统开始到结束的参与者,划分用例的时候一定要注意那个用例是哪个参与
者的。
3) 心得
在画用例图的时候,一定要注意将用例写全。用例图比较简单,注意不能出错。
4.2 建立对象模型
4.2.1 候选类的数据字典
类名
学生
座位
管理员
学生卡
定义
学号+姓名+班级
座位号+教室
编号+姓名
卡号+学号+姓名
4.2.2 定义类
学生:
· 属性
学号:数值(double)
班级:数值(double)
姓名:文本(String)
· 操作
预约
刷卡
占座
投诉反馈
座位
·属性
座位号:数值(int)
使用时间:数值(double)
目前状态:文本(String)
·操作
刷卡占座
计时
5
座位管理员
·属性
编号:数值(int)
姓名:文本(String)
·操作
征用座位
核实举报
强制退座
学生卡
·属性
卡号:数值(int)
学号:数值(int)
姓名:文本(String)
·操作
刷卡
4.2.3 绘制类图
( 在类图中标示出类的属性、操作、类之间的关系及多重性 ,并对所给出
的类图解释说明 。 )
一共四个类,学生类,学生卡,座位管理员,座位,除了座位管理员和座位学生之
6
间是一对多的关系,其他都是一对一的关系。
4.2.4 包图
对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所
选系统的类进行分组,以便更清晰地了解系 统的结构。
(画出包图 并说相应解释说明)
4.2.5 分析与讨论
1)建模类图的步骤、方法?
A 识别类把易看出的属性和操作写上 B 填写类之间的关系 C 在建立顺序图后,
补充类的操作。
2)识别类有哪些方法,你是如何识别类的 ?
基本上主要的就是名词识别法,然后再看看有没有可以抽象出来的类。
3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类
之间的继承?
Eg: A,B 两个类, 判断 一个类 A 的实例有几个类 B 的实例 和一个类 B 的实例有几
个类 A 的实例
关联:信息的保存 (持久)
依赖:暂时
继承:它是另一个类的一种
实现:一般针对接口
7
4.3 建立动态模型
系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系
统的分析和设计中应当对主要的 Use Case 和对象类绘制这些图形,以便分析系统的行
为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.1 顺序图
( 绘制自选系统一个主要用例的顺序图并解释说明)
这里我已网上座位预定为例,
4.3.2 通信图
(将以上顺序图转换为通信图)
已网上预约座位为例
8