大学生选修课管理系统.doc

上传人:laozhun 文档编号:3795211 上传时间:2023-03-22 格式:DOC 页数:29 大小:521KB
返回 下载 相关 举报
大学生选修课管理系统.doc_第1页
第1页 / 共29页
大学生选修课管理系统.doc_第2页
第2页 / 共29页
大学生选修课管理系统.doc_第3页
第3页 / 共29页
大学生选修课管理系统.doc_第4页
第4页 / 共29页
大学生选修课管理系统.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《大学生选修课管理系统.doc》由会员分享,可在线阅读,更多相关《大学生选修课管理系统.doc(29页珍藏版)》请在三一办公上搜索。

1、信息系统分析与设计课程考查报告题目:大学生选修课管理系统班级: 软 件 技 术 学号: 姓名: 某 某 某 目 录1前言11.1选题背景1设计描述设计目的1系统需求工作流11.1可行性分析11.2结构化分析方法21.2.1 功能需求图21.2.2 31.2.3 31.2.442系统分析工作流12.1建立系统用例模型72.2建立动态模型102.2.1活动图102.2.2协作图122.2.3状态图132.2.4类图143系统设计工作流153.1数据库设计153.1.1设计内容153.1.2设计要求163.1.3数据库表结构164总结18致谢参考文献1前言Internet的飞速发展深刻地影响了人们的

2、日常生活和商业运作方式。人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品这一切都是在使用Internet。社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课及成绩信息管理的安全性的双重要求下出现的。为了方便学校各个方面管理,对教学管理方面要求有一个完整的教学管理系统。教学管理系统包括课程设置

3、管理,选课管理,成绩管理,学籍管理,教师分配管理,教材管理,教学评估管理,财务管理,甚至还可以包括招生管理等。根据调查需求,选课管理系统是目前学校最常用的系统,学生可以应用此系统进行网上选课。从而方便学生的学习和生活。也给高校教学管理工作带来很大的好处。本系统实现的主要功能是学生选课,成绩录入,成绩查询,课程信息管理,用户信息管理等。其作用范围为所有在校本科生和在校研究生和教师和系统管理员。1.1设计背景“选课”是现在高校行政管理工作中一项很重要的课题。而且是每个学期都必须要面对的问题。选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其

4、他调度工作也无从做起。因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。 随着近几年高校的持续扩招,学生人数逐年增加。为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。 大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有

5、些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。并且学生选课存在这样的特点:公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。使用本系统有三个角色,即管理员、学生和教师用户。管理员的权限最高,包括设置系统登陆信息, 用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。

6、老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。1.2设计目的目前,学校教学管理阶段有很大的需求。传统的手工选课不仅复杂,浪费人力,物力和财力。而且人工统计学生的选课信息也比较繁琐。牵涉了很多的人力,对管理也造成了诸多不变,经过调查需求。借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,告别以往的人工统计,提高了工作效率。既方便了学生,又给教学管理工作提高了工作效率!2系统需求工作流2.1可行性分析(1) 经济上的可行性 系统界面友好,操作简单,系统实现可行,因此经济可行。该系统可以容易实现学

7、生、老师和教学管理员与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率。(2) 技术上的可行性随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到一起,以方便个高校管理。在这样一个社会背景下,基于Windows和SQL Server 2005设计出数据库 ,运用先进的ASP.NET技术、先进的C#语言,采用B/S模式开发的大学生选修课管理系统,将学生、老师、管理员有机地结合在一起,有效地提高管理水平和效率。随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。 (3) 操作上的可行性该系统操作方便,简单。 2.2结构化分析方法系统

8、功能模块基本将本系统划分为三大模块,即学生选课模块、教师开课模块以及管理员管理模块。 (1)学生选课模块:在这个模块中,允许学生修改个人信息,浏览基本的课程;并实现主要的选课功能,包括填写选课信息、查看已选课程、修改选课等。(2)教师开课模块:这个模块主要是让教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。(3)管理员管理模块:这个模块的功能比较多,主要包括创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通知等等。(4)通用功能模块:即用户登录、密码修改等功能的实现。2.3建立系统业务模型根据系统需求(1) 角色确定,外部参与者如下:管理员:对学生和教师

