资源描述
信息系统分析与设计课程设计报告设计题目:工商管理学院成绩查询信息系统分析与设计学 院 管理学院 专 业 信息管理与信息系统 班 级 信管031 学 号 03057032 姓 名 翟 翠 丽 指导教师 王 小 江 2006.12.30至2007.01.12信息系统分析与设计课程设计成绩评定 综合评定该生课程设计成绩为 。指导教师: 年 月 日目 录1 设计背景简介12 可行性分析23 系统用例分析23.1系统用例图23.2系统活动图43.3 系统序列图103.4系统类图134系统设计144.1功能结构设计144.2数据库设计164.2.1数据库概念结构设计164.2.2 数据库逻辑结构设计174.2.3数据库物理设计和实施维护194.3代码设计、输出设计、输入设计等194.3.1代码设计194.3.2输出设计和输入设计194.4信息系统体系结构及物理配置方案设计204.4.1信息系统体系结构设计204.4.2物理配置方案设计214.5软件开发工具选择215系统实施225.1典型程序设计说明225.1.1用户登录系统界面设计225.1.2管理员查询学生成绩界面设计245.1.3管理员添加学生成绩界面设计265.1.4学生成绩查询界面设计285.2测试方案及切换方式设计305.2.1测试方案设计305.2.2切换方式设计326 系统评价327总结33参考文献:34工商管理学院成绩查询信息系统分析与设计1 设计背景简介目前,高等学校的发展进入了前所未有的高速度, 随着信息技术和计算机技术的不断发展,高校的内部管理手段、方法和模式先进与否,已成为制约高校发展,提高学校竞争力的关键所在.采用以计算机技术、网络技术为基础的管理信息系统已经成为客观需要. 高校信息化,是指随着现代信息技术的发展,高等院校根据自身的需要,采用先进的信息技术来加强管理能力、提高教学质量、促进科研水平、改善生活环境。实现高校的信息化,是信息经济条件下高等院校发展的大势所趋,也是我国高校走向世界一流大学迈进的必由之路。 西安理工大学工商管理学院设有工商管理系、工业工程系、市场营销系、国际贸易系、会计系、金融系、信息管理系、电子商务系八大系,现有本科生1700余人。学生成绩管理是每一所高校不可忽略的主要问题之一,要提升高校的管理水平,优化资源,尽可能地降低成本,实现最大效益化,就需要一个实用的管理系统来规范学生成绩管理以及数据统计和分析。目前,西安理工大学工商管理学院虽然有一整套的成绩管理系统,但是只为教务科的工作人员提供成绩进行录入、汇总、打印成绩单等功能,并没有提供学生通过校园网进行自我成绩查询的功能,每一次的考试成绩都是通过张贴成绩单的方式向同学们公布,因此,每逢学期末,在教学十一楼的橱窗栏中就张贴满了各个专业、各个班级的各科考试成绩,学生要在那么多的成绩单中先找到自己班级的成绩单才可以查看到自己的考试成绩;而且考试成绩单会被不定时的替换,在这种情况下,往往出现学生还没有看到自己的考试成绩,那张成绩单早已被别的成绩单替换的现象;有些科目的考试是在放假前的前几天,在放假前成绩不会那么快的公布出来,因此好多时候学生都不知道自己的某一科到底考了多少分,更不用说自己在班级中处于什么样的水平了。同时,张贴的成绩单上的成绩都是手工抄写的,在抄写过程中难免会出现不可避免的错误。通过对西安理工大学工商管理学院成绩公布现状的描述,不难看出这种成绩管理方法存在的缺点:u 工作人员向现有的成绩管理系统中录入完成绩后还要在橱窗栏张贴一份成绩单以便学生查看自己的成绩,加大了工作人员的工作量;u 成绩单的不定期替换,学生查询成绩时间受到限制;u 学生要在大量的成绩单中查找自己的成绩很不方便;u 成绩单在抄写过程中会出现不可避免的错误,给学生带来不可靠的信息;2 可行性分析将要开发的系统所需成本主要有软件开发费用、网站建设费用。鉴于西安理工大学工商管理学院已有自己的网站,所以网站建设费用是很小的;本文开发的系统主要是实现学生成绩的查询功能,相对而言很容易实现,因此,软件开发费用也是很小的。所以,此系统的开发是值得的。本系统主要应用数据库技术和WEB技术实现,程序实现语言是ASP+VBScript。系统开发设计相对来说不是很难,关键在于与成绩数据库的连接以及查询功能的实现,二者并不是很难以实现,因此,本系统开发技术是完全可行的。目前已有很多成功开发的学校成绩查询信息系统的先例,高校需要成绩管理的现代化和信息化。成绩管理信息系统的开发和运行与国家的政策法规不存在任何冲突和抵触之处。另外,成绩管理系统所采用的操作和工作方式等符合工作人员和学生的日常习惯,而且操作方便灵活。因此,该系统具有社会可行性。3 系统用例分析 3.1系统用例图(1)系统描述西安理工大学工商管理学院成绩查询系统包括两个基本的部分,一个是学生在前台用自己的帐号登录后进行自我成绩的查询以及所在班各科成绩单的查询,还有就是更改自己的注册信息和登录密码;另一个是管理员在后台对成绩记录和学生用户信息进行管理,主要包括:成绩记录的添加、修改、删除和查询以及学生用户的添加、修改、删除和查询。(2)角色识别角色识别的任务是找出所有可能与系统发生交互行为的外部实体、对象和系统。他们的行为不受系统控制,但是可以提供输入给系统(即使用系统的功能,或者能够响应系统服务请求,为系统提供服务接口)。学生在访问系统时,会根据自己的学号来查询自己的各科考试成绩,显然系统存在这样的主要角色,定义其为学生;同样,在系统的后台存在系统管理员来对成绩和用户进行管理,定义其为管理员;学生和管理员二者均为系统的用户,因此需要定义用户这一角色。(3)用例识别在角色的基础上,可以识别出与角色相关的用例,从而得到系统的用例建模。学生用例图描述了学生通过Internet访问成绩查询系统进行的操作。学生登录工商管理学院成绩查询系统主页后,可以根据自己的学号来查询自己在某学期某科考试的考试成绩以及本班的成绩单,也可以更改自己注册时候的个人基本信息以及自己登录的密码。管理员用例图描述了管理员通过登录工商管理学院成绩查询系统管理员界面进行的各项操作。管理员登录后台管理界面后,可以对学生的考试成绩和学生用户进行添加、修改、删除和查询。由此可见,本系统的活动者包括两个:学生和管理员;学生对应的事件流有自己成绩查询、本班成绩查询、修改基本信息和修改密码;管理员对应的事件流有学生信息的添加、修改、删除和查询以及学生用户的添加、修改、删除和查询。此外,本系统还有一个主要的活动者:数据库,数据库对应所有的事件流。见图1:图1:系统用例图3.2系统活动图(1)登录系统活动图登录系统事件流如下: 用户登录网站主页用例开始 用户选择登录模式(管理员或学生) 用户输入登录帐户和密码 系统验证帐户和密码是否输入 A1:未输入完全 系统创建该用户对象 数据库查询该用户名是否存在 A2:用户名不存在 在数据库中查询密码 判断密码是否正确 A3:密码不正确 系统显示登录成功信息 用例结束图2:登录系统活动图(2)管理员查询成绩活动图 管理员查询成绩事件流如下: 管理员选择查询方式(按班级或学号),用例开始 输入查询条件 创建成绩查询条件 在数据库中查询该项成绩 判断该项成绩是否存在A1:该成绩不存在 显示成绩查询结果 用例结束图3:管理员查询成绩活动图(3)管理员删除成绩活动图删除成绩事件流如下: 输入要删除的成绩的基本信息 判断成绩框中是否为数字 A1:不是数字 创建成绩对象 在数据库中查询该项成绩 A2:成绩不存在 在数据库中删除该项成绩 显示成绩删除成功信息 用例结束图4:管理员删除成绩活动图(4)管理员添加成绩活动图 添加成绩的事件流如下:输入要添加的成绩的基本信息判断成绩框中是否为数字 A1:不是数字创建成绩对象在数据库中查询该项成绩 A2:成绩已经存在在数据库中添加该项成绩判断成绩添加是否成功 A3:成绩添加不成功显示成绩添加成功信息用例结束图5:管理员添加成绩活动图(5)管理员修改成绩活动图 管理员修改成绩事件流如下: 管理员输入要修改的成绩的基本信息 判断成绩框中输入的是否为数字 A1:不是数字 创建成绩对象 在数据库中查询该项成绩 判断成绩是否已经存在 A2:成绩不存在 在数据库中修改该项成绩 判断成绩是否修改成功 A3:成绩修改不成功 显示修改成功信息 用例结束图6:管理员修改成绩活动图(6)学生查询成绩活动图 学生查询成绩的事件流如下: 学生选择查询方式(按学号或班级) 输入查询条件 判断查询条件是否合法 A1:学生没有查询权限 在数据库中查询成绩 判断成绩是否存在 A2:成绩不存在 显示查询结果 用例结束图7:学生查询成绩活动图3.3 系统序列图 序列图的功能是按时间顺序描述元素间的交互,着重体现对象间消息传递的时间顺序。序列图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。(1)管理员添加学生用户序列图管理员添加学生用户过程中,涉及到管理员、窗体、用户、控制对象和数据库五个类:管理员输入要添加的学生用户的基本信息,窗体获取这些基本信息,根据输入的基本信息创建一个学生用户信息,控制对象按照一定的规则检查用户信息的合法性,如果输入的格式合法,则在数据库中查询该用户是否已经存在,由控制对象检查是否可以添加该学生用户,如果可以则在数据库中添加学生用户信息,并向窗体显示学生用户添加成功信息,控制对象删除所创建的用户信息。具体的序列图如图8:图8:管理员添加学生用户序列图(2)管理员修改学生信息序列图 管理员修改学生用户信息的过程中,涉及到管理员、窗体、用户、控制对象和数据库五个类:管理员输入要修改的学生用户的基本信息,窗体获取这些基本信息,根据输入的基本信息创建一个学生用户信息,控制对象按照一定的规则检查用户信息的合法性,如果输入的格式合法,则在数据库中查询该用户是否已经存在,如果存在则由控制对象检查是否可以修改该学生用户的基本信息,如果可以则在数据库中修改学生用户信息,并向窗体显示学生用户修改成功信息,控制对象删除所创建的用户信息。具体的序列图如图9:图9:管理员修改学生用户基本信息序列图(3)管理员删除学生用户序列图管理员删除学生用户过程中,涉及到管理员、窗体、用户、控制对象和数据库五个类:管理员输入要删除的学生用户的基本信息,窗体获取这些基本信息,根据输入的基本信息创建一个学生用户信息,控制对象按照一定的规则检查用户信息的合法性,如果输入的格式合法,则在数据库中查询该用户是否已经存在,由控制对象检查是否可以删除该学生用户,如果可以则在数据库中删除学生用户信息,并向窗体显示学生用户删除成功信息,控制对象删除所创建的用户信息。具体的序列图如图10:图10:管理员删除学生用户序列图(4)用户查询成绩序列图用户查询成绩过程中主要涉及到用户、窗体、成绩、控制对象和数据库五个类:用户选择查询方式(按班级或者按照学号)并输入查询条件,由控制对象检查查询条件的合法性,并判断用户是否具有查询的权限,如果具有查询权限则在数据库中进行成绩查询,通过成绩类来创建成绩列表,并向窗体显示查询结果,如图11所示:图11用户查询成绩序列图3.4系统类图 本系统包括用户、数据库、控制对象和窗体四个大类,其中用户又包括管理员和学生两个类。各类的属性和操作如下:学生的属性有学号、姓名、班级和密码,管理员的属性有帐号和密码,数据库的属性有存储路径,成绩的属性有学号、课程编号、学期和分数,窗体的操作有获取成绩基本信息、获取学生用户基本信息、显示成绩不存在信息、显示成绩查询结果信息、显示添加成功信息、显示添加失败信息、显示修改成功信息、显示修改失败信息、显示删除成功信息、显示删除失败信息和显示查询结果信息,数据库的操作有查询成绩、删除成绩、修改成绩、检查成绩是否存在、检查用户是否存在、查询密码、查询用户、删除用户、修改用户,控制类的操作有检查成绩的合法性、检查是否可以删除成绩、检查是否可以删除学生信息、检查是否可以添加成绩、检查是否可以修改成绩、检查是否可以查询成绩、检查是否可以添加学生用户、检查是否可以修改学生用户信息、检查是否可以查询学生用户信息和检查学生信息的合法性。系统类图如图12所示:图12系统类图4系统设计4.1功能结构设计在对工商管理学院正常运行的业务流程进行详细了解和分析后,总结出一个功能全面的管理系统,必须包括以下几个方面:(1)学生成绩管理在学生成绩管理过程中,包括对学生成绩的添加、修改、删除和查询,同时要对不同的登录用户提供不同的系统界面,管理员登录后可以添加、删除、修改和查询所有学生的考试成绩,不过要受到一定的条件限制,例如:对于已经存在的学生的考试成绩就只能进行修改、删除和查询操作,而不能对其进行添加操作;对于现在数据库中并不存在的学生成绩不能进行修改、删除和查询操作,只能进行添加操作。普通学生用户登录后可以查询自己在任何一学期任何科目的考试成绩和自己班级的考试成绩单,但是不可以通过输入别人的学号来查询他人的考试成绩。(2)学生用户管理在学生用户管理过程中,只有以管理员身份登录后才可以进行该项操作,包括对学生用户的添加、删除、修改和查询操作,在上述操作过程中同样也受到一些条件的约束,例如对于已经存在的学生用户信息可以进行删除、修改和查询,但是不能再一次添加到数据库中。管理员身份登录后的系统功能结构图如图13所示:成绩查询系统成绩管理用户管理添 加 用 户删 除 用 户修 改 用 户查 询 用 户添 加 成 绩删 除 成 绩修 改 成 绩查 询 成 绩图13 管理员登录后系统功能图2退 出 系 统以学生身份登录后的系统只提供学生本人成绩查询、所在班级成绩查询、个人注册信息修改和登录密码修改的功能,并不能对他人的成绩进行查询以及成绩和用户的添加和删除、修改。学生身份登录后的系统功能图如图14所示:成绩查询系统查询本人成绩查询本班成绩修改个人信息修改登录密码退出系统图14 学生登录后系统功能图在本系统中主要实现的是学生成绩的查询工作,而以不同的身份登录后查询的权限受到不同的限制,主要的功能结构图如图15:查询成绩管理员查询成绩学生查询成绩按照学号查询按照班级查询查询自己成绩查询本班成绩图15 成绩查询系统功能图管理员可以按照班级或是按照学号对所有学生的成绩进行查询,而学生登录后只能对自己的成绩和本班成绩进行查询。4.2数据库设计在UML建模分析和系统功能分析后,就需要在此基础上建立相关的数据库,设计出能够满足用户需求的各种实体,以及它们之间的关系,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。数据库设计包括需求分析、概念设计、逻辑设计、物理设计和实施维护。4.2.1数据库概念结构设计数据库的概念设计是针对现实世界,通过对其中信息实体的收集、分类、聚集和概括,建立数据库概念结构的过程,应该反映系统组织的业务模式、信息结构、信息间的相互制约关系,以及对信息存储、查询和加工的处理要求等。工商管理学院成绩查询系统中存在的实体主要包括学生、管理员、班级、课程、学期和成绩六个实体,系统中的数据项和数据结构如下:(1) 学生信息:包括的数据项有学号、姓名、班级和密码;(2) 班级信息:包括的数据项有班级编号、班级和班主任;(3) 课程信息:包括的数据项有课程编号、课程名称和任课老师;(4) 学期信息:包括的数据项有学期编号和学期;(5) 成绩信息:包括的数据项有学号、课程编号、学期编号和成绩;(6) 管理员信息:包括的数据项有帐号和密码。各实体之间的关系如图16所示:图164.2.2 数据库逻辑结构设计数据库逻辑结构设计阶段就是要将上面的数据库概念结构转化为SQL 2000数据库所支持的实际数据模型,也就是数据库的逻辑结构。工商管理学院成绩查询系统数据库中的主要数据表设计如下:(1)学生信息表,如表1所示:字段名数据类型是否允许为空是否主键学号 Char(10)否是姓名Varchar(12)否否班级Varchar(20)否否密码Varchar(8)否否表1(2)管理员信息表,如表2所示:字段名数据类型是否允许为空是否主键帐号 Char(10)否是密码Varchar(8)否否表2(3)课程信息表,如表3所示:字段名数据类型是否允许为空是否主键课程编号 Char(10)否是课程名称Varchar(20)否否任课老师Varchar(12)否否表3(4)学期信息表,如表4所示:字段名数据类型是否允许为空是否主键学期编号 Char(10)否是学期Char (10)否否表4(5)班级信息表,如表5所示:字段名数据类型是否允许为空是否主键班级编号 Char(10)否是班级名称Varchar(20)否否班主任Varchar(12)否否表5(6)学生成绩信息表,如表6所示:字段名数据类型是否允许为空是否主键学号 Char(10)否是学期编号 Char(10)否是课程编号 Char(10)否是成绩Int否否表64.2.3数据库物理设计和实施维护数据库物理设计是在已确定的逻辑数据库结构基础上,设计出在限定应用环境下,具有高效率、可实现的物理数据库结构的过程。物理设计还应该考虑操作约束、数据库性能和数据库安全等问题。4.3代码设计、输出设计、输入设计等4.3.1代码设计 工商管理学院成绩查询系统为每一个用户设计了一个代码,管理员应用自己的帐号登录系统后进行操作,而普通的学生的登录名即为其在学校的学号,这样在系统中就大大方便了数据的输入。管理员的帐户信息是不可以更改的,只可以在数据库中直接进行更改,而学生的基本信息可以通过管理员进行更新,以便纠正在输入基础数据中出现的错误,同时也为系统中新学生用户的加入提供添加功能。4.3.2输出设计和输入设计在系统的输入和输出设计上遵循的是既能满足用户需求又方便用户使用的原则。输入界面的设计不仅考虑数据输入窗口的屏幕格式,而且考虑如何使输入数据的错误率尽可能的小,为此在程序设计中加入了对输入的数据的校验和判断等功能,例如在本系统中要求输入成绩的地方,在输入信息提交之前先要检查成绩框中输入的是不是数字信息,如果不是数字就会提示错误信息并要求重新输入,在一定程度上保证了数据库中成绩一栏中的数据均以数字形式出现。图17 为管理员进行成绩查询的查询条件输入界面,在界面中学期、班级和课程均使用下拉列表的形式进行输入,将数据库中已经存在的信息全部显示在下拉列表中以供管理员从中选择,大大避免了因为个人输入习惯不同而导致的错误,例如在输入学期时有些用户输入2003秋季学期,也有些用户输入2003下学期,造成数据的不一致性,通过查询可能会产生不同的结果,也为程序设计带来了大量的不便。图17管理员查询成绩界面4.4信息系统体系结构及物理配置方案设计4.4.1信息系统体系结构设计在本次开发的工商管理学院成绩查询系统中采用C/S体系结构。C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如SQL Server。客户端需要安装专用的客户端软件。C/S的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。系统的体系结构图如图18所示:操 作 界 面组件对象模型MS SQL Server后台进程数据传输IIS web服务器图18 系统体系结构图4.4.2物理配置方案设计 在系统运行过程中需要进行配置的主要是对数据源的配置,通过ODBC数据源连接数据库,方法是在“控制面板/管理工具/ODBC数据源”下建立系统数据源,然后定义一个变量,让它等于这个数据源名就可以实现连接了。但是要注意的是在连接过程中需要将数据库中sa的登录密码设置为空,并且将数据库该为混合登录模式:即在数据库组属性中将安全性中的身份认证设置成SQL Server和Windows的混合模式,只有这样才能正确建立数据源,实现与数据库的连接。4.5软件开发工具选择ASP是Active Server Pages 的缩写,中文名字是“动态服务器页面”,使用ASP可以创建和运行动态、交互的Web服务器应用程序。动态网页是指该页面内容可以根据访问时间、访问者等不同因素动态生成,网页中可以包括动态文字、声音和动画。ASP具有如下特点:(1)使用VBScript JavaScript等简单易懂的脚本语言,再结合HTML代码,就可以快速的创建网站元素;(2)无须进行编译,容易编写,可以在服务器直接执行;(3)使用普通的文版编译器,如记事本等即可进行编辑设计;(4)与浏览器无关,客户端只要使用可执行HTML代码的浏览器,即可浏览ASP的网页内容;(5)ASP的源程序不会被传到客户端浏览器,因而可以避免所写的源程序被他人剽窃,提高了程序的安全性; 鉴于以上所述的ASP 的特点和在本科阶段学习的VBScript的基础,在本系统开发过程中选择使用ASP+VBScript 来进行系统的开发,并在FrontPage 2000下进行程序的编写。5系统实施5.1典型程序设计说明5.1.1用户登录系统界面设计 本系统由两个不同的登录界面:管理员模式和学生模式。无论以什么模式登录该系统,都需要对用户输入的用户名和密码进行检查,只有合法的用户才可以成功登录到系统中,以管理员模式登录的界面如下图19所示:图19 管理员模式登录界面 用户在输入完成帐号和密码并点击“登录”按钮后,就会运行系统的下列脚本程序:% strurl=request.servervariables(SCRIPT_NAME)if request.servervariables(CONTENT_LENGTH)0 then dim conn sno=trim(request.form(sno) pwd=trim(request.form(pwd) set conn=server.createobject(adodb.connection) conn.open DSN=score;UID=sa;PWD=; If sno= ThenResponse.Write alert(请填写学生学号!);window.locaton=default.asp; ElseIf pwd= Then Response.Write alert(请输入密码!);window.locaton=default.asp; else set Rs=server.createobject(adodb.recordset) Rs.open Select * from student Where sno= & sno & ,conn,3,3 if rs.eof and rs.bof then response.write( 该用户不存在!) response.write 返回 elseif pwdrs(pwd) then response.write ( 密码错误!) response.write 返回 else session(sno)=sno session(class)=rs(class) session(pwd)=rs(pwd) response.redirect seek.asp end if 关闭数据连接 %在这段脚本程序中,系统首先判断提交的页面内容是否存在,如果存在就会继续判断帐号和密码是不是为空,如果出现为空的状况则提示用户输入相关内容并返回到原来的登录模式下,如果帐号和密码都已经输入,则进行数据库连接,并在数据库中查询用户输入的帐号和密码是不是存在,如果帐号不存在则向用户显示错误信息,如果帐号存在但是输入的密码并不正确就向用户显示密码错误信息,如果帐号和密码与数据库中查询的结果一致则转入“seek.asp ”即管理员查询成绩界面。学生用户登录模式的主要过程与管理员模式下的过程基本相同,在此不再赘述。5.1.2管理员查询学生成绩界面设计 作为系统的管理员可以查询的所有学生在任何学期任何课程的考试成绩,为了方便管理员查询,在系统的查询界面中提供了两种查询方式:通过学号、学期和课程进行成绩查询以及通过班级、学期和课程进行成绩查询,管理员成绩查询界面如下图20所示:图20 管理员查询学生成绩界面 在这个界面中需要用户来输入查询条件来进一步进行成绩的查询,为了降低因为手工输入而产生的错误和不一致性,在查询界面中除了学号需要用户输入以外,其余的选项均采用下拉列表的方式以供用户从中选择,在下拉列表中显示数据库中存在的所有的可能项,实现“班级”列表的具体程序如下:%set conn=server.createobject(adodb.connection) conn.open DSN=score;UID=sa;PWD=;Set Rs = Server.CreateObject(ADODB.Recordset) Sql=Select distinct class From student Rs.Open Sql,conn,3,3 Do While Not Rs.EOF Response.Write & Rs(class) & Rs.MoveNextLoop %学期和课程列表的实现代码与班级的类似,不再赘述。如果管理员选择按照学号、学期和课程方式进行学生成绩查询,只要在输入相关条件后点击上面的“查询”按钮就会运行脚本程序来进行成绩的查询并分页显示查询的结果。在脚本程序运行过程中,系统首先根据管理员输入的查询条件来生成相应的数据库查询语句,在这里需要注意的是管理员在没有输入学生学号的情况下点击“查询”按钮,系统就会默认为要查询所有学生的成绩记录,以此方式来生成数据库查询语句,然后通过与数据库相连接来进行满足查询条件的成绩的查询,并在一个新的界面中分页显示成绩查询的结果,输入学号“002”、“所有学期”和“所有课程” 后的查询结果如下图21所示:图21 成绩查询结果界面5.1.3管理员添加学生成绩界面设计 管理员不仅可以对学生的成绩进行查询好可以对学生的成绩进行添加、删除、修改,管理员添加学生成绩的界面如图22所示:图22管理员添加成绩记录界面 在该界面中学号和成绩选择文本框的形式,而为了降低输入的错误率将学期和课程采用下拉列表的方式进行输入,当管理员输入完成所要填写的信息后点击“保存”按钮就会运行下述的脚本程序:% Sub add() sno=Trim(Request.Form(sno)term=Trim(Request.Form(term)subject=trim(Request.Form(subject)score=trim(Request.Form(score)If sno= ThenResponse.Write alert(请填写学生学号!)ElseIf term= ThenResponse.Write alert(请选择学期!)ElseIf subject= ThenResponse.Write alert(请选择课程!)ElseIf IsNull(score) ThenResponse.Write alert(请填写成绩!)Else 将学生学号、学期和课程成绩保存到score表中 set conn=server.createobject(adodb.connection) conn.open DSN=score;UID=sa;PWD=; Set Rs1 = Server.CreateObject(ADODB.Recordset) Set Rs2 = Server.CreateObject(ADODB.Recordset) Set Rs3= Server.CreateObject(ADODB.Recordset)Sql1=Select * From score Sql2=Select subject,score From score Where sno= & sno & and term= & term & and subject = & subject & sql3=select sno from student where sno=&sno&Rs1.Open Sql1,conn,3,3Rs2.Open Sql2,conn,3,3Rs3.Open Sql3,conn,3,3 if rs3.eof and rs3.bof then Response.Write alert(没有该用户!);window.locaton=Add.asp; elseif rs2.eof and rs2.bof thenRs1.AddnewRs1(sno)=snoRs1(term)=term Rs1(subject)=subject Rs1(score)=score Rs1.UpdateRs1.CloseSet Rs1=nothingResponse.Write alert(添加成功!);window.locaton=Add.asp; else Response.Write alert(此项成绩已经存在!);window.locaton=Add.asp;Rs2.Close Set Rs2=nothing end ifEnd IfEnd Sub% 在上述的脚本程序中,系统首先判断学号、学期、课程和成绩是否填写完全,如果没有填写完全则向用户提示要求输入的相关信息,如果输入完全则进行数据库连接来将要添加的成绩记录保存到数据库中的成绩表中,在保存过程中要先检查该学号的用户是不是存在,如果不存在则需要先添加学生用户后再进行学生成绩的添加,保存成功后向用户显示添加成功信息,如果要添加的成绩已经存在在数据库的成绩表中,就不可以再重复添加成绩信息,此时也要向用户提示成绩已经存在不可以重复添加的提示信息,最后将界面重新转至“add.asp”成绩添加界面。 管理员对学生成绩的删除和修改基本操作与管理员添加成绩的操作类似,但是要注意的是在修改和删除成绩之前要在数据库中查询要修改或删除的成绩记录,只有在成绩记录已经存在的情况下才可以对成绩进行修改核删除,否则就要向用户显示出错信息,具体的实现代码不再详述。5.1.4学生成绩查询界面设计 学生是系统的主要用户,为了方便学生用户进行成绩查询,在学生成功登录后就可以转入成绩查询界面进行成绩查询,同样也提供两种查询方式,按照自己的学号进行查询或是查询自己所在班级的成绩,与管理员查询成绩不同的是学生用户在登录的时候就被限制只能查询自己的所有成绩记录和自己所在班级的各科成绩单,但是不允许通过输入学号来查询他人的成绩或者是查询其他班级的成绩单。学生按照学号查询自己成绩的界面如图23所示:图23学生查询成绩界面从界面中可以看出系统对于学生的学号已经进行了设置,并且是不可以更改的状态,这就保证了每个学生用户只能查询自己的成绩并不能通过输入他人学号来查询别人的成绩,学期和课程采用下拉列表的方式进行输入从而降低输入的错误率,在脚本程序运行过程中,首先根据学生选择的查询条件来生成相应的数据库查询语句,建立与数据库的连接后进行查询,并以分页的形式显示用户的查询结果,如果登录的学生没有选择学期和课程而是直接点击了“查询”按钮,系统将会默认为要查询该学生所有学期的所有课程的成绩记录,在此基础上生成相应的数据库查询语句来进行成绩的查询与结果的显示,学号为001用户登录后选择“03上学期”和“物理”后的查询结果如图24:图24 成绩查询结果界面 学生登录后选择按照班级进行查询的方式来查询自己所在班级的成绩时候的主要代码和处理过程与按照学号查询的处理过程相似,只是将学生的班级设置成不可更改的状态,具体的处理过程不再详述。5.2测试方案及切换方式设计5.2.1测试方案设计由于时间和条件的限制,在系统设计完成后只对系统的功能进行相关的测试,所谓系统的功能测试是指验证测试软件功能能否正常按照系统的设计工作,看运行软件时的期望行为是否符合原设计,同时还要对系统的用户界面进行测试:分析软件用户界面的设计是否合乎用户期望或要求,常常包括菜单、按钮、文字以及出错提示等方面的测试。(1)登录界面测试对于登录界面的测试主要是针对输入的用户名和密码的不同显示不同的提示信息并判断在该情况下的提示信息是否正确,是否可以真正实现合法用户的正常登录和阻止非法用户登录系统。数据库中已经存在的管理员信息如下:帐号密码doudou000zhcl123表8在对管理员登录界面的测试中用到的数据和测试结果如下表9:输入的用户名输入的密码提示信息空000请输入用户名!doudou空 请输入密码!doudou111密码错误,返回!lina000该用户不存在!返回!doudou000登录成功,转入成绩记录添加界面表9(2)管理员添加记录测试 对于管理员添加成绩记录的测试主要是检查在输入成绩的基本信息后,系统能否判断是否可以添加该项成绩,如果符合添加条件则在数据库中添加新的成绩记录,并检查数据库中成绩表的变化是否正确。数据库中已经存在的成绩信息如下表10:表10对管理员添加成绩记录界面的测试过程忠用到的数据和测试的结果如下表11所示:输入的学号选择的学期选择的课程输入的分数系统提示的信息05003年上政治75该用户不存在!00103年上英语空请输入成绩!00103年上操作系统58该项成绩已经存在!00103年上英语69添加成功!00103年上政治number成绩框请输入数字!表11在添加成绩记录成功后,打开数据库中的成绩信息表会发现记录(001,03年上,英语,69)已经存在于成绩表中。 对于系统中其余功能的测试功能与对管理员添加成绩记录的测试类似,不再详述.5.2.2切换方式设计在系统设计实现完成后,先对本来存在的数据按照新系统对数据要求的格式和内容进行整理,统一进行数据的是收集、分类和编码。整理完成后,由专门的工作人员将整理好的数据输入信息系统,对系统进行初始化。在切换方式上,为了降低风险选择采用并行式的方法进行切换,新系统初始化完成后试运行一段时间,在此过程中调试系统不应该出现的错误,经过一段时间的考验后,对比结果没有问题后,便可以选择使用新系统完全替代原始的手工张贴成绩单来向学生公布考试成绩。6 系统评价本系统采用“无须编译”并可以产生并执行动态、交互式、高效率的站点服务器应用程序的ASP 技术和简单易懂的VBScript脚本语言作为系统程序开发的主要工具,并采用安全性、可靠性都较高的SQL Server 2000作为数据库开发的主要工具。西安理工大学工商能够管理学院成绩查询系统在现行成绩管理业务流程的基础之上利用现代计算机技术和网络技术使得学校的成绩管理工作信息化,系统不仅能够完成现行的各项成绩管理工作,并且大大降低了工作人员的工作强度、提高了工作效率、降低了因手工操作的错误率,并极大的方便了在校学生进行自我成绩查询、更清楚的了解自己乃至整个班级的成绩,即使发现自己的不足并加以改正。工商管理学院成绩查询系统的主要优点如下: 在登录界面,采用多重保护措施,充分保证合法用户的正常登录和对非法用户的阻止; 对于不同的用户登录系统设置不同的登录主界面,通过这种方式来增强系统的安全性; 采用Session变量来控制登录后用户的操作,并在必要的时候设置相关的在本次会话过程中不可更改的初始值,进一步加强系统的安全性,设置用户的操作权限; 在查询成绩过程中,提供两种不同的查询方式,来方便用户的成绩查询操作; 整个系统都很注意输入和输出方式的设置,并充分利用下拉列表来降低用户操作的错误率,提高查询效率; 在成绩查询结果的输出方面采用分页技术,使得查询结果简单明了、一目了然。由于时间和条件受到限制,本次开发的工商管理学院成绩查询系统业存在一些不足的地方,例如:本系统没有提供打印成绩单的功能,学生在查询成绩完毕后并不能直接打印自己的成绩单。7总结 在为期两周的信息系统分析与设计课程设计过程中,我综合利用自己在课堂上学到的知识(包括大二时候所学的数据库技术、大三时候学习的ASP和VBScript编程技术以及大四学习的信息系统分析与设计方法与理论)并在王老师的帮助下成功的完成了这次课程设计的任务。通过两周的课程设计将我在大学阶段的主要专业课程的知识有机的结合起来,使我更加清楚了在实际的项目开发过程中,这些知识是如何发挥自己的作用的。当然在整个系统的分析和开发过程中会遇到这样或者那样的问题:在系统分析阶段选择采用面向对象的方法对系统进行分析,这就需要在Rational Rose中构建系统的用例图、活动图、序列图、协作图和类图,由于对Rational Rose环境不是很熟悉,在构建这些图时遇到很多不应该有的小错误,但是在同学和老师的帮助下都一一解决了,这使我更加明白了理论与实践相结合的重要性,只有多多加强实际操作才能进一步加深对所学知识的理解;在系统实施过程中,与数据库的连接是系统开发最最关键的一步,这一步不能正常实现,接下来的开发工作都毫无意义,在连接数据库时采用的是建立数据源的方法,在建立连接时候往往会忘记将数据库中sa的登录密码设置为空,使得在数据源连接中出现异常的错误,只有细心才能避免类似错误的出现。 总之,这次课程设计使我受益匪浅,学到了许多在课本上学不到的东西,并大大增强了我的实际动手能力和将学习到的知识真正用于解决实际问题的能力。参考文献: 1 卫红春,方明信息系统分析与设计西安:西安电子科技大学出版社,20032 许卫林,宋先斌VBScript+ASP 动态网页制作北京:中国电力出版社,20023 董兰芳,刘振安UML课程设计北京:机械工业出版社,20054 黄梯云,李一军管理信息系统北京:高等教育出版社,20005 王少锋面向对象技术UML教程北京:清华大学出版社,2004
展开阅读全文