1、 摘 要当今社会中,计算机的使用已经深入到日常工作和生活的方方面面。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。我们都知道,对于学生的学籍管理是一个教育单位不可缺少的部分,它的内容对学校的管理者来说至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长
2、,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。而使用计算机对学生学籍信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、存储量大、保密性好等。这些优点能够极大地提高学生管理的效率,也是学校科学化、正规化管理的重要途径。关键词:C#程序设计语言, SQL SERVER 2000,软件工程 Students student status manages systemAbstractNowadays in society, computer sigmatism already goes deep into the Fang Fang face arriving
3、 at daily work and life. Systematic debuting of Windows makes a computer run a family from elegant learning palace hall to have entered common common people , the all professions and trades people uses a computer to be completed unnecessarily by that special training can right away lots and lots of
4、complicated job.But although having already been full of the countless various software in the world now, they can not satisfy consumers various requiring that people has to develop the software being suitable to self peculiar need peculiarly as before. We all know the selfs status as a student to t
5、he student manages the part being a indispensability educating an unit, its content is to the school director all-important, therefore student selfs status as a student management system ought to be able to be that the consumer provides sufficient information and rapid inquiry means.But always in th
6、e past people is using the artificial tradition way administration document file , this there is existing a lot of shortcoming in supervisor mode, such as: Inefficient , keep secret nature is bad , time is besides once long, will produce large amount of document and data, with regard to, this seeks
7、, renews and defends the difficulty having brought about quite a few. Use a computer to carry out administration on student selfs status as a student information but , have unable parallel handwork administration merit. For instance: The retrieval is prompt , seek to store reserves conveniently, kee
8、ping secret greatly, nature is easy to wait. These merit is able to improve efficiency managed by student tremendously , is also school scientification , regularization administrative important approach.Keywords: C # programming language , SQL SERVER 2000, software engineering目录绪论1第一章 系统需求分析2第二章 可行性
9、分析32.1 面向对象的程序设计3第三章 系统设计43.1 系统功能分析43.2 系统流程图4第四章 数据库设计54.1 数据库需求分析54.2 数据库概念设计64.2 数据库逻辑设计74.3 数据库物理设计10第五章 详细设计175.1 主窗体的创建175.2 创建公用模块185.3 用户管理模块的创建19第六章 总 结22致 谢24参考文献25III学生学籍管理系统绪论采用软件工程的指导方法,选用C/S模式设计的方案,应用SQL Server 2000数据库管理系统,C#程序设计语言,Visual Studio.NET 2003开发工具等开发出来的基于WINDOWS系列的学生学籍管理系统.
10、该系统面向各部门和全体学生,实现对学生成绩情况、学籍情况等的计算机管理。系统支持学生查询自己的学籍信息和成绩信息,还可以修改自己的密码,而教师可以对学生的学籍信息和成绩信息进行添加、删除和修改等的操作,同时本系统支持报表的输出打印功能。减少了部门之间工作的中间环节,提高了跨部门管理的效率。第一章 系统需求分析伴随社会的高速发展,全国各高校的学生数量一直在增加,在这样的形式下,必须要求学校有一种高效有序的方法来管理学生的信息。通过调查,要求系统需要有以下功能:由于该系统一次性输入的数据量可能很大,所以要求支持从Excel导入数据; 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单
11、方便,支持多条件修改; 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好;第二章 可行性分析由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows XP操作系统环境下,使用Visual Studio.NET 2003中文版开发成功的。Visual Studio具有以下特点:2.1 面向对象的程序设计 1、面向对象设计不再是单纯的从代码的第一行一直编到最
12、后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。2、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。3、类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由
13、数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。4、面向对象设计的核心是类的设计。例如:可以定义一个“成绩查询”类,该类中可以定义查询的姓名、学号、班级等信息,则以此类为原型可以设计出众多的“成绩查询”类的对象实例,这些实体都具有类中所定义的特征。第三章 系统设计3.1 系统功能分析 系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。在本系统中有二种权限:一种是用户权限,即学生。另一种是管理员权限,即教师。学生管理系统需要完成的功能主要有:老师可以完成的功能有 :添加功能添加院系信息添加专业信息 添加
14、班级信息添加学生信息编辑功能编辑院系信息编辑专业信息 编辑班级信息编辑学生信息 对上述各功能进行集中、分块、按照结构化程序设计的要求。3.2 系统流程图编辑功能班级信息学生信息院系信息专业信息班级信息学生信息用户删除学生学籍管理系统添加功能专业信息院系信息图3-2 系统流程图第四章 数据库设计4.1 数据库需求分析 学籍代码表:包括的数据项有:学籍编号、学籍等。 成绩表:包括的数据项有:编号、学号、课程编号、成绩、考试性质编号等。 政治面貌代码表:包括的数据项有:政治面貌编号、政治面貌等。 民族代码表:包括的数据项有:民族编号、民族等。学生学籍管理系统院系信息学生信息专业信息班级信息 数据库
15、图4-1 学生学籍管理系统数据流程图4.2 数据库概念设计 本系统的实体有:学生实体、院系实体、年级实体、专业实体。各个实体具体的描述E-R图如图下所示。 学生基本信息班级课程图4-2 学生实体ER图 院系学生教师图4-3 院系实体ER图专业课程名称学时教师学分 图4-4 专业实体ER图 4.2 数据库逻辑设计表名:Area序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2areaIDnvarchar500是3areanvarchar600是4fathernvarchar60是表名:City序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2cit
16、yidnvarchar60是3citynvarchar500是4fathernvarchar60是表名:Classes序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2cnovarchar500是3cnamevarchar1000是4buildTimevarchar500是5majorIDint40是6departmentIDint40是表名:Contact序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2telPhonevarchar1000是3mobilePhonevarchar1000是4e_mailvarchar2000是5address
17、varchar2000是6postCodevarchar500是7qqvarchar1000是8snovarchar500是表名:Department序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2deptNovarchar500是3deptNamevarchar1000是表名:Duty序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2descripvarchar1000是3startTimedatetime83是4endTimedatetime83是5snovarchar500是表名:Major序号列名数据类型长度小数位标识主键允许空默认值说
18、明1idint40是是否2majorNovarchar500是3majorNamevarchar1000是6notetext160是7departmentIDint40是表名:Nation序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是否2nationNamevarchar200是表名:Province序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2provinceIDnvarchar60是3provincenvarchar400是表名:Relations序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2relationva
19、rchar500是3workConditionvarchar2000是4relationNamevarchar1000是5snovarchar500是表名:RewardPunish序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2recordvarchar1000是3recordTimedatetime83是4notetext160是5snovarchar500是表名:Student序号列名数据类型长度小数位标识主键允许空默认值说明1snovarchar500是否2snamevarchar1000是3identityvarchar1000是4birthdaydateti
20、me83是5genderbit10是6photovarchar3000是7isMarriedbit10是8graduateSchoolvarchar2000是9enterTimedatetime83是10polityvarchar500是11nativeplaceIDint40是12classesIDint40是13nationIDint40是14notetext160是4.3 数据库物理设计SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id
21、= OBJECT_ID(Ndbo.Province) AND type in (NU)BEGINCREATE TABLE dbo.Province(id int IDENTITY(1,1) NOT NULL,provinceID nvarchar(6) NULL,province nvarchar(40) NULL, CONSTRAINT PK_ID PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFI
22、ER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.City) AND type in (NU)BEGINCREATE TABLE dbo.City(id int IDENTITY(1,1) NOT NULL,cityid nvarchar(6) NULL,city nvarchar(50) NULL,father nvarchar(6) NULL, CONSTRAINT PK_CityID PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_
23、KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Area) AND type in (NU)BEGINCREATE TABLE dbo.Area(id int IDENTITY(1,1) NOT NULL,areaID nvarchar(50) NULL,area nvarchar(60) NULL,father nvarchar(
24、6) NULL, CONSTRAINT PK_areaID PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Nation) AND type in (NU)BEGINCREATE TABLE dbo.Nation(id int NOT NU
25、LL,nationName varchar(20) NULL,PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Department) AND type in (NU)BEGINCREATE TABLE dbo.Department(id i
26、nt IDENTITY(1,1) NOT NULL,deptNo varchar(50) NULL,deptName varchar(100) NULL, CONSTRAINT PK_DEPARTMENT PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_I
27、D(Ndbo.Classes) AND type in (NU)BEGINCREATE TABLE dbo.Classes(id int IDENTITY(1,1) NOT NULL,cno varchar(50) NULL,cname varchar(100) NULL,buildTime varchar(50) NULL,majorID int NULL,departmentID int NULL, CONSTRAINT PK_CLASSES PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON P
28、RIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Student) AND type in (NU)BEGINCREATE TABLE dbo.Student(sno varchar(50) NOT NULL,sname varchar(100) NULL,identity varchar(100) NULL,birthday datetime NULL,gender bit NULL,
29、photo varchar(300) NULL,isMarried bit NULL,graduateSchool varchar(200) NULL,enterTime datetime NULL,polity varchar(50) NULL,nativeplaceID int NULL,classesID int NULL,nationID int NULL,note text NULL, CONSTRAINT PK_STUDENT PRIMARY KEY CLUSTERED (sno ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIM
30、ARY TEXTIMAGE_ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Contact) AND type in (NU)BEGINCREATE TABLE dbo.Contact(id int IDENTITY(1,1) NOT NULL,telPhone varchar(100) NULL,mobilePhone varchar(100) NULL,e_mail var
31、char(200) NULL,address varchar(200) NULL,postCode varchar(50) NULL,qq varchar(100) NULL,sno varchar(50) NULL, CONSTRAINT PK_CONTACT PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objec
32、ts WHERE object_id = OBJECT_ID(Ndbo.Duty) AND type in (NU)BEGINCREATE TABLE dbo.Duty(id int IDENTITY(1,1) NOT NULL,descrip varchar(100) NULL,startTime datetime NULL,endTime datetime NULL,sno varchar(50) NULL, CONSTRAINT PK_DUTY PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON
33、 PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Relations) AND type in (NU)BEGINCREATE TABLE dbo.Relations(id int IDENTITY(1,1) NOT NULL,relation varchar(50) NULL,workCondition varchar(200) NULL,relationName varchar(
34、100) NULL,sno varchar(50) NULL, CONSTRAINT PK_RELATIONS PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.RewardPunish) AND type in (NU)BEGINCREAT
35、E TABLE dbo.RewardPunish(id int IDENTITY(1,1) NOT NULL,record varchar(100) NULL,recordTime datetime NULL,note text NULL,sno varchar(50) NULL, CONSTRAINT PK_REWARDPUNISH PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY TEXTIMAGE_ON PRIMARYENDGOSET ANSI_NULLS ONGOSET QU
36、OTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Major) AND type in (NU)BEGINCREATE TABLE dbo.Major(id int IDENTITY(1,1) NOT NULL,majorNo varchar(50) NULL,majorName varchar(100) NULL,note text NULL,departmentID int NULL, CONSTRAINT PK_MAJOR PRIMARY KEY CL
37、USTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY TEXTIMAGE_ON PRIMARYENDGOIF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(Ndbo.FK_Classes_deptmen_5165187F) AND parent_object_id = OBJECT_ID(Ndbo.Classes)ALTER TABLE dbo.Classes WITH CHECK ADD CONSTRAINT FK_C
38、lasses_deptmen_5165187F FOREIGN KEY(departmentID)REFERENCES dbo.Department (id)GOIF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(Ndbo.FK_Classes_majorID_5070F446) AND parent_object_id = OBJECT_ID(Ndbo.Classes)ALTER TABLE dbo.Classes WITH CHECK ADD CONSTRAINT FK_Classes_majo
39、rID_5070F446 FOREIGN KEY(majorID)REFERENCES dbo.Major (id)GOIF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(Ndbo.fk_student_reference_classes) AND parent_object_id = OBJECT_ID(Ndbo.Student)ALTER TABLE dbo.Student WITH CHECK ADD CONSTRAINT fk_student_reference_classes FOREIGN KEY(classesID)REFERENCES dbo.Classes (id)GOIF NOT EXISTS (SELECT *