资源描述
无锡工艺职业技术学院毕业设计(论文)题 目: 学生信息管理系统数据库课程设计与实现 系 部: 电子信息系 专 业: 计算机网络技术 学 号: 2007214132 学生姓名: 指导教师: 职 称: 二O一0 年 4月15日毕业设计(论文)任务书 题目学生信息管理系统数据库课程设计与实现学生姓名系部名称电子信息系专业班级计网专071课题类型基于ASP开发的管理系统课题意义学生信息管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。任务与进度要求09.12.28-10.1.10查阅文献,调研;10.1.11-10.1.22需求分析,确定设计方案;10.1.23-10.4.15系统设计;10.4.16-10.6.1撰写论文.主要参考文献王珊,萨师道.数据库系统概论.北京:高等教育出版社,20062 刘志成.ASP程序设计案例教程.北京:清华大学出版社,20073 (美)西尔伯沙茨.数据库系统概念.北京:机械工业出版社,20034 王鹏.数据库技术及其应用.北京:人民邮电出版社, 20005 唐有明 吴华.ASP动态网站开发.北京:清华大学出版社,2006起止日期2009.12.28-2010.6.1备注系主任 张爱良 教研室主任 吴俊强 指导教师 朱旭东 IV 无锡工艺职业技术学院毕业设计(论文)开题报告表 2009 年 12 月 23日姓名*系部电子信息系专业计算机网络技术班级计网专071题目学生信息管理系统数据库课程设计与实现指导教师朱旭东设计(论文)背景、意义和现状分析: 学生信息管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。经过详细的调查分析,我选用Dreamweaver 8.0作为前端开发工具,利用其提供的集成开发环境及支持面向对象的各种标准化的控件,尤其是对ADO的支持完成对数据库的各种操作,达到对学生学籍管理的目的。设计时首先在短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。经过详细的调研,并多次与学生档案管理的老师进行研讨后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下: 新生入校,首先报到并进行注册登记,然后到财务部门缴费。根据学生被录取的专业,持缴费单到所在系或部注册。 到系或部注册后,根据选报专业分配到班级。 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各课的期末考试。考试结束,由各系或部将各位同学的考试成绩及其他一些相关信息纪录至每个同学的档案中。二、进度及预期结果:起止日期主要内容预期结果09.12.28-10.1.1010.1.11-10.1.2210.1.23-10.4.1510.4.16-10.6.1查阅文献,调研;需求分析,确定设计方案;系统设计;撰写论文.完成课题的现有条件本人具有Dreamweaver程序设计和ASP数据库管理的基础,有一定的程序开发能力,对ADO及相关技术也有所了解。采用Dreamweaver 8.0站总体框架设计及超链接的建立;采用ASP语言进行数据库连接;采用Sql Server为数据库,并以windows xp及其以上的版本操作系统作为运行平台。审查意见指导教师: 年 月 日系部意见主管领导: 年 月 日摘 要 学生信息管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。【2】经过详细的调查分析,我选用Visual Basic 6.0作为前端开发工具,利用其提供的集成开发环境及支持面向对象的各种标准化的控件,尤其是对ADO的支持完成对数据库的各种操作,达到对学生学籍管理的目的。设计时首先在短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。关键词:学生档案; 管理; 分析;设计;实现; ADO Abstract Student Information Management System is a typical management information system (MIS), the system development includes database planning and design and maintenance, the client application development aspects. Request for the establishment of the database has integrity and consistency, and with some data security, while the latter requires procedures for the friendly interface, complete functions, easy to use, with popular features of the software operating habits. After detailed investigation and analysis, I use Visual Basic 6.0 as front-end development tool, the use of its integrated development environment and support a variety of standardized object-oriented control, especially for ADO support for the completion of various operations on the database, to The purpose of the Status of Students. Design in a short time before the first prototype application system, then the initial prototype of the system needs to constantly revise and improve customer satisfaction until the formation of the practical systems. Key words: student records, management, analysis, design, implementation, ADO 目 录第一章 前 言2第二章 数据库管理系统的概述3第三章程序开发的技术基础 5 3.1 HTML语言 5 3.2 ASP技术5 3.2.1 ASP简介6 3.2.2 ASP工作原理6 3.2.3 ASP的发布7 3.3 数据库原理7 3.3.1 SQL语言简单介绍7 3.3.2 ADO技术介绍7第四章学生信息管理系统数据库课程设计与实现8 4.1需求分析8 4.1.1用户调查8 4.1.2构造系统的逻辑模型9 4.1.3确定目标系统的功能10 4.1.4 数据分析-概念模型分析11 4.2 总体设计v13 4.2.1软件系统结构的设计13 4.2.2 数据库的设计15 4.3详细设计18 4.3.1具体描述18 4.3.2 具体实现步骤19第五章 总结24第六章 系统展望24第七章 致谢25第八章 参考目录26 第一章 前 言 学生信息管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。经过详细的调查分析,我选用Dreamweaver 8.0作为前端开发工具,利用其提供的集成开发环境及支持面向对象的各种标准化的控件,尤其是对ADO的支持完成对数据库的各种操作,达到对学生学籍管理的目的。设计时首先在短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。经过详细的调研,并多次与学生档案管理的老师进行研讨后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下: 新生入校,首先报到并进行注册登记,然后到财务部门缴费。根据学生被录取的专业,持缴费单到所在系或部注册。 到系或部注册后,根据选报专业分配到班级。 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各课的期末考试。考试结束,由各系或部将各位同学的考试成绩及其他一些相关信息纪录至每个同学的档案中。 第二章数据库管理系统的概述数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。【2】它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。 按功能划分,数据库管理系统大致可分为6个部分: (1)模式翻译:提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。 (2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。 (3)交互式查询:提供易使用的交互式查询语言,如sql。dbms负责执行查询命令,并将查询结果显示在屏幕上。 (4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。 事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。 (6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。 基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在各户服务器结构的分布式多用户环境中的应用,使数据库系统的应用进一步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期dbms软件的性能还将更新和完善,应用领域也将进一步地拓宽。它所提供的功能有以下几项:(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。(2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。(3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 (4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。(5)数据库的传输。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。第三章 程序开发的技术基础3.1 HTML语言HTML(Hyper Text Markup Language 超文本标记语言)是一种用来制作超文本文档的简单标记语言。与常见的字处理文件不同,Web页以超文本标识语言编排格式。HTML文件是带有特定HTML插入标记的用以编排文档属性和格式的标准文本文件。它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作World Wide Web上的信息表示语言,用于描述Homepage的格式设计和它与WWW上其它Homepage的连结信息。HTML文档(即Homepage的源文件)是一个放置了标记的ASCII文本文件,通常它带有. html或. htm的文件扩展名。生成一个HTML文档主要有以下三种途径:(1)手工直接编写(例如用你所喜爱的ASCII文本编辑器或其它HTML的编辑工具)。(2)通过某些格式转换工具将现有的其它格式文档(如WORD文档)转换成HTML文档。(3)由Web服务器(或称HTTP 服务器)一方实时动态地生成。一般的HTML页面具有如下的结构: html , 这是HTML正文部分 /body 可见在一个HTML网页文件中,一般必须有一对html标记作为文件的开头和结尾,在标记后是头部标记,其后是实体标记。3.2 ASP技术 3.2.1 ASP简介ASP(Active Sever Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface)技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。ASP是一个位于服务器端的脚本运行环境。通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互 式动态网页,包括使用HTML 表单收集和处理信息、上传与下载等。【3】 通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet上的许多站点,仍然提供“静态”(static)的主页内容。所谓“静态”,是指站点的主页内容是“固定不变”的。一个“静态”的站点,若要更新主页的内容,必须手动更新其 HTML的文件数据。而随着Web技术的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求而生成报表等。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。根据用户请求生成动态主页的传统方法有CGI、ISAPI等。CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下。ISAPI针对这一缺点进行了改进,利用dll(动态链接库技术),以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术 Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。【3】ASP使用的 ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。 3.2.2 ASP工作原理ASP与常见的在Client端实现动态主页的技术如Java applet、 ActiveX Control、VBScript、JavaScript等不同,ASP中的命令和 Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端的Script命令则是由浏览器来解释执行。由于 ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP,也不必担心别人下载程序从而窃取编程逻辑。ASP程序通过后缀名为. asp的ASP文件来实现其功能,一个. asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。【4】当用户从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给Web服务器。如果Web服务器上装ASP,就调用ASP,ASP读出相应 . asp文件,解释并执行命令,动态生成一个HTML页面回传Web服务器,然后Web服务器把结果发送给浏览器。ASP文件的制作和HTML类似,且可和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中,这使得HTML文件的编写与脚本的开发融合在一起。通过ASP内置的对象、服务器组件 (Sever Component)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。ASP与网关及服务器扩展模式相比有以下优点:(1)完全与HTML文件融合在一起; (2)容易创建,不需要其它编译、链接程序;(3)面向对象的并通过ActiveX Sever对象可扩展。在电子商务中,对用户而言,进行网上信息查询的目的是寻找自己需要的产品或服务,而对于服务提供者来说,其目的则是向用户推销自己的产品或服务。因此,让用户通过浏览器查询服务的后端数据是许多Web服务提供者必须提供的服务,ASP通过内置的ADODB组件来实现这一功能。可以使用ADO去编写紧凑简明的脚本,以便连接到ODBC兼容的数据库和OLE DB兼容的数据源。 3.2.3 ASP的发布当编辑好ASP文件后,必需发布后才能实现其功能,ASP文件本身并不能运行。我们用Windows自带的工具IIS(windows2000 XP)来发布ASP文件。(Windows 98用PWS发布)【5】.在Windows XP中打开控制面板管理工具Internet信息服务。双击Internet信息服务,于是我们就来到了IIS的使用界面。打开网站默认网站.在默认网站内新建立虚拟目录.为目录起个别名例如“网上购物” 选择内容的目录路径设置权限(通常不允许访问写入权限,防止网页被改)顺利完成以上操作就表示你已经成功发布了你的网页。(“网上购物”已在默认网站内).3.3 数据库原理 3.3.1 SOL语言简单介绍SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。 目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、 Microsoft SQL Server、Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。在众多的SQL命令中,select语句应该算是使用最频繁的。select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。select语句中位于select关键词之后的列名用来决定哪些列将作为查询结果返回。用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。select语句中位于from关键词之后的表格名称用来决定将要进行查询操作的目标表格。除了上面所提到的运算符外,LIKE运算符在where条件从句中也非常重要。LIKE运算符的功能非常强大,通过使用LIKE运算符可以设定只选择与用户规定格式相同的记录。 3.3.2 ADO技术介绍ADO(ActiveX Data Objects)技术是微软公司推出的数据库连接技术,运用该技术可以对各种数据库(如SQL Server、Access、Oracle及Sybase等)的链接、查询、存取等操作。ADO对象给开发人员提供一种快捷、简单、高效的数据库访问方法,ADO可以包含在脚本中来产生对数据库的连接,并从数据库表中读取数据,形成实际要使用的对象集合。而且,对于数据资源,提供了应用程序一级的界面。不过,ADO并不与数据资源直接通信,而是通过称为OLE DB的中间界面,对于数据资源(Microsoft SQL Server),OLE DB提供了系统一级的界面。ADO是一组优化的访问数据库的对象集,为Web数据库开发者提供完整的网站数据库解决方案。【6】ADO可以与ASP紧密结合,运行在服务器端,从而制作出功能完善的数据库网页。ADO除了支持各种数据库平台外,它还支持VB、VC和Script等多种程序设计语言。在利用ADO技术进行数据库网页制作的第一步就是要建立服务器端的数据库,即后台数据库,一般可选择SQL Server或者Access作为后台数据库。本次的毕业设计是以Access作为后台数据库。第四章 学生信息管理系统数据库课程设计与实现4.1 需求分析4.1.1用户调查 经过详细的调研,并多次与学生档案管理的老师进行研讨后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下:新生入校,首先报到并进行注册登记,然后到财务部门缴费。根据学生被录取的专业,持缴费单到所在系或部注册。到系或部注册后,根据选报专业分配到班级。进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各课的期末考试。考试结束,由各系或部将各位同学的考试成绩及其他一些相关信息纪录至每个同学的档案中。根据以上总结,得到其现行的业务流程如图1-1所示。新生办理登记手续财务处学生处至系或部系或部分班安排课程教室开始学习活动考试成绩奖惩信息档案信息学生处学生图1-1 现行学生信息管理业务流程图4.1.2 构造系统的逻辑模型 构造系统的逻辑模型的工具是数据流图和数据字典。数据流图中没有任何具体的物理元素,只是用来描绘信息在系统中的流动和处理情况。数据流图共有四种基本符号:矩形表示数据的源点和终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭头表示数据流,即特定数据的流动方向。【7】根据现行学生信息管理的业务流程,首先确定数据流图中的源点和终点都选定为学生,如此就得到了学生档案管理系统的基本系统模型,如图1-2所示。学生档案管理学生学生基本信息成绩等信息学生 图1-2 学生档案管理系统的基本系统模型根据基本系统模型,对其逐步西化,得到描绘逻辑系统西化后的数据流图,如图1-3所示。D3 课程信息表D1 学生信息表课程信息学生基本信息基本信息1.3课程确定1.1注册根据专业确定所修课程学生1.2建档分班新生报道成绩信息班级信息D2 班级信息表D4 成绩信息表学生毕业分档1.4处理档案成绩信息图 1-3 学生档案系统数据流图4.1.3 确定目标系统的功能 通过详细的用户调查,在现行的业务处理流程和数据流图的基础上,就可以基本确定目标系统要达到的目标了。需求分析的任务是确定系统必须完成的工作,也就是对目标系统提出完整、标准、清晰、具体的要求。在经过多方了解和调查后,基本清楚了学生档案信息管理的功能需求,学生档案管理系统必须完成以下功能:数据添加功能:对于新生报道,系统必须具有班级的建立、课程的设置,如果新增专业,则能添加新专业,期末学生的考试成绩及奖惩信息必须能够录入。数据修改功能:当上述资料发生变化或有错误信息输入时,应能够及时对数据进行修改和补充。数据查询功能:该系统的主要功能致意即根据用户提供的相关信息,能够及时查找出对应的学生信息,系统应该提供多种查询方法,以便满足用户的不同需求。数据打印功能:学生基本信息和成绩录入后应可以打印出来形成文字档案,装入学生档案,这也是学生学籍管理系统必须具备的功能。4.1.4 数据分析概念模型分析需求分析阶段主要有两个方面的任务:分析用户的数据要求和分析用户的处理要求。通过以上分析,我们已经基本了解了用户对处理的要求,接下来需要的工作是分析用户对数据的要求。为了把用户的数据清晰明确地表达出来,系统分析员通常建立一个概念性的数学模型。概念性模型是一种面向问题的数学模型,是按用户的观点来对数据和信息建模。最常用的表示概念性数据模型的方法是实体-联系方法(Entity-Relationship Approach)。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称为E-R模型,E-R图中共用三种符号:实体、属性和联系。【8】通常实体用矩形来表示,属性用椭圆或圆角矩形来表示,联系用菱形来表示。联系有分为一对一、一对多和多对多三种类型。 数据库建模 经过上面的分析,能够提取以下几个实体:学生、课程、专业 、班级等。它们的实体图分别如图1-4、图1-5、图1-6、图1-7所示。姓名学号籍贯性别学生邮政编码出生日期图1-4 学生实体图所属专业课程名称课程图1-5 课程实体图所属院系专业名称专业图1-6专业实体图所在院系人数班级名称班级辅导员所在教室图1-7班级实体图 在找到所有实体的基础上,需要进一步分析各实体之间的联系。经过分析两两实体之间的联系,然后进行合并,给出所有尸体的联系图即E-R图,如图1-8所示。课程学生学属于成绩属于专业班级图1-8学生信息管理的E-R图从以上E-R图中可以看到,学生和课程两个实体之间的联系的类型是多对多的,其他实体之间的类型都是属于一对一或一对多的联系。在考察多对多的联系中,一定要注意这时的联系“学”有时也可以有属性“成绩”,表示某位同学选修某门课程时必须给出其成绩,该属性既不属于实体学生,也不属于实体课程。特别需要提醒的是,一般只有多对多的联系才需要考虑其联系的属性。 关系描述的设计根据以上各实体图和学生信息管理的E-R图,经过转换,可以导出各个关系。其转换规则为:首先每个实体转化为一个关系,有属性的联系也应转化为一个关系,然后需要给出每个关系的关键字。根据以上规则,直接给出所有关系。学生(学号、姓名、性别、政治面貌、出生日期、专业、班级、家庭住址、联系方式、备注)关键字为学号。课程(课程名称、所属专业)关键字是课程名称。专业(专业名称、所属院系)关键字为专业名称。班级(班级名称、所属院系、辅导员、教室、人数)关键字为班级编号。成绩(学号、姓名、专业、课程名称、所在学院、性别、成绩)关键字是学号与课程名称。在考虑系统安全的前提下,需要增加用户关系和使用关系,其关系模式如下:用户(用户名、密码、用户ID)关键字为用户名。系统日志(用户名、登录日期、登录时间)。4.2 总体设计系统设计一般分为总体设计和详细设计。经过需求分析阶段的工作,已经清楚系统必须完成的工作,下面的工作就应该是决定“如何做”的问题,总体设计的基本目的的就是“概要地说系统应该如何实现?通过该阶段的工作将划分出组成系统的物理元素程序、文件、数据库、文档等,另一方面的主要工作是设计软件的结构,即确定系统都由哪些模块组成及模块之间的相互关系。4.2.1软件系统结构的设计 得到新的业务流程根据系统分析得到的现行业务处理流程,在与用户反复研究协商后,首先得到目标系统即学生学籍管理系统的业务流程,其处理流程如图2-1所示。分班并开始学习系统登录新生报道信息录入用户初始化结束退出登录考试录入成绩信息修改与奖惩信息录入 图2-1 学生信息系统的业务流程针对新的处理流程,现具体描述如下:用户登录:对系统进行初始化设置,包括对专业、课程和班级的设置。新生报道:按专业分班进行教学,并为每位新同学分配学号,然后对学生基本信息进行录入。学生分配到班级、领教材开始新的大学学习生活。用户对学生在校期间得到的奖惩信息进行录入,并可以对基本信息发生变化的学生在系统中进行修改。期末考试结束,用户把每个学生的考试成绩进行录入、修改和查询。 系统功能结构图根据系统分析阶段得到的数据流图,采用软件设计的概念和原理,在与用户反复研究和协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出学生学籍管理系统的系统功能结构图,如图2-2所示。学生学籍管理系统学籍管理系统添加用户修改密码打印学生信息卡添加奖惩信息查询修改信息添加学籍信息退出系统专业与课程班级管理设置专业课程课程信息添加班级专业信息修改班级修改信息设置类型添加信息添加专业信息成绩管理添加成绩信息删除成绩信息查询修改成绩信息图2-2 学生学籍管理系统功能结构图4.2.2 数据库的设计在需求分析阶段已完成了系统的数据分析。根据数据分析阶段建立的概念模型,已经得出满足第三范式的若干个关系描述,这阶段的主要工作就是把前一阶段的成果转化为具体的数据库。一般把数据库的设计分为数据库的逻辑设计和数据库的物理设计两个步骤。 数据库的逻辑设计在完成数据的概念模型设计即E-R图后,即可进入数据库的逻辑设计阶段。数据库的逻辑设计即把得到的满足第三范式的关系转化为特定的数据库管理系统下的数据库。根据前面得到的各个关系,现把它们转化为数据表。【9】学生信息表:学号、姓名、性别、政治面貌、出生日期、专业、班级、家庭住址、联系电话、备注。此表共10个字段,由于在校所有学生中,不可能存在两个学生的学号相同,所以在本表中学号作为学生信息表的主键。课程信息表:课程名称、所属专业。专业信息表:专业名称、所属院系。此表以专业名称为主键。班级信息表:班级名称、所属专业、辅导员、教室、人数。此表公有五个字段,以学号和班级共同为主键,用于纪录学生所在班级的信息。成绩信息表:学号、姓名、专业、程名称、所在学院、性别、成绩。此表共有七个字段,以学号和课程名称共同为主键,用于纪录学生在校期间的各课考试。用户名:用户名、密码、用户ID。此表用于系统对操作员的设置。系统日志:用户名、登录时间、登录时间、此表用于纪录系统的使用情况。 数据库的物理设计在完成数据库的逻辑设计后,即可开始数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性及通用性,本学生学籍管理系统采用Microsoft的Access 2003数据库,并在其下创建9个数据库,其结构分别如下:学生信息表(xsXJ),共有10个字段,分别为:学号、姓名、性别、政治面貌、出生日期、专业、班级、联系电话、家庭住址、备注。见表2-1。字段名数据类型字段长度与格式关键字学号文本15是姓名文本20否性别文本5否政治面貌文本12否出生日期日期型YYYY-MM-DD否专业文本20否班级文本20否家庭住址文本50否联系电话文本15否备注文本50否表2-1 学生信息表结构课程信息表(xsKC),本表有两字段:课程名称、所属专业。见表2-2。字段名数据类型字段长度与格式关键字课程名称文本20是所属专业文本20否表2-2 课程信息表的结构班级信息表(xsBJ),共有四个字段分别为:班级名称、所属院系、辅导员、教室、人数。见表2-3。字段名数据类型字段长度与格式关键字班级名称文本20是所属院系文本20否辅导员文本10否教室文本15否人数文本3否 表2-3 班级信息表的结构 专业信息表(xsZY),本表有两个字段:专业名称、所属院系。见表2-4。字段名数据类型字段长度与格式关键字专业名称文本20是所属院系文本20否表2-4 专业信息表的结构 成绩信息表(xsScore),共有6个字段分别为:学号、姓名、专业、课程名称、成绩。见表2-5。字段名数据类型字段长度与格式关键字学号文本15是姓名文本20否专业文本20否课程名称文本20是所在学院文本20否性别文本5否成绩文本5否表2-5 成绩信息表的结构4.3详细设计4.3.1具体描述详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。【10】把经过总体设计得到的各个模块详细的加以描述。其中系统功能模块图如图3-1所示,主程序流程图如图3-2所示。学生学籍管理系统系统管理学籍管理专业课 程管理班级管理成绩管理帮助添加班级查询班级注销班级学生添加学生查询学生注销学生打印管理日志用户管理重新登陆系统日志退出系统设置专业设置课程查询修改添加成绩查询修改删除成绩帮助关于系统信息图3-1 软件系统的模块结构图查询选择插入显示主菜单删除用户登陆修改开始图3-2 软件系统主程序的程序流程图4.3.2 具体实现步骤:登录界面如下图: 图3-3 学生信息管理系统登录界面登录之后,进入选择对数据库进行什么操作,如图: 图3-4 对数据库操作内容(1)若选择查看网站基本信息,则进入如下界面: 图3-5 网站基本信息编辑(2) 若进行管理员设置,则进入如下界面: 图3-6 管理员设置页面 界面实现代码:%if menu=admin thenSet rsj = Server.CreateObject(ADODB.Recordset)sql=select * from admin where name=&user&rsj.open sql,conn,1,1if rsj.eof thenResponse.Write(不存在该用户或者该用户已经是管理员返回重新填写!)elsefen=rsj(fen)lei=split(fen,|)if lei(2)=0 thenResponse.Write(贴心提示:“3.可能是您的后台等级不适和该操作;因此系统已自动将其保留,望以后多努力哦!”)response.Endend ifend ifset rs=server.createobject(adodb.recordset)sql=select * from admin rs.open sql,conn,1,3if ad=save thenrs.addnewrs(name)=request(name)rs(pass)=md5(request(pass),32)rs(fen)=0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0rs(bei)=request(bei)rs.updaters.closeresponse.write alert(管理员添加成功);location.href=?menu=adminend if (3)若选择进入学生管理操作,则进入如下界面: 图3-7 学生管理操作页面 界面实现代码:%if menu=shen thenSet rsj = Server.CreateObject(ADODB.Recordset)sql=select * from admin where name=&user&rsj.open sql,conn,1,1if rsj.eof thenResponse.Write(不存在该用户或者该用户已经是管理员返回重新填写!)elsefen=rsj(fen)lei=split(fen,|)if lei(8)=0 thenResponse.Write(贴心提示:“7.可能是您的后台等级不适和该操作;因此系统已自动将其保留,望以后多努力哦!”)response.Endend ifend ifshen=noset rs=server.createobject(adodb.recordset)sql=select * from user where ok=&shen& rs.open sql,conn,1,1if ad=save thenname=request(name)set rsa=server.createobject(adodb.recordset)sql=select * from user where name=&name& rsa.open sql,conn,1,3rsa(ok)=yesrsa.updatersa.closeresponse.Redirect(?menu=shen)end if% 等待审核信息 姓名 性别 年龄 电话 联系地址 审核 a href=?menu=shen&ad=save&name=通过 %if menu=adduser thenSet rsj = Server.CreateObject(ADODB.Recordset)sql=s
展开阅读全文