uml学生成绩管理系统.docx
《uml学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《uml学生成绩管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
uml学生成绩管理系统
uml学生成绩管理系统
————————————————————————————————作者:
————————————————————————————————日期:
《面向对象分析与设计(UML)》
课程设计报告
设计题目:
学生成绩管理系统
院系:
计算机科学与工程学院
专业:
软件工程
班 级:
学号:
姓名:
指导教师:
设计地点:
开课时间:
2012至2013学年第1学期
常熟理工学院计算机科学与工程学院制
学生姓名 成绩
评语:
指导教师(签名)
年月日
1.设计目的和任务.........................................................................................1
2.开发环境...................................................................................................2
2.1硬件环境............................................................................................2
2.2软件环境.............................................................................................2
3.设计题目......................................................................................................3
3.1题目名称............................................................................................3
3.2题目详细描述.....................................................................................3
3.3功能要求.............................................................................................3
4.相关技术及知识点......................................................................................4
4.1UML的建模语言.........................................................................................4
4.2RUP软件开发过程.....................................................................................4
4.3RationalRose…………………………………………………………………4
5.设计...........................................................................................................5
5.1用例图…………………………………………………………………...5
5.2概念模型……………………………………………………………………8
5.3类图……………………………………………………………………….9
5.4顺序图……………………………………………………………………….10
5.5协作图………………………………………………………………………13
5.6状态图………………………………………………………………………15
5.7活动图……………………………………………………………………….16
5.8组件图、部署图………………………………………………………………17
6.双向工程....................................................................................................19
7.总结............................................................................................................26
8.参考资料……………………………………...................................................27
1.设计目的和任务
学生成绩管理在大学里是一件非常耗时的活动,学校还面临着给学生缺考的问题。
在学生选择那些课程后,教务处将这些信息输入到一个计算机系统,然后给没一人打印一份课表和对应的成绩表给学生。
一旦给所有学生都登记好了成绩,突然出现成绩错误是,教务处就需要询问学生以便得到其他选择。
改学生成绩管理系统是一个面向学生,教师用来进行对学生成绩管理的管理信息系统。
该信息系统能够为师生提供各种管理服务。
(1)学生成绩查询系统能够为一定数目的学生提供服务,每个学生都能够有唯一的账号,每一个账号包括个人的编号和个人信息,系统通过一个单独的程序为学生提供服务,不需要人员的干预,这些服务包括:
查询成绩,修改自己的密码;
(2)学生的成绩需要教师对其进行录入和修改,或删除,既学生不直接与系统交互,教师代其与系统进行交互,当然教师也可以进行对成绩的查询(3)而系统管理员主要负责的是对教忙或者学生的信息进行管理,并且管理员还得对本系统设置权限。
或者可以通过师生的唯一账号对成绩进行查询。
2.开发环境
2.1硬件环境
一台PC台式机或是便携式电脑
2.2软件环境
中文windows2000以上系统
RationalRose
3.设计题目
3.1题目名称
学生成绩管理系统
3.2题目详细描述
生成绩管理系统是专门针对学校所开发的一种以管理为基础的信息管理系统,它涵盖成绩管理服务的所有环节,将原始的人工统计方法转换为先进的电脑管理模式。
本系统是学生成绩管理系统。
输入一个同学的姓名和学号,系统能够输出学生所在的学院、班级、成绩等学生信息;对于已经录入学生成绩管理系统的学生信息可以进行修改,例如:
删除、添加。
对于没有录入学生成绩管理系统的学生信息可以添加到系统(此项功能的实现需要对用户身份进行核查);能够对学生的信息进行保存,即退出系统时,成绩成绩不能丢失;能够对学生成绩进行拷贝;能够登入和退出系统。
3.3功能要求
系统管理员登录系统后,通过身份验证,能够对学生的基本信息进行管理,包括如下:
添加学生信息、查询学生信息、修改学生信息、删除学生信息。
学生成绩管理系统为管理员、教师和学生提供服务接口以便他们进行管理操作。
同时,还为系统提供数据服务接口来管理系统。
系统总体功能需求如图所示:
4.相关技术及知识点
4.1UML的建模语言
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。
其中最常用的是建立软件系统的模型,但它同样可以用于非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。
UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。
在需求分析阶段,可以用用例来捕获用户需求。
通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。
分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。
总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
4.2RUP软件开发过程
RationalUnifiedProcess(RUP,统一开发过程)是一套面向对象的软件工程过程。
RUP说明了如何有效地使用成熟技术开发软件。
RUP中有9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。
9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。
业务建模(BusinessModeling)理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。
4.3RationalRose
RationalRose的特点
1.保证模型和代码高度一致
2.支持多种语言
3.为团队开发提供强有力的支持
4.支持模型的Internet发布
5.生成使用简单且定制灵活的文档
6.支持关系型数据库的建模
5.设计
5.1用例图
本系统是一个学生成绩管理系统,主要功能是为教师和学生方便查询成绩。
下面使用了用例图的方式表现了整个系统的所有功能。
1.参与者:
管理员:
教师:
学生:
2.管理员用例图:
3.教师用例图
4.学生用例图
用例说明:
⏹用例编号:
01
⏹用例名称:
学生查询成绩
⏹用例描述:
学生在浏览过程中,选中相应操作。
⏹参与者:
学生
⏹前提条件:
用户身份验证。
⏹事后条件:
若学生登录成功,且成绩查询无误,则该学生可以关闭该窗口,根据自己的意愿进行其他相关操作;如果登录不成功则终止操作。
基本路径:
1.系统确认用户已登录;
2.学生浏览想要查询的成绩;
3.确认成绩无误,关闭该窗口;
4.若成绩有误,直接向系统提出修改申请;
5.由系统进行数据库查询,核实成绩,把修改结果反馈给学生;
6.系统提示已批阅申请;
7.学生再次查看成绩,确认无误;
8.退出系统。
⏹用例编号:
02
⏹用例名称:
教师录入学生成绩
⏹用例描述:
教师录入相关学生的成绩到系统内。
⏹参与者:
教师
⏹前提条件:
学生成绩管理系统正常运行,用户身份验证通过。
⏹事后条件:
若管理员登陆成功,则教师可将相关学生的成绩录入到系统;否则管理员不可执行该操作。
基本路径:
1.教师进入学生成绩管理系统;
2.教师进入成绩管理界面;
3.教师输入相应成绩;
4.教师提交信息;
5.系统输出添加成功提示。
⏹用例编号:
03
⏹用例名称:
管理员修改信息
⏹用例描述:
管理员修改相应用户信息
⏹参与者:
管理员
⏹前提条件:
学生成绩管理系统正常运行,用户身份验证通过。
⏹事后条件:
若管理员登陆成功,且相应用户信息存在,则管理员可以修改相应用户信息;否则管理员不可执行该操作。
基本路径:
1.管理员进入学生成绩管理系统后台;
2.管理员进入用户管理界面;
3.管理员搜索相应用户,点击修改按钮;
4.管理员修改用户信息;
5.管理员提交信息;
6.系统输出修改成功提示。
⏹用例编号:
04
⏹用例名称:
用户登录
⏹用例描述:
用户根据自己的用户名和密码,登录到成绩管理系统
⏹参与者:
用户
⏹前提条件:
学生成绩管理系统正常运行。
⏹事后条件:
若用户登陆成功,该用户可进行权限范围内的相关操作;否则终止登录。
基本路径:
1.用户进入成绩管理系统;
2.用户输入用户名和密码;
3.系统对用户的账号和密码进行检查;
4.系统记录并显示当前登录用户;
5.用户进行权限范围内的相关操作;
6.系统允许进行权限范围内的相关操作。
5.2概念模型
5.3类图
在类图中类用矩形框来表示,它的属性和操作分别列在分格中。
如不需要表达详细信息时,分格可以省略。
一个类可能出现在好几个图中。
同一个类的属性和操作可只在一种图中列出,在其他图中可省略。
关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。
系统类:
(1).Students(学生类)
(2).Teachers(教师类)
(3).Manager(管理员类)
(4).Courses(课程类)
(5).Grades(成绩类)
成绩管理类图:
其他关系图:
5.4顺序图
顺序图表示了对象之间传送消息的时间顺序。
每一个类元角色用一条生命线来表示,即用垂直线代表整个交互过程中对象的生命期。
生命线之间的箭头连线代表消息。
顺序图可以用来进行一个场景说明——即一个事务的历史过程。
顺序图的一个用途是用来表示用例中的行为顺序。
当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
管理员管理学生信息顺序图:
图1.添加学生信息顺序图
图2.修改学生信息顺序图
图3.删除学生信息顺序图
教师录入学生成绩信息顺序图:
图4.教师录入学生成绩顺序图
教师修改学生成绩顺序图:
图5.教师修改学生成绩顺序图
教师删除学生成绩顺序图:
图6.教师删除学生成绩顺序图
学生查询成绩序列图:
5.5协作图
协作图和序列图都可以表示各对象间的交互关系,但它们的侧重点不同。
序列图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相关关系是隐含的。
协作图用各个角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系。
在实际中可以根据需要选用这两种图。
一个协作图描述了系统中为实现某些服务所涉及的对象扮演的角色及其相互之间的交互。
协作图着重于有协作关系的对象之间的交互和链接(指对象实例之间的物理或概念上的链接,一个链接是某关联的一个实例)。
它可用于图示系统中的操作执行、用例执行或一个简单的交互场景。
协作图描述了对象及其之间的链接,还描述了链接的对象之间如何发送消息。
管理员添加学生信息协作图:
图7.管理员添加学生信息协作图
管理员修改学生信息协作图:
图8.管理员修改学生信息协作图
管理员删除学生信息协作图:
图9.管理员删除学生信息协作图
5.6状态图
描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
可以捕获对象、子系统和系统的生命周期。
他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。
一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。
状态图是对类图的补充。
管理员状态图:
图10.管理员状态图
教师状态图:
图11.教师状态图
学生状态图:
图12.学生状态图
5.7活动图
活动图”可通过一系列操作将业务流程或软件进程以工作流的形式显示出来。
这些操作可以由人、软件组件或计算机来执行,使用活动图可以描述多种类型的流程。
管理员活动图:
图13.管理员活动图
教师活动图:
图14.教师活动图
学生活动图:
图15.学生活动图
5.8组件图、部署图
组件图(componentdiagram)是用来反映代码的物理结构。
从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。
部署视图表示运行时的计算资源(如计算机及它们之间的连接)的物理布置。
这些运行资源被称作节点。
在运行时,节点包含构件和对象。
构件和对象的分配可以是静态的,它们也可以在节点间迁移。
如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。
组件图:
部署图:
6.双向工程
生成代码如下:
Person类:
//Sourcefile:
E:
\\Java\\Person.java
publicclassPerson
{
privateStringname;
privateStringsex;
privateintage;
/**
*@roseuid50D028F000CB
*/
publicPerson()
{
}
}
Teacher类:
//Sourcefile:
E:
\\Java\\Teacher.java
publicclassTeacherextendsPerson
{
privateStringDepartment;
publicStudentstheStudents[];
publicCoursestheCourses[];
/**
*@roseuid50D028F00226
*/
publicTeacher()
{
}
/**
*@roseuid50CFF3FA0307
*/
publicvoidGet_CourseInfo()
{
}
/**
*@roseuid50CFF4120025
*/
publicvoidGet_ClassRoom()
{
}
/**
*@roseuid50CFF42400BD
*/
publicvoidGet_PersonalInfo()
{
}
}
Students类:
//Sourcefile:
E:
\\Java\\Students.java
publicclassStudentsextendsPerson
{
privateStringClass;
privateStringMajor;
privateStringDepartment;
publicCoursestheCourses[];
publicGradestheGrades[];
publicTeacherstheTeachers[];
/**
*@roseuid50D028F001C2
*/
publicStudents()
{
}
/**
*@roseuid50CFF0CA01EA
*/
publicvoidTest()
{
}
/**
*@roseuid50CFF0DB013A
*/
publicvoidGet_TestInfo()
{
}
/**
*@roseuid50CFF0FE0328
*/
publicvoidSearch_Grade()
{
}
}
Courses类:
//Sourcefile:
E:
\\Java\\Courses.java
publicclassCourses
{
privateStringDescription;
privateStringTeacher;
publicStudentstheStudents[];
publicTeacherstheTeachers[];
/**
*@roseuid50D028F00280
*/
publicCourses()
{
}
/**
*@roseuid50CFF1C20152
*/
publicvoidGet_CourseInfo()
{
}
/**
*@roseuid50CFF1DF0341
*/
publicvoidSearch_Teacher()
{
}
}
Grades类:
//Sourcefile:
E:
\\Java\\Grades.java
publicclassGrades
{
privateStringCourseName;
privateStringCourseID;
privateStringTeacher;
privateStringGrade;
publicStudentstheStudent;
/**
*@roseuid50D028F0010E
*/
publicGrades()
{
}
/**
*@roseuid50CFF2ED019F
*/
publicvoidGet_CourseInfo()
{
}
/**
*@roseuid50CFF30C014E
*/
publicvoidSearch_Teacher()
{
}
/**
*@roseuid50CFF31B032E
*/
publicvoidSearch_Grade()
{
}
}
Manage类:
//Sourcefile:
E:
\\Java\\Manage.java
publicclassManageextendsPerson
{
/**
*@roseuid50D028F00053
*/
publicManage()
{
}
/**
*@roseuid50CFF4890317
*/
publicvoidGet_TeacherInfo()
{
}
/**
*@roseuid50CFF49B0216
*/
publicvoidGet_StudentInfo()
{
}
/**
*@roseuid50CFF4A60366
*/
publicvoidManage_StudentInfo()
{
}
/**
*@roseuid50CFF4C0035C
*/
publicvoidManage_TeacherInfo()
{
}
}
7.总结
通过本次UML系统设计让我对UML建模有了进一步的认识,让我了解UML建模对开发程序有很大的益处。
这次的课程设计和平时上课时的实验题很相似,因此做的难度可能就会小了那么些,但是如何在新的项目中思考,考虑的更全面,可以让设计尽可能少的出现可能发生的问题,都是摆在我面前的难题。
在UML模型中能清晰的反映出程序的所有行为,为程序的开发和维护有很大的帮助,同时建模能将问题可视化、形式化,方便