9、基本资料维护,对课程基本资料进行添加、 删除、 更新或查询等;学生:进行课程预览,选课信息查询,进行选课,成绩查询等;教师:查询课程,申请教课及课程报名人数情况,进行成绩评定等;(2) 确定用例与管理员有关的用例:发布通知、分配帐号密码、注销或修改用户状态、创建课程,定任课老师、设定课程人数、统计学生选课信息;与学生有关的用例:修改个人信息、选课操作、修改选课、浏览课程、查询成绩与教师有关的用例:申请教课、浏览课题、查询学生选课情况、成绩评定(3) 建立系统用例图此系统用例图包括:学生选课系统的高层用例图,管理员管理子系统用例图,教师管理子系统用例图以及学生选课子系统的用例图。2.3.1系统的

10、高层用例图大学生选修课用例描述管理员:管理员负责整个选修课系统的全面工作管理员使用子系统“选课管理”中的教学大纲信息和“科室分配管理”中的教师信息,制定选课表管理员点击子系统“课程信息管理” 对学生和教师基本资料维护,课程基本资料进行添加、删除、更新或查询等相关操作学生:进行课程预览,选课信息查询,进行选课,成绩查询等;教师:查询课程,申请教课及课程报名人数情况,进行成绩评定等;成绩查询:登录选课系统选择用户“学生”输入密码,提交提示登录成功或错误信息选择“选修课成绩查询”,选择学期查到对应成绩。成绩管理:教师进行操作,包括教师录入和维护学生的成绩,统计成绩查询成绩,也可进行学生成绩的删除和修

11、改工作。教课申请:这个子系统是教师根据自己班级中学生人数,学生的选课信息,教室分配,上课地点,上课学时和教学资料等,结合实际情况向学校进行任课申请。详细描述如下: 登录:通过用户名及密码登录学生选课系统验证当前用户权限。 课程信息浏览:让学生可以详细的了解课程情况。 选课:学生可以选择要选修的课程 。选课概述:前提条件(正确登录、同一选课选修两次第二次不计学分)点击选课项提交按钮提示选课情况 修改选课:由于主观或客观原因要求退课。修改选课概述:前提条件(限定的课程开设人数已满,或是不足规定人数取消该课程安排的信息,以及个人在规定日期前可以修改选课等) 成绩查询:登录选课系统选择用户“学生”输入

12、密码,提交提示登录成功或错误信息选择“选修课成绩查询”,选择学期查到对应成绩。图1 学生选课系统的高层用例图2.3.2管理子系统用例图管理员管理子系统用例图说明【前置条件:管理员已经成功登录该系统】(1) 用户登录获取用户输入的用户名及密码;若出现用户名、密码错误或不匹配现象,反馈错误提示;在用户名及密码都正确的前提下,支持密码修改。(2) 选课系统首先发布选课通知,即先对教师发出通知(教师得到通知后才可申请教课),然后对学生发出通知(此时已安排完有关选修课的所有信息)创建课程指定任课教师设定课程的人数和开课时间安排分配账号及密码(由于是管理员操作此部分)。(3) 教师教课申请获取教师申请教课

13、的信息,包括教师信息及其所要教的课程课程信息;提供教师浏览课程的功能,即课程时间、教室等的安排;并提供查询学生选课情况的功能,即选此门课程的名单等;处理和统计教师对学生成绩的评定。(4) 学生选课提供学生修改个人信息的功能;提供学生浏览全部选修课信息的功能,然后接受学生的选课操作;获取学生及其所选课程的信息后,提供学生浏览自己所选课程的安排情况;得到选课系统的指令,在相应时间内可以让学生修改自己的选课;将选课系统统计好的成绩信息反馈给学生供其浏览。管理员管理子系统用例图如下:管理员管理子系统用例详细描述如下:发放通知:此用例包含两种情况,一是相对于教师的,二是相对于学生的。相对于教师,即对于选

