您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页数据库课程设计

数据库课程设计

来源:爱go旅游网
青岛理工大学

数据库系统课程设计

院(系):计算机工程学院 专业:软件工程 姓名:

班级:131 学号: 题目:毕业生管理系统

起迄日期: 2015.12.14-2015.12.25 _ 设计地点: 计算机工程学院机房 指导教师:

1

《数据库系统课程设计》任务书

一、《数据库系统课程设计》的目标

数据库技术是数据管理的技术,是计算机学科的重要组成部分。近年来数据库技术发展迅速,各种应用领域对数据管理的需求越来越多,各种信息系统都离不开数据库的支持。因此,数据库已成为信息社会的重要基础设施。

《数据库系统概论》是面向计算机各专业学生开设的一门必修的计算机基础课程。它的主要任务是研究如何存储、使用和管理数据。目的是使学生掌握数据库的基本原理、方法和应用技术,使用数据库设计的原则,面对现实问题设计E-R模型和关系数据库结构。设计环节能有效使用数据库技术解决数据处理中的实际问题。

二、课程设计要求

在某个RDBMS产品上,选择合适的应用系统开发工具开发一个数据库应用系统。通过实践,掌握数据库设计方法。具体要求:

人员、题目分配:1人1题,班级内部不允许题目重复。

软件要求:最终的软件对问题的描述应正确无误,运行稳定、可靠,界面友好。

报告要求:严格按照数据库系统开发步骤书写报告(重点是需求分析、概念设计、逻辑结构设计三部分,这三部分的内容要占到整个报告的2/3左右的分量),数据库中表的个数不少于5个,且至少要有2个以上表的主外键关联(表的个数少于5个,或者没有多表间的关联,一律不及格)。报告页数20±5页,正文使用小四,宋体。双面打印,左侧装订。

提交报告时间为19周周五。

报告包括:a.源程序代码 b.设计报告。所有内容刻在一张光盘上(一个班级一张光盘,光盘内容见附录),同时提交纸质设计报告。

开发工具:任意(尽可能选用较先进的开发工具,DBMS不要使用Microsoft的ACCESS)

2

目录

第1章 前言 ............................................................................................................................ 5 1.1课题背景 .................................................................................................................................... 5

1.2开发工具 ..................................................................................................................... 5 1.2.1 C#介绍...................................................................................................................... 6 1.2.2 SQL Server 2008数据库 .......................................................................................... 6 1.3应用环境 ..................................................................................................................... 7 第2章 系统需求分析 ............................................................................................................ 7

2.1 需求分析 .................................................................................................................... 7 2.1.1 系统的基本需求 ..................................................................................................... 7 2.1.2 系统的功能需求 ..................................................................................................... 8 2.1.3 系统的目的 ............................................................................................................. 8 2.1.4 用户特点 ................................................................................................................. 9 2.2 系统的数据分析 ........................................................................................................ 9 2.3 数据字典.......................................................................................................................... 11

2.3.1 数据存储 ............................................................................................................... 11 2.3.2 数据流................................................................................................................... 12 2.3.3 数据处理 ............................................................................................................... 12 第3章 总体设计 .................................................................................................................. 14

3.1系统的总体设计原理 ............................................................................................... 14 3.2 系统功能划分 .......................................................................................................... 16 3.2.1毕业生子系统功能划分 ........................................................................................ 16 3.2.2 管理员子系统功能划分 ....................................................................................... 17 3.2.3 教师子系统功能划分 ........................................................................................... 18 3.3 系统功能描述 .......................................................................................................... 19 3.3.1 毕业生子系统功能描述 ....................................................................................... 19 3.3.2管理员子系统功能描述 ........................................................................................ 19 3.3.3教师子系统功能描述 ....................................................................................................... 20 3.4数据库概念结构设计 ............................................................................................... 20 3.4.1各实体属性图 ....................................................................................................... 20 3.5数据库设计 ............................................................................................................. 208 3.6 安全保密设计 ......................................................................................................... 24 3.6.1 登陆用户的安全性 .............................................................................................. 24 3.6.2 操作安全性 .......................................................................................................... 24 3.6.3 数据安全性 .......................................................................................................... 24 第四章 详细设计 ................................................................................................................... 25

