
本科实验报告
课程名称: 系统分析与设计
实验项目:《太原理工大学教务系统的分析与设计》实验
实验地点: 逸夫楼304
专业班级: 软件1217 学号:201200xxxx
学生姓名: xx
指导教师: 杨丽凤
2014年 11月 14 日
一、实验目的
通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。
二、实验要求
学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设计,并完成实验报告。实验报告以纸质版(A4)在课程结束后一周上内提交(13周)。
三、实验主要设备:台式或笔记本计算机
四、实验内容
1 选题及项目背景
太原理工大学教务系统的分析与设计
2 定义
教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。迫切需要研制开发一款基于Internet网的综合网上教育管理软件。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。教务管理系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。目前还有一些单位和部门还是使用传统人工的方式公务员之家管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。同时随着学校的规模不断扩大,学生数量急剧增加,有关教务的各种信息量也成倍增长。所以教务信息管理系统的可运行性和功能效用的多少就显得尤为重要了。
3 参考资料
《软件工程》——李爱萍 崔东华 李东生主编(人民邮电出版社)
《系统分析与设计》——太原理工大学软件学院
4 系统分析与设计
4.1需求分析
4.1.1识别参与者
教师,学生,教务处管理员,系统管理员
4.1.2 对需求进行捕获与描述
| 用例序号 | 用例名称 | 执行者 | 目的 |
| 1 | 课程选修 | 学生 | |
| 2 | 成绩查询 | ||
| 3 | 学生登录 | ||
| 4 | 学生信息查询 | ||
| 5 | 学生信息修改 | ||
| 6 | 教师评价 | ||
| 7 | 修改登录密码 | ||
| 8 | 考试报名 | ||
| 9 | 查询学生成绩 | 教师 | |
| 10 | 教学计划录入 | ||
| 11 | 修改教师信息 | ||
| 12 | 教师登录 | ||
| 13 | 学生成绩录入 | ||
| 14 | 查询教师信息 | ||
| 15 | 查询学生选课信息 | ||
| 16 | 修改课程信息 | ||
| 17 | 学生信息管理 | 系统管理员 | |
| 18 | 权限维护 | ||
| 19 | 管理员登录 | ||
| 20 | 后台数据维护 | ||
| 21 | 课程表制定 | 教务处管理员 | |
| 22 | 教学任务下达 | ||
| 23 | 排课管理 | ||
| 24 | 学生人员信息管理 | ||
| 25 | 考试安排 | ||
| 26 | 学生数据管理 | ||
| 27 | 教务人员登录 | ||
| 28 | 设置权限 |
| 4.1 | 用例ID号及用例名 | Uc_4学生信息查询 |
| 4.2 | 用例概述 | 该用例描述了一个教务系统中,学生登录系统之后,对自己的信息进行查询的过程。 |
| 4.3 | 参与者 | 学生 |
| 4.4 | 前置条件 | 学生登录 |
| 4.5 | 后置条件 | 查询完信息之后退出登录 |
| 4.6 | 事件流 | |
| 4.6.1 | 基本事件流 | 1)学生点击个人信息查询; 2)个人信息查询按钮调用数据库; 3)数据库信息返回到页面表格中; 4)学生个人的所有信息以表格的形式展现出来; |
| 4.6.2 | 扩展事件流 | E-1(替代第3步):如果数据库信息返回失败,系统将弹出错误提示,请求用户检查网络配置,学生重新加载系统页面。 |
4.1.3 用例图
通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。
4.1.4 分析与讨论
1)建模用例图的步骤、方法?
1 确定系统的边界和范围
2 识别系统参与者
3 发现用例
4 描述用例及确定用例关系
5 建立用例图
6 定义用例图的层次结构
2)如何识别系统的参与者?应该如何划分用例,应注意哪些问题?
参与者不是系统的一部分,它们处于系统的外部。参与者可能是人、计算机硬件或设备或外部系统。
划分用例(用例本质上是用户需求的描述,是一个具体的用户目标):
谁使用系统的主要功能?
谁改变系统的数据?
谁从系统获取数据?
谁支持、维护系统?
谁需要借助系统的支持来完成日常工作?
系统需要操作哪些硬件?
系统需要和哪些外部系统交互?
谁对系统运行结果感兴趣?
3)心得
通过对用例图的分析及对模型软件的使用,对课本知识有了更深刻的理解。
4.2 建立对象模型
4.2.1 候选类的数据字典
数据文件”学生信息表”的字典条目
| 文件名: 学生信息表 |
| 别名: |
| 组成:姓名+学号+性别+所在院系+班级+成绩+考试报名 |
| 备注: |
| 文件名:教务处管理员信息表 |
| 别名: |
| 组成:教务处管理员编号+登录帐号+登录密码 |
| 备注: |
| 文件名:教师信息表 |
| 别名: |
| 组成:教师号+教师名+性别+所属系部号+职称+所教课程 |
| 备注: |
| 文件名: 系统管理员 |
| 别名: |
| 组成: 系统管理员编号+登录帐号+登录密码 |
| 备注: |
| 文件名: 课程 |
| 别名: |
| 组成: 课程编号+课程名称+课程信息+任课教师+学时+课程类型+学分 |
| 备注: 事故、主讲课没有时,为0 |
| 文件名:成绩 |
| 别名: |
| 组成:姓名+学号+院系+班级+课程编号+课程名称+成绩+学分+绩点+平均分 |
| 备注: |
(1)“学生”类
●属性
姓名:
系别:
学号:
班级:
入学年份:
登陆账号:
登录密码:
家庭地址:
籍贯:
●操作
学生登录()
成绩查询()
选修课程()
教师评价()
学生信息查询()
学生信息修改()
修改登录密码()
考试报名()
(2)“教师”类
●属性
姓名:
性别:
科目:
所属院系:
教师职称:
家庭地址:
籍贯:
登录帐号:
登录密码:
●操作
查询学生成绩()
教学计划录入()
修改教师信息()
教师登录()
学生成绩录入()
查询教师信息()
查询学生选课信息()
修改课程信息()
(3)“教务处管理员”类
●属性
教务人员编号:
所在系别:
登录帐号:
登录密码:
●操作
课程表制定()
教学任务下达()
排课管理()
学生人员信息管理()
考试安排()
学生数据管理()
教务人员登录()
设置权限()
(4)“系统管理员”类
●属性
系统管理员编号:
登录帐号:
登录密码:
●操作
学生信息管理()
权限维护()
管理员登录()
后台数据维护()
(5)“课程”类
●属性
课程名称:
课程编号:
课程类型:
学分:
学时:
任课教师:
课程信息:
●操作
(6)“成绩”类
●属性
姓名:
学号:
院系:
班级:
课程编号:
课程名称:
成绩:
学分:
平均分:
加权平均分:
加权平均分排名:
●操作
4.2.3绘制类图
4.2.4包图
对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所选系统的类进行分组,以便更清晰地了解系统的结构。
4.2.5分析与讨论
1)建模类图的步骤、方法?
a.确定类( 找出候选类;审查与筛选类)。
b.识别类的属性和操作
识别类的属性从以下角度识别:常识性、专业性、功能性、存储性、操
作性、标志性、关联性;
筛选类的属性;
识别类的操作;
c.识别类之间的关联(确定关联关系及多重性;识别继承:自顶向下或自底向上)。
d.定义类的结构和层次(考虑是否存在聚合或组合关系;对于复杂的系统,用包图为其建模)。
2)识别类有哪些方法,你是如何识别类的?
行为分析、名次识别法、CRC分析法、根据边界类、控制类、实体类的划分来帮助识别分析系统中的类、参考设计模式确定类以及通过对领域进行分析或利用已有领域分析结果得到类等多种方法。
通常使用名词识别法较为简单。
3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?
通常需要说明一个关联实例中有多少个相互连接的对象,这就是关联的多重性。
确定类( 找出候选类;审查与筛选类)。
识别类的属性和操作
识别类的属性从以下角度识别:常识性、专业性、功能性、存储性、操
作性、标志性、关联性;
筛选类的属性;
识别类的操作;
识别类之间的关联(确定关联关系及多重性;识别继承:自顶向下或自底向上)。
定义类的结构和层次(考虑是否存在聚合或组合关系;对于复杂的系统,用包图为其建模)。
4.3 建立动态模型
系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系统的分析和设计中应当对主要的Use Case和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.1顺序图
成绩查询顺序图:
4.3.2 通信图
(将以上顺序图转换为通信图)
4.3.3活动图
活动图的主要作用是表示系统的业务工作流和并发处理过程。针对自选系统主要的业务工作流绘制活动图。
学生课程选修活动图:
4.3.4状态图
状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。
学生课程选修状态图:
4.3.5 分析与讨论
比较顺序图与通信图、状态图与活动图的应用
(1)顺序图与通信图
1 顺序图描述的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。顺序图可以把用例描述的需求,转化为进一步、更加正式的精细表达,所以用例常常被细化为一个或多个顺序图。
通信图是一种强调发送和接收消息的对象及其组织结构的交互图,用以描述对象以及对象之间的交互关系。
2 通讯图与顺序图一样,都是用来展示对象间的链接及组织结构的交互,但两者的侧重点却不同。顺序图着重于描述交互的时间顺序,而通信图则侧重于描述协作对象间的交互和链接。
(2)状态图与活动图
1 活动图是用来描述达到一个目标所实施一系列活动的过程,描述了系统的动态特征。活动图类似结构化程序设计中的流程图,不同之处在于它支持并行活动。
2 状态机图描述系统中类和对象随时间变化的动态行为。状态图通过状态与状态转换来描述用例、协作和方法的动态行为。
3 状态图与活动图会有一些相同的特点:
⑴描述图符基本一样。
⑵可以描述一个系统或对象在生存期间的状态或行为。
⑶可以描述一个系统或对象在多进程操作中的并发行为。
⑷可以用条件分支图符描述一个系统或对象的行为控制流。
4.4物理模型
4.4.1 建立构件图
系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。
4.4.2 建立部署图
(学生补充自选系统的部署图并解释说明)
5、实验总结
本次系统分析与设计实验中,静态模型用到了类图、用例图、包图、构件图、部署图,动态模型用到了活动图、状态图、顺序图、通信图。通过这次实验,对这些UML图的使用及特点有了更加深刻的理解,对掌握书本知识达到了更好的促进作用。
