ttzztztz / UML-Course-Design

This course is very useful, however, its course design is SO BORING !!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

面向对象分析与设计课程作业及课程设计要求
2020.10
1内容要求
请根据本文“4系统需求及用例描述”,完成选课系统(系统名称:CourseEnroll)的系统分析与设计模型。具体内容包括:
系统类图:三层结构的系统类图,给出全部类名设计、类关系设计,说明每个实体类的属性值含义;
系统用例图:完整覆盖系统需求,简要说明(Summary)每个用例和每个参与者;
注册课程用例的活动图:活动图与注册课程用例的事件流描述相符,控制流过程设计清晰合理;
注册课程用例的时序图:覆盖注册课程用例的全部事件流,其中一个顺序图给出包括界面类对象和控制类对象的第二阶段顺序图,且与(1)(2)(3)相符;
2个核心类的设计类图、状态图:设计类的属性部分具有完整准确的属性名和属性类型,与(1)相符;设计类的方法部分,具有注册课程用例所需的完整准确的方法名、参数名和参数类型,其类方法设计与(4)相符;状态图的状态和转换设计与(4)相符;
系统组件图,三层结构的组件图,组件设计与(1)的类设计相符;
系统部署图,按照C/S结构,给出服务器和客户端的节点和进程;
1个设计类的生成代码,用RationalRose生成源代码文件,类名与(5)一致。

2提交说明
需提交一份作业纸质文档、一份作业电子文档、一份模型电子文档,说明如下:
作业纸质文档,请按照本文末尾所附“作业文档模板”的格式撰写并打印,交到软件学院北楼2楼“方少红”的实体信箱内;
上述纸质文档对应的作业电子文档(与“1)”相同内容)和“CourseEnroll.mdl”(­或者其他后缀名)模型文件,请一起打包,用“班级号+组长姓名”作为打包文件名,例如:“1801张三.zip”,发送到fangshaohong@hust.edu.cn电子邮箱。其中,作业纸质文档、作业电子文档以及CourseEnroll.mdl模型文件中的图形部分应一致。
对于纸质文档以及zip文件的提交,恕不接受版本更新,均以接收时间内,第一次收到的电子邮件和纸质文档为准。11月15日开始接收作业,截止时间为11月20日中午12:00点(北京时间)。考虑可能出现的邮件发送失败问题,接收邮件的备用邮箱为 flaviaf@263.net,经邮件正常提交的作业均会予以回复。
3组织和形式要求
组织要求:每组3人,设组长一名。
形式要求:纸质文档打印清晰;电子文档用Microsoft Word或者Adobe Acrobat Reader 能够阅读,模型文件用ROSE_ENTERPRISE_V7或者StarUML或者visio能够浏览;纸质文档中的图形模型与UML模型文件中的图形模型应相互一致。

4 系统需求及用例描述
选课系统需求描述

       某学院原来有一个旧的课程注册系统,计划开发一个新的课程注册系统。新系统容许学生利用局域网上的PC机来注册课程并查看自己的report card。
       report card包含了一个学生在一个学期中所有课程的所有成绩。学院计划保留旧系统中的课程目录系统,该课程目录系统中保存了所有的课程信息。新系统可以直接访问课程目录系统,但只读取课程目录系统中的课程信息不作更新,教务长通过其他系统维护课程目录数据库中的课程信息。
       每个学期初,学生可以获取这个学期所开设的所有课程的目录,在课程目录中包含每门课的详细信息。每个学生可以在一个学期中选4门主要课程,2门备选课程,每门课最多10人最少3人。在学期的选课期内,学生可以改变选课计划。选课结束,课程注册系统将向计费系统发送信息以便学生能交费。学期结束,学生可以查询成绩。
新系统容许教授在学生选课前决定要教哪些课程,并获取所教课程的信息,如哪些学生选了他们的课,可以登记成绩,但不能查看和登记非自己所教课程的成绩。

