学生信息管理系统论文.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流学生信息管理系统论文.精品文档.学生信息管理系统【摘要】 本信息管理系统是自行开发的学生管理系统,是运用 编写而成的。通过对此管理系统的整个开发过程的研制与应用,来进一步提高整个学校的学生信息管理水平,为其管理带来了一定的方便。本文档以学生综合管理系统为背景,论述了信息系统开发的基本原理,结构,方法和过程。本文详细阐述了需求分析、概要设计、详细设计、系统实现以及系统维护等软件开发过程。力求将所学到的知识在信息系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全有效正确的运行。本系统的用户界面十分简洁、实用,系统编制过程中充分考虑了计算机的优越性,对于不是计算机专业的人员来说,只要阅读了操作说明书,也可以很方便的进入系统和使用本系统提供的功能。【关键词】 学生信息系统 目 录第一章 引 言31.背景32.目标33信息系统范围44项目开发方法论概述4第二章 需求分析51对功能的规定52.对性能的规定53.组织结构调查54.系统可行性分析65.数据流层图86. 数据字典9第三章概要设计131、数据库概念设计13第四章详细设计141、数据库逻辑结构设计142、数据库的实现153、系统的安全性194、系统的可靠性19第五章 系统实施201、代码实现202、系统测试与维护25第六章体会与致谢25第一章 引 言1.背景通过学生信息管理系统的开发,了解软件文档的相关标准和编写原则,撑握软件开发的步骤,同时提高学生使用基于Visual Basic . NET编码的开发应用程序的能力。本项目的名称:学生信息管理系统2.目标管理信息系统是先进的科学技术和现代管理相结合的产物,建立以计算机为主要手段的管理信息系统,已成为现在企业,政府部门等各类组织提高自身素质、实现组织目标的战略措施。通过合用管理信息系统,使企业的信息管理工作系统化、规范化、自动化,从而达到提高企业管理效率的目的。而信息系统的目标为信息系统的发展方向提供了准则,是企业战略规划的一部分,具有极其重要的作用。本系统开发的主要目的就是要让学生的信息管理实现计算机管理,使在校人员方便查看与管理学生信息。保证系统资源不受人为因素干扰,减少误送、误时等情况。该软件是一个基于在校学生的管理软件。程序采用b/s结构,能提供管理的查询等功能。管理者(如教师)可以通过本软件输入和修改学生的成绩信息,而学生则可以通过本软件来查看自己的成绩。3信息系统范围该系统主要是为学校内部操作流程提供信息服务,它覆盖学生体系的多项与学校流程有关的工作,包括对系统,基本数据,学籍各方面的信息提供存储、更新、查询、统计等功能。系统的数据来源由专门的数据录入人员和通过键盘输入,不涉及其它的信息来源,所以,本系统只包括学生内部的管理信息。4项目开发方法论概述鉴于管理信息系统建设工作的复杂性,本系统运用目前较为流行的MIS开发方法(即结构化生命周期开发方法)进行以计算机为茂盛的管理信息系统的建设工作。生命周期法将整个系统的建设过程分解成类似霍尔模型时间维所示的若干阶段,并对每个阶段的目标、活动、工作内容、工作方法及各阶段之间的关系作了具体规定,以使整个建设工作具有合理的组织和科学的秩序。其基本思想是:用系统的思想和系统工程的方法,按用望对上的原则,结构化、模块化地自上而下的对生命周期进行分析与设计。第二章 需求分析1对功能的规定软件的使用者通过对数据库服务器的连接后,就可以进入程序的主界面.程序通过判别用户的权限,提供用户不同的功能。管理员具有最在的权限,可以对其它用记进行修改,而教师只能修改自己的自己学生的信息,学生只能查询和自己相关的数据。2.对性能的规定(1)精度 :本软件对数据的精度没有特殊的要求。(2)时间特性要求:等待服务器连接的时间不能超过10秒。 (3)灵活性:本软件采用可视化界面,用户通过单击界面上的相关按钮就可以完成各项作。3.组织结构调查系统初步调查中采用的主要方式是与福州大学的教师,尤其是与学生管理处的教职工进行交流,并结合自己的工作经验,经过调查研究,大学的基本情况为:本大学实行校长负责制,下设教务处、财务部、党团支部、学生会、后勤部五大部门。各部门分别针对各自管辖范围进行具体管理,并向校长负责。在学校的日常教学活动中,学生的信息管理和培养方向是至关重要的。 从学校的行政管理和职能分工角度,得出了组织结构图。学生在日常教学活动中出现的主要问题是:(1) 学校现行的管理方式仍为基于文本、表格等纸介质的传统手工处理方式。学生信息管理没有完全科学化、规范化、处理速度较慢,因此影响教学工作的开展,难以进行有效的信息反馈。(2) 学校领导对整个学校的学生信息不能得到及时反馈,因此不能适时指导教学方向,以至影响教育质量。(3) 部门之间信息交流少,信息渠道单一,不利于协调工作,容易出错。 因此,我想通过建立学生管理信息系统,使学生管理工作科学化、规范化、程序化,促使提高信息处理的速度和正确性,使学校的信息流程和流向清晰化、合理化,第一时间把握学生信息,以提高整体教学水平。4.系统可行性分析可行性分析是系统分析阶段的第二项活动。它建立在初步调查的基础上,对初步调查的结果进行复审,进一步明确系统的目标、规模与功能,对系统的开发背景、必要性和意义进行调查分析并根据需要和可能提出拟开发系统的初步方案与计划,主要从以下三个方面进行研究,从而为确定系统开发项目的决策提供科学的依据。(1)技术可行性从系统开发的计划出发,论述系统开发力量的可行,同时论证系统方案中所采取的各种技术手段上是否完全可以实现以及技术发展对系统建设有什么影响。项目信息管理系统的硬件要求不高,加上如今软件开发环境的多样化,功能增加,使程序员能开发功能更强大且易于操作的系统。现在市场上有很多管理系统的开发工具,如Visual basic、delphi、ASP等等,数据库开发工具又有很多种,如:Access,SQL Sever,Oracle,PowerBuilder等等。这些都是很出色的管理信息系统及数据库开发的工具。学生信息管理系统就是采用著名的Microsoft软件公司所研制的Visual studio .net软件进行开发,以其作为数据库开发工具开发的一个数据库管理系统。Visual studio .net是一种可视化、面向对象的快速应用程序开发软件,程序员可以直观地创建应用程序界面,调用数据库中的数据,对数据库中的数据进行修改,并且Visual studio .net提供了功能强大,简便的SQL语言,使程序员能方便地对用户操作进行响应。它已经为许多数据库应用开发人员所熟悉和使用,并获得了广泛的好评。与其它应用程序开发工具相比,Visual studio .net具备易于掌握、开发速度快、成本低、质量高、功能强等诸多优点,为今后企业管理信息系统的全面建设和升级留下了很大空间和余地。所以,该系统的开发在技术上是可行的。(2)经济可行性主要是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费进行估算,对系统建成后可能取得的社会及经济效益进行估计。由于该学生信息管理系统是一个比较小型的系统,适用于学校各部门人员管理和调研使用,而不是一个大型的全面复杂、综合的系统,对于该实验室从人力、物力、财力方面来说都是可行的。计算机和打印机极其他一些相关的附属物品学校已经具备。并且该系统开发的时间较短,只需一个月时间即可实现。由于该系统相对来说比较简单,人员的培训费和培训时间相对也较少,系统的维护费用也不高。开发完成后,可以实现准确与快速于一体,大提高了工作效率,有效降低了错误机率,使项目管理工作从大量的信息中更加准确地了解动态变化,为学生体系将来的项目管理工作发展提供强有力的支持,创造更大的经济效益,因此,该系统的开发在经济上是完全可行的。5.数据流层图零层数据流图第二层数据流图第三层数据流图6. 数据字典1) 主要数据流定义数据流名称:用户和口令位置:管理员p1定义:用户和口令管理员注册名口令说明:“查询”和“维护”功能仅对教务员,所以教务员使用这些功能时,要输入合法的注册名和口令,以获得操作权。数据流名称:有效用户登入位置:管理员P2定义:有效用户登入有效的管理员注册名口令说明:通过数据库验证让有权限的用户登入。数据流名称:班级学生名单位置:P2管理员定义:班级学生名单各班级人员名字列表说明:班级学生名单是通过第三大功能查询来实现的。数据流名称:课表打印位置:P2管理员定义:课表打印各班开课的列表说明:课表打印是通过第三大功能查询来实现的。数据流名称:学生成绩单位置:P2管理员定义:学生成绩单各班学生成绩列表说明:学生成绩单是通过第三大功能查询来实现的。数据流名称:班级成绩单位置:P2管理员定义:班级成绩单各班成绩列表说明:班级成绩单是通过第三大功能查询来实现的。2) 数据存储定义数据存储名称:管理员记录 编号:D1输入: P1 输出: P1数据结构:帐号+口令+姓名+单位+权限 说明:帐号唯一标识一名管理员。数据存储名称:学生记录 编号:D2输入: P2.1,P2.2 ,P2.3 输出: P2.1,P2.2,P2.3数据结构:学号+姓名+性别+出生年月+联系电话+家庭住址+入学时间说明:学号唯一标识一名学生。数据存储名称:教师记录 编号:D3输入: P1 输出: P1数据结构:教师号+姓名+性别+单位+出生年月+家庭住址+联系电话+职称+薪水+入校时间说明:教师号唯一标识一名教师。数据存储名称:班级记录 编号:D4输入: P2.1 ,P2.3 输出: P2.1,P2.3数据结构:班级编号+班级名说明:班级编号唯一标识一个班级。数据存储名称:学籍记录 编号:D5输入: P1 输出: P1数据结构:学籍编号+姓名+籍贯+处分+奖励+当前学校说明:学号唯一标识一名学生。数据存储名称:课程记录 编号:D6输入: P1 输出: P1数据结构:课程号+课程名+学分说明:课程号唯一标识一门课程。数据存储名称:选课记录 编号:D7输入: P1 输出: P1数据结构:学号+课程+成绩+考试性质说明:学号,课程唯一标识一个选课记录。数据存储名称:专业记录 编号:D8输入: P1 输出: P1数据结构:专业号+专业名说明:专业号唯一标识一个专业记录。数据存储名称:学院记录 编号:D9输入: P1 输出: P1数据结构:学院号+学院名说明:学院号唯一标识一个学院记录。3) 数据项管理员表数据项名类型长度说明帐号口令单位权限字符型字符型文本文本10>=6限英文字符或汉字英文字母和数字教师表数据项名类型长度说明教师号姓名性别出生年月联系电话家庭住址职称薪水入校时间字符型字符型字符型日期型字符型文本字符型浮点型日期型102010115010限英文字符或汉字限英文字符或汉字限英文字符或汉字数字汉字或英文字符数字学生表数据项名类型长度说明学号姓名性别出生年月联系电话家庭住址入学时间字符型字符型字符型日期型字符型文本日期型1020250限英文字符或汉字限英文字符或汉字限英文字符或汉字班级表数据项名类型长度说明班级编号班级名字符型文本10限英文字符或汉字学籍表数据项名类型长度说明学籍编号姓名籍贯处分奖励当前学校字符型字符型字符型文本文本文本102010限英文字符或汉字限英文字符或汉字汉字课程表数据项名类型长度说明课程号课程名学分字符型字符型整型1020限英文字符或汉字限英文字符或汉字选课表数据项名类型长度说明学号课程号成绩考试性质字符型字符型浮点型文本102010限英文字符或汉字限英文字符或汉字数字专业表数据项名类型长度说明专业号专业名字符型字符型1020限英文字符或汉字限英文字符或汉字学院表数据项名类型长度说明学院号学院名字符型字符型1020限英文字符或汉字限英文字符或汉字教室表数据项名教室号教室名类型字符型字符型长度1020说明限英文字符或汉字限英文字符或汉字第三章概要设计1、数据库概念设计(确定该系统的实体、属性和实体之间的联系,画出ER图)第四章详细设计1、数据库逻辑结构设计将ER图转换成关系模式:(红色,实线表示主键,蓝色,虚线表示是外键,)管理员(帐号,口令,单位,权限)教师(教师号,姓名,性别,出生年月,联系电话,家庭住址,职称,薪水,入校时间,权限)课程(课程号,课程名,学分,教室编号)开课(教师号,课程号,学时,上课时间)学生(学号,姓名,性别,出生年月,联系电话,家庭住址,入学时间,权限,班级编号,专业号)班级(班级编号,班级名)学籍(学籍编号,籍贯,处分,奖励,当前学校,学号)选课(学号,课程号,成绩,考试性质)专业(专业号,专业名,学院号)学院(学院号,学院名)教室(教室编号,教室名称)2、数据库的实现-drop database school-create database schoolcreate table manageuserid int not null primary key,users varchar(10) not null,pwd varchar(10),unit varchar(50),purview int ,-权限insert into manage values (1,'何志坚','1','管理员',3)insert into manage values (02,'小张','11','管理员',3)gocreate table teachteachid int not null primary key,name varchar(20) ,pwd varchar(10),sex varchar(20) check(sex in ('男','女'),birthday datetime,phone varchar(50),address varchar(50),post varchar(10),-职位pay decimal,empdate datetime,purview int -权限insert into teach values(1,'万春','wanchun','男',1965-10-2,'139750128','福州大学','导师',3000,2000-2-4,2)insert into teach values(2,'李传目','lichuanmu','男',1963-5-12,'139750838','福州大学','导师',3000,2001-5-12,2)insert into teach values(3,'杨爽','yangshuang','女',1965-10-2,'137750352','福州大学','教师',2000,2003-6-4,2)insert into teach values(4,'刘洪利','liuhongli','男',1965-3-9,'139731127','福州大学','助教',2000,2002-6-12,2)gocreate table collegecollegeid int not null primary key ,collegename varchar(20) ,insert into college values (01,'计算机工程学院')insert into college values (02,'工程技术学院')gocreate table sdeptsdeptid int not null primary key ,sdeptidname varchar(20),collegeid int foreign key references college(collegeid)insert into sdept values(0201,'软件工程',02)insert into sdept values(0202,'软件工程',02)insert into sdept values(0203,'嵌入式',02)insert into sdept values(0101,'嵌入式',01)insert into sdept values(0102,'信息安全',01)insert into sdept values(0103,'信息安全',01)gocreate table classclassid int not null primary key ,classname varchar(50),sdeptid int foreign key references sdept(sdeptid)insert into class values (02010103,'软件工程1班',0201)insert into class values (02010203,'嵌入式3班',0201)insert into class values (01010103,'网络工程1班',0101)insert into class values (01010203,'网络工程2班',0101)go create table stu (stuid int not null primary key,name varchar(20) ,pwd varchar(10),sex varchar(20) check(sex in ('男','女'),birthday datetime,phone varchar(50),address varchar(50),sdeptid int foreign key references sdept(sdeptid),classid int foreign key references class(classid),entertime datetime,purview int -权限insert into stu values (0201010301,'翁水发','1','男',1985-3-6,13874714574,'平潭',0201,02010103,2003-9-1,1)insert into stu values (0201010302,'周林','1','男',1985-7-4,13834714524,'岳阳',0201,02010103,2003-9-7,1)insert into stu values (0201020301,'周发超','1','男',1985-5-8,13534764743,'山东',0201,02010203,2003-9-1,1)insert into stu values (0101010301,'小伊','1','女',1984-8-12,13534464778,'山东',0101,01010103,2003-9-1,1)insert into stu values (0101010302,'周发','1','男',1985-5-6,13534162745,'江苏',0101,01010103,2003-9-1,1)insert into stu values (0101020301,'笑晓','1','女',1985-6-11,13577162765,'广东',0101,01010203,2003-9-1,1)insert into stu values (0201010101,'翁发','1','男',1982-3-6,13874714574,'福清',0201,02010103,2001-9-1,1)gocreate table classroomclassroomid int not null primary key ,classroomname varchar(20) insert into classroom values (01,'文科305')insert into classroom values (02,'子兴9')insert into classroom values (03,'文科308')insert into classroom values (04,'文科307')gocreate table coursecourseid int not null primary key,coursename varchar(20),credit int check (credit > =0 and credit < = 10 ),-学分classroomid int not null foreign key references classroom(classroomid),insert into course values(01,'SQLServer程序设计',4,01)insert into course values(02,'oracle',4,02)insert into course values(03,'基础英语',2,04)insert into course values(04,'专业英语',4,04)insert into course values(05,'C程序设计',4,02)insert into course values(06,'数据结构',4,03)insert into course values(07,'操作系统',4,03)gocreate table choosecoursestuid int foreign key references stu(stuid), courseid int foreign key references course(courseid),score decimal check (score >= 0 and score <= 100 ),primary key(stuid,courseid),testcharacter varchar(10)insert into choosecourse values(0201010301,01,40,'补考')insert into choosecourse values(0201010301,02,67,'')insert into choosecourse values(0201010301,03,86,'')insert into choosecourse values(0201010301,04,74,'')insert into choosecourse values(0201010302,01,68,'')insert into choosecourse values(0201010302,02,90,'')insert into choosecourse values(0201010302,03,85,'')insert into choosecourse values(0201010302,04,74,'')insert into choosecourse values(0101010301,04,54,'补考')insert into choosecourse values(0101010301,05,91,'')insert into choosecourse values(0101010301,06,72,'')insert into choosecourse values(0101010301,07,67,'')insert into choosecourse values(0101010302,04,77,'')insert into choosecourse values(0101010302,05,81,'')insert into choosecourse values(0101010302,06,63,'')insert into choosecourse values(0101010302,07,75,'')gocreate table opencourseteachid int foreign key references teach(teachid) ,courseid int foreign key references course(courseid),primary key(teachid,courseid),runtime int, -学时opentime varchar(40)insert into opencourse values(1,5,80,'06上学期')insert into opencourse values(1,7,60,'06上学期')insert into opencourse values(2,1,80,'06上学期')insert into opencourse values(2,2,80,'06上学期')insert into opencourse values(3,3,40,'06上学期')insert into opencourse values(3,4,60,'06上学期')insert into opencourse values(4,6,60,'06上学期')gocreate table statusstuid int primary key not null foreign key references stu(stuid),punish varchar(50),encouragement varchar(50),currentshcool varchar(50),explain varchar(100),graduate varchar(10)insert into status values (0201010301,'无','获得一等江学金一次','福州大学','','没有毕业')insert into status values (0201010302,'无','获得二等江学金二次','福州大学','','没有毕业')insert into status values (0201020301,'无','获得三等江学金一次','福州大学','','没有毕业')insert into status values (0101010301,'无','无','福州大学','由工程技术学院到计算机工程学院','没有毕业')insert into status values (0101010302,'无','获得二等江学金二次','福州大学','','没有毕业')insert into status values (0101020301,'无','无','福州大学','','没有毕业')insert into status values (0201010101,'无','无','福州大学','','已毕业')3、系统的安全性通过软件的编制及硬件设置,控制使用者接触数据的权限,从而确保使用者无法操作与其无关的数据。4、系统的可靠性由于学生有关信息的重要性,系统的软硬件应均为质量可靠,并采用RAID廉价磁盘冗余保护技术,确保不会由于软硬件故障造成系统运行终止而使用户蒙受损失。5、软件结构设计第五章 系统实施1、代码实现 1)班级成绩单报表界面及主要代码Dim cn As New SqlClient.SqlConnectionDim report As stu_score = New stu_scorePrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDim reportdoc As ReportDocument = New ReportDocumentreportdoc.Load(Server.MapPath("stu_score.rpt")Me.CrystalReportViewer1.ReportSource = reportdocDim options As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptionsreport.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFilereport.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Exceloptions.DiskFileName = Request.MapPath("test25print导出文件output1.xls")report.ExportOptions.DestinationOptions = optionsreport.Export()Dim options1 As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptionsreport.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFilereport.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormatoptions1.DiskFileName = Request.MapPath("test25print导出文件output1.pdf")report.ExportOptions.DestinationOptions = options1report.Export()Me.HyperLink3.NavigateUrl = "导出文件output1.pdf"Me.HyperLink1.NavigateUrl = "导出文件output1.xls"End Sub2)学生成绩单报表界面及主要代码Dim cn As New SqlClient.SqlConnectionDim report As personscore = New personscoreDim report1 As personscore = New personscorePrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDim reportdoc As ReportDocument = New ReportDocumentreportdoc.Load(Server.MapPath("personscore.rpt")Me.CrystalReportViewer1.ReportSource = reportdocDim options As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptionsreport.Exp