Rational+Rose网上选课系统方案
- 格式:doc
- 大小:1.60 MB
- 文档页数:22
1.大学教师选择本学期要教授的课程,每位教师最多只能上报4门课程。
2.教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。
2.学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多为10人,最少为3人。
人数达到10人时,停止学生登记注册此门课程;3.学生选课结束后,系统自动取消人数少于三人的课程。
4.学生按最终的课程表到财务处办理收费手续(billing system)。
5.教师可查询所教课程的学生花名册(roster)。
6.教务管理人员维护学生、教师和课程的信息。
使用Rational Rose 进行UML可视化建模本课程以某所大学的《在线选修课程管理系统》为例来介绍怎样使用Rational Rose 进行UML可视化建模。
最终递交三个文件:regist.mdl, regist.sql, VB的代码或Java的代码。
内容:一、系统描述 (4)二、用例图(Use Case View) (4)三、活动图(Activity Diagram)(建立选修课程目录表) (7)四、相关的包和类以及简单类图 (13)五、用例实现图(Use Case Realization Diagram) (15)六、顺序图(Sequence Diagram)与合作图(Collaboration Diagram) (17)七、类图中的关系(Relationships) (20)八、类图中的操作与属性 (22)九、类图中的泛化 (24)十、状态图(Statechart Diagram) (28)十一、构件图(Component Diagram) (33)十二、部署图(Deployment Diagram) (36)十三、生成程序代码 (37)十四、创建数据库设计 (42)十五、附件1:转换后的Visual Basic程序 (46)十六、附件2:转换后的Java程序 (47)十七、附件3:生成的SQL语句 (48)一、系统描述7.大学教师选择本学期要教授的课程,每位教师最多只能上报4门课程。
学生选课系统项目设计方案一、设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。
二、设计正文<一>概述1.1课题题目:学生选课系统1.2系统的主要目标:本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
1.3 系统的开发环境及运行环境:操作系统: Windows XP Pro SP2建模工具: Rational Rose 2003数据库系统:SQL Server2000开发工具: Visual Studio 2005Web服务器:IIS+ 2.0平台〔二系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
〔1学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;〔2教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;〔3管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
UML面向对象分析与设计教程上海钱拓金融信息服务有限公司内部文档禁止外传目录一.Rational Rose 简介 (3)1.1 环境简介 (3)1.1.1 Rational Rose可视化环境组成 (3)1.1.2浏览器和视图 (4)1.1.3框图窗口 (5)二.UML各类框图的建立 (6)2.1建立用例图use case diagram (6)2.2建立活动图activity diagram (11)2.3建立类图class diagram (15)2.4建立交互图interaction diagram (20)2.4.1序列图sequence diagram (20)2.4.2协作图collaboration diagram (23)2.4.3序列图和协作图之间的转换 (26)2.5建立状态图statechart diagram (26)2.6建立构件图component diagram (30)2.7建立实施图deployment diagram (32)一.Rational Rose 简介Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。
Rational Rose中用例视图和逻辑视图的区别用例视图是从系统外部来看系统,逻辑视图是描述系统的内部结构。
两者之间的关系是实现关系,即,逻辑视图所描述的系统实现用例视图所描述的功能。
举个最简单的例子吧:对于很多系统都有的用户登录功能在用例视图中只描述用户在什么样的界面登录(是登录对话框,还是指纹鉴别器,还是身份识别卡,也许都可以),如何登录(是输入口令,还是将手指放在指纹阅读器上,还是将身份识别卡在读卡器上划过),系统有什么响应(登录成功后是显示正确提示,还是有悦耳的声音,还是吐出两张美金,登录失败后是回到登录界面,还是放个P,也许是从机器里冒出一只拳头打在用户的脸上)。
但不会描述系统内部如何去验证用户,以及如何出拳。
使用Rational Rose 进行UML可视化建模本实验以《在线选修课程管理系统》为例来介绍怎样使用Rational Rose 进行UML 可视化建模。
内容:一、系统描述 (2)二、用例图(Use Case View) (2)三、活动图(Activity Diagram)(建立选修课程目录表) (5)四、相关的包和类以及简单类图 (11)五、用例实现图(Use Case Realization Diagram) (13)六、顺序图(Sequence Diagram)与合作图(Collaboration Diagram) (15)七、类图中的关系(Relationships) (18)八、类图中的操作与属性 (20)九、类图中的泛化 (22)十、状态图(Statechart Diagram) (26)十一、构件图(Component Diagram) (31)十二、部署图(Deployment Diagram) (34)十三、生成程序代码 (35)十四、创建数据库设计 (40)十五、附件1:转换后的Visual Basic程序 (44)十六、附件2:转换后的Java程序 (45)十七、附件3:生成的SQL语句 (46)一、系统描述1.大学教师选择本学期要教授的课程,每位教师最多只能上报4门课程。
2.教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。
2.学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多为10人,最少为3人。
人数达到10人时,停止学生登记注册此门课程;3.学生选课结束后,系统自动取消人数少于三人的课程。
4.学生按最终的课程表到财务处办理收费手续(billing system)。
5.教师可查询所教课程的学生花名册(roster)。
6.教务管理人员维护学生、教师和课程的信息。
二、用例图(Use Case View)1.《在线选修课程管理系统》中的执行者(Actors)●注册选修课程的学生;●教授选修课程的教师;●教务管理人员必须汇总选修课程情况,制作课程表;●教务管理人员必须维护关于课程、教师和学生的所有信息;●财务管理系统从本系统中取出收费信息。
[收稿日期] 2004-09-10[作者简介] 邓子云(1979~),男,汉族,湖南双峰县人,湖南长沙环保学院计算机系系统分析师、高级工程师,主要研究方向为软件项目管理、企业信息化。
基于Rose 的教务排课系统业务建模邓子云(长沙环保学院 计算机系,湖南长沙 410004)[摘 要]教务排课是教务信息化的一个重要内容,相当多的学校急需一个高效的教务排课系统软件,以满足教务办公的需要。
文章介绍了RationaI Rose 这一软件建模工具,并详细阐述了用这一工具建立的案例图、序列图和协作图、状态图,利用这些图描绘出一个通用的教务排课系统的业务模型。
[关键词] Rose ;教务排课;业务建模;面向对象[分类号] TP319 [文献标识码] A [文章编号]1008-8113(2004)06-0052-05The Rose Business Model System forLesson AdministrationDENG Zi -yun(Department of computer Science ,changsha EnvironmentalProtection lnstitute ,changsha ,Hunan 410004,china )Abstract :Lesson administration is an important part in the informationazation of educationaI adminis-tration and a high -efficient software system is in great demand for Iots of schooIs to meet the needs of theteaching offices.This articIe introduces the software modeIing tooI of RationaI Rose ,expIaining in detaiI di-agrams of case ,seguence ,coIIaboration ,and state ,which are used to produce a usabIe business modeI sys-tem for Iesson administration.Key words :Rose ;Iesson administration ;business modeI ;objects 教务排课系统是教务信息化中的一个重要的内容。
网上选课UML设计网上选课系统主要包括如下功能:管理员通过管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库里并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
本系统拟使用Java语言通过三层模型实现:数据核心层,业务逻辑层和接入层。
其中,数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理、再映射到相应的数据层操作;而接口层包括用户界面,包括系统登入界面、管理界面、用户选课界面等。
本系统涉及的用户包括管理员(Registrar)和学生(Student),他们是用例图中的活动。
数据库管理系统是另外一个活动者。
注:因为付费方式的多样化,所以在此将不讨论涉及到付费有关的设计。
1.1用例图1.1.1事件流①添加课程事件流:1.管理员选择进入管理界面,用例开始。
2.系统提示输入管理员密码。
3.管理员输入密码。
4.系统验证密码。
A1:密码错误5.进入管理界面,系统显示目前所建立的全部课程信息。
6.管理员选择添加课程。
7.系统提示输入新课程信息。
8.管理员输入信息。
9.系统验证是否和已有课程冲突。
A2:有冲突10.系统添加新课程,提示课程添加成功。
11.系统重新进入管理主界面,显示所有课程。
12.用例结束。
其他事件流:A1:密码错误1.系统提示再次输入。
2.用户确认。
3.三次错误,拒绝再次访问。
4.否则进入添加课程事件流第5步。
A2:有冲突1.系统提示冲突,显示冲突课程信息。
2.用户重新输入。
3.继续验证直到无冲突。
4.进入添加课程事件流第10步。
注:删除课程事件流和修改课程事件流与此类似,在此不再详述。
②选课事件流:1.学生进入选课登入界面,用例开始.2.系统提示输入学号和密码.3.学生输入学号密码.4.系统验证:A1;验证失败。
5、进入选课主界面。
6、学生点击选课。
7、系统显示所有课程信息。
8、学生选择课程。
9、系统验证课程是否可选。
A2:不可选。
10、系统提示课程选择成功,提示学生交费。
11、用例结束。
错误流:A1:验证失败1.系统提示验证失败,提示重新输入。
2.三次失败,拒绝访问。
3.成功,转选课事件流第5步。
A2:不可选1.系统提示不可选及原因。
2.学生重新选课。
3.重新验证直至成功。
4.转选课事件流死10步。
注:查询事件流比较简单,在此不详述。
1.1.2用例图点击浏览器中的 Use Case View中的Main,弹出用例图窗口,添加用例如下图:活动者包括:People , Registrar , Student ,Database.其中Registrar和People之间是概括(generalization)关系,Student和People之间也是概括(generalization)关系。
用例包括:Select Course , Query Course , Pay for Course ,Add Course ,Modify Course , Delete Course.1.2活动图在用例图中分析了各个用例的事件流,故在此不在叙述。
根据用例里的事件流描述,得到各个用例的活动图。
1.2.1 Add Course 活动图在浏览器中,使用鼠标右键点击Use Case View,在弹出的菜单里选择“New”—“Activity Diagram”,则在Use Case View 中添加一项”State/Activity Model” ,该项产生一个名为“New Diagram”的活动图,将其改为“Add Course”.Add Course 活动图如下:分成三个泳道:用户接口,业务逻辑接口,数据库接口。
1.2.2 Delete Course 活动图在浏览器中,使用鼠标右键点击”State/Activity Model”,在弹出的菜单里选择“New”—“Activity Diagram”,该项产生一个名为“New Diagram”的活动图,将其改为“Delete Course”.Delete Course 活动图如下:同样分成三个泳道:用户接口,业务逻辑接口,数据库接口。
1.2.3 Modify Course 活动图在浏览器中,使用鼠标右键点击”State/Activity Model”,在弹出的菜单里选择“New”—“Activity Diagram”,该项产生一个名为“New Diagram”的活动图,将其改为“Modify Course”.Modify Course 活动图如下:分成三个泳道:用户接口,业务逻辑接口,数据库接口。
1.2.4 Query Course 活动图在浏览器中,使用鼠标右键点击”State/Activity Model”,在弹出的菜单里选择“New”—“Activity Diagram”,该项产生一个名为“New Diagram”的活动图,将其改为“Query Course”. Query Course 活动图如下:该活动图比较简单。
1.2.5 Select Course 活动图在浏览器中,使用鼠标右键点击”State/Activity Model”,在弹出的菜单里选择“New”—“Activity Diagram”,该项产生一个名为“New Diagram”的活动图,将其改为“Select Course”. Select Course 活动图如下:分成三个泳道:用户接口,业务逻辑接口,数据库接口。
1.3序列图和协作图序列图主要由活动者(actor)、对象(object)、消息(message)、生命线(lifeline)和控制焦点(focus of control)组成。
1.3.1 Select Course 序列图与协作图查找Select Course用例的对象,包括有:①界面②课程③对于业务层的操作,也应该有对象进行处理。
④事件流中设计的角色有:学生、数据库。
分析对象角色之间交互的消息,本用例主要有以下交互:1.学生通过界面发送选课命令。
2.界面向控制对象请求课程信息。
3.控制对象向数据库发送查询数据消息。
4.控制对象暂存数据库的查询结果。
5.界面对象从控制对象中取得所有的课程信息。
6.在界面上显示所有的课程信息。
7.界面对象发送命令要求控制对象删除课程信息。
8.学生选择课程。
9.界面对象要求学生输入学好。
10.界面对象向控制对象发送信息,查询该学生是否可以选择选定的课程。
11.控制对象从数据库中查询关联信息。
12.控制对象判断是否可以选课。
13.如果可以选课,则向数据库中添加关联信息。
14.向界面对象返回信息。
根据以上分析,整理的最终Select Course序列图如下:选择Select Course 序列图,按“F5”可以直接生成Select Course的协作图,如下:1.3.2 Add Course 序列图与协作图查找Add Course用例的对象,包括有:①界面②课程③对于业务层的操作,也应该有对象进行处理。
④事件流中设计的角色有:管理员、数据库。
分析对象角色之间交互的消息,本用例主要有以下交互:1.管理员进入管理界面,选择添加课程功能。
2.界面提示用户输入课程信息。
3.界面对象创建一个课程对象。
4.通过控制对象来对课程信息进行合法性检查。
‘5.控制对象向课程对象返回结果。
6.控制对象向数据库查询课程相关信息。
7.控制对象对查询结果进行判断。
8.控制对象向数据库中插入数据。
9.在界面上显示结果。
10.控制对象撤消建立的课程对象。
根据以上分析,整理的最终Add Course序列图如下:选择Add Course 序列图,按“F5”可以直接生成Add Course的协作图,如下:1.3.3Modify Course 序列图与协作图采用同样的方法分析,Modify Course序列图如下:选择Modify Course 序列图,按“F5”可以直接生成Modify Course的协作图,如下:1.3.4Delete Course 序列图和协作图删除课程的过程,涉及的对象有:①管理员②界面③控制对象④数据库这些对象的交互如下:1.管理员输入待删除的课程信息(IID)等。
2.界面对象将信息发送给控制对象。
3.控制对象查询课程信息是否有效。
4.控制对象向界面返回信息,如果课程信息有效,则要求界面提示管理员确认删除。
5.管理员确认删除课程。
6.界面将确认删除的信息发送给控制对象。
7.控制对象将确认删除对象的信息发送给数据库。
8.数据库实施删除,并将结果返回过控制对象。
9.控制对象将结果返回给界面。
Delete Course序列图如下:选择Delete Course,按“F5“可以直接生成Delete Course的协作图,如下:1.3.5Delete Course 序列图和协作图Query Course序列图,如下:选择Query Course,按“F5“可以直接生成Query Course的协作图,如下:1.3.6Registrar Login序列图和协作图管理员要对课程信息进行更改时,要输入用户名和密码,以确保其拥有相应的权限。
事件流如下:1.系统提示管理员输入用户名和密码。
2.管理员输入用户名和密码。
3.系统检查用户名和密码的合法性。
4.将检查结果返回给用户。
查找Registrar Login用例的对象,从事件流中发现涉及以下对象:①界面②控制对象③数据库④事件流中设计的角色有:管理员、数据库。
分析对象、角色之间交互的消息,主要有以下交互:1.界面对象提示用户输入注册信息。
2.用户输入注册信息。
3.界面将注册信息提交给控制对象。
4.控制对象到数据库中查询注册信息。
5.控制对象判断注册信息是否合法。
6.控制对象将检查结果返回到界面对象。
7.界面对象显示结果。
根据以上分析,最终的Registrar Login序列图,如下:选择Registrar Login, 按“F5”可以直接生成Registrar Login的协作图,如下:1.4类图1.4. 1类的创建通过对本系统的分析可以抽象出7个类:People (Student和Registrar的基类)、Student(学生类)、Registrar(管理员类)、FormObject(界面类)、Course(课程类) 、ControlObject(控制对象类)、DataBase(数据库类)。
People 主要有以下属性和操作:⑴(name)⑵年龄(age)⑶查询(getname)⑷设置(setname)⑸查询年龄(getage)⑹设置年龄(setage)Registrar(管理员类)主要有以下属性和操作:⑴管理员编号(regID)⑵初始化(构造函数)(registrar)⑶查询管理员信息(getregistrar)⑷设置管理员编号(setregID)⑸查询管理员编号(getregID)Student(学生类)主要有以下属性和操作:⑴学号(studentID)⑵初始化(构造函数)(student)⑶查询对象学号(getstudentID)⑷设置对象学号(setstudentID)DataBase (数据库类)主要有以下属性和操作:⑴连接的数据库名称(位置)(dbpath)⑵查询课程(Querycourse)⑶添加课程(Addcourse)⑷删除课程(Deletecourse)⑸查询所有的课程(Querycourse)⑹查询关联(Queryassociation)⑺添加关联(Addassociation)⑻查询选择的课程信息(Queryselectcourse)⑼查询密码(QuerypassWD)⑽取得数据库名称(getDBpath)⑾设置数据库名称(setDBpath)⑿打开数据库(OpenDB)ControlObject(控制对象类)主要有以下属性和操作:⑴验证课程的合法性(verifycourse)⑵判断能不能添加指定的课程(canadd)⑶判断能不能修改指定的课程(canmodify)⑷通过ID查询课程(QuerycoursebyID)⑸确认删除(confirmDelete)⑹查询所有的课程(getallcourse)⑺查询关联(queryassociation)⑻判断是不是能选择(canselect)⑼查询课程列表(QuerycourseList)⑽验证管理员的合法性(Verifyregistrar)⑾检查密码(checkpassWD)⑿构造函数(conttrolObject)Course(课程类)主要有以下属性和操作:⑴课程名称(name)⑵开课教室(classroom)⑶课程号(courseID)⑷授课教师(teacher)⑸选课的学生(students)⑹开课起始时间(firstlessondate)⑺允许选课的学生人数(maxstudents)⑻设置课程名称(setname)⑼设置开课教室(setclassroom)⑽设置课程号(setcourseID)⑾设置授课教师信息(setteacher)⑿设置开课起始时间(setfirstlessondata)⒀设置允许选课的学生人数(setmaxstudents)⒁查询课程名称(getname)⒂查询开课教室(getclassroom)⒃查询课程号(getcourseID)⒄查询授课教师信息(getteacher)⒅查询开课起始时间(getfirstlessondate)⒆查询允许选课的学生人数(getmaxstudents)FormObject(界面类) 主要有以下属性和操作:⑴查询课程信息(getcourseInfo)⑵显示选课成功信息(showsuccessInfo)⑶查询课程编号(getcourseID)⑷显示确认页(showconfirmpage)⑸确认删除(confirmdelete)⑹选择命令(selectcommand)⑺显示课程列表(displaycourseList)⑻查询选择的课程(Queryselectcourse)⑼构造函数(FormObject)1.4. 2类图的建立最后详细的类图,如下:(在该类图中由于空间的限制,故将其中的一些属性和操作隐藏。