学生成绩管理系统的分析及设计-应用UML建模.pdf
《学生成绩管理系统的分析及设计-应用UML建模.pdf》由会员分享,可在线阅读,更多相关《学生成绩管理系统的分析及设计-应用UML建模.pdf(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章系统需求学 生 成 绩管理系统的 域 描 述 如下:在学 生 成 绩管理系统中,要为 每个 学 生 建 立一个 帐户,并 给 学 生发 放帐户(帐户可以 提供 帐户号、帐户初 始密 码),帐户中 存储 学 生的个人 信 息、选课信 息以及 课程 成 绩。持有帐户 的 学 生可以 登陆系统,只 能 查 看 本人 的个人信 息、选课信 息、个人 成 绩。在 登陆 时,需要输入 自 己 的 账号和 密 码,系统验证 学 生 是否 有效(在 系统中 存在帐户),若 有效,则 登陆系统,否则 重 新 输入,超过三 次,则不允 许再 次 输入。老 师可以修 改学 生 成 绩信 息,但仅 限于 学
2、 生选修 的那门课程。老 师也 有 自 己 的个人 帐户,权 限 比学 生高,可以 浏 览 学 生信 息。学 生 成 绩管理系统的管理员,可以 编辑、添加、删 除、学 生信 息。对上 述 学 生 成 绩管理系统的 域描 述进行分 析,可以 获 得如下功 能 性 需 求:学 生 持有帐户(帐户号和 密 码)。学 生可以 登陆系统。学 生可以 查 看系统 消息内 的信 息。学 生可以 查 看个人信 息,个人 成 绩信 息和 选课 情况。在学期 结 束时,学生可以 选课。学 生可以 给管理员发 消息。老 师可以修 改 选修 自 己 课程的 学 生的 成 绩信 息。老 师可以 浏 览选修 自 己 课程
3、的 学 生的信 息。学 生 成 绩管理员可以创 建新 的 学 生 帐户。学 生 成 绩管理员可以修 改学 生的 帐户信 息。学 生 成 绩管理员可以删 除 已存在 的 学 生 帐户。学 生 成 绩管理员可以 在 系统中 添加 学 生信 息。学 生 成 绩管理员可以 编辑 学 生信 息。学 生 成 绩管理员可以删 除 学 生信 息。第 2 章需 求分 析采用用例 驱动 的分 析方法分 析 需 求 的主 要任务 是 识别出 系统中 的参 与 者和 用例,并建 立用例 模型。2.1 识别参与 者通过 对 系统需 求 的分 析,可以 确 定 系统中 有三个参与 者:StudentActor(学 生)、
4、TeacherActor(教师)、AdminerActor(管理员)。参与 者的 描 述 如下:(1)Student描 述:学 生可以 登陆、选课、查 看系统信 息、个人信 息、提 出 意 见,还可以取 消 选课。示例:持有帐户 的任何人 或 组织。(2)Teacher描 述:可以修 改学 生部分信 息,浏 览 学 生信 息。示例:持有帐户 的任何人和 组织。(3)Adminer描 述:学 生 成 绩管理员 维 护 系统,可以创 建、修 改、删 除 学 生的信 息,可以 添加、编辑、删 除 学 生信 息,即 维 护 目 录。示例:学 生 成 绩管理员。2.2 识别 用例前面已经识别出了参与 者
5、,通过 对 需 求 的进 步分 析,可以 确 定 系 统中 有如下 用例 存在:(1)Reserve course(选课)本用例提供了选课的功能。(2)Cancel course(取 消 选课)本用例提供了取 消选课的功能。(3)input score(输入 成 绩)本 用例 提供了 教师上传 学 生 成 绩功 能。(4)update score(更改成 绩)本用例提供了修 改成绩的功能。(5)Maintain student Info(维 护学 生信 息)本 用例 提供了创 建、修 改以及取 消学 生 帐户 的功 能。(6)Maintain teacher Info(维 护教师信 息)本 用
6、例 提供了 添加、修 改、以及删 除教师帐户 的功能。(7)Maintain system Info(维 护 系统信 息)本 用例 提供了 添加、修 改以及删 除系统信 息 的功 能。(8)Log In(登 录)本 用例 描 述了 用 户如何 登 录 进入 软件 系统。在 识别出参与 者和 用例后,要 想建 立用例 图,还需要识别出他 们之 间的关 系。“Reserve course(选课)Cancel coursew(取 消 选课)这些动作 是 由“Student”执 行的,“input score(输入 成 绩)、“update score”(更、改成 绩)是 由“teacher”执 行的
7、,但 是对于 软件 系统 来 说,这些 操作 是 由“Adminer”通过系统赋予 给 他们 的,也即以上 操作 实 际上 是操作 者 在允 许 条件下与 系统的交互。“Student”“teacher”和参与 者Adminer”之 间 存在 着依 赖关 系,即“Student借助Adminer”完成 这些 工作。用例Maintain student Info”(维 护学 生信 息)、Maintain teacher Info”(维 护教师信 息)、“Maintain system Info”(维 护 物系统信 息)也 是与参与 者“Adminer”交互。为了 系统的 安全 性,系统还需要 提
8、供 进行身份 验 证的功 能,以 确保只 有具 有权 限的“Adminer”才可以使 用系统的功 能,所以“Adm 所er”必须与用例“登 录”交互,也即“Adm 所er”在使 用系统前,要使 用用 户名和 密 码进行登 录,系统验证用 户 的 密 码 正 确后,用 户才可以 执 行进一 步 的 操作。系统的用例 图如下 图所 示:tencher图2.1 系统用例图2.3 用例 的事件 流描 述用例 的事件 流 是对完成 用例 行为 所 需的事件 的 描 述。它描 述系统 应 该做什么,而不 是描 述系统 应 该 怎样做。开始,只 是对执 行用例 的 常 规 流所 需的 步 骤的简单 描 述。
9、随着分 析 的进行,通过 添入 更多 的详细信 息,步 骤不 断 细化。最后,将例 外流添 加到 用例 的事件 流描 述中。学 生 成 绩管理系统的用例事件 流描 述 如下:2.3.1 选课在 这个 用例 开始前,student 必 须登 录到 系统中。如果 这个 用例 成功,在系统中建立并存储选课记 录,否则,系统的状 态没有变化。当学 生选课 时,用例启动。学 生 打开 系统的选课系统,出 现选课界 面,支流ST:开 课目 录。支流S-2:选课 情况。S-1:选课目录(1)提供 学期分 类。(2)检 索课程类别(kind)(E-1)(3)检 索要选课程名(coursename)(E-2),
10、(4)创 建 选课记 录。(5)存储 选课记 录。S-2:选课 情况(1)提供 是否 要书。(2)是否加 权分。(3)是否 撤 销。(4)查 看选课记 录。E-1:大方向 总体分 类。E-2:具体 课程名。2.3.2取消选课在 这个 用例 开始前,student 必 须登 录到 选课系统中。如果 这个 用例 成功,系统删 除该选课记 录。否则,系统的状 态没有变化。当学 生取 消 选课 时,用例启动。(1)检 索选课程名(E-1)o(2)删 除选课记 录。E-1:若选课记 录不 存在,系统 显 示 提 示信 息,用例 终 止。2.3.3 输入 成 绩在 这个 用例 开始前,teacher 必
11、须登 录到 系统中。如果 这个 用例 成功,系统 建 立输入 成 绩记 录。否则,系统的状 态没有变化。当teacher 输入 成 绩 时,用例启动。(1)检 索 学 生。(E-1)(2)输入 成 绩。(3)将 选课 成 绩 存储 在 系统中。E-1:该 学 生不 存在,系统 显 示 提 示信 息,用例 终 止。E-2:系统中不 存在 该 学 生,系统 显 示 提 示信 息,用例 终 止。2.3.4 更改成 绩在这个用例开始前,teacher 必 须登 录到 系统中。如果 这个 用例 成功,系统修 改 选课 成 绩。否则,系统的状 态没有变化。(1)检 索 学 生(E-l)o(2)修 改成 绩
12、记 录。(3)将修 改 记 录存入 系统E-1:该 学 生不 存在,系统 显 示 提 示信 息,用例 终 止。2.3.5 维 护学 生信 息在这个用例开始前,Adminer 必 须登 录到 系统中。如果 这个 用例 成功,系统 添加、修 改或删 除 学 生信 息。否则,系统的状 态没有变化。当Adminer 想 维 护学 生信 息时,用例启动。系统要 求Adminer 选 择所想执 行的 活动(添加 学 生、删 除 学 生、修 改学 生)。如果所选的活动是“添加 学 生”,则 执 行分 支流S-1:添加 学 生。如果所选的活动是“删 除 学 生”,则 执 行分 支流S-2:删 除 学 生。如果
13、所 选的 活动是“修 改学 生”,则 执 行分 支流S-3:修 改学 生。S-1:添加 学 生(1)提供 学 生的信 息,如姓名、学号 等。(2)系统 存储 学 生信 息(E-l)oS-2:删 除 学 生(1)提供 学 生的信 息。(2)查 询 学 生(E-2)o(3)查询学生的记 录(E-3)o(4)从 系统中删 除 学 生的信 息,以及 学 生的选课记 录。S-3:更改学 生(1)提供 学 生的信 息。(2)查 询 并显 示 学 生的信 息(E-2),修 改 相 应 的信 息。(3)更新 系统中 学 生的信 息。E-1:若 学 生 已存在,系统 显 示 提 示信 息,用例 终 止。E-2:
14、若 查 询不到 学 生,系统 显 示 提 示信 息,用例 终 止。E-3:若 无 记 录,系统 显 示 提 示信 息,用例 终 止。2.3.6 维 护教师信 息在这个用例开始前,Adminer 必 须登 录到 系统中。如果 这个 用例 成功,系统 添加、修 改或删 除 教师信 息。否则,系统的状 态没有变化。当Adminer 想 维 护教师信 息时,用例启动。系统要 求Adminer 选 择所想执 行的 活动(添加 教师、删 除 教师、修 改教师)如果所 选的 活动 是“添加 教师”,则 执 行分 支流S-1:添加 教师信 息。如果所 选的 活动 是“删 除 教师”,则 执 行分 支流S-2:
15、删 除 教师信 息。如果所 选的 活动 是“修 改教师”,则 执 行分 支流S-3:修 改教师信 息。S-1:添加 教师信 息(1)提供 教师名 字、所教 课程名 等信 息。(2)在 系统中 添加 该 教师信 息(E-l)oS-2:删 除 教师 生信 息(1)提供 所 要删 除的 教师信 息。(2)查 询 所 要删 除的 教师(E-2)o(3)删 除该 教师 的记 录(E-3)o(4)从 系统中删 除 教师信 息,以及 相关 的记 录。S-3:更改教师信 息(1)提供 教师信 息。(2)查 询 并显 示 教师信 息(E-2),并做相应修改。(3)更新 系统中 的 学 生信 息。E-1:若 教师
16、信 息已存在,系统 显 示 提 示信 息,用例 终 止。E-2:若 查 询不到 该书 老 师,系统 显 示 提 示信 息,用例 终 止。E-3:若 无 记 录,系统 显 示 提 示信 息,用例 终 止。2.3.7 维 护 系统信 息在这个用例开始前,Adminer 必 须登 录到 系统中。如果 这个 用例 成功,系统 添加、修 改或删 除系统信 息。否则,系统的状 态没有变化。当Adminer 想 维 护 系统信 息时,用例启动。系统要 求Adminer 选 择所想执 行的 活动(添加信 息、删 除信 息、修 改信 息)。如果所 选的 活动 是“添加系统 消息”,则 执 行分 支流S-1:添加
17、系统信息。如果所 选的 活动 是“删 除系统信 息”,则 执 行分 支流S-2:删除系统信息。如果所 选的 活动 是“修改系统信息”,则 执 行分 支流S-3:修 改 系统信 息。S-1:添加 系统信 息(1)提供 添加信 息 种类。(2)查 询信 息 种类(kind),确 定 系统中 已存在 该书刊 种类(E-1)o(3)创 建信 息名。(4)将 系统信 息存储到 系统中。S-2:删 除系统信 息(1)提供 系统信 息 种类。(2)查 询信 息名(newname)(E-2)o(3)删 除系统信 息。(4)从 系统中删 除系统信 息后,并更新 相关信 息。S-3:修 改 物理 学 生信 息(1
18、)提供 系统信 息 种类。(2)查 询系统信 息 种类(kind)(ET)。(3)查 询 并显 示该系统信 息 的 所有消息。(4)选 择信 息名修 改其信 息。(5)更新 系统中 系统信 息 的信 息。E-1:若系统中不 存在 该信 息 种类,添加 该书刊 种类信 息E-2:若 存在 该信 息,则删 除。2.3.8 登 录如果 用例 成功,参与 者可以启动 系统 并使 用系统 所提供 的功 能。反 之,系统的状 态不变。当 用 户希望 登 录到 系统中 时,用例启动。(1)系统 提 示用 户 输入 用 户名和 密 码。(2)用 户 输入 用 户名和 密 码。(3)系统验证输入的用户名和密码,
19、若 正 确(E-1),则 用 户 登 录到 系统 中。E-1:如果 用 户 输入 无效 的用 户名和/或密 码,系统 显 示错误信 息。用 户可以 选 择 返 回基流 的起 始点,重 新 输入 正 确的用 户名和/或密 码;或 者取 消 登 录,用例 结 束。第3 章静 态 结 构模型进一 步分 析 系统需 求,发 现类以及 类之 间的关 系,确定它们的静 态 结 构和动 态 行为,是 面向 对 象分 析 的 基本任务。系统的静 态 结 构模型 主 要用类 图和 对 象 图描 述。3.1 定义 系统 对 象系统 对 象的识别可以 通过 寻找 系统 域 描 述和 需 求描 述中 的名 词 来 进
20、行。从前 述的系统需 求描 述中可以 找到 的名 词 有:学 生(student)、教 师(teacher)管理员(adminer),这些都是对象图中的候选对象。判 断是否 应 该为 这些候 选 对 象创 建 类的 方法是:是否 有与 该 对 象相 关 的身份和 行为?(1)学 生(student)学生是有 身份的,具 有 相同名 字和不同 账号 的两个人也 是不同 的。在这个系统中,学 生 有 相关 的行为,学 生可以 选课、取 消 选课,所以 学 生 应 该 成为 系统中 的一个 对 象。(2)教师(teacher)教师也 有 身份,具 有 相同名 字和不同 账号 的两个人也 是不同 的。
21、在 这个 系统中,教师有 相关 的行为,教师可以上传 成 绩、修 改成 绩,所以 教师应 该 成为 系统中 的一个 对 象。(3)选课记 录(course load)选课记 录也 有 身份,选课记 录可以 被 彼此区别,不会 被 搞混。例 如,同一个人关于不同 课程的选课记 录是不同 的,同一 门课程被不 同 学 生的选课记 录也 是不同 的。(4)成 绩记 录(score load)成 绩记 录也 有 身份 的,成 绩记 录可以 被 彼此区别,不会 被 搞 混。例 如,同一个人关于不同 课程的 成 绩记 录是不同 的,同一 门课 程被不同 学 生的 成 绩记 录也 是不同 的。上 述4个 类
22、都 是实体 类,都 是持久 性 的,需要 存储 在数据库中。本 系统采用面向 对 象 数据库 模型,为了便于从 数据库文件中 引 用和 检 索 对 象,需要一个 描 述 对 象ID 的类。另 外,由于上 述4个 类都 是持久 性 类,因此 还可以 抽 象出一个代 表 持久 性 的父类,该类 实 现了 面向 对 象 数据库 文件 的读、写、存储、检 索、删 除、更新 等 操作。综上 所 述,系统中 还 应该有两个与 数据库有关的类:对 象ID(OID)和 持久 类(Persistent)(5)类 Persistent类 Persistent 是 类 student teacher、course
23、load 的父类。类Persistent为商业 对 象的 持久 存储 提供了 支持,它 的 子 类 必 须 实 现从 数据库文件中 读、写 对 象 属性 的 操作。(6)类0ID 实 现了 对 象ID。类0ID 的 对 象可 用 来引 用系统中 的 持久 皿 对 象,使 得从 数据库文 件中 引 用和 检 索 对 象变 得容易。抽 象出 系统中 的类后,需要确 定 这些 对 象的 属性和 行为。可以根据 前 述的系统需 求分 析、用例 图、用例的事件 流描 述和描述脚 本的交互作 用 图,来 确 定并 细化 系统中 的类、类的 操作和 属性。下 面 对 系统中 的类、类的 属性及 操作 逐一
24、进行 描 述。(未标注 返 回值 类 型 的 方法使 用缺省返 回 类 型void)。类student 属性、方法 见下 图3.1 类teacher 属性、方法 见下 图3.2 类course load 属性、方法 见下 图3.3 Score load 属性、方法 见下 图3.4 类Persistent 属性、方法 见下 图3.5 类0ID 属性、方法 见下 图3.6Student TeacherName:string Name:stringstudentID:string teacher ID:stringcourseloans:OID courseloans:OIDscordloans:O
25、ID scoreloans:OIDNewstudentO NewteacherOFindstudentO FindteacherOGetstudentO GetteacherOAddcourseloadO AddcourseloadOGetcourseloans()GetcourseloansODelcourseloans()DelcourseloansO,WriteO WteOReadQ ReadQSetcoursenameO SetcoursenameOSetcourselDO SetcourselDOsetnameO setnameOgetIDO getIDOgetscoreO set
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 分析 设计 应用 UML 建模
限制150内