1、4开发出可以运行的管理信息系统,通过上机运行检查.5设计说明书要求文档齐备,步骤全整,流程正确,说明详细,具有可操作性.指导教师评语及成绩成绩: 指导教师签字: 2012 年 6 月 12 日第1章 系统分析1。1需求分析学生信息管理系统是对学校学生管理工作进行处理的一个计算机系统。信息管理是学校管理中最为繁琐的一项工作,因而有必要对此进行简化并用计算机管理来代替人工管理。本学生信息管理系统模块是为了实现学校人力资源的优化和对学生信息管理的科学管理而设计的,通过运用本系统,可以更加有效的管理学生信息,其中包括学生的基本信息,信息并且具有信息的增加,查询,修改等功能。1.2系统的可行性分析1.技
2、术可行性本系统的开发环境是基于Windows 2000的中文操作系统,采用面向对象的编程工具Visual Basic 6.0(以下简称VB),后台数据库是SQL Server 2000。考虑到本系统属于小型数据库系统,并且不会有很大的数据量访问,笔者决定采取本地数据库访问和编程方法,以达到对数据库快速方便地访问。Visual Basic 6.0是专门为Microsoft的32位操作系统设计的,可用来建立32位的应用程序。在Windows 9X 或 Windows NT 环境下,用Visual Basic 6。0的编译器可以自动生成32位应用程序。这样的应用程序在32位操作系统下运行,速度更快,
3、更安全,并且更适合在多任务环境下运行。Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows 环境下的各类应用程序.2.经济可行性本系统虽然需要有良好的整体规划,而且还需要专业人员进行系统的运行阶段的维护与管理,所以系统开发需要大量的先期投入,但是今后系统的使用会给用户带来很大的方便。从提高工作效率而避免各种直接或间接的经济损失角度来看,软件实际能够起到的作用会远远大于投入的开发费用。故从经济上是完全可行的。总之,这个系统的经济效益远远大于开发成本。3。操作可行性对于用户来说,合理方便的功能设计和快捷的操作,足可以满足各种用户的不
4、同需求,同时也方便了管理员的内部管理.总之,这个系统的经济效益远远大于开发成本。硬件上,满足要求的计算机的配置不用很高;软件上,采用Windows系列操作系统,对管理员稍做培训即可掌握,操作上是可行的。1.3业务流程图 1。工作流程图:图1.1系统工作流程图2。系统业务流程图:系统业务流程图业务流程图是系统分析和描述系统的重要工具,是业务流程调查结果的图形化表示,它反映了系统各机构的业务处理过程和它们之间的业务分工与联系,以及连接各机构的物流、信息流的传递和流通的关系。图1。2系统业务流程图4 数据流图画数据流图的基本目的是利用它作为交流信息的工具。分析员把他对现有系统的认识或对目标系统的设想
5、用数据流图描绘出来,供有关人员审查确认。由于在数据流图中通常仅仅使用四种基本符号,而且不包括任何有关物理实现的细节,因此,绝大多数用户都可以理解和评价它。数据流图如图1.3所示: 图1。3 数据流图5数据字典数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。任何字典最主要的用途都是供人查阅不了解的条目的解释,数据字典的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息.数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图精确的定义放在一起,才能共同构成系统的规格说明。 由于元素太
6、多我们只对其中主要的元素定义说明。数据字典的主要用途是作为分子阶段的主要工具。在数据字典中建立一组严密一致的定义很有助于改进分析员和客户之间的通信,因此将消除很多可能的误解。数据字典包含的每个数据元素的控制信息是很有价值的.因为列出了使用一个给定的数据元素所有程序,很容易估计改变一个元素将产生的影响,并且能对所有受影响的程序或模块做出相应改变。数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典.由于暂时还没有自动的数据字典处理程序,我们采用卡片形式书写数据字典,每张卡片上保存描述一个数据元素的信息。这种做法较好的实现了上述要求,特别是
7、更新修改起来很方便,能够单独处理每个数据元素的信息。每张卡片上包含的信息有:以下是数据流图中主要元素的数据字典卡片: 表1。1年级管理信息数据结构名称:年级管理信息别名:含义说明:管理年级的添加,查询,删除的信息数据结构组成:年级编号+年级名称位置:基本信息设置表1.2班级管理信息班级管理信息管理班级的添加,查询,删除的信息数据项的组成:年级+班级+教室+年制+专业+班主任+备注表1.3课程管理信息课程管理信息存储用户的基本课程设置以及班级课程设置的信息。年级编号+班级编号+学期+课程名称成绩管理信息负责成绩的添加,浏览等信息。学号+学期+类型+课程名称+分数表1。4成绩管理信息第2章 系统设
8、计1程序设计1.概要设计:学生信息管理分为年级信息管理,学籍信息管理,班级信息管理,成绩信息管理,课程信息管理,查询管理.总体设计功能图如下: 图2。1整体功能模块图详细设计:详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,得出系统的精确描述,直接翻译成用某种程序设计语言书写的程序。举例说明该系统登录窗体的实现.系统首先进入登陆界面,输入正确的用户名和密码后,正常登陆系统界面,如图所示: 图2.2 系统登陆界面图“确定按钮的Click事件代码:Private Sub Command1_Click() Dim mrc As ADODB.Recordset txtsql = selec
9、t username from userinfo where username= Trim(Text1。Text) ” Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox ” 用户名错误!”, vbExclamation + vbOKOnly, 警告” Text1。SetFocusSelStart = 0 Text1.SelLength = Len(Text1。Text) Exit Sub End If username = mrc。Fields(0) txtsql = ”select username from userinf
10、o where password=” Trim(Text2。Text) & ” If mrc。EOF = True Then MsgBox ” 密码错误!, vbExclamation + vbOKOnly, ”警告” Text2。 Text2.SelStart = 0 Text2.SelLength = Len(Text2。 MDIForm1。Show End Sub2数据库设计概念设计在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式.然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,
11、不受特定DBMS的限制。利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局E-R模式进行优化,得到最终的模式,即概念模式.ER模型中包括“实体”、“联系”和“属性等三个基本成分,下面分别介绍这三个基本成分。实体:实体是客观世界中存在的且可相互区分的事物。实体可以是人也可以是物,可以是具体事物,也可以是抽象概念.例如,学生、课程、老师等都是实体。联系:客观世界中的事物彼此间往往是有联系的。例如,教师与课程间存在“教这种联系,而学生与课程间则存在“学”这种联系.联系可分为三种,分别是一对一联系、一对多联系和多对多联系。属性
12、:属性是实体或联系所具有的性质,通常一个实体有若干个实体属性来刻画.联系也可能有属性。E-R模型的“联系用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等.还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。班级信息表的ER图包括如下信息:班号、年级编号、年级名称、班主任编号等.图2。3班级E-R图课程信息的E-R图包括如下信息:课程编号、课程名称、课程类型、课程描述。图2.4课程E-R图成绩信息表的ER图
13、包括如下信息:考试编号、学生学号、课程编号、分数。图2.5成绩E-R图总体E-R图包括:学校信息表、学院信息表、教师信息表、学生信息表、课程信息表和成绩表。5整体E-R图6 总体E-R图2逻辑设计概念设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS支持,为了能够建立起最终的物理系统,我们还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户字模式。数据库逻辑结构的设计分为两个步骤:1、将概念设计所得的
14、ER图转换为关系模型。2、对关系模型进行优化.按照关系模型转换的原则和规范化理论的原则,将概念设计所得的ER图转换为关系模型.学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)在学生的关系模式中,学号为主码,其它非主属性完全依赖于码,并且既不存在部分函数依赖,也不存在传递函数依赖,另外,用户的名字为这个关系模式的决定因素,而它本身又是关系模式的码。所以,此关系模式属于BC范式。班级(班级名称,年级,教室,年制,专业,班主任,备注)在班级信息的关系模式中,班级名称为主码,其它非主属性完全依赖于码,并且既不存在部分函数依赖,也不存在传递函数依赖,另外,班级名称为这个关
15、系模式的决定因素,而它本身又是关系模式的码.因此,此关系模式属于BC范式。根据规范化理论的要求,一般数据库设计要达到第三范式,而BCNF是对第三范式的修正,比第三范式要求更加严格,能够保证数据库设计的科学性。课程管理(课程的名称,年级,专业,学期,年制,备注)在课程管理的关系模式中,课程的名称为主码,其它非主属性完全依赖于码,并且既不存在部分函数依赖,也不存在传递函数依赖,另外,课程的名称为这个关系模式的决定因素,而它本身又是关系模式的码。同样,此关系模式也属于BC范式。3.物理设计在数据库中创建索引时,查询所使用的索引信息存储在索引页中.连续索引页由从一个页到下一个页的指针链接在一起。当对数
16、据的更改影响到索引时,索引中的信息可能会在数据库中分散开来。重建索引可以重新组织索引数据(对于聚集索引还包括表数据)的存储,清除碎片。这可通过减少获得请求数据所需的页读取数来提高磁盘性能。在 SQL Server 2000 中,如果要用一个步骤重新创建索引,而不想删除旧索引并重新创建同一索引,则使用 CREATE INDEX 语句的 DROP_EXISTING 子句可以提高效率。这一优点既适用于聚集索引也适用于非聚集索引。以删除旧索引然后重新创建同一索引的方式重建聚集索引,是一种昂贵的方法,因为所有二级索引都使用聚集键指向数据行。如果只是删除聚集索引然后重新创建,则会使所有非聚集索引都被删除和
17、重新创建两次。一旦删除聚集索引并再次重建该索引,就会发生这种情形。通过在一个步骤中重新创建索引,可以避免这一昂贵的做法。在一个步骤中重新创建索引时,会告诉 SQL Server 要重新组织现有索引,避免了删除和重新创建非聚集索引这些不必要的工作。该方法的另一个重要优点是可以使用现有索引。第3章 系统实施1程序实现程序实现主要是代码在编译器中运行得到的结果,管理员输入学号,考试编号或班号通过与数据库进行连接进行成绩的查询.实现具体功能窗口如图所示:图3。1成绩信息查询窗体图成绩信息查询窗体代码如下:Private Sub Form_Load()Set ResultQuery = New Open
18、RsResultGrid.FormatString = ” 学号姓名|班号|课程编号课程名称考试编号| 分数ResultQuery.rsDK1 select s。student_id,student_name,class_no,c.course_no,course_name,exam_no,result from result_info r inner join student_info s on r。student_id=s。student_id inner join course_info c on r。course_no=c。course_noIf ResultQuery。rs1。EOF
19、 Then ResultGrid.Clear ResultGrid.FormatString = ” 学号姓名班号课程编号课程名称|考试编号分数”Else Set ResultGrid.DataSource = ResultQuery。rs1 ResultGrid。FormatString = ” 学号 姓名|班号课程编号|课程名称|考试编号分数End IfResultQuery。rsDK1 select from class_infoWhile Not ResultQuery。EOF cboClassNo.AddItem ResultQuery。rs1!Class_no ResultQuer
20、y.rs1。MoveNextWendrsDK1 ”select distinct course_name from course_infoWhile Not ResultQuery.rs1.EOF cboCourseName。AddItem ResultQuery.rs1!course_name ResultQuery。rs1.MoveNextEnd Sub前台VB与后台SQL数据库的类初始化连接代码如下:Private Sub Class_Initialize() On Error GoTo DbnotOpen Set cnSIMS = New ADODB。Connection With c
21、nSIMS 。Provider = conProvide .ConnectionString = conString .ConnectionTimeout = 10 .Open Set rst = New ADODB。Recordset End WithDbnotOpen: If Err = -2147467259 Then Set cnSIMS = Nothing MsgBox ”连接后台数据库失败!” vbCrLf & vbCrLf &请检查配置是否完好,数据库Sims_four是否存在?”, vbOKOnly + vbInformation, 学生信息管理系统 End2数据库实现数据库实
22、现通过数据字段、关系图、存储过程和触发器实现等各部分的功能实现的。1.数据字段 :通过班级信息表,课程信息表,成绩表可以清楚的了解班级的班号、年级编号、班主任编号、课程名称、课程类型、考试分数等信息。 表3.1班级信息表序号TableName(表名)FieldName(字段)FieldType(字段类型)IsPrimaryKey 1为主键1class_Infoclass_Nochar(3) NOT NULL1 2grade_Nochar(10) NULL 0 3user_idvarchar(10) NULL表3.2课程信息表course_infocourse_Noint NOT NULLcou
23、rse_Namevarchar(30) NULLcourse_typechar(20) NULL4course_desvarchar(60) NULL表3.3成绩信息表1gradecourse_infochar(8) NULL2int NULL2.关系图:以关系型为目标将E-R实体图中概念模型映射为关系模型,如图所示:图3.2系统关系图3.存储过程程序及其功能:存储过程 my on 作用:将VB从客户端得到的值通过输入参数传递到存储过程,再通过存储过程将数据写入要修改的表中Create procedure my on student(student_name char(50) student_
24、id char(8), address char(200), tele_number int(8), minzu char(20), department char(50), student_gender bit(1), birth_date datetime(8) AS Insert into 学生基本信息(student_id,student_name,gender, birth_date)values(student_id,student_name,gender,birth_date)Insert into 学生更多信息(minzu,birth_date,department )valu
25、es( minzu,birth_date,department) GO4。触发器程序及其功能:触发器,对于“学生基本信息”表中的插入操作进行计数,从而动态统计学生的人数。CREATE TRIGGER tr_1 ON student after INSERT AS update 学新人数 set 人数 = 人数+1 Go当每进行完一次插入操作后,触发器更新人数信息,使其自加一 tr_2 student delete AS set 人数-1当每进行完一次删除操作后,触发器更新人数信息,使其自减一。程序通过读取表“学生人数“中的数据来得到当前本系统所管理的学生数。第4章 课设总结本次设计的学生信息管
26、理系统具有界面简洁,容易操作等特点,能够直观明了地通过几项简单的操作实现对于学生信息的各种修改与操作,适合于要求不太复杂的管理模块。在vb的后台程序中,用到模块的设计,从而解决了对于每一个对象需要不断地重复链接数据库,造成数据库的频繁访问.索引,存储过程和触发器的运用,充分利用到数据库。在合理的设备条件下,运用VB6.0为前台工具,采用VB语言,以SQL Server 2000作为后台数据库,在Windows XP环境下编写并测试运行了学生信息管理系统。通过对输入班级编号实现对班级信息的查询,输入课程编号实现对课程信息的查询,输入学号实现对该学生的各科成绩的查询,更深的了解了与掌握了SQL Server 2000技术应用,掌握简单的数据库应用程序设计方法和编写方法。通过本次课程设计,使我对VB的编程与SQL数据库的的掌握和理解,巩固了我在SQL Server课程中所学的基本理论知识和实验技能,使我对SQL Server课程有了更深入的了解,使我认识到数据库的强大功能与在我们的信息管理中所处的不可替代的作用,进一步激发了我对软件工程专业学习的兴趣;提高了我的实际动手编程能力。也使我对于vb的编程有了新的理解,通过它与数据库的连接是我从理论的背后认识到了实际的应用与操作.在设计的过程和设计说明书的撰写过程中,出现了许多问题,经过研究
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1