4.1 概述 .......................................................................................................................... 25 4.2 程序流程图 ............................................................................................................. 26 4.2.1 毕业生子系统程序流程图 .................................................................................... 26 4.2.2 管理员子系统程序流程图 ................................................................................... 27 4.2.3 教师子系统程序流程图 ....................................................................................... 28 4.3 输入输出设计 ......................................................................................................... 28 4.3.1 登录窗口的实现 ................................................................................................... 29

3

4.3.2 管理员操作界面 ................................................................................................... 32 4.3.3 学生用户界面 ....................................................................................................... 35 4.3.4 教师用户界面 ....................................................................................................... 39 第5章 系统测试 ................................................................................................................... 41 结 论 ....................................................................................................................................... 41 参考文献 42

4

第1章 前言

1.1课题背景

随着时代的进步,计算机科学技术也日益成熟,其强大而快捷的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。随着计算机网络技术发展,Web数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与客户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。

毕业生信息的管理是学校日常工作中的重要组成部分。随着高校招生规模的逐步扩大,毕业学生人数也在不断的增加,而对毕业生管理的人员则相对减少。高校传统的管理办法已不适应新形势的要求。繁重的毕业生信息管理工作给学校管理人员带来了很大的压力。如果没有一个完善的毕业生信息管理系统作保证的话,学校管理人员的工作量就会大大增加,效率也会下降,不仅会浪费许多不必要的人力和物力,而且会因人的情绪烦燥而出现工作失误。因此在计算机飞速发展的今天,运用数据库技术实现毕业生信息的管理是必须的的,实现高校毕业生管理系统的信息化,既能够提高工作效率,又可以提高工作水平。

计算机具有运算速度快、正确、能按照设计逻辑处理问题等特性,在毕业生信息的录入、管理中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者查询不方便的情形。

各大高校的毕业生信息一直是各个学校的一项重要的数据资源,因此毕业生信息管理是学校的一项常规性的重要工作。但是长期以来,毕业生信息管理都是依赖人工进行的,面对海量的毕业生信息,其工作量可想而知。作为计算机应用的一部分,使用计算机对毕业生信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套毕业生信息管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。

1.2开发工具

硬件环境:CPU的主频在500MHZ以上,内存在128MB以上 操作系统:Windows8 数据库:SQL server

编程语言及工具: C#,Visual Studio 2010 应用系统:Windows 操作系统

5

服务器:Microsoft Office

1.2.1 C#介绍

种基于 Microsoft .NET 平台的应用程序,Microsoft .NET 提供了一系列的工具和服

务来最大程度地开发利用计算与通讯领域。其目标是即拥有 C++的执行效率和运

算能力也具备如 VB 一样的易用性。C#是基于 C++的一种语言,同时包含类似 Java

C#是微软开发的一种面向对象的编程语言。它使得程序员可以快速地编写各

的很多特征。

C#是被设计工作在微软的。NET 平台上的,微软的目标是使数据和服务的交

换在网页上更容易,并且允许开发人员构建更高的程序可移植性。C#可以方便的

用于 XML 和 SOAP,并可以直接访问程序对象或方法,而不需要添加额外的代码。

所以程序可以构建在已存在的代码上,或者多次重复的使用。C#的目标是为市场

开发产品和服务时更快捷且成本开销更低。

正是由于 C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无

论是高级的商业对象还是系统级的应用程序。使用简单的 C#语言结构,这些组件

可以方便的转化为 XML 网络服务,从而使它们可以由任何语言在任何操作系统

上通过 Internet 进行调用。

