uml学生选课系统课程设计.docx
《uml学生选课系统课程设计.docx》由会员分享,可在线阅读,更多相关《uml学生选课系统课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
uml学生选课系统课程设计
信息科学与技术学院
《面向对象分析与设计》课程作业
题目名称:
学生选课管理系统
学生姓名:
学号:
专业:
班级:
指导教师:
完成日期:
2012年5月19号
目录
第一章简介1
1.1系统简介1
第二章需求分析2
2.1系统需求分析2
2.1.1系统需求分析2
2.1.2系统用例图3
2.1.3领域模型图4
第三章系统分析5
3.1系统分析5
3.1.1用例图说明5
3.1.2管理员时序图6
3.1.3教师提交成绩时序图7
3.1.4学生选课(退选)时序图)8
3.2学生选课系统协作图8
3.2.1教师提交成绩协作图8
3.2.2学生选课协作图9
第四章系统设计10
4.1系统类图10
4.2类图说明11
4.2组件图12
第五章开发总结与分工13
第一章简介
1.1系统简介
随着高校教学管理的系统化和计算机的网络化,以及学分制教学改革的加快,学生选课系统已成为教学教务管理的重要部分。
当前,高等院校正逐步实施学分制,学分制允许学生在一定范围内选择适合自己需要的课程,具有分散性、时间不确定性,难于人工调配与集中管理。
另外,随着各个高校扩招程度的加快,学生人数日益增加,造成教学资源比较紧张,这无疑增加了选课管理难度和教务管理人员的工作量。
传统基于集中式管理的选课无力适应这些新的变化,建立网上选课系统势在必行。
本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
同时还对系统的开发原理、功能特点和设计方案进行了介绍。
第二章需求分析
2.1系统需求分析
学生网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式——学生按照学校安排好的课程上课——已经不能适应新型的教学手段。
2.1.1系统需求分析
学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;
(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
2.1.2系统用例图
图2-1系统用例图
2.1.3领域模型图
图2-2领域模型图
第三章系统分析
3.1系统分析
3.1.1用例图说明
(1)系统的外部角色有:
学生用户、教师用户和管理员。
(2)系统主要用例的文档描述:
①学生管理用例:
学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。
②教师管理用例:
教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。
③信息管理用例:
管理员可见的功能,这个用例进一步分为三个用例:
学生信息管理用例、教师信息管理用例和课程信息管理用例。
④学生信息管理用例:
信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。
⑤教师信息管理用例:
信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。
⑥课程信息管理用例:
信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。
⑦修改密码用例:
所有用户都可见的功能,用于修改用户的密码信息。
(3)系统用例之间的关系:
①学生管理用例与选课、查看选课、退课三用例之间是包含关系。
②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。
③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。
④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。
⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。
⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。
3.1.2管理员时序图
图3-1user时序图
图3-2管理员时序图
3.1.3教师提交成绩时序图
图3-3教师提交成绩时序图
3.1.4学生选课(退选)时序图)
图3-4学生选课(退选)时序图
3.2学生选课系统协作图
显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。
使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。
3.2.1教师提交成绩协作图
在教师进行登录的时候,会有登录的口令,并验证身份自动的转入相应的界面进行下一步的操作。
并在操作后尽快的显示出结果,实现快速的运作。
图3-5教师提交成绩协作图
3.2.2学生选课协作图
和教师提交成绩的协作图类似,在登录的时候验证口令的真实性。
提高系统的安全性能,然后为学生提供选课的服务。
图3-6学生选课协作图
第四章系统设计
4.1系统类图
学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。
下面是系统类图:
图4-1系统类图
4.2类图说明
类图说明:
(1)User类是一个系统角色用户的基类。
方法有:
setID()设置新建立对象的ID号。
getID()获得对象的ID号。
setPassword()设置新建对象的密码。
getPassword()获得对象的密码。
User()为构造函数。
(2)Admin类继承自User类。
方法有:
modifyCourse()可以调用Course控制类中的方法实现管理员拥有教师的权力进行修改;
modifyElect()可以调用Elect控制类中的方法实现管理员拥有教师的权力进行修改;
SelectCourse(),SelectElect()的作用和上面一样,对相应的部分进行更改。
(3)Student类继承自User类,主要方法有:
SelectElect()用于查询相关的信息;
delElect()用于删除学生所选择的课程;
addElect()调用控制类实现添加课程;
updateElect()用于更新学生选课信息。
(4)Teacher类继承自User类,主要方法有:
addCourse()用于添加教师;
delCourse()用于删除教师;
updateCourse()用于更新教师信息;
Teacher()用于获取教师列表。
(5)Course类是一个课程类,主要方法有:
addCourse()用于添加课程;
delCourse()用于删除课程;
updateCourse()用于修改课程信息;
getCourses()用于获取课程列表。
(6)Elect类是一个选课表类,主要方法有:
elect()选修课程;
electDel()退选课程;
getElectInfo()获取选课信息;
haveSubmit()检测是否已提交过成绩;
submitScore()提交成绩。
4.2组件图
图4-2组件图
第五章开发总结与分工
通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
分步骤的完成功能模块:
1.收集简单需求,利用UML和RationalRose工具对系统进行建模;
2.根据前述需求的分析,进行需求建模,绘制系统的用例图、活动图和时序图;
3.根据用例模型,进行架构建模,绘制系统的状态图,类图和交互图;
4.绘制系统中某些重要功能的对象图;
5.绘制系统的组件图和部署图;
一、用例图从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。
用例图常用来对需求建模
学生选课系统的参与者:
学生,管理员,数据库管理系统是另外一个活动者
学生---浏览选课界面—〉查询已选课程,选课
管理员---进入系统管理界面—〉建立课程,改动,删除课程
通过对角色的不同设置了用例,其功能的向异性进行了用例图的设计。
二、时序图通过表示对象间的关系和处理的消息来对系统的动态特性建模。
1寻找对象(实体对象:
保存信息映射数据库中的表和字段;边界对象:
接口;控制象。
)
2寻找角色(事件流和确定过程由谁或由什么启动)。
3将消息加进图中
当对象及其连接有利于理解交互时,选择协作图;当了解序列时,选择序列图。
序列图清晰地显示了时间次序,但没有显式地指明对象间关系;协作图清晰地显示了对象间关系,但时间次序必须从顺序号来获得。
序列图常用于场景显示,协作图更适合显示过程设计细节。
三、类图来描述系统的内部结构,是对系统进行静态建模的重要技术之一。
使用类图能够清晰的知晓各个类之间的关系和相互之间的关系,更加有利于开发。
对类图的设计,能够轻松的将系统的工作量尽量小的分配到位,而且低耦合。
在前期的顺序图和用例中基本明确了类之间的关系和需要的方法,使用rose画出类图。
四、用于描述软件组件以及组件之间的组织和依赖关系。
他们都会用到DateCase的类,对数据库进行操作,设置一个减少了访问数据库的链接数量。
评语: