1.1 系统概述
本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、学生缴费管理系统等多种功能。本系统主要用到的技术包括:MVC 三层架构开发模式, 这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。
本文首先探讨了SQL 语言接口和.NET 软件开发工具的技术特点以及结合SQL 和.NET 的数据库访问方法,在此基础上,利用.NET 和 Microsoft SQL Server 2008实现了一个基于C/S模式的学生信息管理系统。在本文的后半部分,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能后矛盾的不完整的数据;
⑵ 完整、及时提供在管理及决策中需要的数据;
⑶ 利用指定的数据关系式分析数据,客观预测未来;
⑷ 向各级管理机构提供不同详细程度的报告,缩短分析和解释时间;
⑸ 用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。各方面的竞争中占有一席之地。
学生信息管理系统是一个学校不可缺少的部分, 它的内容对于学校的管理者来说至关重要, 所以学生信息管理系统应该能够为老师提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生档案,这种管理方式存在着许多缺点, 如:效率低、保密性差, 另外时间一长, 将产生大量的文件和数据, 这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高, 计算机科学日渐成熟, 其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分, 使用计算机对学生信息进行管理, 有着手工管理所无法比拟的优点. 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率, 也是学校的科学化、正规化管理, 与世界接轨的重要条件。
从微观上讲,建立一套学生信息管理系统能够提高办事效率,从而加强了管理的信息化手段。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的周期。因此,开发这样一套管理软件成为很有必要的事情。
2.2 程序语言设计环境
2.2.1 C#语言
C#是微软公司在2000年7
门为.NET 的应用而开发的语言。它吸收了C++、Visual Basic 、Delphi 、Java 等语言的优点,体现了
C#继承了C 语言的语法风格,同时又继承了C++的面向对象特性。不同的是,C#的对象模型已经面向Internet 进行了重新设计,使用的是.NET 框架的类库;C#
C#
不再支持避免了以往类层次结构中由于多重继承带来的可怕后果。.NET 框架为C#提供了一个强大
Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。其特点有:· 语言简洁。· 保留了C++的强大功能。
· 语言的自由性。·
强大的
· 支持跨平台。· 与XML 相融合。
2.3 数据库开发简介
数据库采用了SQL Server 是一个后台数据库管理系统, 它功能强大操作简便, 日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。
学生信息管理系统就是数据管理,数据库技术是数据管理的最新技术,是计算机科学最为迅速的分支。在信息社会,数据库技术已成为基础技术之一,它是一门综合性技术,涉及到操作系统,数据结构和程序设计等知识。
根据计算机的系统结构,数据库系统可分为集中式、客户机/服务器式、并行式和分布式四种。本文设计的系统就是客户机/服务器式(Client/Server)简记为C/S模式。随着计算机网络技术的发展和微型计算机的广泛使用,客户机/服务器式的系统结构得到了应用。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。功能的分布在
⑶ 创建视图
视图存储是数据库设计的一部分,而查询则不是。由于每个视图都存储在数据库内,所以建立特定的视图数据子集以供任何数据库用户使用。视图可以隐藏基表,可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据。这种方法可以保护用户和应用程序不受某些数据库修改的影响。在企业管理器中单击鼠标右键,选择“新建视图”命令。
⑷ 创建存储过程
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作变得简单容易。该过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或
多个结果集以及返回值。可以出于任何使用SQL 语句的目的来使用存储过程,它具有以下优点:
⑴ 可以在单个存储过程中执行一系列 SQL 语句;
⑵ 可以从自己的存储过程内引用其他存储过程,这可以简化一系列复杂语句;
⑶ 存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL 语句快。
在企业管理器中单击鼠标右键,选择“新建存储过程”命令。
2.3.3 配置SQL Server 2008中的数据库
完成数据库应用程序的基本步骤是:
⑴ 创建数据库;
⑵ 配置数据库与应用程序的连接;
⑶ 创建应用程序。
2.3.4 配置与SQL Server2008的连接
3 需求分析
在分析软件需求过程中,分析员和用户都起着关键的必不可少了的作用。只有用户才知道真正自己需要什么,但是他们并不知道怎么样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来;分析员知道怎么样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户的软件的需求。
3.1 可行性分析
由于本系统管理的对象单一, 都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII 以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
同时,本文介绍的学生信息管理系统是一个典型的客户机/服务器(C/S)体系结构的数据库应用系统。
C/S软件体系结构是基于资源不对等且为实现共享而提出来的,是20世纪90年代成熟起来的技术。C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S模式的基本工作原理是:客户程序向数据服务器发送SQL 请求,服务器返回数据和结果。客户端负责实现用户接口功能,同时封装部分或全部的应用逻辑。服务器端的数据库服务器主要提供数据存储功能,也可通过触发器和存储过程提供部分应用逻辑,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则在服务器程序中集中实现,例如访问者的权限、编号不准重复等规则。所有这些,对于运行客户应用程序的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,数据库真正变成了公
共、专业化的床库,受到独立的专门管理。
3.2 用户需求分析
经过详细的调研,并多次与学生档案管理的老师进行讨论后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下: ⑴ 新生入校,首先报到并进行注册登记,然后到财务部门交费。根据学生被录取的专业,持交费单到所在的系部注册;
⑵ 到系部注册后,根据选报的专业分配到班级;
⑶ 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各种学科的期末考试; 计划和资源利用计划。
3.5 功能分析
⑴ 系统需要经过有效身份验证才可以登录。
⑵ 系统对注册用户可对系统进行不同的管理。
⑶ 用户身份不同,使用系统的权限也不同。
3.6 系统建模
为了更好的理解复杂的事物,人们常常采用建立事物模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象的表达方式,是对事物的一种无歧义的书面描述。通常模型是由一组图形符号和组织这些符号的规则组成。
3.6.1 建立系统的逻辑模型
系统的逻辑模型的工具是数据流图和数据字典。数据流图中没有任何具体的物理元素,只有用来描绘信息在系统中的流动和处理情况。数据流图共有四种基本符号:矩形表示数据的源点或终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭头表示数据流,既特定数据的流动方向。根据现行学生管理的业务流程,首先确定数据流图中的源点和终点都选定为学生,如此就得到据冗余,节约储存空间,又能够避免数据之间的不相容性与不一致性。数据系统提供了两方面的映像功能,从而使数据既具有物理独立性,又有逻辑独立性。数据与程序之间的独立性,使得可以把数据的定义和描述从应用程序中分离出去。另外,由于数据的存取由DBMS 管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。在数据库系统中,数据是由DBMS 统一管理和控制的。由于对数据实行了统一管理,而且所管理的是有结构的数据,因此在使用数据时可以当应用需求改变或增加时,只要重新选取不同的子集或者加上一小部分数据,便可以有更多的途径,满足新的要求,因此使数据库系统弹性大,易于扩充。除了管理功能以外,为了适应数据共享的环境,DBMS 还必须提供数据的安全性、数据的完整性,并发控制以及数据库的恢复等控制功能。
⑴ 数据模型设计。首先来做出学生成绩管理系统的E-R 图(联系方法图),分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
⑵ 再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎么样做“的时候了。总体设计的基本目的就是回答”概括的说,系统应该如何实现?“这个问题,因此,总体设计成为概要设计或者初步设计。通过这个阶段的工作将划分出组成系统的物理元素。总体设计阶段的另一项任务是设计软件结构,也就是要确定系统中的每个程序是哪些模块组成的,以及模块相互关系。
4.1.1设计过程
总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。本程序设计包括下述4个步骤:
⑴设想提供选择的方案
如何实现要求的系统呢?在总体设计阶段开始时只有系统逻辑模型,这主要是我在进行调查时根据老师跟同学们的意见跟建议设计的一些数据然后根据数据分析进行总体的设计。
⑵功能分析
为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。我在对程序设计的时候分为两个阶段完成:首先是进行结构设计,这主要考虑到学生信息由那些模块的划分,这些模块之间的关系:过程设计确定每个模块的处理过程。第二进行过程设计,这个阶段是详细设计阶段的任务见第5节系统实现篇。
⑶设计软件结构
通常程序中的一个模块完成一个适当的子功能。把模块组织成良好的功能层次系统,顶层模块调用他的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成具体的功能。
⑷设计数据库
对于需要使用数据库的那些应用系统,我在需求分析阶段需求分析阶段所确定的系统数据需求的基础上。
4.2 模块设计原理
4.2.1 软件模块结构分析
软件模块结构分析主要有两个任务:分析用户的数据要求和分析用户的处理要求。通过以上分析,我们已经基本了解了用户对处理的要求。
⑴ 系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。
⑵ 软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作
4.5 详细设计
系统设计又称系统物理设计。系统设计要根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。
结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什么方法连接,如何构成良好的系统结构,并进行系统输入、输出、数据处理、数据存储等环节的详细设计。这一阶段的重点是设计好系统的总体结构,选择最经济合理的技术手段。系统设计阶段的文件是系统设计报告(又称系统物理设计说明书)。
由于本系统采用支持面向对象的Visual Basic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出系统软件的结构图和主程序流程图。
系统结构图,如图基本上决定了最终的程序代码质量。
4.5.2 人机界面设计
在系统详细设计的时候遇见的第一个问题就是人机界面的设计。人机界面的实际质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够的重视。
用户界面设计主要依靠设计者的经验。在我设计人机界面的时候重要突出有助与友好高效的界面。下面我介绍下本系主要用到的人机界面设计指南。
⑴ 一般交互指南
一般交互指南涉及信息的显示、数据输入和系统整体控制。这类指南是全局性的。在交互指南中应该考虑下面问题:
①保持一致性。人机界面中的菜单选择、数据显示以及其他功能使用一致的格式;
②在执行较大破坏性的动作之前要求用户确定;
③允许取消绝大部分的操作;
④按功能对动作分类,并据此设计屏幕布局。
⑵数据输入指南
在本系统中用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘、鼠标仍然是主要的输入介质。下面是有关于数据输入的设计指南:
①尽量减少用户的输入动作。最重要的是减少击键次数,这可以用下列方法实现:用鼠标从预定意的一组输入中选一个;
②保持信息显示和数据输入之间的一致性。
4.5.3 过程设计的工具
描叙程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言3类。不论是那种工具对他们的基本要求都是能提供对设计的无歧义的描叙,也就是应该指明控制流程、处理功能、数据组织以及他们方面的实现细节问题,从而在编码阶段能把对设计的描述直接翻译成程序代码。
⑴ 程序流程图
程序流程图的优点是对控制流程的描绘很直观。
程序流程图有很多优点但同时存在许多的缺点:
①程序流程图本质上不是逐步求精的好工具;
②程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,睡衣转移控制;
③程序流图不易表示数据结构。
⑵ 判定树
判定树能清晰的表示复杂的条件组合与应做的动作意见的对应关系。判定树的优点在于,它的形式简单到不用任何说明
5.2 系统主界面
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能。
首先,在窗口上放置一个Picture 控件、一个DataGrid 控件、一个工具栏控件和一个状态栏控件,其 次打开菜单编辑器,按照总体设计的功能结构图设计菜单选项,
5.3 服务器端程序的建立
服务器端程序实际上是个COM 工程,它本身连接数据源,再通过接口与客户端联系,这个COM 工程必须注册在服务器上。
5.4客户端程序的建立
在Two-Tier 模式中,客户端(Client)程序是直接和服务器的数据源相连的。
⑴建立一个普通的工程。
⑵放置一个TDCOMConnrction 控件在网络上调试,需要给出服务器名:ComputerName:服务器名(自动给出网上邻居)注意: ServerGUID 的GUID 值是自动给出的。
⑶放置一个Tclient 控件。
这样一个客户端程序就建立好了, 其余犹如普通的数据库设计。
5.5 动态连接应用程序服务器的实现
客户端程序在运行时,需要连接应用服务器程序以取得服务。但是,在系统实际应用的时候,运行应用服务器程序的计算机是经常改变的,因此在客户端程序启动时,应该先找到运行应用服务器程序的计算机的设置。
掌握了动态连接应用服务器的流程,就可以具体实现它。下面就将分步骤介绍动态连接应用服务器的实现过程。
⑴在.NET 中新建一个窗体,将单元文件保存为connect.pas 窗体的Name 属性设为fm_serconfig,Caption属性设为”服务器配置”。
(2) 在“连接设置”窗体中,需要输入应用服务器主机名(或者应用服务器IP 地址)和应用服务器的端口号,这些配置信息将用来连接应用服务器。如果连接成功,输入的配置信息将被写入到注册表中,以后程序启动时,读取注册表配置信息,就可而已连接应用服务器程序了。
(3) 在连接设置主窗口中,我们为应用服务器名提供了辅助录入的方法,点击应用服务器名编辑框右边的省略号按钮,将弹出一个浏览局域网计算机的对话框,以方便用户选择应用服务器所在的计算机。
在列举网络资源窗体中,将按照工作组以树型目录的形式显示局域网中的计算机。
(4)应用服务器IP 地址和端口号的值,然后将这些值赋给主窗体的SocketConnection 组件以测试连接。如果连接成功就返回True 值,如果连接失败,将弹出“连接设置“窗口,用户需要从新输入应用服务器主机名,应用服务器IP 地址和端口号。如果仍然连接失败,就返回False 值,表示连接失败。
(5) 动态连接设置的最后一个步骤就是在主窗体被创建时,调用第4步中的方法,判断应用程序是否连接上了应用服务器。如果连接成功,将进入应用程序;如果连接失败,将退出应用程序。 至此,动态连接应用服务器就做完了。
5.9 系统的测试
⑴ 测试步骤
⑴ 添加学生信息测试流程:
① 以管理员或者编辑身份进入后台管理界面;
② 选择“添加学生”功能;
③ 首先添加学生姓名,选择学生的性别、年龄、等信息名称;
④然后添加学生的详细信息;
⑤ 从系统界面登录,确认信息添加。
⑵ 测试的目标:为了发现程序中的错误而执行程序的过程。
1.1 系统概述
本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、学生缴费管理系统等多种功能。本系统主要用到的技术包括:MVC 三层架构开发模式, 这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。
本文首先探讨了SQL 语言接口和.NET 软件开发工具的技术特点以及结合SQL 和.NET 的数据库访问方法,在此基础上,利用.NET 和 Microsoft SQL Server 2008实现了一个基于C/S模式的学生信息管理系统。在本文的后半部分,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能后矛盾的不完整的数据;
⑵ 完整、及时提供在管理及决策中需要的数据;
⑶ 利用指定的数据关系式分析数据,客观预测未来;
⑷ 向各级管理机构提供不同详细程度的报告,缩短分析和解释时间;
⑸ 用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。各方面的竞争中占有一席之地。
学生信息管理系统是一个学校不可缺少的部分, 它的内容对于学校的管理者来说至关重要, 所以学生信息管理系统应该能够为老师提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生档案,这种管理方式存在着许多缺点, 如:效率低、保密性差, 另外时间一长, 将产生大量的文件和数据, 这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高, 计算机科学日渐成熟, 其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分, 使用计算机对学生信息进行管理, 有着手工管理所无法比拟的优点. 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率, 也是学校的科学化、正规化管理, 与世界接轨的重要条件。
从微观上讲,建立一套学生信息管理系统能够提高办事效率,从而加强了管理的信息化手段。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的周期。因此,开发这样一套管理软件成为很有必要的事情。
2.2 程序语言设计环境
2.2.1 C#语言
C#是微软公司在2000年7
门为.NET 的应用而开发的语言。它吸收了C++、Visual Basic 、Delphi 、Java 等语言的优点,体现了
C#继承了C 语言的语法风格,同时又继承了C++的面向对象特性。不同的是,C#的对象模型已经面向Internet 进行了重新设计,使用的是.NET 框架的类库;C#
C#
不再支持避免了以往类层次结构中由于多重继承带来的可怕后果。.NET 框架为C#提供了一个强大
Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。其特点有:· 语言简洁。· 保留了C++的强大功能。
· 语言的自由性。·
强大的
· 支持跨平台。· 与XML 相融合。
2.3 数据库开发简介
数据库采用了SQL Server 是一个后台数据库管理系统, 它功能强大操作简便, 日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。
学生信息管理系统就是数据管理,数据库技术是数据管理的最新技术,是计算机科学最为迅速的分支。在信息社会,数据库技术已成为基础技术之一,它是一门综合性技术,涉及到操作系统,数据结构和程序设计等知识。
根据计算机的系统结构,数据库系统可分为集中式、客户机/服务器式、并行式和分布式四种。本文设计的系统就是客户机/服务器式(Client/Server)简记为C/S模式。随着计算机网络技术的发展和微型计算机的广泛使用,客户机/服务器式的系统结构得到了应用。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。功能的分布在
⑶ 创建视图
视图存储是数据库设计的一部分,而查询则不是。由于每个视图都存储在数据库内,所以建立特定的视图数据子集以供任何数据库用户使用。视图可以隐藏基表,可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据。这种方法可以保护用户和应用程序不受某些数据库修改的影响。在企业管理器中单击鼠标右键,选择“新建视图”命令。
⑷ 创建存储过程
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作变得简单容易。该过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或
多个结果集以及返回值。可以出于任何使用SQL 语句的目的来使用存储过程,它具有以下优点:
⑴ 可以在单个存储过程中执行一系列 SQL 语句;
⑵ 可以从自己的存储过程内引用其他存储过程,这可以简化一系列复杂语句;
⑶ 存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL 语句快。
在企业管理器中单击鼠标右键,选择“新建存储过程”命令。
2.3.3 配置SQL Server 2008中的数据库
完成数据库应用程序的基本步骤是:
⑴ 创建数据库;
⑵ 配置数据库与应用程序的连接;
⑶ 创建应用程序。
2.3.4 配置与SQL Server2008的连接
3 需求分析
在分析软件需求过程中,分析员和用户都起着关键的必不可少了的作用。只有用户才知道真正自己需要什么,但是他们并不知道怎么样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来;分析员知道怎么样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户的软件的需求。
3.1 可行性分析
由于本系统管理的对象单一, 都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII 以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
同时,本文介绍的学生信息管理系统是一个典型的客户机/服务器(C/S)体系结构的数据库应用系统。
C/S软件体系结构是基于资源不对等且为实现共享而提出来的,是20世纪90年代成熟起来的技术。C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S模式的基本工作原理是:客户程序向数据服务器发送SQL 请求,服务器返回数据和结果。客户端负责实现用户接口功能,同时封装部分或全部的应用逻辑。服务器端的数据库服务器主要提供数据存储功能,也可通过触发器和存储过程提供部分应用逻辑,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则在服务器程序中集中实现,例如访问者的权限、编号不准重复等规则。所有这些,对于运行客户应用程序的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,数据库真正变成了公
共、专业化的床库,受到独立的专门管理。
3.2 用户需求分析
经过详细的调研,并多次与学生档案管理的老师进行讨论后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下: ⑴ 新生入校,首先报到并进行注册登记,然后到财务部门交费。根据学生被录取的专业,持交费单到所在的系部注册;
⑵ 到系部注册后,根据选报的专业分配到班级;
⑶ 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各种学科的期末考试; 计划和资源利用计划。
3.5 功能分析
⑴ 系统需要经过有效身份验证才可以登录。
⑵ 系统对注册用户可对系统进行不同的管理。
⑶ 用户身份不同,使用系统的权限也不同。
3.6 系统建模
为了更好的理解复杂的事物,人们常常采用建立事物模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象的表达方式,是对事物的一种无歧义的书面描述。通常模型是由一组图形符号和组织这些符号的规则组成。
3.6.1 建立系统的逻辑模型
系统的逻辑模型的工具是数据流图和数据字典。数据流图中没有任何具体的物理元素,只有用来描绘信息在系统中的流动和处理情况。数据流图共有四种基本符号:矩形表示数据的源点或终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭头表示数据流,既特定数据的流动方向。根据现行学生管理的业务流程,首先确定数据流图中的源点和终点都选定为学生,如此就得到据冗余,节约储存空间,又能够避免数据之间的不相容性与不一致性。数据系统提供了两方面的映像功能,从而使数据既具有物理独立性,又有逻辑独立性。数据与程序之间的独立性,使得可以把数据的定义和描述从应用程序中分离出去。另外,由于数据的存取由DBMS 管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。在数据库系统中,数据是由DBMS 统一管理和控制的。由于对数据实行了统一管理,而且所管理的是有结构的数据,因此在使用数据时可以当应用需求改变或增加时,只要重新选取不同的子集或者加上一小部分数据,便可以有更多的途径,满足新的要求,因此使数据库系统弹性大,易于扩充。除了管理功能以外,为了适应数据共享的环境,DBMS 还必须提供数据的安全性、数据的完整性,并发控制以及数据库的恢复等控制功能。
⑴ 数据模型设计。首先来做出学生成绩管理系统的E-R 图(联系方法图),分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
⑵ 再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎么样做“的时候了。总体设计的基本目的就是回答”概括的说,系统应该如何实现?“这个问题,因此,总体设计成为概要设计或者初步设计。通过这个阶段的工作将划分出组成系统的物理元素。总体设计阶段的另一项任务是设计软件结构,也就是要确定系统中的每个程序是哪些模块组成的,以及模块相互关系。
4.1.1设计过程
总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。本程序设计包括下述4个步骤:
⑴设想提供选择的方案
如何实现要求的系统呢?在总体设计阶段开始时只有系统逻辑模型,这主要是我在进行调查时根据老师跟同学们的意见跟建议设计的一些数据然后根据数据分析进行总体的设计。
⑵功能分析
为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。我在对程序设计的时候分为两个阶段完成:首先是进行结构设计,这主要考虑到学生信息由那些模块的划分,这些模块之间的关系:过程设计确定每个模块的处理过程。第二进行过程设计,这个阶段是详细设计阶段的任务见第5节系统实现篇。
⑶设计软件结构
通常程序中的一个模块完成一个适当的子功能。把模块组织成良好的功能层次系统,顶层模块调用他的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成具体的功能。
⑷设计数据库
对于需要使用数据库的那些应用系统,我在需求分析阶段需求分析阶段所确定的系统数据需求的基础上。
4.2 模块设计原理
4.2.1 软件模块结构分析
软件模块结构分析主要有两个任务:分析用户的数据要求和分析用户的处理要求。通过以上分析,我们已经基本了解了用户对处理的要求。
⑴ 系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。
⑵ 软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作
4.5 详细设计
系统设计又称系统物理设计。系统设计要根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。
结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什么方法连接,如何构成良好的系统结构,并进行系统输入、输出、数据处理、数据存储等环节的详细设计。这一阶段的重点是设计好系统的总体结构,选择最经济合理的技术手段。系统设计阶段的文件是系统设计报告(又称系统物理设计说明书)。
由于本系统采用支持面向对象的Visual Basic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出系统软件的结构图和主程序流程图。
系统结构图,如图基本上决定了最终的程序代码质量。
4.5.2 人机界面设计
在系统详细设计的时候遇见的第一个问题就是人机界面的设计。人机界面的实际质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够的重视。
用户界面设计主要依靠设计者的经验。在我设计人机界面的时候重要突出有助与友好高效的界面。下面我介绍下本系主要用到的人机界面设计指南。
⑴ 一般交互指南
一般交互指南涉及信息的显示、数据输入和系统整体控制。这类指南是全局性的。在交互指南中应该考虑下面问题:
①保持一致性。人机界面中的菜单选择、数据显示以及其他功能使用一致的格式;
②在执行较大破坏性的动作之前要求用户确定;
③允许取消绝大部分的操作;
④按功能对动作分类,并据此设计屏幕布局。
⑵数据输入指南
在本系统中用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘、鼠标仍然是主要的输入介质。下面是有关于数据输入的设计指南:
①尽量减少用户的输入动作。最重要的是减少击键次数,这可以用下列方法实现:用鼠标从预定意的一组输入中选一个;
②保持信息显示和数据输入之间的一致性。
4.5.3 过程设计的工具
描叙程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言3类。不论是那种工具对他们的基本要求都是能提供对设计的无歧义的描叙,也就是应该指明控制流程、处理功能、数据组织以及他们方面的实现细节问题,从而在编码阶段能把对设计的描述直接翻译成程序代码。
⑴ 程序流程图
程序流程图的优点是对控制流程的描绘很直观。
程序流程图有很多优点但同时存在许多的缺点:
①程序流程图本质上不是逐步求精的好工具;
②程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,睡衣转移控制;
③程序流图不易表示数据结构。
⑵ 判定树
判定树能清晰的表示复杂的条件组合与应做的动作意见的对应关系。判定树的优点在于,它的形式简单到不用任何说明
5.2 系统主界面
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能。
首先,在窗口上放置一个Picture 控件、一个DataGrid 控件、一个工具栏控件和一个状态栏控件,其 次打开菜单编辑器,按照总体设计的功能结构图设计菜单选项,
5.3 服务器端程序的建立
服务器端程序实际上是个COM 工程,它本身连接数据源,再通过接口与客户端联系,这个COM 工程必须注册在服务器上。
5.4客户端程序的建立
在Two-Tier 模式中,客户端(Client)程序是直接和服务器的数据源相连的。
⑴建立一个普通的工程。
⑵放置一个TDCOMConnrction 控件在网络上调试,需要给出服务器名:ComputerName:服务器名(自动给出网上邻居)注意: ServerGUID 的GUID 值是自动给出的。
⑶放置一个Tclient 控件。
这样一个客户端程序就建立好了, 其余犹如普通的数据库设计。
5.5 动态连接应用程序服务器的实现
客户端程序在运行时,需要连接应用服务器程序以取得服务。但是,在系统实际应用的时候,运行应用服务器程序的计算机是经常改变的,因此在客户端程序启动时,应该先找到运行应用服务器程序的计算机的设置。
掌握了动态连接应用服务器的流程,就可以具体实现它。下面就将分步骤介绍动态连接应用服务器的实现过程。
⑴在.NET 中新建一个窗体,将单元文件保存为connect.pas 窗体的Name 属性设为fm_serconfig,Caption属性设为”服务器配置”。
(2) 在“连接设置”窗体中,需要输入应用服务器主机名(或者应用服务器IP 地址)和应用服务器的端口号,这些配置信息将用来连接应用服务器。如果连接成功,输入的配置信息将被写入到注册表中,以后程序启动时,读取注册表配置信息,就可而已连接应用服务器程序了。
(3) 在连接设置主窗口中,我们为应用服务器名提供了辅助录入的方法,点击应用服务器名编辑框右边的省略号按钮,将弹出一个浏览局域网计算机的对话框,以方便用户选择应用服务器所在的计算机。
在列举网络资源窗体中,将按照工作组以树型目录的形式显示局域网中的计算机。
(4)应用服务器IP 地址和端口号的值,然后将这些值赋给主窗体的SocketConnection 组件以测试连接。如果连接成功就返回True 值,如果连接失败,将弹出“连接设置“窗口,用户需要从新输入应用服务器主机名,应用服务器IP 地址和端口号。如果仍然连接失败,就返回False 值,表示连接失败。
(5) 动态连接设置的最后一个步骤就是在主窗体被创建时,调用第4步中的方法,判断应用程序是否连接上了应用服务器。如果连接成功,将进入应用程序;如果连接失败,将退出应用程序。 至此,动态连接应用服务器就做完了。
5.9 系统的测试
⑴ 测试步骤
⑴ 添加学生信息测试流程:
① 以管理员或者编辑身份进入后台管理界面;
② 选择“添加学生”功能;
③ 首先添加学生姓名,选择学生的性别、年龄、等信息名称;
④然后添加学生的详细信息;
⑤ 从系统界面登录,确认信息添加。
⑵ 测试的目标:为了发现程序中的错误而执行程序的过程。