最重要的是,C#使得程序员可以高效的开发程序,而绝不损失 C/C++原有的 强大的功能。因为这种继承关系,C#与 C/C++具有极大的相似性,熟悉类似语言

的开发者可以很快的转向 C#。

1.2.2 SQL Server 2008数据库

SQL Server 2005 是微软公司动用上千人的研发力量,耗费五年时间打造出来 的产品,在企业及数据库产品中具有里程碑的意义。SQL Server 2005 是一个关系 数据库管理系统,是一个全面的数据库平台,其数据库引擎为关系型数

6

据和结构 化数据提供了更安全可靠的存储功能。SQL Server 2005 结合了分析、报表、集 成和通知功能,引进了一套集成的管理工具和管理应用编程接口,以提供易用性、 可管理性及对大型 SQL Server 配置的支持。其新的查询类型和在交易过程中使用 错误处理的功能,为开发人员在 SQL Server 查询开发方面提供了更高的灵活性和 控制力。

SQL Server 可以适合大容量数据的应用,在功能上和管理上都比 Microsoft Access 要强的多。在处理海量数据的效率,后台开发的灵活性,可扩展等方面强 大。在 SQL Server 2005 中还可以使用存储过程,在服务器执行操作时,减少网络

通讯,提高了执行效率,而且保证了数据库的安全。

1.3应用环境

服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。 最低配置如下:

处理器:Inter Pentium 41.6Hz或更高。 内存:256MB 硬件空间:40GB

第2章 系统需求分析

2.1 需求分析

2.1.1 系统的基本需求

系统要实现毕业生信息管理的查询与管理。能够实现毕业生通过系统修改个人的相关信息,就业信息,查询其他毕业生的相关信息和用人单位的基本信息,使毕业生不分时间、地点,只要能上网即可以查询和修改相应信息,并能够获取

7

最新的招聘信息。管理员可以完成学生信息的添加、删除等管理,企业的添加、删除等管理;管理员可以随时浏览企业对毕业生的反馈信息,使学校对毕业生的就业情况更轻松的掌握。企业利用本系统可随时发布招聘信息,游览毕业生的基本信息,反馈毕业生的情况等。教师也可通过系统查询学生的就业详细信息,包括就业单位、职位、薪资等。

2.1.2 系统的功能需求

高校毕业生信息管理系统的开发主要包括应用程序系统和后台数据库。应用程序系统要求系统功能完备、方便使用以及界面一目了然等特点。而后台数据库的数据必须具有一致性、完整性、安全性等特点。 (1) 毕业生信息管理系统前台——操作方便

前台作为与用户直接交互的界面,在考虑功能的同时,也须考虑操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户也能轻松的享受计算机给他们带来的便利。前台系统主要完成毕业生对个人信息的查看及本班同学的信息等,只要输入毕业生的姓名及用户密码,即可完成以上功能。

(2) 管理后台:本系统后台管理在考虑毕业生信息管理操作简便的同时,提供了强大的管理模式。后台系统可分为毕业生基本信息管理模块,包括毕业生基本信息的添加、删除等操作;企业基本信息管理模块,包括企业基本信息的录入,删除操作,管理对整个系统进行查询,管理工作。

(3)教师前台:由于教师有了解相应学生就业状况的需求,所以系统为教师设定了能够获取学生就业信息的前台功能。只需要登陆系统查找即可。

2.1.3 系统的目的

如今,计算机得到了飞速的发展,其价格却很低廉,性能也有了长足的进步。计算机已经成为我们学习和工作中不可或缺的得力助手。它已经被应用于诸多多领域,计算机之所以如此流行的原因主要有以下几个方面:

首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源;

第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。

现在我国高校中毕业生信息的管理水平大多还停留在纸介质的基础上,这样的模式已经不能适应时代的发展,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

采用计算机来实现毕业生信息管理系统归纳起来,好处大约有以下几点: 1.可以存储历届的学生信息,安全、高效;

