当前位置:文档之家› 基于UML的网上选课系统

基于UML的网上选课系统

课 程 设 计题 目 基于UML 的网上选课管理系统设计学 院 计算机科学与技术学院 专 业 计算机科学与技术专业 班 级姓 名 指导教师2014 年 06 月 27 日目录课程设计任务书 (2)系统分析 (3)问题描述 (3)用例模型描述 (3)系统设计 (4)类图描述 (4)核心用例的顺序图 (5)状态图 (7)组件图 (8)系统实施 (9)信息代码设计 (9)数据库设计 (9)输入设计 (10)输出设计 (11)用户界面和处理过程的设计 (11)系统测试 (14)测试方法 (14)测试结果 (14)设计的特点、不足、收获与体会 (15)特点 (15)不足 (15)收获与体会 (15)本科生课程设计成绩评定表 (16)课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 基于UML的网上选课管理系统设计初始条件:理论:学完UML及软件体系结构课程,掌握一种计算机高级语言的使用。

实践:计算机实验中心提供计算机及软件开发环境。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)系统分析(包括系统描述(问题域描述)、用例模型、分析类图)。

(2)系统设计(包括系统的逻辑模型如设计类图、顺序图、状态图及组件图等)。

(3)系统实施(包括信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的设计以及最终的程序设计)。

(4)编制好程序后,设计若干测试用例,上机测试并通过所设计的程序系统。

(5)设计报告格式按附件要求书写。

课程设计报告书正文的内容应包括:1.问题描述;2.用例模型及分析类图的描述;3.设计类图、核心用例的顺序图与状态图、组件图等的描述;4.信息代码设计、数据库设计、输入设计、输出设计的描述;5.用户界面设计和处理过程的设计的描述;6.给出软件的测试方法和测试结果。

7.设计的特点、不足、收获与体会。

时间安排:第18周周一至周二:完成系统分析。

第18周周三至周五:完成系统静态模型设计及部分动态模型设计。

第19周周一:完成系统动态模型设计。

第19周周二至周三:完成系统实施及测试。

第19周周四至周五:验收及撰写课程设计报告。

设计验收安排:第19周的星期四第1-8节课到实验中心进行上机验收。

设计报告书收取时间:第19周的周五下午16:00。

指导教师签名: 2014年6月2日系主任(或责任教师)签名:年月日问题描述基于UML设计一个软件,实现网上选课功能。

用例模型描述图2. 1 用例图如图2.1是本次软件设计的用例图,参与者包括学生和系统管理员,学生参与的用例有选课、退选、查看已选课程、退出系统、登陆验证;系统管理员参与的用例有添加课程、删除课程、添加学生账号、删除学生账号、退出系统、登陆验证;其中显示课程信息用例是选课用例和退选用例的子用例;退出系统和登陆验证是两个参与者共同参与的用例。

类图描述图2. 2 类图如图2.2是本次设计的类图14个类:Person类:参与者的抽象;LoginWindow类:登陆窗口的抽象;STUWindow类:学生主页的抽象;SACWindow类:学生选课页的抽象;SDCWindow类:学生退选页的抽象;SCWindow类:学生查课表页的抽象;ManagerWindow类:管理员主页的抽象;MASWindow类:管理员添加学生账号页的抽象;MDSWindow类:管理员删除学生账号页的抽象;MACWindow类:管理员添加课程页的抽象;MDCWindow类:管理员删除课程页的抽象;Student类:学生信息的抽象;Course类:课程信息的抽象;Sc类:学生选课记录的抽象;核心用例的顺序图学生选课顺序图:图2. 3 学生选课顺序图如图2.3是学生选课用例的顺序图。

程序开始后:1.由loginwindows调用person的login()方法,要求学生输入账号和密码;2.之后loginwindow验证学生信息,并创建一个Student类的对象stu来保存该生的信息;3.学生调用loginwindow的showSTUW(s)方法,要求进入学生主页;4.loginwindow调用stuwindow的create(s)方法,创建一个学生主页;5.学生调用stuwindow的showSACW(s)方法,要求进入学生选课页;6.stuwindow调用sacwindow的create(s)方法,创建一个学生选课页;7.学生调用sacwindow的addc(c)方法,进行课程选择,添加一条选课记录到数据库中;8.学生调用sacwindow的back()方法,返回学生主页;9.学生调用stuwindow的close()方法,关闭程序;管理员添加课程顺序图:图2. 4 管理员添加课程顺序图如图2.4是管理员添加课程的顺序图。

程序开始后:1.由loginwindows调用person的login()方法,要求管理员输入工号和密码;2.之后loginwindow验证管理员信息;3.管理员调用loginwindow的showManagerWindow()方法,要求进入管理员主页;4.loginwindow调用managerwindow的create()方法,创建一个管理员主页;5.管理员调用调用managerwindow的showMACW()方法,要求进入添加课程页面;6.managerwindow调用macwindow的create()方法,创建一个添加课程界面;7.管理员调用macwindow的addC()方法,要求添加一门课程;8.macwindow调用course的create()方法,创建一门新课程添加到数据库中;9.管理员调用macwindow的back()方法,要求返回管理员主页;10.管理员调用managerwindow的close()方法,关闭程序。

