1、北 京 林 业 大 学2014 学年 2015 学年第 1 学期 软件工程 A 实验报告书专 业:计算机科学与技术 班 级: 姓 名: 学 号: 实验地点: 计算中心 N08 任课教师: 赵方 实验题目: 实验七 软件设计-面向对象设计方法 实验环境: 一台装有 MS VISIO/Rational Rose 软件的 PC 机 实验目的通过实验使同学了解面向对象设计的基本过程,能够在面向对象设计的过程中使用面向对象设计思想原则进行系统结构的设计和类中的服务设计。掌握GUI 图形用户界面的设计原则和方法。实验内容针对实验六的结果用面向对象技术设计出软件系统的结构,在此基础之上进行软件的概要设计。实
2、验指导针对“教务管理”系统用面向对象方法,使用类图、顺序图、状态图或活动图等进行系统设计。实验要求(1)实验中对系统的设计过程中至少要使用到类图和适当的文字描述,并能对部分功能模块用类图、顺序图、状态图或活动图进行模块设计,且图形描述不少于 6。(2)在实验报告中写出对应功能模块的设计结果,下次实验前上交实验报告。实验方法1.根据系统需求画出类图根据日常高校教务管理系统的业务需求及职能划分,将系统分为教学计划管理、学籍管理、学生成绩管理、教师管理、系统管理五个子系统,每个子系统又包含了若干项子功能模块。每个子系统都具备相应信息的输入、查删改、打印等功能。根据以上的说明可以画出如下的顶层类图:管
3、 理 员教 师教 务 员 学 生教 师 管 理 学 籍 信 息 管 理成 绩 管 理信 息 录 入 成 绩 分 析 成 绩 统 计教 师 基 本 信 息 教 师 工 作 情 况学 生 基 本 信 息 管 理学 籍 变 动 管 理学 籍 注 册教 学 计 划 管 理教 学 任 务 生 成 调 整 变 更 管 理人 员 管 理 权 限 分 配-管 理* *-管 理 *-管 理1*11*1 1*11*-管 理*-管 理*-查 看11-查 看* *-填 写1*-注 册11-查 看11-查 看11顶 层 类 图针对选课模块与成绩录入模块进行扩展:根据这 2 大模块,我对三类用户角色(学生用户、教师用户和
4、教务管理员用户)功能进行划分(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课、查看成绩等;(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息
5、等。+修 改 密 码 ()+登 陆 验 证 ()用 户 角 色-用 户 ID : char-用 户 密 码 : char+学 籍 管 理 ()+选 课 管 理 ()+成 绩 管 理 ()+排 课 管 理 ()+教 学 管 理 ()教 务 管 理 员-姓 名 : char+添 加 教 师 ()+删 除 教 师 ()+更 新 教 师 信 息 ()+获 取 教 师 列 表 ()教 师-用 户 名 : char-所 属 部 门 : char+增 加 课 程 ()+删 除 课 程 ()+更 新 课 程 信 息 ()+获 取 课 程 列 表 ()课 程-课 程 ID : char-教 师 ID : flo
6、at-课 程 名 : char-开 课 时 间 : char-所 在 教 室 : char-详 细 信 息 : string+增 加 学 生 ()+删 除 学 生 ()+更 新 学 生 信 息 ()+获 取 学 生 列 表 ()学 生-姓 名 : char-专 业 : char-年 级 : char-班 级 : char+选 修 课 程 ()+推 选 课 程 ()+获 取 选 课 信 息 ()+检 测 是 否 提 交 成 绩 ()+提 交 成 绩 ()选 课-学 生 ID : char-课 程 ID : char-教 师 ID : char-成 绩 : int0n110n 0n1学 生 选 课
7、 系 统 类 图2.画出顺序图顺序图用于显示对象之间的动态合作关系, 它强调对象之间消息发送的顺序, 同时显示对象之间的交互。选 课 表 单 控 制 界 面2.选 择 课 程课 程 信 息3.查 询 课 程 信 息4.判 断 是 否 可 选 课7.显 示 选 课 成 功 信 息6.返 回 选 课 成 功 信 息1.进 入 选 课 界 面5.执 行 选 课 结 果学 生学 生 选 课 顺 序 图顺序图说明:序号 脚本1 学生登录选课界面2 学生选择课程3 后台查询课程信息4 后台判断课程是否存在5 执行选课结果6 后台返回选课成功信息7 显示选课成功学 生 登 录 界 面 学 生 界 面 选 课
8、 界 面1.登 录2.登 录 验 证3.进 入 学 生 界 面4.点 击 退 课5.退 选 课 程学 生 退 课 顺 序 图提 示 退 课 成 功 消 息学生退课顺序图说明:序号 脚本1 学生进入登录界面2 系统登录验证3 学生进入选课界面4 点击退课5 确定退选课程6 显示退课成功信息教 师 数 据 库 模 块成 绩 录 入 平 面 成 绩 录 入 管 理系 统 登 录 界 面1.用 户 名 、 口 令2.登 陆 成 功3.成 绩 录 入7.保 存 成 绩 信 息9.录 入 成 功 8.将 数 据 存 入 数 据 库10.退 出 系 统4.添 加 成 绩 信 息5.修 改 成 绩6.查 询
9、成 绩 信 息教 师 成 绩 录 入 顺 序 图教师录入成绩顺序图说明:序号 脚本1 教师登录系统2 系统验证3 教师录入成绩4 教师添加成绩信息5 教师修改成绩6 教师查询成绩信息7 系统保持成绩信息8 将数据存入数据库9 判断是否录入成功10 退出系统管 理 员 管 理 员 界 面登 陆 界 面1.登 陆2.验 证 登 陆4.点 击 修 改 课 程3.进 入 管 理 员 界 面6.提 示 修 改 成 功课 程 界 面5.修 改 课 程 信 息管 理 员 修 改 课 程 信 息 顺 序 图管理员修改课程信息顺序图说明:序号 脚本1 管理员登录界面2 系统验证登录3 进入管理员界面4 管理员点
10、击修改课程5 修改课程信息6 提示修改成功3.画出活动图经过活动图的建模可以比较清楚地了解整个进程过程的操作过程,本系统中主要的活动图有如下几个:数 据 库控 制学 生输 入 要 选 课 程显 示 选 课 成 功 信 息显 示 选 课 失 败 信 息验 证 课 程判 断 数 据 库 是 否 有 该 课 程判 断 选 课 是 否 成 功在 数 据 库 查 询 课 程加 入 选 课 信 息提 示 重 新 输 入不 存 在 存 在成 功失 败学 生 选 课 活 动 图说明:学生选课系统主要涉及到课程的安排,数据库的查询、向数据库添加选课信息等操作。首先学生输入用户名和密码登录该系统进行身份确认。之后
11、进行选课操作,并将选课记录更新到数据库中进行保存。教 师用 户 名 、 密 码正 确不 继 续更 新 数 据 库错 误继 续 导 入登 录选 择 输 入 成 绩 班 级确 定 导 入教 师 成 绩 录 入 活 动 图说明:教师通过该系统也是先通过用户名和密码进行身份确认,然后登录到学生成绩录入的界面进行输入,然后通过提交按钮,将编辑的数据更新到数据库进行保存。实验总结与心得:这次实验,画出每个功能模块都应有对应的模型图示进行分析。按照分析的结果,画出类图,并且针对系统或系统的子功能模块绘制出相应的顺序图、活动图,并完成实验报告。通过实验,我了解面向对象设计的基本过程,能够在面向对象设计的过程中使用面向对象设计思想原则进行系统结构的设计和类中的服务设计。掌握GUI 图形用户界面的设计原则和方法。