2.只需一到二名信息录入员即可操作系统,节省大量人力; 3.可以迅速查到所需信息。

4.为毕业生了解用人单位的信息提供方便;为学校统计毕业生的就业情况以及统计学校毕业生的就业率等操作提供了方便;用人单位可以在该系统中发布用人信息等,这样就为毕业生的择业提供了平台。

8

2.1.4 用户特点

该系统为毕业生管理系统,主要面向毕业生和教师两个群体,由于毕业生人数和信息比较多,同时为了方便学生和老师对数据的操作,系统加入了管理员这一角色,主要是为了结构化的存储数据。

2.2 系统的数据分析

数据流图简称DFD图,它是一种图形化技术,主要描述信息流和数据从输入移动到输出的过程中所经受的变换。数据流图有4种基本符号:正方形表示源点或终点、圆角矩形表示数据的处理、开口矩形表示数据存储表以及箭头表示数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具,以下为本系统的数据流图。

图2.1毕业生信息管理系统TOP数据流图

9

图2.2 学生操作子系统数据流图

图2.3 管理操作子系统数据流图

10

2.3 数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。

2.3.1 数据存储

数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}

11

2.3.2 数据流

数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}

2.3.3 数据处理

处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}[1]。

12

13

第3章 总体设计

3.1系统的总体设计原理

本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。

模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下: (1)抽象

抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。

(2)信息隐蔽和局部化

信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。

14

局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。

信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。 (3)逐步求精的模块化概念

逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。 (4)模块性

模块的划分要使模块间尽可能的相互,模块较易维护。度量模块的程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。

在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚。

15

3.2 系统功能划分

经过对系统的需求分析,将整个系统分为三部分:毕业生子系统、教师子系统、管理员子系统。

3.2.1毕业生子系统功能划分

毕业生子系统比较简单,主要完成毕业生个人信息的修改、其它学生信息的查询功能,以及浏览招聘信息等功能。进入系统后,输入毕业生的编号及密码,即可得进行毕业生信息子系统。如图

16

3.2.2 管理员子系统功能划分

17

3.2.3 教师子系统功能划分

教师子系统主要完成对在职毕业生的查询及反馈。进入系统后,输入学生的编号即可查询该学生以及整个班级的就业信息。如图3-3。

18

3.3 系统功能描述

3.3.1 毕业生子系统功能描述

1.个人基本信息模块

本模块完成毕业生基本信息的查看操作,其中包括毕业生的学号,姓名,性别,年龄,身份证,电话,专业,学历,毕业时间和外语水平。 2.个人就业信息模块

本模块完成毕业生对本身在职情况的查看操作,其中包括毕业生的姓名,班级,工作城市,公司名称,职位,开始工作时间等。 3.同班就业信息模块

本模块完成毕业生对班级同学就业信息的查询。主要内容与个人就业信息模块的内容是一样的,在此不加以重述。 4.同学通讯模块

本模块完成毕业生对同学通讯信息的查看。主要内容包括姓名,籍贯,电话,住址,Email,QQ,婚否。

3.3.2管理员子系统功能描述

1.用户信息管理模块

本模块是管理员对用户基本信息的查看与添加,查看与添加的内容一致,主要包括用户名,密码,用户姓名和用户类型。

2.审核就业信息管理模块

本模块主要完成管理员对系统中毕业生信息的查看及删除操作。 3.毕业生就业信息管理模块

本模块主要是为了完成管理员对毕业生就业信息的查看,编辑与删除操作。 4.毕业生基本信息管理模块

本模块完成管理员对毕业生基本信息的查询与查看操作,其主要内容包括学号,姓名,性别,民族,政治面貌,出生日期,籍贯,院系,班级,专业等。

19

5.企业信息管理模块

本模块完成管理员对招聘单位基本信息的发布、编辑与删除等工作,主要内容包括公司编号,公司名称,公司地址,公司类型,公司电话和公司传真。

