本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。
本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。
第一章 绪 论
本毕业论文是以学校学生管理信息系统建设中的成绩管理系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、开发总结、致谢、参考文献、附录等。
问题的提出
随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。
数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。
而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。
在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。
现有系统存在问题的分析
在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。
所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。
有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。
还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。
系统开发目标与意义
系统开发目标:
本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:
1.系统应具有实用性、可靠性和适用性,同时注意到先进性。
2.对各个数据库进行动态管理,防止混乱。
3.能够按照用户选择的不同的条件进行简单查询和复合查询。
4.能够对查询结果进行分类汇总,实现报表打印。
5.注意数据的安全性,具有数据备份和恢复的功能。
6.方便用户的操作,尽量减少用户的操作。
意义:
在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
可行性分析
可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。
经济上可行性:
现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,
为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
第一,本系统的运行可以代替人工进行许多繁杂的劳动;
第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高学校的工作效率;
第四,本系统可以使敏感文档更加安全,等等。
所以,本系统在经济上是可行的。
技术上可行性:
本系统的开发利用Microsoft SQL Server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。
使用Visual Studion.net作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
运行上可行性:
本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
第二章 需求分析
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。
2.1 教育系统学生管理现状分析
学校工作流程分析
学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。
新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。
在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。
每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。
教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。
学校具体需求分析
学生:对各科成绩的查询及查看本班成绩排名等情况。
任课老师:输入并维护所教科目的学生成绩,计算本科的成绩排名、本科成绩在班上的排名。
输出本班科目的成绩及排名情况。
班主任:输入并维护本班的基本信息,对本班的各科成绩汇总,计算各科成绩的总分,排名,本班平均分等需求。
输出学生的基本信息,各科的成绩及各科成绩的部分,各科成绩的排名,总分的排名情况。
教务处: 学校全体成员的信息管理,对考试科目,时间及对所考科目的编号等进行具体的管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护,可打印学生的所有信息。
系统设计思想
1、 采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。
2、 系统就满足学校的需求,例如学生信息的录入、查询、更新等。学生录入与排名。
3、 系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。
系统设计分析
本系统适用于中小学校,其功能主要分为六大类:
用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。
课程管理:用于对各学期课程的开设和修改。
成绩管理:用于对成绩的输入、修改、汇总及排名。
学生信息管理:添加,删除,修改学生信息等。
授课信息管理: 对授课教师,课程号,学时数,班级等信息的添加,维护等。
学生信息查询: 对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能。
学生成绩统计: 统计本科的总分,平均分等信息。
本系统性能力求易于使用,具体有较高的扩展性和可维护性。
系统功能分析
权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息。
录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。
查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。
维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。
退出功能:结束并关闭系统。
学生学籍系统的目标
节约资源,提高学籍信息的精确度
本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。
方便快速操作,精减人员,节约开支
方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。
数据库分析
用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
2.2 基于B/S结构技术的应用
本系统的开发采用Asp.Net---- 一种全新的设计模式
Asp.net之三层WEB结构及其优点
三层模式是在两层模式的基础上,增加了新的一级。这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。客户显示层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务,负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开 。其主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序,它是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(Registry)中,它与客户端通讯的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发;数据层是三层模式中最底层,他用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。
三层模式的主要优点为 :
①良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。
②可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;
③较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。
④增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。
⑤三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行校率。
⑥三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。
ASP.Net的运用可以轻松地使用近年流行的三层结构模式开发WEB站点或基于B/S结构的应用程序。它可以使程序具有更好的扩展性,灵活性,安全性,平台无关性以及可维护性。ASP.Net的三层结构开发方法思想与Java类似:Java中的三层架构为前端的HTML,JSP,Serverlet,中间层为JavaBean,EJB,后面为数据器库服务器。而在ASP.Net中,前端为HTML,asp,aspx等,中间层为扩展名是.vb,.cs等文件编译而成的.dll控件,后面为数据库服务器。
多层结构的应用正是在对C/S 结构的总结基础上产生的,并且也已经扩展到了B/S应用开发领域。
学生成绩管理信息系统是由 Web后台进行统一管理,所有业务逻辑都集中在Web应用程序中管理和制定,具有数据的录入和查询统计等功能,客户端的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层WEB模式进行开发实现。
面向对象的开发过程
面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术发展的重要成果和趋势之一,C#是一种面向对象的语言。面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等等。这些优点是过程编程语言所不具备的。下面我们就来谈谈面向对象技术的这些优点:
(1) 可管理性 维护简单
对于面向过程的开发来说,版本管理主要是管理函数以及全程变量,而函数可以有很大的变动,同样,全程变量也可以有较大的变动,但是,对于面向对象程序设计来讲,一个系统是有对象来组成的,而对象是由类生成的,因此只需管理类就行,一个系统中,类是相对稳定的,因此便于管理.
(2) 模块化
是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。
(3) 可扩充性
是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便,容易的进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制.
面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。
面向对象的程序设计可以用很好的可扩充性.这是由于类可以根据人对事物的理解而进行丰富,没有必要进行作大的改动,可以利用继承,对新的类添加属性和方法.用它可以生成系统的简单雏形,在征求用户的意见,在加入新的类,以及类的方法与属性等.
(4) 代码重用
可重用性是面向对象软件开发的一个核心思路.面向对象程序设计的抽象,封装,继承,多态的四大特点都无一例外,或多或少的围绕着可重用性这个核心并为之服务.
由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个.NET Framework编程语言的程序员都可以使用.NET Framework类库,.NET Framework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。
可重用性体现在两个方面:
(1) 开发的类可以被别人以及别的项目使用
(2) 由于可以继承,因此可以实现代码级的重用.
开发工具的选择
(1)在开发工具上,我选择Visual Studio .NET。Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。
Visual Studio .NET 是用于快速生成企业级 ASP.NET Web 应用程序和高性能桌面应用程序的工具。Visual Studio 包含基于组件的开发工具(如 Visual C#、Visual J#、Visual Basic 和 Visual C++),以及许多用于简化基于小组的解决方案的设计、开发和部署的其他技术。
Visual Studio 支持 Microsoft .NET Framework,该框架提供公共语言运行库和统一编程类;ASP.NET 使用这些组件来创建 ASP.NET Web 应用程序和 XML Web services。
(2)ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。
执行效率的大幅提高
ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
世界级的工具支持
ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。
强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
简单性和易学性
ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
高效可管理性
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
多处理器环境的可靠性
ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。
自定义性,和可扩展性
ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。
安全性
基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。
ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。
当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义.
数据库系统选择
本系统将采用Microsoft SQL Server2000作为系统的DBMS支撑,SQL Server2000是能够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQL Server2000在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQL Server2000 + ASP.Net开发本系统是一个较为理想的组合。
SQL Server2000的新特点:
动态的自我管理:SQL Server2000运行时动态配置运行环境,优化并简化了许多服务器配置选项,可随用户增多或者减少动态地请求追加或者释放资源,并可随数据的增减自动改变数据库大小。
丰富的管理工具:SQL Server2000提供了许多数据库系统管理工具。系统管理员可以在运行SQL Server Enterprise Manager的*控制台上,管理和监视服务器运行性能和企业数据库。
可编程的管理:SQL分布式对象可用于编写应用程序,这就可以使应用程序数据包透明地将SQL Server 2000嵌入应用程序中。也可以使用SQL-DMO为不同站点的通用的管理任务建立应用程序。
可能收缩性和高可能性:SQL Server 2000数据库引擎可以几乎所有Windows平台上运行,是可管理上千万个用户的大型数据库。同时其还具有动态自我调解的特性,能有效地在笔记本或者PC上运行。
支持数据仓库: SQL Server 2000支持数据仓库。
系统访问Internet集成:SQL Server 2000与其他产品一起为Internet或Intranet系统形成一个稳定的安全的数据存储;可为运行在IIS下的Web应用程序提供一个高性能的数据存储服务;此外,SQL Server2000数据库引擎还包括了对XML的本地支持,Transact-SQL结果可以作为XML文档返回给使用OLEBD和ADO API的应用程序,XML文档还可以添加到SQL Server 2000中。
综上所述,在开发空警管理信息系统时,采用SQL Server 2000作为数据库管理系统。
开发方法的选择
在开发方法的选择上,选择了演绎式原型法与生命周期法相结合的方法。具体来说,就是在系统开发之前对系统有一个总体框架设想,各功能单元的结构和功能也比较清楚,但是还没有具体实现。系统完成什么功能,分成哪几个部分,各个部分又有哪几个模块,都已理解掌握,且以后不需要做更大的变动,只是具体到每个模块,还没有全部实现。具体地设计可能是完全实现一个模块,也可能是用一个效率高地模块代替一个旧模块。信息系统的开发是一项比较复杂的工作,我们必须选用科学的有效的开发方法。近年来,国内外已逐步总结出一些开发信息系统的方法和技术,但是,从目前的情况来看,系统的开发技术仍是一个比较薄弱的环节。那么根据本系统开发的要求,本系统选择了生命周期法和原型法相结合的方法。现具体介绍如下:
生命周期这个概念源于系统工程方法。广义地说,任何系统均有其发生、发展、成熟、消亡或更新换代的过程,这个过程称为系统的生命周期。主要包括系统调查阶段、系统分析、系统设计、系统实施及系统维护与评价五个部分。根据系统设计而对整个系统实施,包括物理实施,程序设计,调试等。实施是最后的一步,关系着最后的成功。
在建筑学和机械设计学中,“原型”指的是其结构、大小和功能都与某个物体相类似的模拟该物体的原始模型。在管理信息系统开发中,用“原型”来形象地表示系统的一个早期可运行版本,它能反映新系统的部分重要功能和特征。“原型方法”则是利用原型辅助开发系统的一种新方法。原型方法要求在获得一组基本的用户需求后,快速地实现新系统的一个“原型”,用户、开发者及其他有关人员在试用原型的过程中,加强通信和反馈,通过反复评价和反复修改原型系统,逐步确定各种需求的细节,适应需求的变化,从而最终提高新系统的质量。因此可以认为原型方法确定用户需求的策略,它对用户需求的定义采用启发的方式,引导用户在对系统逐渐加深理解的过程中作出响应。
原型法主要包括确定系统基本需求阶段、构造初始原型阶段、原型的使用评价阶段、修改原型阶段和确定模型后的处理阶段。
原型法的基本思想是:凭借着系统分析人员对用户要求的理解,在强有力的软件环境支持下,快速地给出一个实实在在的模型(或称原型、雏形),然后与用户反复协商修改,最终形成实际系统。
在本系统中选择了演化型(EvolutionaryPrototying)原型法,其目的不在于改进规格说明和用户需求,而是将系统改造得易于变化,在改进原型的过程中将原型演化成最终系统。它将原型方法的思想贯穿到系统开发全过程,对满足需求的改动较为适合。
开发本系统的意义
学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。
运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。
在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。
本文档编写目的
本文档为定义项目的需求,以软件工程学的思想来组织管理并展开本次毕业设计课题的研究,以指导后期的系统分析与设计,并为系统用户与开发者提供参考标准。本文档力求准确,清晰地表达项目需求与开发过程,以保证开发过程满足项目需求的正确方向进行。
Web应用具体项目的确立是建立在各种条件、环境及需求之上的,通常情况下项目的开发与应用,运营的参与者拥有不同的知识结构体系,因此,所有人员对项目的理解程度很大程度上决定的项目的建设成败。因此,需要对系统之间的关系进行详细的设计分析说明。
第三章 学生成绩管理系统概要设计
系统设计图例说明
l 本系统流程图基本图形元素如下所示:
l 程序逻辑结构描述图例
(1) 顺序结构:一个命令接一个地执行;
(2) 选择结构:(或IF-THEN-ELSE)当一个决定有多种不同执行结果时;
(3) 循环结构:只要条件成立就一直执行.
系统设计业务目标(业务逻辑层)
3.2.1系统设计目标概述
成绩管理信息系统的业务总体目标是建立一个先进、高效、安全、可靠的能被有效和应用于学生成绩管理的信息化数据库管理系统。该系统基于B/S结构,即采用浏览器/服务器模式,服务器端由运行ASP.Net的Web应用程序及运行Microsoft SQL Server2000的数据库服务器组成,客户端可以Internet Explorer,FireFox访问系统。本信息系统体现了学生成绩管理的业务逻辑行为、大大简化了相关工作的烦琐流程,同时为管理层提供有力的决策支持。
3.2.2 用户(角色)
本系统用户角色主要有两类:系统管理员与普通用户。其中系统管理员可进行用户管理。普通用户可分为学生,老师,教务处等用户。
系统管理员:可进行用户管理,组权限分配,信息查询等工作。
教师:可进行学生信息管理,课程信息管理,成绩管理,授课信息管理,信息查询,成绩统计等工作。
学生:可进行成绩查询等操作。
3.2.3 假定
假定分为用户假定和系统环境假定。
用户假定:系统管理员及普通用户假定,即假定为具有一定的计算机操作基础,能熟练使用各种网络软件以及Windows操作系统、Internet Explorer浏览器等。
环境假定:系统运行环境假定为可建行万维网信息平台的搭建,如:互联网网络接入,Web服务器架设。
管理功能结构图:
教师功能结构图:
学生功能结构图
技术总体目标
系统技术性能要求
学生成绩管理信息系统的技术总体目标是应用先进的计算机网络与数据技术为教学工作中的成绩管理提供稳定、安全、可靠信息化服务,具体技术上将达到如下要求:
(1) 先进性
采用先进、成熟的计算机软硬件技术,保障系统能够最大限度的适应今后技术和业务发展的需要。软件结构应实现层次化、模块化、平台化,统一规范,同时采用先进的现代管理技术,以保证系统的科学性。
(2) 开放性
系统将采用具备优良性价比的开放式软硬件平台;网络体系结构支持多种通讯协议、数据库;采用C#等通用开发语言工具;对用户操作平台采用主流的B/S结构。
(3) 可靠性
可靠性包括系统的稳定性和数据的可靠性。
系统的稳定性需求包括:满足7*24小时的运行需要,发生局部硬件、网络和软件故障时有相应的旁路技术和容错技术,任意单点故障都不影响整个系统的运行。
数据可靠性需求包括:保证本地备份数据和实时交易数据的一致性,发生局部故障时,数据不损失,发生重大事故时,备份数据可以在规定的时限内恢复。
(4) 高效性
系统的设计要具有大规模的业务并发处理能力,数据的处理和传送也可采用批量处理的形式。即使在日终数据备份和批量处理的时候也可以照常办理业务。
(5) 可用性
可用性包括系统正常情况下的可用性和系统发生改变时的可用性。
正常情况下应用软件应安装简单、易于操作、界面友好,数据处理工作简单、方便、快捷。业务流程清晰,符合习惯,系统维护方便,备份及数据恢复快捷简单。
同时要在对硬件、软件及应用进行调整时不影响原有业务的实现。
(6) 可扩展性
高可扩展性指两方面:一方面通过扩充主机、CPU、磁盘、内存等硬件可以提高性能指标,通过扩充网络可以排除阻塞、拥挤和超时;另一方面通过系统开放式体系架构、模块化、参数化以及组件技术,对业务量、业务种类的扩展、与其他机构连接的扩展、系统功能扩展等都能提供足够的支持,缩短系统实施周期。
(7) 可管理性
高可管理性包括正常情况下的可管理性和系统发生改变时的可管理性。可管理性指系统应具备对主机、网络、数据库、应用等情况进行监控、管理和调度;对系统自身所有的和流经系统的信息、参数、文件进行统一的管理和控制。
(8) 安全性
安全性指系统具有数据传输的加密/解密、用户身份认证、权限确认、日志记录等安全控制功能。具体包括:数据保密性、传输安全性、访问安全性、安全审计、网络安全和系统安全等。系统安全性要求包括基于用户的系统操作权限控制、某些数据的加密保护、身份鉴别。
安全性能:(1) 访问者用户验证方式采用基于MD5加密的用户Form验证
(2) 定期备份数据库以预防系统故障时及时恢复
(3) 系统硬件与网络结构应满足web应用程序安全稳定地运行的需求。
以达到信息的及时准确处理,数据安全等。可考虑运用硬件防火墙及支撑软件来预防来自网络的攻击,并采用备份服务器来备份重要数据及程序,以便出现故障时能及时恢复系统。下面是建议采用的网络拓扑结构示意图:
精度
系统精度主要包括两个方面:
系统信息流转的正确性
系统信息流转的完整性
数据管理能力要求
系统内数据保存具有持久不丢失性,数据的安全保证要能防止病毒和网络上非法用户如黑客的获取。这些可以通过对Web服务器的维护管理和各种杀毒与网络安全系统来提供保证,不属于本系统数据安全性要求范围内。
时间特性要求
系统的时间性能规定要求系统的大部分操作在用户视觉延迟时间范围之内。对某些检索和其它涉及复杂计算的操作系统响应也应保持在3-5倍用户视觉延迟时间范围内。
连接性能:为保证系统可能存在的大量的并发连接数,因此需要保证用户在其网络正常情况下可访问站点数据。
数据库检索性能:由于系统需要检索大量用户数据,因此在数据库检索性能上需要采取一定的优化措施以提高检索性能,降低数据库及网络传输消耗。
故障处理要求
本系统在按运行环境所要求的系统平台(包括操作系统、数据库系统和网络环境)正常情况下不会发生严重的系统故障如系统崩溃等。对除此之外的系统故障应是在简单的配置和调整后及时恢复。
UI要求设计要求
UI设计是系统具有良好的易用性的一个重要因素,基于本系统的特殊应用范围考虑,本系统的UI设计主要从两个方面去考虑:一是功能,二是风格。
针对页面功能上的要求是:应具有可方便检索,浏览站内信息,具备良好的导航性;
针对页面风格上的要求是:体现美观、简约、现代、友好易用等设计元素。
因此,本系统UI设计应该遵循以下几个原则:
浏览界面友好,美观,大方
栏目内风格统一,让访问者能快速熟悉网站的设计结构,信息显示一目了然
风格简约,突出功能与重点
易用性强,便于操作与查找相关内容
良好的伸缩性,易于在将来的运营过程中增减模块或内容
站点结构清晰科学,便于管理维护
开发与运行环境规定
该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。
(1) 服务器端运行环境支持软件
服务器端软件:
Windows2000 Server或更高版本的操作系统, 推荐Windows 2003 Enterprise Edition
数据库系统:SQL Server 2000 或更高版本的数据服务器
Web 服务器:Microsoft IIS 6.0
.NET Framework v1.1或更高版本的Web 应用支持
企业杀毒软件
(2) 用户端PC软件
Windows98或更高版本操作系统(安装有IE5.0以上版本)
或其它98年以后发布的带有Internet浏览器软件的图形UI操作系统
操作系统:windows,Linux等
浏览器:Internet Explorer、 Maxthon、 Mozilla Firefox、Mozilla Firefox
推荐使用:Internet Explorer、 Maxthon、
(3) 开发环境:
操作系统:Windows 2003 Enterprise Edition
开发工具:Microsoft Visual Studio .NET 2003 ,Adobe Photoshop CS,Dreamweaver MX 2004
数据库系统:Microsoft Sql Server 2000
Web 服务器:Microsoft IIS 6.0
CPU: Intel Pentium(R) 4 2.8CHz
内存: 512 MB
第四章 学生成绩管理系统详细
系统结构
本系统从功能上划分可分为以下几大模块:功能模块管理,组权限管理,学生信息管理,课程信息管理,学生成绩管理,授课信息管理,学生信息查询,学生成绩统计等几大模块。以下将对各子模块进行说明。
功能模块管理:将系统功能模块保存到数据库中以便于动态地进行不同用户组权限的分配等操作。本模块包括功能模块的添加,删除,修改等。
学生信息管理模块:输入学生基本信息,并可以对学生信息进行添加、查询、修改、删除。还可以关键字查询并从数据库里调出的学生基本信息.输出学生基本信息,学号、班号、姓名查询的信息结果。
课程信息管理:设置课程号,课程名,先修课等课程信息。
成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息。
授课信息管理:对教师授课信息的调度,安排等信息的管理。
学生信息查询:本模块是可对学生成绩进行查询,可按学号,姓名,年龄,所在院系,入学年份等不同条件独立查询或进行模糊查询。
学生成绩统计:对学生成绩总分,平均分等进行统计。
程序逻辑
模块功能实现的算法流程图:
4.2.1系统E-R图:
4.2.2查询模块流程图
4.2.3 维护模块流程图
4.2.4系统维护模块流程图
用户/管理员登入系统设计
(1) 功能概述
本系统采用Forms登录认证,具体设置可由配置文件win.config来进行,配置代码段见下:
此外,由于系统使用环境属于具有高安全要求的空警管理应用领域,因为对于无论是管理员还是普通队员用户的个人认证信息都将采用加密算法。在本系统里应用的是流行的MD5加密算法来存储密码文件。
加密采用系统中自带的算法,此方法存在于.net中的名字空间System.Web.Security下。系统在添加用户/管理员或者用户/管理员登录时都需要用到此方法,可如此使用:
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string password,string passwordformat)。
(2) 程序流程图
创建数据库
在创建数据库的逻辑表之前,首先需要创建数据库。创建数据库有两种方法,可以在企业管理器的数据库服务器组中直接添加,也可以在查询分析器中编写创建数据库的脚本。
数据库表逻辑结构设计
数据库表介绍
在数据库中创建表也有两种方法,一是通过企业管理器中直接添加;二是用查询分析器的脚本命令添加。在企业管理器的GradeSys数据库中右键单击“表”节点,在弹出的快捷菜单中选择“创建新表”命令,然后就进入设计表结构界面,进行相关的设计了。
本系统定义的数据库中包含以下7个表:学生信息表,AdminGroup,AdminUrl,Admin,成绩表,授课表,课程表等。下面介绍这些表的结构。
学生信息表:用于保存学生的学号,姓名,性别,年龄,所在院系,班级名,入学年份等信息.
AdminGroup表:用于保存系统用户组信息,权限,组说明等信息
AdminUrl表:用于保存系统功能模块信息,包括模块URL,模块名,说明等.
Admin表:用于保存系统用户及管理员信息.包括组别,登录用户名,密码等.
成绩表:用于保存学生成绩信息,包括学号,课程号,成绩等字段.
授课表:用于保存教师授课信息.包括教师名,课程号,学时数,班级名等.
课程表:用户保存课程信息,包括课程名,课程号,先修课等信息.
数据库表结构及设计
(1) 学生信息表
(2) AdminGroup表
(3) AdminUrl表
(4) Admin表
(5) 成绩表
(6) 授课表
(7) 课程表
按方法二创建数据库表
在查询分析器中执行以下语句以创建数据库表
if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[v_stuGrade]\') and OBJECTPROPERTY(id, N\'IsView\') = 1) drop view [dbo].[v_stuGrade] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[Admin]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[Admin] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[AdminGroup]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[AdminGroup] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[AdminUrl]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[AdminUrl] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[学生信息表]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[学生信息表] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[成绩表]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[成绩表] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[授课表]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[授课表] GO if exists (select * from dbo.sysobjects where id = object_id(N\'[dbo].[课程表]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1) drop table [dbo].[课程表] GO CREATE TABLE [dbo].[Admin] ( [userid] [int] IDENTITY (1, 1) NOT NULL , [username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [group] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[AdminGroup] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [Group] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [Promise] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [comment] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[AdminUrl] ( [Id] [int] IDENTITY (1, 1) NOT NULL , [Url] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [UrlName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [Comment] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[学生信息表] ( [学号] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [姓名] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [性别] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [年龄] [tinyint] NULL , [所在院系] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [班级名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [入学年份] [datetime] NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[成绩表] ( [学号] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [课程号] [char] (8) COLLATE Chinese_PRC_CI_AS NOT NULL , [成绩] [tinyint] NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[授课表] ( [教师名] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [课程号] [char] (8) COLLATE Chinese_PRC_CI_AS NOT NULL , [学时数] [tinyint] NULL , [班级名] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[课程表] ( [课程号] [char] (8) COLLATE Chinese_PRC_CI_AS NOT NULL , [课程名] [char] (20) COLLATE Chinese_PRC_CI_AS NULL , [先修课] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO CREATE VIEW dbo.v_stuGrade AS SELECT dbo.成绩表.学号, dbo.成绩表.课程号, dbo.成绩表.成绩, dbo.学生信息表.姓名, dbo.学生信息表.年龄, dbo.学生信息表.班级名, dbo.学生信息表.入学年份 FROM dbo.成绩表 INNER JOIN dbo.学生信息表 ON dbo.成绩表.学号 = dbo.学生信息表.学号 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO
应用系统结构
主要求程序设计说明
管理用户登录模块
登录模块图示如下:
页面程序说明
程序名称 | |
---|---|
程序文件 | Login.aspx |
页面传入参数 | Username,password |
页面提交URL | |
页面传出参数 | Session["username"]Session["group"] |
功能说明 | 登录系统 |
特殊注解 |
处理程序说明
程序名称 | |
---|---|
程序文件 | Login.cs |
页面转向 | 转向条件:管理员 转向页面: Main.aspx转向条件:普通用户 转向页面: Main.aspx |
功能说明 | 判断系统登录条件 |
特殊注解 | 在此处系统实际只进入Main.aspx |
处理逻辑说明
通过URL链接至服务器端的入口Login.aspx,点击“登录”系统将页面的参数“用户名称和用户口令”通过Codebehind技术设置处的Codebehind="Login.aspx.cs" 及Inherits="GradeMis.Login"文件中对应的类取得传至后台的参数,根据Login类中的UserLogin方法执行结果返回的转向参数调用下一页面Main.aspx。
Main.aspx依据Login.aspx传过来的userid反查确定用户类,而已输出不能的用户可操作的功能模块链接。
参照主要类
名称 | 功能 | 备注 |
---|---|---|
System.Web.SessionState; | Web应用程序session类 | |
System.Web.UI; | 系统UI类 | |
System.Web.UI.HtmlControls; | 系统Html控件类 | |
System.Web.UI.WebControls; | 系统Web控件类 | |
System.Data.SqlClient; | 系统sql数据操作类 | |
System.Web.Security; | 系统安全策略类 | |
AirMis.Login | 用户登录处理类 |
用户退出系统页面
页面程序说明
程序名称 | |
---|---|
程序文件 | LoginOut.aspx |
页面传入参数 | 无 |
页面提交URL | 无 |
页面传出参数 | 无 |
功能说明 | 退出系统 |
特殊注解 |
处理程序说明
程序名称 | |
---|---|
程序文件 | LoginOut.aspx |
页面转向 | LoginOut.aspx->Login.aspx |
功能说明 | 退出系统 |
特殊注解 |
处理逻辑说明
通过URL链接至服务器端的出口LoginOut.aspx,点击“退出”系统,将在Page_Load()中调用 Session.Abandon()清除当前登录用户的Session信息并将页面引导向login.aspx;
类设计说明
类设计是基于OO的设计方法,采用三层体系结构方式,如下图所示:
管理功能模块设计
管理功能模块的实现是将系统里的各个功能模块类(具体是有.cs文件生成类,对于具有前台页面的文件由.aspx表现在浏览器中)组织保存到数据库中,由此来进行系统功能的动态添加,并且这是对用户进行权限分组的一个前提。
(1) 取得系统功能模块信息并绑定到DataGrid控件上。
string sql = string.Empty;
sql = string.Format("select * from AdminUrl");
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
try
{
da.Fill(ds,"t");
this.DataGrid1.DataSource = ds.Tables["t"];
this.DataGrid1.DataBind();
}
catch
{}
取得功能模块信息后,将对功能模块的删除编辑等操作绑定到aspx页面上.
(2) 功能模块管理前台页面代码如下所示:
第五章 学生成绩管理系统系统测试
概述
随着web应用的增多,新的模式解决方案中以web为核心的应用也越来越多,很多公司各种应用的架构都以B/S及web应用为主,但是有关WEB测试方面的内容并没有相应的总结,因此,在开发空警管理系统时,对web应用程序的测试方法和采用的测试技术进行总结。测试方法尽量涵盖web程序的各个方面,测试技术方面在继承传统测试技术的技术上结合web应用的特点。
测试方法
界面测试
很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。
方法上可以根据设计文档,然后根据这个可以页面人员可以生成静态的HTML,CSS等甚至生成几套不用的方案来进行。
主要包括以下几个方面的内容:
站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理,是否正确背景/色调是否正确、美观,是否符合用户需求;
页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等连接连接的形式,位置,是否易于理解等。
web测试的主要页面元素
页面元素的容错性列表、页面元素清单、页面元素的容错性是否存在、页面元素的容错性是否正确、页面元素基本功能是否实现、页面元素的外形、页面元素是否显示正确。注:页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
测试技术
结合兼容性测试对不用分辨率下页面显示效果,如果有影响则提出解决方案。可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素:
符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性
功能测试
对功能测试是测试中的重点,主要包括一下几个方面的内容:
连接这个连接和界面测试中的连接不同那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位置等。
表单提交应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
白盒测试技术(White Box Testing) 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。
黑盒测试技术(Black Box Testing)黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:
正确性 (Correctness)、可用性 (Usability)、边界条件 (Boundary Condition)、
性能 (Performance)
压力测试 (Stress) 多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行.如果有负载平衡的话还要在服务器端打开监测工具,查看服务器CPU使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息.如果有必要的话必须进行性能优化(软硬件都可以).这里的压力测试针对的是某几项功能.
错误恢复 (Error Recovery) 错误处理,页面数据验证,包括突然间断电,输入脏数据等.
安全性测试(Security)这个领域正在研究中,不过防火墙,补丁包.杀毒软件等的就不必说了,不过可以考虑破坏性测试时任意.
兼容性 (Compatibility) 不同浏览器,不同应用程序版本在实现功能时的表现,不同的上网方式,如果你测试的是一个公共网站的话.
功能测试边界测试\越界测试技术详述
边界条件
边界条件是指软件计划的操作界限所在的边缘条件.
如果软件测试问题包含确定的边界,那么数据类型可能是:
数值速度字符地址位置尺寸数量
同时,考虑这些类型的下述特征:
第一个/最后一个最小值/最大值
开始/完成超过/在内
空/满最短/最长
最慢/最快最早/最迟
最大/最小最高/最低
相邻/最远
越界测试
通常是简单加1或者很小的数(对于最大值)和减少1或者很小的数(对于最小值),例如:
第一个减1/最后一个加1
开始减1/完成加1
空了再减/满了再加
慢上加慢/快上加快
最大数加1/最小数减1
最小值减1/最大值加1
刚好超过/刚好在内
短了再短/长了再长
早了更早/晚了更晚
最高加1/最低减1
另一些该注意的输入:默认,空白,空值,零值和无;非法,错误,不正确和垃圾数据.
状态测试技术
软件可能进入的每一种独立状态;
从一种状态转入另一种状态所需的输入和条件;
进入或退出某种状态时的设置条件及输入结果.
具体测试方法可以参考如下:
每种状态至少访问一次;
测试看起来最常见最普遍的状态转换;
测试状态之间最不常用的分支
测试所有错误状态及其返回值
测试随机状态转换
竞争条件测试技术
竞争条件典型情形参考如下:
两个不同的程序同时保存或打开同一个文档
共享同一台打印机,通信端口或者其他外围设备
当软件处于读取或者修改状态时按键或者单击鼠标
同时关闭或者启动软件的多个实例
同时使用不同的程序访问一个共同数据库
负载\压力测试(StressTest)
在这里的负载\压力和功能测试中的不同,他是系统测试的内容,是基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行.
使用负载测试工具进行,虚拟一定数量的用户看一看系统的表现,是否满足定义中的指标.
负载测试一般使用工具完成,loadrunner,webload,was,ewl,e-test等,主要的内容都是编写出测试脚本,脚本中一般包括用户一般常用的功能,然后运行,得出报告。所以负载测试包括的主要内容就不介绍了。
无论什么工具基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在与测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。
对负载工具的延伸使用可以进行系统稳定性测试,系统极限测试,如使用100的Load Size连续使用24小时,微软定义的通过准则是通过72小时测试的程序一般不会出现稳定性的问题。
不同的测试技术区分
覆盖测试技术
说明:测试覆盖率可以看出测试的完成度,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。
覆盖测试可以是程序代码的执行路径覆盖,亦可以是功能实现的步骤覆盖(可以理解成流程图的路径覆盖)。
该技术可以用在任何测试阶段,包括单元测坏死、集成测试、系统测试。
使用该技术时可以使用以上的任何测试方法和测试技术。
白盒测试和黑盒测试技术
白盒测试技术 (White Box Testing)该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,使用Xunit系列工具进行测试,可以包括很多方面如功能性能等。
黑盒测试 (Black Box Testing)测试的主体部分黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,包括的不同测试类型请参考以上内容。
手工测试和自动化测试
手工测试(Manual Testing):即依靠人力来查找Bug。方法可以参考上边的测试,也可以根据对实现技术及经验等进行不同的测试。
自动测试(Automation Testing)使用有针对工具实行。可以作出自动化测试的计划,对可以进行自动化测试的部分编写或者录制相应的脚本,可以加入功能,容错,表单提交等,可以参考MI,Rational或者其他类测试工具说明.
根据权威的软件测试经验,手工测试还是主要的测试方法,自动测试不够灵活,在这里不再详述。微软的测试过程80%还是手工完成。
自动测试永远也代替不了手工测试,但是手工测试的工作量很大是不争的事实。
由于测试环境操作系统,网络环境,带宽等情况可能产生的测试结果可能不同这是就需要经验以及对测试环境的保护等方面下一些功夫。
软件缺陷的原则
软件缺陷区别于软件bug,它是在测试过程中出现的对系统有影响的,但是在设计中没有的或者对修改后的bug测试和开发人员有不同意见等软件未达到产品说明书标明的功能。
软件出现了产品说明书指明不会出现的错误。
软件功能超出产品说明书指明范围。
软件未达到产品说明书虽未指出但应达到的目标。
软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
第六章 帮助模块设计
系统导航
帮助
本系统界面设计力求简洁,易于操作。系统管理员后台用户名为:admin,密码为www.mycodes.net;普通用户(测试用例)用户名为:user01,密码:111111。
第七章 开发技巧和难点
本系统开发的技术难点主要有两个方面:一是否业务逻辑的理解;二是数据库逻辑结构的设计。业务逻辑是依据空警管理系统的行业特点及其特殊的应用领域需要来进行设计的。只有在准确不理解一个系统的业务逻辑之后才可能开发出适应其应用的应用系统来,并且在系统之间模块的科学划分与结构组织都是在正确不理解实际应用的业务逻辑需求的前提下完成的.
数据库设计是应用系统开发的另一个难点,只有科学的数据库设计才能使系统具有良好的结构及良好的可编程性,可扩展性.数据库设计是直接影响系统运行情况及程序设计的一个重要因素.因此,在开发相关数据库方面的管理系统时,都需要充分考虑到科学性,结构性,规范性,安全性,可扩展等相关问题.
第八章 系统编译和发行
系统编译标准(建议)要求
Microsoft Windows Server 2003 Enterprise Edition(SP1)
.net Framework 1.1(SP1)
Microsoft SQL Server 2000企业版(SP3)
Microsoft Visual Studio.net 2003企业架构版
IIS 6.0
第九章 结束语
经过二个多月的设计和开发,系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及各类相关报表的打印。
但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。
致谢:
在系统开发的两个月里,我受到了指导老师细心指导,老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高.借此我特提出感谢.
同时我还感谢母校的老师,谢谢他们为本系统提供的帮助.让我能够顺利地完成本系统的开发.也感谢那些对我提供帮助的同学,没有他们就不会现在的系统.
链接:https://pan.baidu.com/s/1IaowrPtapwmObgqRt0vmRQ
提取码:qwxj