图2. 5 状态图如图2.5是选课系统的状态图。

1.初始状态是“等待”状态,这时程序等待用户输入验证信息;2.程序得到用户输入的验证信息后,进入“信息验证”状态;3.若验证成功,转步骤4;若验证不成供,则进入“验证失败”状态,进而回归到“等待”状态;4.若是学生,转步骤5;若是管理员,转步骤75.进入“学生验证成功”状态,进而进入“学生相关操作”状态;6.在“学生相关操作”状态中,可以返回自身,也可以进入“退出”状态,转步骤9;7.进入“管理员验证成功”状态,进而进入“管理员相关操作”状态;8.在“管理员相关操作”状态中,可以返回自身,页可以进入“退出”状态,转步骤9;9.“退出”是终止状态,这时退出程序。

图2. 6 组件图如图2.6是本次设计的组件图。

网上选课系统由登陆验证系统,学生界面及管理员界面组成;而学生界面学生选课、学生退课和学生查课表组成;管理员界面由管理员添加学生账号、管理员删除学生账号、管理员添加课程和管理员删除课程组成。

系统实施信息代码设计学生学号的是在管理员添加学生账号时确定的,其由11位数字组成,格式如下:数据库设计图3. 1 ER 图如图3.1是数据库的ER 图。

有两个实体:学生和课程;学生的属性包括学号(唯一)、姓名、密码和年级;课程的属性包括课程号(唯一)、课程名、任课老师姓名、学分和开课年级;学生和课程之间的联系是选/退课。

由ER 图得出三张数据表:学生信息表student :由“学号(主键)”、“姓名”、“密码”和“年级”四列组成,其类型都是nvarchar (50)。

课程信息表course:由“课程号(主键)”、“课程名”、“任课老师姓名”、“学分”和“开课年级”五列组成,其类型都是nvarchar(50)。

学生选课记录表SC:由“学号”、“学生姓名”、“课程号”和“课程名”四列组成,其类型都是nvarchar(50)。

其中由“学号”和“课程号”共同构成该表的主输入设计输入有三种:其一是让用户出入文本信息,如:学生姓名、密码、学号、课程名、课程号等,采用文本框的方式惊醒输入;其二是让用户选择信息,如:登陆用户的类型、课程的开课时间、学生的年级等,采用下拉框的方式进行输入;其三是让用户选择是否输入某些项,如:确定课程的开课时间,采用选择框的方式进行输入。

输出设计输出有两种:其一是表格形式的输出,如:学生选课记录的展现、待选课程的展现等,采用DataGrid控件来实现;其二是消息框形式的输出,如:学生选课过程中的二次确认、管理员删除学生账号的二次确认等,采用MessageBox控件来实现。

用户界面和处理过程的设计图3. 2 登陆界面如图3.2是登陆页的界面,要求用户输入学号/工号、密码及选择用户类型,特供验证信息让程序进行验证;若验证信息正确,则根据不用的用户类型分别进入学生主页(如图3.3)和管理员主页(如图3.4);若验证信息错误,则会有错误提示(如图3.5)。

图3. 3 学生主页图3. 4 管理员主页图3. 5 错误提示进入学生主页(图3.3)后可以进行选课、退课及查课表的操作,下面演示一下学生选课的过程:1.按一下标题栏中的选课,就会出现选课窗口,如图3.6所示;图3. 6 学生选课界面2.选中其中一项,点击添加,会提示是否确定选择该课程,如图3.7所示;图3. 7 选课二次确认3.点击“是”选项,若无课程冲突,就会提示“选课成功”(如图3.8),否则提示“课程冲突,选课失败”(如图3.9所示)。

图3.8 选课成功图3.9 选课失败系统测试测试方法由于本次课程设计的时间紧迫,没有多少时间进行测试,因此只对登陆页做了中重点测试,主要是对按钮以及其触发的事件进行测试。

测试用例如下:测试结果测试结果如下:设计的特点、不足、收获与体会特点1.本软件是在.NET Framework 4.0框架下设计并实现的,可以在其他装有.NET Framework4.0框架的平台上运行。

2.采用的数据库技术进行数据的增、删、查、改操作。

3.本软件采用可视化编程技术,与控制台程序相比,普通用户更加容易上手使用。

不足1.虽然课程设计要求的基本功能都实现了,但还有部分拓展功能没有实现,如:学分统计、课表查询等。

2.部分数据库的设计不太合理,造成冗余。

3.用户界面没有做任何美化,看上去很生硬,不够友好。

收获与体会1.基本掌握数据库的基础,能够熟悉地使用提供的关于数据库操作的类。

2.学习了WPF的布局,从整体上把握住了窗体设计的布局,给以后进行可视化设计和美化界面打下了基础。

3.学会手写WPF中部分常用控件的代码,了解了它们的主要属性及事件,使自己的可视化编程不再局限于拖控件。

4.由于考试的原因使得做课设的时间严重不足,再加上自己理论知识和应用技术的缺陷使的本次课设举步维艰。

老实说,我也是在6天前才真正学会如何将程序连到数据库中去,也是在6天前才学会如何对窗体进行布局,所以,这几天真的是累坏了。

相关主题