3.3.3 教师子系统功能描述

教师子系统主要完成对教师对本班学生的就业信息的查询,主要内容包括学号,姓名,班级,工作城市,公司名字,工作时间和工作状态。

3.4数据库概念结构设计

根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。本系统毕业生实体,企业实体,管理员实体。

3.4.1各实体属性图

根据对系统数据与数据结构的分析得出了管理员实体属性图、毕业生实体属性图和企业实体属性图,图形分别见图4-4,图4-5以及图4-6。

20

21

3.5 数据库设计

根据高校毕业生管理系统的数据需求,分别设计出了管理员表、学生就业信

息表、企业信息表、用户信息表和学生基本信息表。各表依次见表3-1,表3-2,表3-3,表3-4和表3-5。

22

23

3.6 安全保密设计

3.6.1 登陆用户的安全性

系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。

3.6.2 操作安全性

对授权用户的权限的授予和回收。如果是系统管理员,那么还可以为本系统

添加新用户以及修改他们的密码。

3.6.3 数据安全性

客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。

24

4.1 概述

第四章 详细设计

25

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂。

4.2 程序流程图

程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。

4.2.1 毕业生子系统程序流程图

图4.1 毕业生子系统的流程图

26

4.2.2 管理员子系统程序流程图

图4.2 管理员后台管理程序流程图

27

4.2.3 教师子系统程序流程图

4.3 输入输出设计

毕业生信息管理系统是由毕业生、教师和管理员进行操作的,所以系统要有登录用户及密码的验证。

28

4.3.1 登录窗口的实现

主要实现代码如下:

privatevoid button2_Click(object sender, EventArgs e) {

Form form = new注痢?册á(); form.Show(); }