14、课信息录入后发放给教师的通知,相对于学生即是在安排完选课相应的教师、选课限定人数等规则后发放给学生的通知。学生及教师列表:对于学生的个人信息、选课信息,教师的个人信息、对应教受的课程信息等的查询、删除、修改等操作。可选课程列表:在限定人数已满或是人数不够不进行课程开设等情况下对于课程选择的限定。学生已选课程列表:在课程修完教师评定相应成绩后,对于学生已选课程的成绩统计以及录入发放。 管理员添加及密码修改:根据实际情况进行添加、修改等。管理员管理子系统用例图如下:图2 管理员管理子系统用例图2.3.3教师管理子系统用例图教师进行查询课程,申请教课及课程报名人数情况,进行成绩评定等工作。详细见顶层

15、用例图。图3 教师管理子系统用例图2.3.4学生管理子系统用例图主要是学生选课操作提供学生修改个人信息的功能;提供学生浏览全部选修课信息的功能,然后接受学生的选课操作;获取学生及其所选课程的信息后,提供学生浏览自己所选课程的安排情况;得到选课系统的指令,在相应时间内可以让学生修改自己的选课。图4 学生选课子系统用例图3系统分析工作流3.1建立动态模型动态模型包括活动图、顺序图和协作图等。3.1.1活动图图2-5描述的是学生选课操作的活动图。在图中,学生从登录选课系统到选课完成需经历一系列过程。首先输入用户名和密码登录系统,系统给出提示,若登录成功后则进行课程信息查询。然后对信息进行详细查看,例

16、如选课时间安排、教师安排、人数安排等,之后可点击选择课程并提交确认,此时系统也会给出提示,若成功选择给出课程详细信息,否则将提示人数已满的限制信息。修改所选课程,也必须找到自己已选课程列表并进行删除,然后再按相同方法进行选课,最终完成选课。当然修改课程过程中,也要注意修改时间的限定,因为管理员也要统计学生及其所选课程的信息,所以必须在规定时间进行修改。经过活动图的可视化效果,可更清楚了解此过程。图2-5 学生选课操作的活动图(1) 顺序图学生选课操作的顺序图及管理员管理操作的子系统分别如图2-6和图2-7所示。图2-6 学生选课操作顺序图图2-7 管理员管理操作子系统顺序图4.4.协作图图2-

17、8 学生选课操作的协作图 图2-9描述了管理员管理操作时的协作图。参与交互的对象有课程信息模块、课程安排模块及面向教师、学生。此图主要考虑通过对象之间的交互共同完成选课操作的过程,各信息流向及标明的顺序更好诠释出管理员进行管理时所需对象及时间上的配合。管理员管理操作的协作图如下所示:图2-9 管理员管理操作的协作图图2-10描述了教师评定成绩的协作图。参与的交互对象有课程信息模块、成绩评定模块、成绩管理模块以及学生。首先教师进入课程信息模块,选择自已所教授的选修课,进而得到所有学生信息。然后通过反馈的信息及自己记录的考勤情况(如特定安排取消的课时等)进入成绩评定模块。一般是将所有学生进行统一打

18、分,若不是统一的情况或是有修改等情况都可进入成绩管理模块进行相应操作。在规定日期前上交评定成绩信息后再反馈给学生。图2-10 教师评定成绩的协作图状态图图2-11描述了学生这个特定对象所有可能的状态及其引起状态转移的事件。 学生在选课操作中其生存周期中所处的不同状态、转换时的条件,虽然看似较为简单,但并不可忽视。对于此信息的详细设计,可进一步用于用类状态的设计和编制类。图2-11 学生登录选课的状态图4系统设计工作流4.1类图类模型是面向对象方法的核心,类模型从对象的角度描述系统的组成,描述对象及相互间的关系。系统已在前面进行过简单描述,通过检查问题陈述中的所有名词短语和代词,得到初始类:学生

