1、软件工程课程设计成果报告学生选课管理系统学生学号: 学生姓名: 学 院: 专业班级: 专业课程: 软件工程 指导教师: 年 月 日本组成员 题目学生选课管理系统本人负责工作系统背景及现状分析 系统总体设计考核项目考核内容得分平时考核(10分)出勤情况、态度、效率、协作精神;知识掌握情况、知识应用能力、获取知识能力。选题背景、目的意义和国内外研究现状(10分)选题背景、目的意义和国内外研究现状内容全面,体现学生查阅资料充分。系统可行性研究(10分)对所选课题从技术上、操作上和经济上等方面进行分析可行性。系统需求分析(30分)确定系统功能需求、性能需求、出错处理需求等;分析系统的数据要求,画出实体
2、-联系图。系统总体设计(15分)确定软件结构,设计软件结构图和数据库设计。课程设计体会、格式排版(20分)课程设计体会深刻,报告书写干净、规范,内容完整,语句通顺,图表正确等。奖励分(5分)提前完成的加分。总评成绩指导教师评语:日期: 年 月 日目 录1 绪论11.1 选题背景和意义11.2 国内外研究现状11.2.1 国内研究现状11.2.2 国外研究现状21.2.3 存在主要问题和拟解决方法21.3 论文研究的主要内容22 系统可行性分析32.1 系统功能32.2 系统可行性33 系统需求分析43.1 系统需求43.2 功能需求43.3 系统业务流程图53.4 系统实体E-R图64 系统总
3、体设计74.1 系统总体设计图74.2 系统结构图74.3 系统模块设计84.4 系统数据库设计84.4.1 设计要求84.4.2 数据库表结构84.4.3 数据库的配置104.5 设计人机交互子系统134.5.1 用户分类134.5.2 用户描述134.5.3 详细设计135 课程设计体会16参考文献171 绪论1.1 选题背景和意义“选课”是现在高校行政管理工作中一项很重要的课题。而且是每个学期都必须要面对的问题。选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。因此,如何解决高校教务管理中的选课工作便成为了如
4、今各大高校面临的很实际的问题。 随着近几年高校的持续扩招,学生人数逐年增加。为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。 1.2 国内外研究现状1.2.1 国内研究现状随着教育产业化进程的逐步推进,各大高校纷纷合并,走上了强强联合、资源共享的路子。高校的规模不断扩大,如何合理利用教学资源,有效地加强教学管理工作,
5、已成为各大高校十分关注的问题。目前,在教学管理方面,特别是学生学籍管理、成绩管理等方面都普遍采用了网络化管理技术,而对于毕业设计这一重要的教学环节,和其他教学课程一样,普遍采用传统的单机管理模式,主要进行毕业设计基本信息和成绩的输入输出工作,而对于毕业设计的选题、毕业设计过程中管理,以及毕业设计效果的统计分析等工作还没有纳入管理系统中。目前随着教学改革的不断深入,学校办学规模的不断扩大,如何有效地增强教学管理水平,充分调动学生的学习积极性,提高毕业设计的教学质量是各高校教学管理工作的重点之一。目前,毕业设计的双向选择和毕业设计过程的动态跟踪与交流己成为毕业设计环节教学改革的重要内容仁,英国诺丁
6、汉大学开发了专门的管理系统实现了毕业设计的网上双向选择,国内南开大学已开发了毕业设计网站,为毕业设计的选题、师生交流和毕业设计成绩的管理提供了良好的环境,取得了良好的效果。1.2.2 国外研究现状国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所
7、有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。1.2.3 存在主要问题和拟解决方法大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。并且学生选课存在这样的特点:公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要
8、求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。1.3 论文研究的主要内容使用本系统有三个角色,即管理员、学生和教师用户。管理员的权限最高,包括设置系统登陆信息, 用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。2 系统可行性分析2.1 系统功能系统功能模块基本将本系统划分为四大模块,即学生选课模块、教师开课模块、管理员管理模块及通用功能模块。 (1)学生选课模块:在这个模块中,允许学生修改个人信息,浏览基本的课程;并实现主要的选课功能,包括填写选课信息、查看已选课程、修改
9、选课等。(2)教师开课模块:这个模块主要是让教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。(3)管理员管理模块:这个模块的功能比较多,主要包括创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通知等等。(4)通用功能模块:即用户登录、密码修改等功能的实现。2.2 系统可行性(1) 经济上的可行性 系统界面友好,操作简单,系统的配置要求不高,实现可行,因此经济可行。该系统可以容易实现学生、老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率。(2) 技术上的可行性随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到
10、一起,以方便个高校管理。在这样一个社会背景下,基于Windows和SQL Server 2005 ,运用先进的ASP.NET技术、先进的C#语言,采用B/S模式开发的学生网上选课系统,将学生、老师、管理员、有机地结合在一起,有效地提高管理水平和效率。随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。 (3) 操作上的可行性该系统操作方便,简单。3 系统需求分析3.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下
11、基础。3.2 功能需求通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:(1) 学生的需求:网上选课、选课情况查询包括该门课程的老师信息,上课时间以及该门课程的学分,修改密码等;(2) 本系统主要实现学生信息管理和选课查询。学生信息包括学号,姓名,年龄,性别,系别,班级,出生年月;课程信息包括课程名,上课时间,成绩,学分,学时数;老师信息包括姓名,职位,所教课程;管理员信息包括用户名和密码,能够查询所有学生的选课情况及信息;系统功能需求图如图3.1所示。学生选课管理系统学生选课模块教师开课模块管理员管理模块通用功能模块在线选课成绩查询修改选课浏览课程申请教课查询学生选课情况成绩评
12、定录入选课信息课程安排发放通知统计学生选课信息用户登录个人信息修改浏览课程图3.1 系统功能需求图3.3 系统业务流程图学生登录及选课情况流程图如图3.2所示。教师登录查询学生选课修改密码学生登录查询已选课程选课修改密码管理员登录查看学生选课情况查看所有选的所有课程修改密码图3.2 学生登录系统流程图教师登录及查看信息流程图如图3.3所示。图3.3 教师登录系统流程图管理员登录及管理信息如图3.4所示。图3.4 管理员登录系统流程图3.4 系统实体E-R图本次学生选课系统中,系统共有4个实体,分别是管理员、学生、教师、课程。管理员拥有对所有选课信息的管理权限,因此拥有单独的实体E-R图。一名同
13、学可以选择多门课程,一门课程可以被多名同学选择,学生与课程之间存在多对多的实体关系;一名教师可以开设多门课程,一门课程也可被多名教师开设,教师与课程之间存在多对多的实体关系;实体关系图如图3.5所示。管理员密码用户名学生课程选课性别姓名系别年龄班级学号课程名学分上课时间成绩学时数出生年月老师所教课程姓名职位教师 M N N M图3.5 系统实体E-R图4 系统总体设计学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:管理员管理模块,教师开课模块,学生选课模块和通用功能模块,分别用于完成各自的功能。4.1 系统总
14、体设计图学生选课系统添加/注册选课数据库的设计查询学 生 登 录 模 块教 师 登 录 模 块管 理 员 登 录 模 块学 生 处 理 模 块教 师 处 理 模 块管 理 员 处 理 模 块通 用 模 块学生选课系统前台模块后台模块图4.1 系统总体设计图4.2 系统结构图系统基本的流程是:用户登录主界面选择各项子系统(选课)。老师登录 主界面选择各项子系统(查看学生选课情况)。管理员登录主界面选择各项子系统(管理学生选课)。 图4.2 系统结构图4.3 系统模块设计(1) 用户注册模块:填写用户名、密码、确认密码。(2) 用户登录模块:填写已注册的用户名称,填写正确的密码,进入主控制页面。(
15、3) 用户选课模块:从所有课程中选择自己要选修的课程。(4) 用户查询模块:可以进行查看所选课程的操作。4.4 系统数据库设计设计一个以班级为单位的选课数据库,能够实现学生自主选课功能,并能实现学生信息、课程信息、学生选课信息、教室信息、授课教师信息等的创建、更新、删除、修改,数据库完整性检查、冲突检测、查询优化以及数据库角色、权限的分配,实现数据库的备份等事务处理以保证数据的完整性、一致性、安全性、可靠性。4.4.1 设计要求(1) 设计数据对象(表、视图、规则、函数等),完成学生自主选课,实现对于数据库完整性的检查; (2) 根据用户不同,指派不同权利:管理员具有dbo权限,学生具有插入选
16、课表、退课表权限,查询课程表权限,确保数据库的安全性; (3) 能够实现对于学生选课信息、课程信息、授课教师信息、教室使用信息的查询; (4) 设计触发器/存储过程,优化数据库查询、冲突检测、扩展数据库完整性和数据操纵功能; (5) 设计选课时间段,在指定时间段内,允许选课、退课; (6) 完成数据库的备份等事务处理,保证数据库的一致性,可靠性(7) 利用T-SQL实现数据库,关系表,视图,数据类型,存储过程及其他数据对象的建立、更新、修改及数据库完整性检查; (8) 利用企业管理器实现角色及用户权利的定义4.4.2 数据库表结构(1)表名:学生信息表标识:Info_student学生信息表包
17、括学号、姓名、性别、出生日期、院部、专业、班级、密码8个字段。描述:学生在选课之前已经具备的各自的详细资料,并且由学院安排分配其密码(口令)。表4.1 学生信息表名称字段名称数据类型长度是否允许为空学号s_noChar10No姓名s_nameChar8Yes性别sexChar2Yes出生日期birthdayDatetime10Yes院部departmentChar20Yes专业spChar20Yes班级classChar12Yes密码pwChar12No(2)表名:课程信息表标识:Info_course课程信息表包括课程号、课程名称、学时、学分、教师、类型6个字段。描述:学生可以查询某门课程的
18、详细情况,如课程简介、教材、课时、学分、考察方式和相关课程等内容。表4.2 课程信息表名称字段名称数据类型长度是否允许为空课程号c_nameChar5No课程名称c_noChar50No学时s_timeReal4Yes学分scorReal4Yes教师teacChar8No类型typChar20Yes(3)表名:教师信息表标识:Info_teacher教师信息表包括工号、姓名、性别、联系电话、密码5个字段。表4.3 教师信息表名称字段名称数据类型长度是否允许为空工号t_noChar10No姓名t_nameChar8Yes性别sexChar2Yes联系电话telChar11Yes密码PwChar1
19、2No(4)表名:学生选课信息表标识:Info_selected学生选课信息表包括学号、姓名、班级、课程、学分5个字段。描述:学生可以查询自己已选的课程及修完课程后的学分。表4.4 学生选课信息表名称字段名称数据类型长度是否允许为空学号s_noChar10No姓名s_nameChar8Yes班级classChar12Yes课程名称c_noChar50No学分scorReal4Yes4.4.3 数据库的配置一个真正的、完整的站点是离不开数据库的。ODBC为应用程序提供了一种标准方法来操作相关的数据库:管理器根据数据源提供的数据库的位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据
20、库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。按如下步骤可以建立一个新的系统数据源。首先,在控制面板中双击ODBC图标,打开“ODBC数据源管理器”对话框,选择“系统DSN”选项卡,单击“添加”按钮;如图4.3所示。图4.3 ODBC数据资源管理器在“创建新数据源”对话框中,选择“Driver do Microsoft Access(*.mdb)”作为数据库驱动程序并单击“完成”按钮;如图4.4所示。图4.4 创建新数据源在“ODBC Microsoft Access安装”对话框中,数据源名称填写为“student”,这是程序中将要引用的。单击“选
21、择”按钮,从弹出的文件窗口中选择student.mdb文件所在的位置;如图4.5所示。图4.5 选择数据库然后单击“确定”按钮,这样就完成了Access数据库的ODBC数据源设置。以上步骤,通过ODBC管理器注册了一个名字为student的数据源,并且指定了数据库的驱动程序。4.5 设计人机交互子系统4.5.1 用户分类本系统的用户可分为三大类:(1)管理员用户(2)教师用户(3)学生用户4.5.2 用户描述(1) 管理员用户的描述:管理员用户在整个选课系统中祈祷管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课程等职责。(2) 教师用户的描述:教师用户在本系统中具有管理选修了自己开
22、设的课程的学生的权限,查看选修了自己开设课程的学生信息及提交学生成绩。(3)学生用户的描述:选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。4.5.3 详细设计(1)系统的人机交互子系统的内容和准则:本系统的人机交互子系统在根据不同身份登录不同界面,并按照不同的用户进入用户权限内的操作,其结构图如图4.6所示。主系统界面学生用户界面教师用户界面管理员用户界面图4.6 人机交互子系统结构图(2)学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:管理员模块,教师模块,学生模块和通用模块,其中复杂
23、的方法和模块的详细设计流程图如下。系统用户登录流程图如图4.7所示。开始输入用户名、密码验证用户名、密码安全退出系统选择相关管理操作进入相应的用户界面结束提示用户登录失败验证正确否是 图4.7 系统用户登录流程图用户密码修改流程图如图4.8所示。提示修改成功修改用户密码结束开始输入用户旧密码、新密码验证用户密码是否合法输入不合法,重新输入是否合法?图4.8 用户密码修改流程图学生选修课程流程图如图4.9所示。开始点击选修提示时间冲突,不能选修更新选、退课课表选修成功上课时间冲突继续选课?结束是否是否图4.9 学生选修课程流程图5 课程设计体会通过这次软件工程课程设计的实践训练,我进一步掌握了软
24、件工程的方法和技术,提高了软件开发的实际能力,而且培养了自己工程设计能力和综合分析、解决问题的能力。在短短的一周的实训过程中,通过与同学和老师的交流,学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计及编码和测试方面的知识。在深入理解课本理论知识的同时,加深掌握了软件工程系统开发的实践操作能力,也进一步加强和提高软件工程文档的编写能力。本次实训分为两人一组,因此也使自己增强了协作能力和团队精神。虽然课程设计任务最终圆满完成任务,本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但是由于时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好等。这也体现了自己能力的不足之处,在以后的学习以及工作中也是有待加强的一部分。参考文献1张海藩.软件工程导论(第4版).北京:清华大学出版社,2005.2刁成嘉.UML系统建模与分析设计.北京:机械工业出版社,2007.3UML基础与Rose建模案例.北京:人民邮电出版社,2004.4刘乃丽.ASP.NET2.0网络开发详解.北京:电子工业出版社,2008.