OOAD实验三

来源:互联网 发布:微艾薇h5建站 编辑:程序博客网 时间:2024/06/06 10:06

1、图形文档


2、文字说明

1)类图综述

       整个类图对选课系统中所有的分析类,目的在于直观的展示出实体类、控制类和边界类。

2)类描述

       学生:

       •整体说明:

              类名:“学生”;责任:把参与者“学生”所具有的所有属性和应有的操作具体到实体类“学生中”;继承:该类只继承Object类;多重性:与“课程”之间:一对多;与“选课清单”之间:多对多;与“选课表”之间:多对多。

       •属性说明:

              “姓名”,具体学生实例的姓名,类型为String,可见性为private;“学号”,具体学生实例的学号,类型为String,可见性为private;“密码”,学生个人账号登录的密码,类型为String,可见性为private。

       •操作说明:

操作名:“登录”;操作的作用:学生输入账号和密码登录到选课系统;可见性:public;参数列表:账号(String)、密码(String);返回类型:boolean;约束条件:网络连接正常。

操作名:“修改密码“;操作的作用:学生输入账号和旧密码,进行设置新密码;可见性:public;参数列表:账号(String)、旧密码(String)、新密码(String);返回类型:boolean;约束条件:已经成功登录到选课系统。

操作名:“选课“;操作的作用:学生选择课程;可见性:public;参数列表:学号(String),课程号(String);返回类型:boolean;约束条件:已经成功登录到选课系统。

操作名:“查询课程内容“;操作的作用:查看课程的详细介绍,课程涉及到的知识点等等;可见性:public;参数列表:课程名(String);返回类型:String;约束条件:已经登录到选课系统。

操作名:“查询教师介绍“;操作的作用:查询具体老师的介绍,教师的学历,教学经验等等。可见性:public;参数列表:教师名(String);返回类型:String;约束条件:已经登录到选课系统。

操作名:“查询本学期已选课程”;操作的作用:查询个人已经选择的课程;可见性:public;参数列表:学生号(String);返回类型:ArrayList<String>;约束条件:已经登录到选课系统。

操作名:“查询可选课程”;操作的作用:查询个人可以选择的左右课程;可见性:public;参数列表:学生号(String);返回类型:ArrayList<String>;约束条件:已经登录到选课系统。

操作名:“查询已有成绩”;操作的作用:查询个人已经修得的所有学分;可见性:public;参数列表:学生号(String);返回类型:int;约束条件:已经登录到选课系统。

       课程:

       •整体说明:

              类名:“课程”;该类的实例对应选课系统中供学生选择的每门课程,只继承Object类,与“学生”之间的多重性为多对一,与“选课表”之间的多重性为多对一;

       •属性说明

              “课程名称”:课程实例的名称,类型为String,可见性为private;“课程号”:课程实例的id,类型为String,可见性为private;“课程类别”:课程所属的类别,类型为String,可见性为private;“学分”:顺利选修该门课程将会得到的学分,类型为int,可见性为private;“总学时”:修完该课程一共要上多少节课,类型为String,可见性为private;“限选人数”:该门课程所提供的名额,类型为int,可见性为private;“剩余名额“:课程还剩余多少个名额,类型为int,可见性为private;”上课地点“:上课的楼号和课室号,类型为String,可见性为private;”上课时间“:上课的具体时间,具体到时刻;类型为String,可见性为private;”任课老师“:任课老师的姓名,类型为String,可见性为private;”课程内容介绍“:对课程内容的详细介绍,包括本门课程涉及到的知识点,同学所能学习到的技术等等,类型为String,可见性为private;”院系“:该门课程由哪个院系所开展,类型为String,可见性为private。

       •操作说明

              操作名:“查询”;操作的作用:查询具体课程的课程介绍;可见性:public;参数列表:课程号(String);返回类型:String;约束条件:已经登录到选课系统。

              操作名:“增加选择”;操作的作用:判断课程是否还有剩余名额,学生成功选择该课程时,使课程剩余名额减一;可见性:public;参数列表:课程号(String),学生号(String);返回类型:boolean;约束条件:已经成功登录到选课系统。

              操作名:“取消选择“;操作的作用:若学生取消选择该门课程,则剩余名额加一;可见性:public;参数列表:课程号(String),学生号(String);返回类型:boolean;约束条件:已经登录到选课系统。

 

 

       选课表:

       •整体说明:

              类名:“选课表“;选课列出某专业学生所有的课程,只继承Object类,与”学生“之间的多重性为多对多;与”课程“之间的多重性为1对多;与”选课清单“之间的多重性”为一对一;与”课程管理员“之间的多重性为多对多。

       •属性说明:

              “专业”:每个专业对应不同的选课表;类型为String,可见性为private;“课程列表”:选课表里所有的课程;类型为ArrayLsit<课程>;可见性为private;

       •操作说明

              操作名:“取消选择“;操作的作用:若学生取消选择该门课程,则剩余名额加一;可见性:public;参数列表:课程号(String),学生号(String);返回类型:boolean;约束条件:已经登录到选课系统。

              操作名:“增加课程”;操作的作用:学生选择课程;可见性:public;参数列表:课程号(String),学生号(String);返回类型:boolean;约束条件:已经登录到选课系统;

              操作名:“删除课程”;操作的作用:学生删除已经的课程;可见性:public;参数列表:课程号(String),学生号(String);返回类型:boolean;约束条件:已经登录到选课系统;