19、 教师 管理员 选课操作 选课管理 申请教课成绩管理 成绩查询 用户管理 课程信息 可选课程 学生已选课程经过分析最后得到教师、学生、管理员、课程信息及系统维护这几个类。并标识出类的名称及属性。如下图所示:4.2数据库设计4.2.2设计内容本系统设计的是一个以班级为单位的选课数据库,能够实现学生自主选课功能,并能实现学生信息、课程信息、学生选课信息、教室信息、授课教师信息等的创建、更新、删除、修改,数据库完整性检查、冲突检测、查询优化以及数据库角色、权限的分配,实现数据库的备份等事务处理以保证数据的完整性、一致性、安全性、可靠性。nn111mmmmm学生学号姓名性别专业班级密码出生日期学院组成

20、编号学院名称学习课程课程号类型学分学时教师课程名称教师组成教授开设姓名工号性别密码联系电话院部图4-1 学生选课系统总E-R图4.3设计要求 4.31功能要求:(1) 设计数据对象(表、视图、规则、函数等),完成学生自主选课,实现对于数据库完整性的检查; (2) 根据用户不同,指派不同权利:管理员具有dbo权限,学生具有插入选课表、退课表权限,查询课程表权限,确保数据库的安全性; (3) 能够实现对于学生选课信息、课程信息、授课教师信息、教室使用信息的查询; (4) 设计触发器/存储过程,优化数据库查询、冲突检测、扩展数据库完整性和数据操纵功能; (5) 设计选课时间段,在指定时间段内,允许选

21、课、退课。(6) 完成数据库的备份等事务处理,保证数据库的一致性,可靠性。4.3.2 实现要求(1) 根据系统的功能要求,建立了概念模型,设计各功能块的E-R图,对其合并,形成系统总E-R图, 如图3-1所示。(2) 利用T-SQL实现数据库,关系表,视图,数据类型,存储过程及其他数据对象的建立、更新、修改及数据库完整性检查。(3) 利用企业管理器实现角色及用户权利的定义。 4.3数据库表结构(1)表名:学生信息表标识:Info_student学生信息表包括学号、姓名、性别、出生日期、院部、专业、班级、密码8个字段。描述:学生在选课之前已经具备的各自的详细资料,并且由学院安排分配其密码(口令)

22、。表4-2名称字段名称数据类型长度是否允许为空学号s_noChar10No姓名s_nameChar8Yes性别sexChar2Yes出生日期birthdayDatetime10Yes院部departmentChar20Yes专业spChar20Yes班级classChar12Yes密码pwChar12No(2)表名:课程信息表标识:Info_course课程信息表包括课程号、课程名称、学时、学分、教师、类型6个字段。描述:学生可以查询某门课程的详细情况,如课程简介、教材、课时、学分、考察方式和相关课程等内容。 表3-1名称字段名称数据类型长度是否允许为空课程号c_nameChar5No课程名称

23、c_noChar50No学时s_timeReal4Yes学分scorReal4Yes教师teacChar8No类型typChar20Yes(3)表名:教师信息表标识:Info_teacher教师信息表包括工号、姓名、性别、联系电话、密码5个字段。、表3-3名称字段名称数据类型长度是否允许为空工号t_noChar10No姓名t_nameChar8Yes性别sexChar2Yes联系电话telChar11Yes密码PwChar12No(4)表名:学生选课信息表标识:Info_selected学生选课信息表包括学号、姓名、班级、课程、学分5个字段。描述:学生可以查询自己已选的课程及修完课程后的学分。

24、表3-4名称字段名称数据类型长度是否允许为空学号s_noChar10No姓名s_nameChar8Yes班级classChar12Yes课程名称c_noChar50No学分scorReal4Yes5总结 这次的UML信息系统分析课程设计,我做的是“大学生选修课管理系统”,通过几个星期对其各阶段任务的分析实验操作(确定课题、可行性研究与计划、需求分析、设计等),使我们对这门课程有了更深层次的了解,同时也学到了很多东西。前不久,我们刚学过软件项目管理这门课程,此次项目当中我也用到了软件工程过程的思想。首先确定项目课题,弄清选题依据后,进行了可行性研究,可行性研究的主要任务不是具体解决系统中实现问题