privatevoid button1_Click(object sender, EventArgs e) {

string account = textBox1.Text; string password = textBox2.Text; string type=comboBox1.Text;

string sql = \"select password,id from registration_table\" + \" where account='\" + account + \"' and user_type='\" + type+\"'\"; DataTable table = BASE.select(sql); DataRowCollection rows = table.Rows; if (rows.Count == 0) {

MessageBox.Show(\"用?户§不?存?在ú!?\"); }

elseif (rows[0][0].Equals(password)) {

BASE.id = Convert.ToInt32(rows[0][1]); Form form;

29

switch (type) {

case\"学§生Θ?: form = new学§生Θ?操ù作痢?界?面?(); break;

case\"教ì师簗\": form = new教ì师簗操ù作痢?界?面?(); break;

default: form=new管û理え?面?操ù作痢?界?面?(); break;

}

form.Show(); } else

{

MessageBox.Show(\"用?户§名?与?密û码?不?匹¥配?!?\"); } } }

publicclassBASE {

publicstaticint id;

publicstaticstring uesr_type; publicstaticstring Sno; publicstaticstring company_no;

publicstaticstring strConn = \"Data Source=DESKTOP-1P20TKB;Initial Catalog=\" +\"毕?业唉?生Θ?管û理え?系μ统?;Integrated Security=True\";

publicstaticDataTable select(string sql) {

SqlConnection con = newSqlConnection(strConn); DataSet ds = newDataSet(); con.Open();

SqlDataAdapter sqld = newSqlDataAdapter(sql, con);

sqld.Fill(ds, \"user\");//用?Fill方?法ぁ?填?充?DataSet

DataTable dTable = ds.Tables[\"user\"];//将?数簓据Y表括?的?数簓据Y复′制?到?DataTable对?象ó

con.Close(); con = null; return dTable; }

publicstaticDataSet select_s(string sql) {

SqlConnection con = newSqlConnection(strConn);

30

DataSet ds = newDataSet(); con.Open();

SqlDataAdapter sqld = newSqlDataAdapter(sql, con);

sqld.Fill(ds, \"user\");//用?Fill方?法ぁ?填?充?DataSet con.Close(); con = null; return ds; }

publicstaticBoolean update(string sql) {

Boolean flag = false;

using (SqlConnection connection = newSqlConnection(strConn)) {

SqlCommand command = newSqlCommand(sql, connection); connection.Open(); int count = command.ExecuteNonQuery(); if (count > 0) {

flag = true; }

command = null; connection.Close(); } return flag;

}

31

4.3.2 管理员操作界面

主要实现代码如下:

privatevoid button1_Click(object sender, EventArgs e) {

Form form = new管û理え?员±密û码?修T改?(); form.Show(); }

privatevoid button2_Click(object sender, EventArgs e) { this.Close(); }

privatevoid 管û理え?面?操ù作痢?界?面?_Load(object sender, EventArgs e) {

tabPage1_Click(sender, e); tabPage2_Click(sender, e); tabPage3_Click(sender, e); }

privatevoid tabPage1_Click(object sender, EventArgs e) {

string sql = \"select id,account,user_type from registration_table\";

32

DataSet ds = BASE.select_s(sql);

dataGridView1.DataSource = ds; dataGridView1.DataMember = \"user\"; }

privatevoid tabPage2_Click(object sender, EventArgs e) {

string sql = \"select Sno,name,sex,employment,professional\" +\" from SEM_table where id='\"+BASE.id+\"';\"; DataSet ds = BASE.select_s(sql);

dataGridView2.DataSource = ds; dataGridView2.DataMember = \"user\"; }

privatevoid tabPage3_Click(object sender, EventArgs e) {

string sql = \"select Cno,name,adress,type,phone from \" + \"company_table where id='\" + BASE.id + \"';\"; DataSet ds = BASE.select_s(sql);

dataGridView3.DataSource = ds; dataGridView3.DataMember = \"user\"; }

privatevoid button4_Click(object sender, EventArgs e) {

string account = textBox1.Text; string type = comboBox1.Text;

string sql = \"delete from registration_table where account='\" +account+\"' and user_type='\"+type+\"';\"; if (BASE.update(sql)) {

tabPage1_Click(sender, e); } else

{

MessageBox.Show(\"删?除y未′成é功|\"); } }

privatevoid button3_Click(object sender, EventArgs e) {

string sql = \"select Sno,name,sex,employment,professional from SM_table\"; DataTable table = BASE.select(sql); DataRowCollection rows = table.Rows;

33

int i = 0;

sql = \"delete from SEM_table\"; BASE.update(sql); while (i < rows.Count) {

string Sno = rows[i][0].ToString().Trim(); string name = rows[i][1].ToString().Trim(); string sex = rows[i][2].ToString().Trim(); string employment = rows[i][3].ToString().Trim(); string professional = rows[i][4].ToString().Trim();

sql = \"insert into SEM_table(id,Sno,name,sex,employment,professional)\" + \" values('\" + BASE.id + \"','\" + Sno + \"','\" + name + \"','\" + sex + \"','\" + employment + \"','\" + professional + \"');\"; BASE.update(sql); i++; }

tabPage2_Click(sender, e); }

privatevoid button5_Click(object sender, EventArgs e) {

Form form = new编括?辑-公?司?信?息¢(); form.Show(); }

privatevoid button6_Click(object sender, EventArgs e) {

tabPage3_Click(sender, e); }

34

4.3.3 学生用户界面

主要实现代码如下:

Boolean flag1 = false; Boolean flag2 = false;

privatevoid 学§生Θ?操ù作痢?界?面?_Load(object sender, EventArgs e) {

tabPage1_Click(sender, e); tabPage2_Click(sender, e); tabPage3_Click(sender, e); }

privatevoid button2_Click(object sender, EventArgs e) { this.Close(); }

privatevoid button1_Click(object sender, EventArgs e) {

Form form = new学§生Θ?修T改?密û码?(); form.Show(); }

privatevoid button3_Click(object sender, EventArgs e) {

string name = textBox1.Text;

35

string Sno = textBox2.Text;

string professional= textBox3.Text; string Class = textBox4.Text; string phone = textBox5.Text; string sex=\"女?\"; string employ = \"否?\"; if (radioButton4.Checked) {

sex = \"男D\"; }

if (radioButton1.Checked) {

employ = \"是?\"; } string sql; if (flag1) {

sql = \"insert into SM_table(id,Sno,name,phone\" + \

+ BASE.id + \ + Sno + \"','\" + name + \"','\" + phone + \"','\" + Class + \"','\" + professional + \"','\" + employ + \"','\" + sex + \"');\"; } else

{

sql = \"update SM_table set Sno='\" + Sno + \"',name='\" + name + \"',phone='\" + phone + \"',class='\" + Class + \"',professional='\" + professional + \"',employment='\" + employ + \"',sex='\" + sex+\"' where id='\"+BASE.id+\"';\"; }

if (BASE.update(sql)) {

MessageBox.Show(\"保馈?存?成é功|!?\"); tabPage2_Click(sender, e); }

tabPage3_Click(sender, e); }

privatevoid tabPage1_Click(object sender, EventArgs e) {

string sql = \"select name,Sno,professional,class,sex,\" + \"employment,phone from SM_table where id='\" + BASE.id + \"';\"; DataTable table = BASE.select(sql);

36

DataRowCollection rows = table.Rows; if (rows.Count == 0) {

flag1 = true; return; }

textBox1.Text = rows[0][0].ToString(); textBox2.Text = rows[0][1].ToString(); textBox3.Text = rows[0][2].ToString(); textBox4.Text = rows[0][3].ToString(); textBox5.Text = rows[0][6].ToString(); if (rows[0][4].ToString().Equals(\"男D\")) {

radioButton4.Checked = true; } else

{

radioButton3.Checked = true; }

if (rows[0][5].ToString().Equals(\"是?\")) {

radioButton1.Checked = true; } else

{

radioButton2.Checked = true; } }

privatevoid button4_Click(object sender, EventArgs e) {

string Sno = textBox2.Text; string name = textBox6.Text; string post = textBox7.Text; string wage = textBox8.Text; string area = comboBox1.Text; string no;

string sql = \"select Cno from company_table where name='\" +name+\"'\";

DataTable table = BASE.select(sql); DataRowCollection rows = table.Rows; no = rows[0][0].ToString(); if (flag2) {

37

sql = \"insert into PEM_table(Sno,company_name,company_no,post,wage,area)\" + \" values('\" + Sno + \"','\" + name + \"','\" + no + \"','\" + post + \"','\" + wage + \"','\" + area + \"');\"; } else

{

sql = \"update PEM_table set company_name='\" + name +\"',company_no='\"+no+\"',post='\"+post +\"',wage='\"+wage+\"',area='\"+area +\"' where Sno='\"+Sno+\"';\"; }

if (BASE.update(sql)) {

MessageBox.Show(\"保馈?存?成é功|!?\"); } }

privatevoid tabPage2_Click(object sender, EventArgs e) {

if (!radioButton2.Checked) {

textBox6.ReadOnly = false; textBox7.ReadOnly = false; textBox8.ReadOnly = false; comboBox1.Visible = true;

string sql = \"select company_name,post,wage,area from PEM_table\" + \" where Sno='\" + textBox2.Text + \"';\"; DataTable table = BASE.select(sql); DataRowCollection rows = table.Rows; if (rows.Count == 0) {

flag2 = true; return;

}

textBox6.Text = rows[0][0].ToString(); textBox7.Text = rows[0][1].ToString(); textBox8.Text = rows[0][2].ToString(); comboBox1.Text = rows[0][3].ToString(); } else

{

textBox6.ReadOnly = true; textBox7.ReadOnly = true; textBox8.ReadOnly = true;

38

comboBox1.Visible = false; } }

privatevoid tabPage3_Click(object sender, EventArgs e) {

string sql = \"select name,sex,phone,employment from SM_table\" + \" where class='\" + textBox4.Text + \"'\" + \" and professional='\" + textBox3.Text + \"';\"; DataSet ds = BASE.select_s(sql);

dataGridView1.DataSource = ds; dataGridView1.DataMember = \"user\"; }

4.3.4 教师用户界面

主要实现代码如下:

privatevoid 教ì师簗操ù作痢?界?面?_Load(object sender, EventArgs e) {

string sql = \"select Sno,name,sex,employment,professional\" + \" from SEM_table;\"; DataSet ds = BASE.select_s(sql);

dataGridView1.DataSource = ds; dataGridView1.DataMember = \"user\"; }

39

privatevoid button2_Click(object sender, EventArgs e) { this.Close(); }

privatevoid button1_Click(object sender, EventArgs e) {

Form form = new教ì师簗修T改?密û码?(); form.Show(); }

40

第5章 系统测试

通过测试,可以发现测试对象的缺点,这对进一步完善自己的系统中的错误起着很大作用。分为以下几个步骤:模块测试,模块测试通常又称为单元测试。在这个测试步骤中所发现的往往都是编码和详细设计的错误;子系统测试,子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。这个步骤着重测试模块的接口;系统测试,系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能。在这个测试步骤中发现的往往是软件设计中的错误;验收测试,它的主要目的是验证系统确实能够满足用户的需要。

进行测试的过程中,在对该系统进行测试的过程中,重点对该子系统的错误处理功能进行了检验,主要进行了系统模块出错的处理测试,在测试时使用了比较合理的测试用例,不仅仅是对键盘的操作进行测试,对一些链接,查看也进行了测试,也通过测试寻找到一些问题,对这些问题做出了及时有效的改正。测试的结果还是令人乐观和满意的。

本次系统测试,发现了用户只有登录操作,无登出操作,安全性也难以保证,在易用性方面还需要提高,有时间需要对本版本做一个升级更新,扩充内容的同时改善用户体验。

结 论

本项目的任务提出者及开发者是学籍管理系统软件开发小组,用户是教

41

学办公室。本产品能具体化、合理化的管理学生的学籍档案,用结构化的思维方式去了解计算机的基本工作原理和宋庆龄程序设计语言。

这次课程设计涉及到了我不太擅长的java连接数据库。系统存在下面的一些缺点,管理内容不够灵活,UI按钮不够人性化;数据库表浪费,在进行该系统的设计时对数据库表与表之间的关系还是有比较清楚地分析的,但是在开发过程中这样设计的表相互关联性太多,使得对数据库操作起来比较复杂。

虽然困难重重,但是成功的人生,需要自己去经营,别再说了,莫再等了,现在就为自己的人生做好规划,为人生点亮一盏明灯,赢在人生起跑点上。

参考文献

【1】王珊,萨师煊.数据库系统概论(第五版).北京:高等教育出版社,2014.9 【2】耿超.ASP.NET 4.0 网站开发实例教程 北京:清华大学出版社,2013.1 【3】伍星,熊壮.C#程序设计基础 北京:机械工业出版社,2012.7

42

成绩评分表

序号 评价内容 评价等级 43

1 2 3 4 5 6 7 8 9 10 设计思路阐述清晰,格式符合要求 结构严谨,逻辑性强,语言表达准确 文字通顺,技术用语准确,基本概念清楚 基础理论知识扎实,回答问题有理论根据 有较强的计算机应用能力 功能齐全完善,能正确处理实验数据 系统设计与实现方法有技巧性、新有创新意识 有一定的理论或应用价值,设计思路新颖,对问题有较深刻的认识 学习态度端正,主动参与性强 与指导教师及时沟通,学风严谨务实,按期完成规定的任务 优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  优  良  中  差  备注 总分 教师签字

44

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务