操作名:“查询”;操作的作用:学生查询课程介绍;可见性:public;参数列表:课程号(String);返回类型:String;约束条件:已经登录到选课系统;

操作名:“发布选课表”;操作的作用:将选课表发布到网上;可见性:public;参数列表:课程列表<课程>;返回类型:boolean;约束条件:已经登录到选课系统;

       选课清单:

       •整体说明:

              类名:“选课清单”,选课清单记录着每个学生和学生所选择的课程,只继承Object类,与”学生“之间的多重性为多对多;与“选课表”之间的多重性为一对一;与”课程管理员“之间的多重性为多对多

       •属性说明

              “学号“:选择了某一课程的学生对应的学号;类型为String;可见性为private;”课程号“:被学生选中的课程对应的课程号;类型为String;可见性为private。

       •操作说明

              操作名:“查询“;操作的作用:提供学生和课程管理员查询与统计数据使用;可见性:public;参数列表:学号(Stirng)或者课程号(String);返回类型:ArrayList;约束条件:已经登录到选课系统。

       课程管理员:

•整体说明:

类名:“课程管理员“;管理课程的管理员;只继承Object类;与选课清单“之间的多重性为多对多;与“选课表”之间的多重性为多对多;与“选课汇总表”之间的多重性为一对一

       •属性说明

              “姓名”:课程管理员的姓名;类型为String;可见性为private;“工作证号”:课程管理员的工作证号;类型为String;可见性为private;“密码”:课程管理员的登录系统的密码;类型为String;可见性为private;

       •操作说明

              “生成课程表”:根据课程设置提供的信息来生成课程表。

              “维护课程表”:对课程表进行维护,包括增加课程、删除课程等操作。

              “生成开课汇总表”:根据学生选课的最终结果,统计数据并生成开课汇总表。

向财务部发送教师任课信息”、“向教材部发送课程信息”、“向教师管理部发送任课信息”、“向成绩管理部发送选课信息”:选课结束后,课程管理员需要把相关信息发送给各个部门。

“登录”:课程管理员登录选课系统

“修改密码”:课程管理员修改个人的登录系统的密码

       选课汇总表:

       •整体说明:

类名:“选课汇总表”;汇总所有学生选课的最终结果,统计成选课汇总表;与“课程管理员”之间的多重性为一对一

       •属性说明

              “学号”:具体学生的个人学号;类型为String;可见性为private;“姓名”:具体学生的姓名;类型为String;可见性为private;“课程号”:具体课程的课程号;类型为String;可见性为private;“任课教师”:任课教师的姓名和工作号;类型为String;可见性为private;“学分:具体课程的学分值;类型为int;可见性为private;”上课时间”:具体课程的上课时间;类型为String;可见性为private;“上课地点”:具体课程的上课地点;类型为String;可见性为private;学时数”:具体课程的总课时数;类型为int;可见性为private;

       选择课程Control:

       •整体说明:

              该控制类的责任为:学生选择个人的课程。

       登录选课系统Control:

       •整体说明:

              该控制类的责任为:学生或者课程管理员登录选课系统。

       查询选课信息Control:

       •整体说明:

              该控制类的责任为:学生查询选课信息。

       生成并发布开课汇总表Control:

       •整体说明:

              该控制类的责任为:课程管理员生成并发布开课汇总表。

       生成及维护课程表Control:

       •整体说明:

              该控制类的责任为:课程管理员生成及维护课程表。

       学生登录界面:

       •整体说明:

              学生登录选课系统的入口,需要输入账号和密码。

       学生选课界面:

       •整体说明:

              学生选择个人课程的界面。

       查询选课信息界面:

       •整体说明:

              学生查询选课信息的界面,可以查询历史已选课程,教师介绍,课程信息等。

       学籍管理系统接口:

       •整体说明:

            与学籍管理系统进行交互的接口,例如学生查询个人的历史已选课程,就需要从学籍管理系统取数据。

       教材管理系统接口:

       •整体说明:

              与教材管理系统交互的接口,学生选课信息确定后需要向教材管理系统发送统计数据,准备教材。

       成绩管理系统接口:

       •整体说明:

              开课汇总表一旦发布,意味着选课结果已经确定,成绩管理系统需要为每个学生增添个人选择的课程。

       财务管理系统接口:

       •整体说明:

              开课汇总表发布,选课结果已经确定,向财务管理系统发送教师的任课信息。

       教师管理系统接口:

       •整体说明:

              学生查询教师的相关信息需要与教师管理系统进行交互,发布开课汇总表后也要向教师管理系统发送教师的任课信息。

       教室分配管理系统接口:

       •整体说明:

              课程管理员生成课程表需要根据来自课程设置管理系统的信息和教室分配管理系统的信息。

       课程设置管理系统接口:

       •整体说明:

              课程管理员生成课程表需要根据来自课程设置管理系统的信息和教室分配管理系统的信息。

       课程管理员登录界面:

       •整体说明:

              课程管理员登录到选课系统的界面,需要输入账号和密码。

       课程管理员管理开课汇总表界面:

       •整体说明:

              课程管理员生成及维护开课汇总表的界面。

       课程管理员管理选课表界面:

       •整体说明:

              课程管理员生成并维护选课表的界面。


0 0