注册课程用例描述

      1 用例名称:注册课程
      1.1  简要描述
      这个用例允许学生注册本学期需要学习的课程。在学期开始阶段,学生可以修改或者删除所选择的课程。课程目录系统提供了本学期开设的所有课程列表。
      1.2   事件流程
      1.2.1  基本流程
      当学生希望注册课程,或想改变他的课程计划(schedule)时,用例开始执行。
      1)系统要求学生选择要执行的操作:创建计划,修改计划,或删除计划;
      2)一旦学生提供了系统要求的信息,以下子流程中的某一个将被执行。
      (1)如果学生选择的是“create a schedule”,则“创建计划”子流程将被执行;
      (2)如果学生选择的是“update a schedule”,则“修改计划”子流程将被执行;
      (3)如果学生选择的是“delete a schedule”,则“删除计划”子流程将被执行。
      1.2.1 .1 创建计划
      1)系统从课程目录系统中检索出有效的课程列表并显示;
      2)学生从有效课程列表中选择4门主选课和2门备选课;
      3)当学生完成选择后,系统将为这个学生创建一个“课程计划”,这个课程计划包含了学生所选的课程;
      4)执行“提交计划”子流程。
      1.2.1.2  修改计划
      1)系统检索并显示学生当前的课程计划;
      2)系统从课程目录系统中检索出有效的课程列表并显示;
      3)学生从有效的课程列表中选择要增加的课程,也可以从当前的课程计划中选择任何想要删除的课程;
      4)当学生完成选择,系统将修改这个学生的课程计划;
      5)执行“提交计划”子流程。
      1.2.1.3  删除计划
      1)系统检索并显示学生当前的课程计划;
      2)系统提示学生确认这次删除;
      3)学生确认这次删除;
      4)  系统删除课程计划。
      如果这个课程计划中包含“已注册”(enrolled in)的course offering,则在 course offering 中删除关于这个学生的信息。
      1.2.1 .4  提交计划
      1)对于课程计划中所选的每门课程,如果还没有标记为“已注册”,则系统将验证学生是否满足选修条件、课程是否处于“open”状态以及课程计划中是否没有冲突。如果验证通过,则系统将把学生加到所选的course offering中,课程计划中所选的课程标记为“已注册”;
      2)课程计划被保存在系统中。
      1.2.2  可选流程
      1.2.2.1  保存计划
      在任何情况下,学生可以选择保存课程计划而不提交课程计划。在这种情况下,“提交计划”这一步被下面的步骤所代替。
      1)课程计划中没有被标记为“已注册”的课程应标记为“选择”(selected);
      2)课程计划被保存在系统中。         
      1.2.2.2 选修条件不满足或课程满员或课程计划冲突
      如果在“提交计划”子流程中,系统检测出学生没有满足选修条件,或学生所选的课程已满,或课程计划存在冲突,则系统显示错误消息。学生可以选择其他课程(用例继续),或保存课程计划(和“保存计划”子流程一样) ,或取消此操作,如果是取消操作,则用例基本流程重新开始。
      1.2.2.3 没有找到计划
      如果在“修改计划”或“删除计划”子流程中,系统不能检索到学生的课程计划,则系统显示错误信息。学生确认该错误,用例基本流程重新开始。
      1.2.2.4 课程目录系统不可用
      如果系统不能和课程目录系统通讯,则系统将向学生显示 错误信息,学生确认该错误,用例终止。
      1.2.2.5  课程注册结束
      如果在用例开始的时候,系统检测到已经过了本学期的课程注册时间,则系统将向学生显示信息,用例终止。学生在本学期的课程注册结束后就不能再注册课程了。
      1.2.2.6 取消删除
      如果再“删除计划”子流程中,学生决定不删除课程计划了,则删除被取消,用例基本流程重新开始。
      1.3  特殊需求
      无
      1.4  前置条件
      开始这个用例之前,学生必需已登录到系统。
      1.5  后置条件
      如果用例成功结束,则会创建、修改或删除学生的课程计划,否则系统的状态不变。
      1.6  扩展点
      无  

About

This course is very useful, however, its course design is SO BORING !!


Languages

Language:C++ 100.0%