页 Browser 表示逻组件 中间件 SqlServer2000 数据库服务器 事务逻辑 数据逻辑 WWW服务器/业务逻辑服务器 Browser 表示逻Client 业务服务器 数据库 数据库服务器 图3-1 系统模式图
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过ASP.NET网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过ASP.NET返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用ASP.NET技术作为表现手段,服务器采用iis作为ASP.NET引擎,系统业务逻辑由组件完成,使用ODBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用MY SQL数据库作为数据库服务器。
2.2 本系统采用的关键技术
2.2.1 ASP.NET技术
Microsoft .NET的基本思想是:
侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案[10]。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够连接成一体,从而提供丰富的服务。企业可以提供一种方式,允许用户将它们的产品和服务完美无间地嵌入到自己的电子构架中。
.NET Framework即以前所谓的NGWS (Next Generation Windows Services),它的目标是成为新一代基于Internet的分布式计算应用开发平台。.NET
Framework包括了两个最基本的组成部分即一般语言运行时Runtime环境和.NET类库。
.NET Framework的组成部分
1一般语言运行时(the Common Language Runtime, CLR)
正如其名称所表明的,CLR是.NET框架的运行环境。该运行环境为基于.NET平台的应用提供一个统一的、可控的运行环境[3]。CLR运行环境在.NET平台中充当一个相当于代理人的角色,为其上一层次提供统一的底层进程和线程管理、内存管理、安全管理、代码验证和编译以及其他的系统服务。
2 .NET类库(.NET Framework Class Library)
.NET Framework提供了一个包含很多高度可重用的接口类型的类库,该类库是一个完全面向对象的类库,所以它不仅支持面向过程语言,还为面向对象语言提供了完美的支持。它既是.NET应用软件开发的基础类库,也是.NET平台本身的实现基础。
3 ASP.NET和ADO.NET
ASP.NET和ADO.NET是本文所介绍平台的主要应用技术,在下面在详细介绍。 4 Common Language Specification (CLS)
Common Language Runtime是.NET平台的运行时环境,是.NET的基础部分。由于Common Language Runtime和Common Language Specification这样的设计,使得不同的语言可以进行互操作。Common Language Specification定义了一组运行于.NET Framework的语言特性[9]。CLS和相关技术所体现的思想和当前已经实现的技术使得符合该规范的语言编写程序可以在.NET Framework上一块运行。 2.2.2 ASP.NET介绍
本系统所介绍平台的界面部分及代码的实现都是用ASP.NET开发的,因此我们下面介绍一下ASP.NET。
ASP.NET是ASP(Active Server Pages动态服务器端页面)的后继版本,是构建新一代动态网站和基于网络的分布式应用的技术。它是基于服务器端的动态页面技术,可以在服务器端根据客户端请示和提交的信息,动态地生成与客户端浏览器类型无关的通用HTML页面,也可以根据客户端浏览器类型,生成特定的数据表现形式[1]。
ASP.NET属于ActiveX技术的服务器端技术部分。与常见的在客户端实现动态主页的技术如DHTML, Java Applet, ActiveX Control等不同,其在客户端不需要编程。用ASP.NET支持的编程语言开发的可编程网页ASP.NET Web Form是
由Web服务器解释执行的。执行结果产生的动态Web页面将送到浏览器;而客户端的Script命令则由浏览器来解释执行[13]。由于ASP.NET是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP.NET,同时由于它在服务器端执行,开发者也不必担心别人下载程序从而偷窃编程逻辑。
ASP.NET采用完全面向对象的编程语言(现阶段支持C#,VB,Jscript)进行开发,使用WYSIWYG(What You See Is What You Get)编辑器编辑Web Form,支持代码和页面内容的分离。程序员可以充分利用面向对象的继承、封装、可重用和事件驱动的特性进行编程,对ASP.NET Web Form进行可视化的编辑工作而不必担心编辑器自动添加或修改的代码会影响脚本程序的运行。
ASP.NET Web Forms将一个Web应用程序的用户界面分为两个部分:可视化的组件和用户界面逻辑。可视化组件部分包括各种标记和Web Forms特有的元素,这些组件构成了一个容器,用来容纳要显示的文本和控件。这个容器被称为页面,用后缀为aspx的文件名存储(也就是浏览者请求的ASP.NET页面)。用户界面逻辑包含了用于和可视化组件部分交互的代码,可以单独放在其他文件中,有利于代码的重用和维护。正是由于ASP.NET这一支持代码和页面内容分离的特性,在进行系统分析设计时才考虑将人机界面设计工具和脚本编辑与编译工具设计成一个装配件,使两部分工作更紧密的结合,更有利于界面和脚本的同步更新。 2.2.3 NET的数据库访问
ADO.NET技术是一个基于标准的面向创建分布式数据共享应用程序的编程模型,是ADO(ActiveX Data Objects)技术的延伸和发展,它带来了比ADO技术更为优越的互操作性、可维护性、可编程性和更出色的性能。
ADO.NET包含了众多的类,程序员通过使用这些类来获得数据。访问服务这些类位于.NET Class Library中,可以被任何基于.NET设计的应用程序使用,包括前端的数据库客户程序、中间层的各种应用程序、工具语言或者浏览器调用的商业逻辑对象。
ADO.NET对象模型中有五个主要的组件,分别是Connection对象、Command对象、DatasetCommand、Dataset 以及DataReader。这些组件中负责建立联机和数据操作的部分我们称为数据操作组件(Managed Providers),分别由Connection对象、Command对象、DataSetCommand对象以及DataReader对象所组成。数据操作组件最主要是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中,以及将数据存回数据源的工作。图2.1是显示这些对象关系的ADO.NET对象模型。
图2.1 ADO.NET对象模型
.Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用程序的开发。相比于ASP来说,.NET在很多方面都有很大的改进,组件的使用不象原来那样当你修改它时要重启服务器才能作用,这对一般的网站来说非常重要,再者它本身也内置了一些组件供开发者调用比如比较常用的上传组件等。和其他的开发语言相比,它还具有简单易学的优点。所以本系统采用.NET技术来开发图书管理系统。
2.3 可行性分析
首先,技术可行性。本系统仅需要一台装有IE浏览器的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技
术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。
其次,经济可行性。由于本系统是为学生成绩毕业设计使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。
第三,操作可行性。界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。
3、系统概要设计
主要应用于完成对日常的学生成绩、教务、教师以及学生成绩的计算机化的管理。学生成绩管理系统可使学校的教职员工减轻工作压力,系统地对教务、学生成绩上的各项服务和信息进行管理。同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化,更加效率。而国外随着信息化的告诉发展,各高校早已有一套成熟的学生成绩管理系统,来规范各学校的信息化管理。
学生成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息。 学生只有查询权限
4. 学生成绩统计:对学生成绩进行分析,生成动态曲线图。可选择课程进行统计。用户可针对指定的学生,进行成绩选择,可针对单门,也可对多门总和进行分析,然后生成动态曲线。
5. 课程为语文,数学,英语,生物,化学,物理,地理,历史,政治,通用技术,信息技术,英语听力。
系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。
相关推荐: