1、 目录摘要2正文31. 问题描述32. 需求分析42.1 任务需求分析42.2 数据流图、数据字典43. 系统总体设计63.1 系统功能模块图63.2 数据库概念结构的设计74. 详细设计104.1 系统主要功能104.2 系统流程图115. 系统测试115.1 测试方法125.2 测试用例126. 软件使用说明13总结16参考文献17致谢18 摘要选课系统开发的目标是实现学生选课信息关系的系统化、规范化和自动化。该设计要求学生以兰州理工大学学生选课管理业务为背景,设计、开发一套“高校学生选课成绩管理系统”软件。整个系统由课程计划管理系统、学生选课管理系统、学生学分管理系统、学生基本信息管理系
2、统等组成。系统要实现基本信息录入、修改、查询等功能,满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现。关键词:选课 学生信息 数据流图 数据字典 E-R图 SQL Server软件 Powerbuilder 9.0。 正文1. 问题描述学生选课管理系统是一个学校管理系统不可缺少的部分,所以学生选课管理系统应该能够为用户提供充足的信息和快捷的查询手段。1).目标 选课系统开发的目标是实现学生选课信息关系的系统化、规范化和自动化。 2).系统技术 学生选课系统要求具有信息处理的开发性,方便教师上传学生成绩、学生上网选课查询选课信息及成绩。 3).基本设计概念和处理流程 由于业务规则和数
3、据处理逻辑集中在服务器上的统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以可靠性、稳定性和效率都比较好。 4).用户的特点 为保证系统安全高效地运行,本系统把用户划分为3类:教务处、教师和学生。不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能也就不同。 (1)教务处可以完成本系统所有的功能 学生信息管理:除学生基本信息外,还可管理学生所选课程、成绩等。 教师信息管理:包括教师个人的基本情况和任课情况。 项目及班数的设定:根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定。 报表生成及输出:生成教师担任课程分班表、按项
4、目生成学生成绩表、按学生形成班生成成绩表及所有报表的输出。 (2)教师在本系统的功能 查询学生选课情况、自己任课情况、录入及修改成绩等。 (3)学生在本系统的功能 查询本人信息、教师任课信息、选课、选课信息查询、成绩查询。2. 需求分析2.1 任务需求分析 系统要实现基本信息录入、修改、查询等功能:1) .信息的输入,包括学生基本信息、课程信息、成绩信息、学期信息、用户信息等。2) .信息的修改、删除。根据要求,查询符合条件的各类信息。2.2 数据流图、数据字典2.2.1 数据流图数据流图由四种基本的元素构成:数据流(Data Flow),处理(Process),数据存储和数据源(数据终点)。
5、数据流(Data Flow):是具有名称且有流向的数据,用标有名称的箭头表示,一个数据可以是记录、组合项或基本项。处理(Process):表示对数据所进行的加工和变换,在图中用矩形框表示。指向处理数据流为该处理的输入数据,离开处理的数据为处理的输出数据。数据存储:表示用文件方式或数据库形式所存储的数据,堆砌进行的存取分别以指向或离开数据存储的箭头表示。数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是为了帮助理解系统界面而引入的,一般只出现在数据流图的起点和终点。查询成绩单查询查询成绩信息学生信息成绩信息课程信息操作操作操作D3
6、学生信息 D2 成绩信息 D1 课程表用户更改课程信息更改课绩信息更改学生信息用户产生成绩单 图1.系统数据流图2.2.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。由于本次设计是小型软件系统的开发,所以采用卡片形式书写数据字典。每张卡片上保存描述一个数据的信息,这样做更新和修改起来比较方便,而且能单独处理描述每个数据的信息。下面将列出若干数据元素的数据卡片信息。 数据字典卡片:名字:学生表别名:描述:学生相关信息存储的描述定义:学生表=学号+姓名+性别+班级+出生年月+用户名+密码+备注位置:保存到磁盘名称:学号别名:描述:惟一的标识学生的一个主键
7、定义:学号=8字符8位置:学生表名称:课程表别名:描述:课程信息存储的描述定义:课程表=课号+课名+教师+学分+上课时间+教室+容纳人数位置:保存到磁盘名称:课程号别名:描述:惟一的标识课程的一个主键定义:课号=8字符8位置:课程表名字:教师表别名:描述:描述教师的信息定义:教师表=教师名+姓名+教师号+用户名+登陆密码+所在院系+课号位置:保存到磁盘名字:教师号别名: 描述:惟一的标识教师的一个主键定义:教师号=integer位置:保存到磁盘名字:选课表别名: 描述:学生选课后的信息定义:选课表=课号+学号+学期+得分位置:保存到磁盘名字:课号+学号+学期别名:描述:唯一确定一个学生选课的信
8、息的主键定义:课号=8chair8 学期=8chair8 学号=8chair8位置:保存到磁盘名字:管理员别名:教师用户信息描述:是对使用本系统的管理员(教师)进行身份验证用的定义:管理员=教师用户名+登陆密码位置:教师表名字:学生用户别名:学生用户信息描述:是对使用本系统的学生用户进行身份验证用的定义:学生用户=用户名+密码位置:学生表3. 系统总体设计 3.1 系统功能模块图可以根据模块独立原理对软件结构进行精化。为了合理的分解,得到尽可能高的内聚、尽可能松散的耦合,为了得到一个易于实现、易于测试和易于维护的软件结构,应该对模块进行再分解或合并。系统功能模块图:高校学生选课系统信息维护课程
9、信息维护学生信息维护选课信息维护选课信息查询课程信息查询学生信息查询信息查询选课信息浏览信息浏览学生信息浏览课程信息浏览 图3.系统功能模块图3.2 数据库概念结构的设计数据库一般分为三级模式:外模式、概念模式和内模式。外模式也就是不同用户所对应的数据视图,它将数据库内部抽象的数据及其互相之间的关系表示为简单、直观的应用界面。概念模式是数据库中全部数据的逻辑结构和特征描述,通常以某种数据模型为基础。内模式是对数据的物理结构和存储方式的描述。在这里我们将要设计的是数据库的概念模式。3.2.1 实体联系E-R图根据对数据流图和数据字典的分析,我们可以确定该应用中的实体,属性和实体之间的关系,并画出
10、如下所示的E-R图。学生姓名学号性别密码班级用户名出生年月备注 图四 学生实体教师教师名教师号课号性别所在院系登录密码用户名 图五 教师实体课程课名课号学分教师教室容纳人数上课时间剩余名额 图六 课程实体教师课号性别教师号教师名所在院系用户名登录密码授课课程课名课号学分教师教室上课时间容纳人数剩余名额选则学生姓名学号性别班级用户名密码出生年月备注得分学期 图七 得到总的实体关系E-R图 得到的关系模式:学生表(学号,姓名,性别,班级,出生年月,用户名,密码,备注)选课表(学号,课号,学期,得分)课程表(课号,课名,教师,教室,容纳人数,剩余名额,上课时间,学分)教师表(教师号,教师,性别,所在
11、院系,登录密码,课号)数据库概念结构设计,是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。4. 详细设计详细设计阶段的根本目标是确定应该如何具体地实现所要求的系统,包括了用户界面设计、程序过程设计等步骤。4.1 系统主要功能1、实现基本信息录入、修改、查询等功能;2、学生选课成绩管理的各种信息查询,修改和维护3、系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现;4、系统要有一定的安全控制策略;4.2 系统流程图用户选择用户类型登录信息输入是否存在进入窗口推出重新输入结束 图8 系统流程图在用户登录时,在输入用户名和
12、密码及用户类型的前提下将其与数据库中的数据进行对比,若一致,则打开主窗体,若不一致提示错误。 在这个部分中,需要对用户的类型存入一个全局变量,予以判断其所具有的系统使用权限,例如,用户类型为DBA,则该用户拥有系统的一切权力,可以对每一部分进行添加、删除、查找、统计等操作;而其他用户类型都依据其类型的属性,可以使用的部分也会相应减少,而只能使用一部分与其类型相匹配的功能。5. 系统测试一个软件开发完成后,并不能投入使用,而需要有好长时间的测试。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
13、在本次设计中,涉及到的主要模块有三个,即信息维护模块、信息查询模块、和信息浏览模块,它们之间的联系决定了在测试中必须将上述三个功能模块进行统一的测试。各模块之间的联系就决定在测试过程中必须进行全面的分析。在设计模块时,应尽力向高内聚、低偶合的思想方面靠拢。5.1 测试方法软件的测试方法有两种,一种是黑盒测试(功能测试),另外一种是白盒测试(结构测试)。黑盒测试把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口上进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接受输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完
14、整性。白盒测试的前提是可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否能按预定的要求正确工作。在本次软件的测试工作中,由于水平的限制,仅仅对软件的各个功能模块进行了测试,并对各个模块之间的接口进行了详细的测试(用黑盒测试法)。测试的步骤由于该系统是一个小系统,可以把整个系统作为一个单独的实体来测试。当然,在测试的过程中可以分模块、分阶段来进行。大型软件系统通常是有若干个子系统组成且每个子系统由许多模块组成,因此,软件的测试过程基本上由以下步骤组成:模块测试;子系统测试;系统测试;验收测试;平行运行。5.2
15、 测试用例本次设计主要模块有三个,即信息维护模块、信息浏览模块、信息查询模块,这里只列出这三个模块的测试用例。当然,在实际的测试中应尽可能的对每个功能,都能测试到。1、信息查询模块信息查询模块的窗体应显示某学生的所有信息,包括学号、姓名、性别、出生年月、所选课程号,教师,教室,上课时间等,本模块可分别对这些信息进行查询。学生齐小姣要对自己的选课信息查询:在登录(输入正确的用户名和密码)后选“课程查询”控件:的到所选课程的信息: 表1.选课信息表选课表学号选课表课名选课表学期教师表教室课程表上课时间课程表学分课程表教师1计算机组成原理20102#3058:00-9:303谢鹏寿2数据库20102
16、#30514:30-16:053王燕3微机原理20102#3049:55-12:204成娟娟4计算机网络20104#306 8:00-9:304包广斌教师(管理员)登陆后可查询学生的选课情况:表2.课程查询表学号课号学期得分0424015120100624016220100624017320100624018420106. 软件使用说明1.登陆系统时,输入正确的用户名和密码,选择登录类型才可进入,界面如下图所示: 2. 学生选课索引界面可以实现选课,修改密码的界面索引 3学生选课界面4课程表学号 课程表课号 课程表学期 教师 教室 上课时间 学分07240115 1 2010 谢鹏寿 2#30
17、5 8:00-9:30 307240116 2 2010 王燕 2#305 14:30-16:05 307240117 3 2010 成娟娟 2#304 9:55-12:20 407240118 4 2010 包广斌 4#306 8:00-9:30 4 4.选课查询界面 1 计算机组成原理 谢鹏寿 2#305 150 40 8:00-9:30 3 2 数据库 王燕 2#305 150 50 14:30-16:05 3 3 微机原理 成娟娟 2#3-4 160 0 9:55-12:20 4 5. 密码修改窗口 总结 在本次设计的全过程中,我对所学的知识有了一个比较系统的认识和理解。涉及了各方面的
18、知识,大大扩展了我的知识面,同时使我学会了如何使用所学的知识去解决一些实际的问题。 在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。
19、在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。 通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。但由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教! 计算机技术的高速发展,使我深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还要加强学习,努力使自己成为一位专业的计算机人员,为我自己所从事的工作服
20、务。 参考文献1 软件工程导论,张海藩,清华大学出版社2 数据库系统概论 萨师煊, 王珊3 数据库管理系统 美, 清华大学出版社 4 数据库系统概念 美, 机械工业出版社5 数据库设计 美, 机械工业出版社6 完全掌握SQL Server 2000 美, 机械工业出版社7 PowerBuilder 9 数据库项目案例导航 清华大学出版社 8 基于B/S的计算机教学管理系统的设计与实现. 李英明,滕连爽,马宝林. 信息技术. 2005.9 致谢 首先,我要特别感谢老师对我的悉心指导,在设计期间李老师帮助我收集文献资料,理清设计思路,指导操作方法,并对我所做的课题提出有效的改进方案。老师渊博的知识、严谨的作风、诲人不倦的态度和学术上精益求精的精神让我受益终生。其次,给我们安排了较多的上机次数和足够的计算机,让我们有尽可能多的时间上机;并为我们开通了网线,方便我们上网查找信息;还提供了专门的教室,方便我们上机调试。对于学校和老师为我的课程设计设计所提供的极大帮助和关心,在此我致以衷心的感谢!另外,还要感谢同学们对我的关心与支持,感谢各位老师在学习期间对我的严格要求。忽略此处. 18