25、,而是以最小的代价在尽可能短的时间内确定问题是否值得解决,是否能够解决,因此我考虑了项目的进度、质量,范围以及风险等内容。从UML建模思想与操作技术上的可行方面。接着是需求分析工作流阶段,分析工作六阶段,但是这部分任务用了较长的时间,因为除了用传统的结构化分析方法学外,还用了我们学过的课程信息系统面向对象的分析方方法学。刚开始用结构化的方法时,由于对系统的了解程度不够,有很多方面都考虑的不周全。想来想去,觉得无路可走,项目即将面临瘫痪,认为做不下来这个项目,实施过程中出现这样那样一系列的风险问题,搞得我弄得晕头转向,好多好多的困难。最后我决定从最基本的数据流图着手,一步一步的来,缩小项目的范围

26、。就这样,通过进行基本的数据流程图的划分,模块化结构的设计,看着老师的课件,按照上面问题的步骤。进行好多次的细化,迭代工作。终于使功能模块的实现看起来更具体。我们总共划分到第二次数据流,按照“自定而下,逐层分解”的总原则划分,逐层到每一层的复杂度。比较有难度的就是用面向对象的方法分析了,这种方法以前自己没有使用过,只是通过课程来了解其含义,理解起来也很空洞。一开始我就觉得很难上手,在建立用例模型的时候,也遇到好多困难。比如,用例的扩展和包含,我们书上是include和extend。在Visio软件中,没有这内容,这令人比较纠结,还有如何确定执行者、用例、用例之间的具体关系;在建立动态模型的时候

27、,状态图、顺序图、协作图、活动图等都是如何定义与细化的;在建立静态模型的时候,如何分析确定类、确定类与类之间的关系等等都阻碍着分析的前行。为了解决这些问题,我也不乏做了很多工作,比如把书上的各小节的例子与案例分析都仔细的研究了几遍,尤其是我们讲的Osbert Oglesby案例进行了研究。然后通过借鉴其它书本及网上搜索的资料,并根据我们所选系统定义的功能以及操作过程再反复斟酌,进一步对系统进行了较好的分析。同时通过与其他人的讨论配合,问题难度有了一定减弱。然后我又花了一个多周时间进行设计阶段的工作,这部分我熟悉了一个软件开发工具Visio。当然了,考虑用word来画模型图还是比较复杂,至少说很

28、花时间的,而用Visio工具大大节约了时间并且减少了出错率,同时也使得我们对UML建模有了一个专业上的认知。之后根据需要对系统进行了数据结构的设计,这部分内容比较简洁,因为我们原来就学过SQL数据库应用知识,曾经也做过有关数据库的系统,所包含的具体结构相对而言较为清楚。这显然给我的项目的质量做了保障。此次课程设计最大的收获就是对于建模语言UML有了深层次的理解。知道了UML在项目过程中的重要性,对Visio建模工具的有关功能也几乎尝试了一遍。例如,用例模型由若干个用例图组成,在UML中构成用例图的主要元素是用例和执行者及它们之间的联系;构成类图的主要成分是类及类之间的关系,类的识别、类属性与操

29、作识别都是非常细节的一部分;动态模型描述了系统的动态行为和控制结构,顺序图侧重于用例的行为在过程行为中的操作次序,是一种交互图;而活动图又描述了用例及对象的活动,操作实现中完成的工作;此外,状态图针对于对象、子系统或系统的生存周期;协作图则侧重于相互合作对象间的交互关系。这些我感觉都做的很好,切身体会就是不一样。当然这和我的勤于上机和动手实践分不开。不过就是用例描述表达不太好,这一方面,我会尽最大努力学习的。总之,这次项目不仅训练了我的实践性,而且思考问题的分析方法和动手设计能力、分析和解决问题的能力有了较好的提高。我会把这次获得经验运用到以后更大的项目当中去,为将来实现自己的价值打下基础。致谢一致感谢指导本次项目设计的吴岩老师和软件10-2班的同学,再次感谢!参考文献1 麻志毅.面向对象分析与设计.Analysis and Design.北京:机械工业出版社,2008.2 吴际,金茂忠.UML面向对象分析.北京:北京航空航天大学出版社,2006.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号