教学管理系统 - OOA - 分析类图

2023-10-17 20:30

本文主要是介绍教学管理系统 - OOA - 分析类图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分析类图

图形文档:

文字说明:

类图综述

目的:围绕选课管理子系统分析类图

结构:界面-控制-实体

功能:提供课程查询、选课、生成选课表、生成开课汇总表功能。

组织:大体上以选课表为中心。

类描述

用户

整体说明:

抽象出来的用户类,用于保存查询数据

属性说明:

-姓名

-编号

-密码

操作说明:

+更新密码

+登录

关系说明:

有子类学生和课程管理员

定义对象:

学生

整体说明:

用于参加课程

属性说明:

操作说明:

+选课

+查询课程内容

+查询教师

+查询本学期已选课程

+查询已有成绩

+查询可选课程

关系说明:

继承用户

一个学生与类选课清单的一个或多个对象关联

一个学生与类选课表的一个或多个对象关联

一个学生与类课程的一个或多个对象关联

依赖学籍管理的方法

依赖教师管理的方法

定义对象:

课程

整体说明:

存放课程的数据

属性说明:

-课程名称

-课程号

-课程类别

-学分

-总学时

-周学时

-现选人数

-限选人数

-上课时间

-认可教师

-课程内容介绍

-院系

-学生类别

操作说明:

+查询

+增加选择

+取消选择

关系说明:

一个课程与类B的一个或多个对象关联

课程组合到选课表中

定义对象:

选课表

整体说明:

存放多个课程的类

属性说明:

-专业

-做仪表

-特殊日期

操作说明:

+增加课程

+删除课程

+关闭

+查询

+发布

关系说明:

课程是选课表的组成部分

一个选课表与类学生的多个对象关联

一个选课表与类课程管理员的多个对象关联

一个选课表与类选课清单的一个对象关联

定义对象:

课程管理员

整体说明:

用于管理与维护选课表,生成并发布开课汇总表

属性说明:

操作说明:

+生成选课表

+向财务部发送课程信息

+向教材部发送课程信息

+向教师管理部发送任课信息

+维护选课表

+生成开课汇总表

关系说明:

依赖课程设置

依赖教师分配

一个课程管理员恰好与类开课汇总表的一个对象关联

一个课程管理员与类选课清单的一个或多个对象关联

一个课程管理员与类选课表的一个或多个对象关联

继承自用户

定义对象:

开课汇总表

整体说明:

处理课程管理界面类传来的数据

属性说明:

操作说明:

-学号

-姓名

-课程号

-课程名

-任课教师

-上课时间

-上课地点

-学时数

-班级

关系说明:

一个开课汇总表恰好与类课程管理员的对象关联

定义对象:

选课清单

整体说明:

学生选课后生成选课清单,选课时间结束后由课程管理员计算生成开课汇总表

属性说明:

-学号

-课程号

操作说明:

+查询

+增加课程

+删除课程

关系说明:

一个选课清单由类选课表的一个对象关联

一个选课清单与类学生的一个或多个对象关联

一个选课枪弹与类课程管理员的一个或多个对象关联

定义对象:

关联描述

关联1

课程管理员通过子系统“课程设置管理”实现的接口“课程设置”获得本学期教学大纲,并通过子系统“教室分配管理”实现的接口“教室分配”获得对本学期各课程所在教室情况。根据上述信息生成选课表,其中包括课程的详细信息。在发布选课表前,课程管理员可增删改(维护)选课表中的课程;在第三周,课程管理员还要从中去掉未达到规定人数的课程。为了完成上述工作,类“课程管理员”与类“选课表”设立关联“管理”。

关联2

在选课结束后,课程管理员要依据选课情况生成最终的开课汇总表,并进行发布,为此在类“课程管理员”与类“选课清单”间设立关联“计算”,在类“课程管理员”与类“开课汇总表”间设立关联“生成”

关联3

学生通过接口“学籍管理”查看自己已经取得的各科成绩,同故宫接口“教师管理”查看任课教师的情况,因此在类“学生”与上述两个接口间存在着依赖关系。

关联4

学生要通过课程号查询课程内容,或通过在课程表中找到相应的课程名再进一步查看内容,因此在类“学生”与“选课表”以及类“课程”间均设立关于查询的关联。

关联5

在选课截至前,学生可随时在选课表中选择课程,并把所选结果记录在选课清单中。但在选课截止后,学生只能查看选课清单中自己的那部分。因此,在类“学生”和类“选课清单”间均设立关联“查询本学期已选课程”,在类“选课表”和类“选课清单”间均设立关联“记录”。在类“学生”和类“选课表”间要设立关联“选择”。因为可能只查询不选课,也可能选课,因此把在二者间的关联命名为“课程查询/选择”

继承描述

类学生与类选课管理员都需要登录才能操作,因此继承自类用户

依赖描述

依赖1

学生->学籍管理

依赖2

学生->教师管理

依赖3

课程管理员->课程设置

依赖4

课程管理员->教室分配

其他与类有关的说明


这篇关于教学管理系统 - OOA - 分析类图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/227771

相关文章

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景