优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

082基于ASP的网上评教系统

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

摘 要

今天,随着微型计算机的普及,使越来越多的人们了解到了计算机的作用,以及带给我们的便利。而怎样更好的利用计算机来为我们服务,更好的应用于各个社会领域,则是软件开发人员研究的问题了,我所开发的《网上教务评教系统》就是在社会需要,人们需求的情况下应运而生。最近几年大多数的大学都应用了一些《评教系统》的软件,实现了计算机管理,在网络时代的今天,则显得有些落伍,并没有真正考虑到人性化的设计。《网上教务评系统》应用了B/S模式,在此我所设计的《网上教务评教系统》,就是方便本校教务部对任课教师进行教学评教时,对各项评教数据的管理,使得教务部在查询、整理、输入、输出等方面教会达到事半功倍的效果,同时,该系统也是对任课教师的教学质量进行检查,更加有效督促教师教学的一种手段。学生还可以通过该系统实现网上评教。更加减轻教务老师的工作量。
为此,我应用ASP+SQL Server达到对数据库的调用,实现所设想的各项功能。

[资料来源:http://www.THINK58.com]


关键词 网上教务评教;结构化设计方法;B/S模式 [来源:http://think58.com]


Abstract

[资料来源:www.THINK58.com]


Nowadays, since the microcomputers are so popular that more and more people realize the important of computer and the convenience it provide. But how to make computer well-served for us and apply for each field of the society, which is the most problem to software development programmers. I developed 《Netware Evalvate the teacher system 》 which is born for the necessary of the society and people. In recent years, most library apply some 《Netware evalvate the teacher system 》software to realize computer management. Though it’s better than the old library management, but these software are all single machine model. In these net age, it seem out of date and doesn’t consider the personal design. 《Netware evalvate the teacher system  》applied B/S model, provided a electronic reading platform for reader, so that reader can realize researching and borrowing book in advance. The system convenient readers and content their necessary considerably, and it is more reasonable than before. [来源:http://think58.com]


Keywords  Netware evalvate the teacher system; constructure design method; 
B/S model

[来源:http://think58.com]

目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1课题背景 1
1.2 目的意义 1
第2章 开发工具简介 2
2.1开发平台和技术简介 2
2.1.1 IIS简介 2
2.1.2 ASP简介 3
2.2数据库SQL Server简介 4
第3章 软件需求分析 8
3.1数据流程图 8
3.2软件的设计目标 9
3.3数据字典 10
3.4系统流程图 12
第4章 软件总体设计 14
4.1软件结构设计 14
4.2层次图 14
4.3数据库设计 16
第5章 软件实现 21
5.1学生登录 21
5.2管理员身份登录 22
第6章 系统运行测试 23
6.1运行环境 23
6.2软件测试 23
6.3测试及操作过程 27
6.3.1 系统主界面 27
6.3.2 登录 27
6.3.3 学生投票 28
6.3.4 管理员查询 30
结 论 31
致  谢 32
参考文献 33
附录1  外文原文 34
附录2  外文资料译文 37
 

[来源:http://www.think58.com]

第1章 绪论
1.1课题背景
在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。在软件技术的应用中,软件的开发技术,尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品,参与市场竞争,获取最大利润是全球信息企业追求的目标。《网上教务评教系统》正是一个非常实用的应用型软件产品,我们不谈它的经济利益,单说他的应用范围就是十分广泛的,只要有学校的地方,都可以采用本系统。我想计算机的作用就是辅助人们完成那些烦琐的体力劳动和脑力劳动,使人们从劳动力中解脱出来,我所设计的《网上教务评教系统》就是辅助教务老师完成繁琐的数据统计工作。而且更加方便广大学生,学生只要可以上Internet,则可以对其任课教师进行评优。
1.2 目的意义
开发《网上教务评教系统》有两方面的好处:一是《网上教务评教系统》的实用性,一个好的《网上教务评教系统》会将一个庞大投票评优工作井井有条的管理起来,计算机与人的不同就在于,计算机是机械的,精确的,它不会使管理工作出现差错。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够大大减轻教工人员的工作量,提高办事效率;各一方面好处,设计《网上教务评教系统》只是一种手段, 通过它使我可以更好的了解计算机的工作过程,掌握开发语言的使用方法,掌握开发各种项目的工作技能,适应迅猛发展的社会。

[资料来源:http://think58.com]

本课题的直接目的是为了成功完成《网上教务评教系统》的开发。间接目的也可以说是最终目的是为了了解软件的开发思想,掌握软件开发人员应当具备的基本技术素质:树立良好的软件开发理念,建立正确的、符合工程规范的、系统化的软件工程思想,灵活运用各种软件分析与设计技术,开发高质量的软件产品。
第2章 开发工具简介
2.1开发平台和技术简介
2.1.1 IIS简介
1. IIS的功能
Internet Information Services(IIS)5.0是Microsoft Windows 2000 Server 内建的Web伺服器,能让您在企业内部网路或网际网路上轻松共享文件和资讯。 IIS 5.0是Windows 2000 Server中最快的Web伺服器,并与Microsoft Active Directory目录服务完全整合,这种结合让以Web为基础的应用软体更可靠且更具延展性。这项新一代的电子商务解决方案把旧资料和应用软体整合到全球资讯网(WWW)中,让公司能重新定义内部与外部的不同商务处理流程。
2. IIS的结构概述
IIS 5.0是Windows 2000 Server所提供的服务,所以能和Windows 2000 Server上的其他服务紧密地合作。图2-1说明了IIS 5.0与安装在Windows 2000 服务器上之与他服务彼此间的关系。
 
图2-1 IIS 5.0的结构图 [版权所有:http://think58.com]
因为IIS 5.0和Windows 2000 Server共用同一个安全模型(使用者帐户),所以不再需要管理多余的使用者帐户。IIS 5.0同时也借用Windows 2000 Server 现有的管理工具,如系统监视器、事件检视器来处理相似的管理程序。
2.1.2 ASP简介
1. ASP是什么
Active Server Pages(ASP)实际上是将标准的HTML文件拓展了一些附加特征,Active Server Pages像标准的HTML文件一样包含HTML对象并且在一个浏览器上解释并显示。任何你可以放在HTML中的东西--Java applets,闪烁字符串,客户端脚本,客户端ActiveX控件等等你都可以放在Active Server Page中。因此,一个Active Server Page有如下四个重要特征来使之具备很强的通用性。
(1) 一个Active Server Page可以包括服务端脚本。利用Active Server Page中的服务端脚本,你可以创建动态内容的网页,举一个最简单的例子,你可以让网页在一天的不同时间显示不同内容。
(2) 一个Active Server Page提供了一些built-in对象。利用这些Active Server Page中提供的built-in对象,你可以使你的脚本更加强大;这些对象会允许您从浏览器中接受和发送信息。例如,利用request对象,你可以将用户在HTML form中的信息接受到并在一个script中来响应它。
[资料来源:http://www.THINK58.com]

(3) 一个Active Server Page 可以用另外的元素来扩展。Active Server Pages本身就是来源于相当数量的标准服务端ActiveX元素,这些组件允许你做诸如依据浏览器能力进行不同显示以及在浏览器内包含计数器的工作。
(4) Active Server Page可以和诸如SQL Server这样的数据库进行挂接,利用一些特别的对象集合,Active Data Object(ADO),你就可以在你的Active Server Page 中使用SQL语言。再次重申,这是Active Server Page一个非常强大的功能所在,在线商务以及在线沙龙等各种非常高级的,动态更新的站点都需要数据库的支持,而且需要随数据库内容的更新而自动更新,这样,你就可以利用Active Server Pages自己建立很多类似的高级站点。
以上四个特性对Active Server Page进行了限定,Active Server Page就是由Server端脚本、对象以及组件拓展过的标准主页。利用它,你的主页就可以包含动态内容。
2. ASP是怎样工作的
理解Active Server Pages怎样工作的最好方法将支持它的Web server和不支持的进行对比。Microsoft利用Internet Information Server(IIS)3.0版本和Active Server Pages结合在一起。在IIS3.0中引入了Active Server Pages就能够使站点从仅仅的静态内容变成动态内容。这是什么意思呢? [资料来源:THINK58.com]
在前面对Active Server Pages的介绍中,IIS的主要功能是支持静态HTML主页,当用户向一个使用IIS的服务器提出请求后,服务器将会从自己的硬盘或者内存中提出一个静态主页发送到用户的浏览器上,IIS的主要作用就是作为用户浏览器到服务器硬盘的一些文件的一个有效的接口。
注意:早期的IIS版本包括一个称作Internet Database Connector(IDC)的工具,IDC可以从数据库中接受和存储数据,你仍然可以利用IDC做这种工作,但是显然Active Server Pages可以做的更好。
从这个意义上,IIS和其他的Web Server没有什么区别,任何Web Server的主要作用都是支持静态HTML主页。在大多数情况下,对于各种典型的Web Server来说,Web Server接收文件申请并从内存或者硬盘中读取正确的文件。
Active Server Pages改变了这一切,在IIS仍然支持静态HTML主页的前提下,利用Active Server Pages可以根据用户要求在Web Server上建立新的主页。
2.2数据库SQL Server简介
通过利用SQL Server ,用户能够管理以下两种类型的数据库:联机事务处理(OLTP)数据库和联机分析(OLAP)数据库。典型情况下,单个客户通过网络通信来访问数据库。
SQL Server具有非常卓越的可伸缩性,最大可以支持到TB级别的数据库,也可以小到小型商业服务器或便携机中。通过利用Windows 2000中的Windows群集技术,用户还可以将SQL Server扩展到多个服务器中。 [资料来源:THINK58.com]
通过利用SQL Server,您可以执行事务处理、数据存储和数据分析,并可以创建新的应用程序。
通过利用SQL Server,您不仅可以执行事务处理、数据存储和数据分析,并且还可以创建新的应用程序。
(1) 管理事务和分析中的数据存储过程;
(2) 响应客户应用程序的请求;
(3) 能够利用Transact-SQL、扩展标记语言(XML)、多维表达式(MDX)和SQL分布管理对象(SQL-DMO)等发送客户端与SQL Server之间的请求。
关系数据库管理系统SQL Server负责以下工作:
SQL Server由一系列产品和技术组成,主要用于满足OLTP和OLAP环境的数据存储需求。SQL Server属于一种关系数据库管理系统,它能够完成以下任务:
(1) 维护数据库数据之间的关系;
(2) 保证数据存储的正确性,并且保证定义数据之间的关系的种种规则不会被违背;
(3) 当出现系统故障的时候,将所有数据恢复到能够保证一致性的某种状态。
SQL Server能够管理OLTP和OLAP这两种数据库:
OLTP数据库:通常情况下,为了降低数据库的冗余信息,并加快数据库更新的速度,OLTP数据库中的数据被组织存放到关系表中。SQL Server能够允许大量用户执行事务处理,并且能够并发更改OLTP数据库中的实时数据。在实际工作中,OLTP数据库得到了广泛的应用,诸如航空售票系统和银行事务系统等。
[版权所有:http://think58.com]

OLAP数据库:通过利用OLAP技术对大量数据进行组织和汇兑,分析程序能够对数据进行快速评价,甚至得到实时分析结果。Microsoft SQL Server 2000 Analysis Services能够对数据进行组织,使其能够适用于大量的企业解决方案,诸如企业报告、企业分析、数据建模和决策支持等领域。
SQL Server由客户端组件和服务器组件组成,这些组件负责数据的存储和检索。SQL Server采取分层次的通信构架,应用程序与底层的网络和协议相隔离,基于上述原因,用户就可以在不同的网络环境之上部署不同的应用程序。
客户端/服务器构架
SQL Server使用客户端/服务器构架把工作负荷分担到服务器上运行的任务和客户端运行的任务。
(1) 客户端负责业务逻辑,并将数据呈现给用户。典型情况下,客户端运行在一台或多台计算机中,但它也能够运行在安装有SQL Server的服务器计算机中。
(2) SQL Server管理数据库,并且负责在多个请求之间分配可用的服务器资源,诸如内存、网络带宽和磁盘操作等。
通过利用客户端/服务器构架,用户能够为各类环境合理地设计和部署应用系统。通过利用客户编程接口,应用程序能够运行在不同的客户机上,并且能够通过网络与服务器进行通信。
在客户端/服务器通信构架中,客户端主要包括以下三种组件: [资料来源:www.THINK58.com]
(1) 客户端应用程序:客户端应用程序发出Transact-SQL请求语句,并且接收结果集。通过利用数据库API,用户能够开发客户端应用程序,而应用程序不必知道与服务器通信的底层网络协议的信息。
(2) 数据库API:数据库API(OLE DB和ODBC)利用提供程序、驱动程序或DLL来传送Transact-SQL语句,并接收相应的结果集。数据库API是一种应用程序向SQL Server发送请求,以及处理SQL Server的结果集的接口。
(3) 客户端Net-Library:客户端Net-Library管理客户端的路由和网络连接,它属于一种通信软件组件,能够将数据库请求和结果集进行一定的封装,使其能够遵从一定的网络协议进行传输。
在客户端/服务器通信构架中,服务器端主要包括以下四种组件:
(1) 服务器Net-Library SQL Server能够并发监控多Net-Library
如果希望客户端能够与服务器之间通信成功,那么客户端Net-Library就必须与服务器方的某个Net-Library相匹配。SQL Server支持多种网络协议,诸如TCP/IP、命名管道、NWLink、IPX/SPX、VIA ServerNet II SAN、Banyan VINEST AppleTalk等。
(2) 开放式数据服务(ODS) 
通过提供给处理网络协议进程和服务器例程和服务器例程的网络接口,开放式数据服务使得数据服务就如同SQL Server的客户端一样。ODS属于一种服务器方的组件,其功能为处理网络连接,传递客户请求给SQL Server进行处理,并将结果和响应返回给SQL Server客户端。开放式数据服务自动侦听安装在服务器中的全部服务器Net-Library。  [资料来源:www.THINK58.com]
(3)  关系引擎
负责Transact-SQL语句的解析,对产生的执行计划进行优化,并执行相应的执行计划,它还负责处理数据定义语言(DDL)和其它语句,并且还能够增强安全性。
(4) 存储引擎 
存储引擎主要具有以下功能,管理数据库文件和文件空间的利用情况,从物理页面中读取数据,管理数据缓冲区和物理I/O,控制并发性访问,执行日志记录和恢复操作,此外,存储引擎还能够实现某些其它功能,诸如数据库一致性检查程序(OBCC,Database Consistency Checker)、备份和恢复等。 [资料来源:http://think58.com]

第3章 软件需求分析
需求是用户对系统提出的要求,这组要求可能是原始的、笼统的,也可能是抽象的、细节化的。但一个软件系统的开发必须以一组需求化为出发点。
软件需求分析工作是在软件计划阶段完成之后开始的,其主要目的是:在综合分析用户对系统提出的一组需求(功能、性能、数据等方面)的基础上,构造一个从抽象到具体的逻辑模型表达软件将要实现的需求,并以“软件需求规格说明书”的形式作为本阶段工作的结果,为下一阶段的软件设计提供设计基础。(如图3-1所示)
软件需求分析阶段,结合着我所用的开发工具:ASP,SQL SERVER对问题的识别和理解和对需求信息的分析和综合等进行了深入的了解,建立了实现目标软件的物理模型,也就是确定了构成软件系统的系统元素,并将功能和信息结构分配到这些系统元素中。
软件需求分析采用的是结构化分析方法(Structured Analysis),简称SA方法。下面介绍SA方法的具体实现。

[资料来源:http://THINK58.com]


 
图3-1 软件开发中系统分析阶段的工作流程 [来源:http://www.think58.com]


3.1数据流程图
本开发系统的数据流程图:(如图3-2所示)
 
图3-2 数据流程图
3.2软件的设计目标
3.2.1 设计目标
(1) 系统应建立友好的界面,即要操作简单、直观、灵活,又要易于学习掌握。这个系统的目的:产生方便学生对任课教师进行投票的报表,教师易于对投票结果进行查询和统计的报表。如果操作复杂,就失去了推广价值,因为这个系统是面向没有计算机使用基础的普通用户。
(2) 系统在用户输入用户名,密码时,就具有自动识别的功能,以帮助用户更正错误。
    (3) 系统在确定用户名和密码后,应具有自动连接数据库的功能。
    (4) 在正确连接数据库,查询到用户相应的信息后,应在界面显示相关的信息。
    (5) 系统具有良好的安全性。系统应遵循有关信息安全标准,具有切实可行的安全保护和保密措施。
3.2.2 基本要求
(1) 实用性
      软件设计开发的最终目的都是应用。《网上教务评教系统》将会是学校教务部中非常实用的评教软件,操作简单,方便,是用户急切需要的助手,是教务工作者很好的管家。
(2) 技术性 [资料来源:http://THINK58.com]
 本软件开发环境是在Windows 2000 server的开发平台上,利用Active Server Pages作前台页面开发,SQL Server作后台数据库开发。安全可靠,可移植性强。本软件是在软件工程开发过程的指导下,按步进行。页面友好清晰美观,简单易学,符合人机对话的需要。
3.3数据字典
3.3.1 数据结构
1. 用户信息(数据结构名:student,含义:主要存放用户的基本信息,权限,极别等。如表3-1:)
表3-1 用户信息数据结构
数据项 数据类型 长度 取值范围 说明
stuid 字符 20 - 用户学号
Pass1 字符 20 - 用户密码
Pass2 字符 20 - 确认密码
Type  字符 1 - 用户级别
number 字符 20 - 系号
courseinfo 时间  8 - 课程信息
name 字符 8 - 用户姓名 [来源:http://www.think58.com]

2.教师信息(数据结构名:teacher,含义:存放授课教师的基本信息。如表3-2:)
表3-2 教师信息数据结构
数据项 数据类型 长度 取值范围 说明
name 字符 8 - 教师姓名
Sex  字符 2 - 性别
Classid 字符 20 - 授课班级

[资料来源:http://think58.com]

3.系信息表(数据结构名:class,含义:存放用户所属系、年级类别,等信息。如表3-3:) [来源:http://www.think58.com]

表3-3 系信息数据结构
数据项 数据类型 长度 取值范围 说明
department 字符 12 - 系名
Number 字符 10 - 系号
Grade  字符 10 - 年级
Parent 字符 50 - 父类名称
Parent_type 字符 20 - 父类编号
Parent_id 数值 自动 - 父类ID [资料来源:THINK58.com]

4.访问次数(数据结构 名:visit,含义:存放访问用户本站的次数。如表3-4:) [资料来源:http://www.THINK58.com]

表3-4 访问次数数据结构
数据项 数据类型 长度 取值范围 说明
Visit 数值 10 - 访问次数 [资料来源:http://www.THINK58.com]

5.开放式问题表(数据结构名:note1,含义:存放对授课教师的建议和希望,及该教师的教学特色。如表3-5:)

[资料来源:http://www.THINK58.com]

表3-5 开放式问题数据结构
数据项 数据类型 长度 取值范围 说明
Stuid  字符 20 - 学生学号
Feature 字符 20 - 教师特色
Suggest 字符 20 - 你的建议
Coursename  字符 50 -   课程名称
Teachername   字符 8 -   教师姓名

[资料来源:THINK58.com]


6.投票信息(数据结构名:vote,含义:存放投票的基本情况。如表3-6:)
表3-6 投票信息数据结构
数据项 数据类型 长度 取值范围 说明
Coursename  字符 20 -  课程名称
Teachername 字符 8 - 教师姓名
classid 字符 20 - 授课班级
Vote1 数值 10 - 选项1
Vote2 数值 10 - 选项2
Vote3 数值 10 - 选项3
Vote4 数值 10 - 选项4
Vote5 数值 10 - 选项5
Vote6 数值 10 - 选项6
Vote7 数值 10 - 选项7
Vote8 数值 10 - 选项8
Vote9 数值 10 - 选项9
Vote10 数值 10 - 选项10
Vote11 数值 10 - 选项11
Vote12 数值 10 - 选项12
Vote13 数值 10 - 选项13
Vote14 数值 10 - 选项14 [资料来源:http://THINK58.com]
Vote15 数值 10 - 选项15
Vote16 数值 10 - 选项16
Vote17 数值 10 - 选项17
Average. 数值 10 - 平均分
sum 数值 10 - 总分
votenum 日期 8 - 投票人数 [资料来源:http://think58.com]

3.4系统流程图
该系统要求登录的用户为学生、管理员。下面将列出本系统的整体流程
 
图3-3 系统流程图

[资料来源:www.THINK58.com]

  [来源:http://www.think58.com]


第4章 软件总体设计
4.1软件结构设计
对于工程产品来说,设计的含义是,应用各种技术和原理对设备、过程、系统做出足够详细的定义这后能够在物理上予以实现,也就是说,工程设计是一个构造过程,这个过程必须具备3个要素:
(1) 有一个系统的模型。
(2) 有一组原理或方法可以逐步地构造模型。
(3) 有一组评价设计质量的标准的原则。
经过了需求分析阶段的工作,本人已经正确理解了系统的需求。即以数据流图、数据字典和一组加工描述的表达形式建立了系统的逻辑模型。软件设计的任务就是如何应用一组原理与方法并遵循质量的评价原则逐步实现系统逻辑模型的过程。
软件设计从概念上分为结构设计和详细设计两个阶段。结构设计又称为总体设计,其主要的任务是制订系统实现方案和设计规范并合理确定软件系统的整体模块结构及接口关系。详细设计,也称为模块设计,其主要任务是详细规定每个模块功能的实现算法。
结构化设计的核心思想是:如何应用抽象的原则,将系统功能逐层分解为层次化的模块结构。模块的划分不是随意的,它需要遵循一些模块划分的指导性原则。
模块是数据说明、可执行语句等程序对象构成并执行相对独立功能的逻辑实体,它可以单独命名而且可以实现按名访问。例如,过程、函数、子程序、宏等等都可以看作模块。模块化是一种“分而治之,各个击破”式的总是求解方式,它降低了总是的复杂程度,简化了软件的设计过程。

[资料来源:THINK58.com]


4.2层次图
层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。
    随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节时为止。
以下是本系统的层次图(图4-1,图4-2所示):
 
图4-2 填写评价表结构图
4.3数据库设计
4.3.1 数据库设计概述
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个是数据库在应用领域的主要研究课题。
大型数据库的设计和开发是一项庞大的工程,是涉及多学科的综合性技术。其开发周期长、耗资多、失败的风险也大。必须把软件工程的原理和方法应用到数据库建设中来。对于从事数据库设计的专业人员来讲,应该具备多方面的技术和知识。主要有:
[资料来源:http://www.THINK58.com]

数据库的基本知识和数据库设计论述;
计算机科学的基础知识和程序设计的方法和技术;
软件工程的原理和方法;
应用领域的知识。
4.3.2 数据库设计的特点
数据库设计既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。有人讲“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律,这是有一定道理的。技术与管理的界面(称之为“干件” )十分重要。数据库建设是硬件、软件和干件的结合。这是数据库设计的特点之一。
数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。这是数据库设计的特点之二。
传统的软件工程忽视对应用中数据语义的分析和抽象。例如结构化设计(Structure Design,简称SD方法)和逐步求精的方法着重于处理过程的特性,只要有可能就尽量推迟数据结构设计的决策。这种方法显然对于数据库应用系统是不妥的。数据库模式是各应用程序共享的结构,是稳定的,永久的,不像以文件系统为基础的应用系统,文件是某一应用程序私用的。数据库设计质量的好坏直接影响系统中各个处理过程的性能和质量。
早期的数据库设计致力于数据模型和建模方法研究,着重结构特性的设计而忽视了对行为的设计。也就是说比较重视在给定的应用环境下,采用什么原则、方法来建造数据库的结构,而没有考虑应用环境要求与数据库结构的关系,因此结构设计与行为设计是分离的(如图4-3所示)。 [来源:http://www.think58.com]

 
图4-3结构和行为分离的设计
4.3.3 数据库设计方法简述
由于信息结构复杂,应用环境多样,在相当长的一段时间内数据库设计主要采用手工凑法。使用这种方法与设计人员的经验和水平有直接关系,数据库设计成为一种技艺而不是工程技术,缺乏科学理论和工程方法的支持,工程的质量难以保证,常常是数据库运行一段时间后又不同程度地发现各种问题,增加了系统维护的代价。十余年来,人们努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。
规范设计法中比较著名的有新奥尔良(New Orleans)方法。它将数据库设计分为四个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。其后,S.B.Yao等又将数据库设计分为五个步骤。又有I.R.Palmer等主张把数据库设计当成一步接一步的过程,并采用一些辅助手段每一过程。
基于E-R模型的数据库设计方法,基于3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法。
规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 [来源:http://think58.com]
数据库工作者和数据库厂商一直在研究和开发数据库设计工具。经过十多的努力,数据库设计工具已经实用化和产品化。例如Design 2000和PowerDesigner分别是ORACLE公司和SYBASE公司推出的数据库设计工具软件。这些工具软件可以自动地或辅助设计人员完成数据库设计过程中的很多任务。人们已经越来越认识到自动数据库设计工具的重要性。特别是大型数据库的设计需要自动设计工具的支持。人们也日益认识到数据库设计和应用设计应该同时进行,目前许多计算机辅助软件工程(Computer Aided Sofeware Enginneering,简称CASE)工具已经开始强调这两个方面。
4.3.4 数据库设计的基本步骤
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段(如图4-4所示):
需求分析;
概念结构设计;
逻辑结构设计;
物理结构设计;
数据库实施;
数据库运行和维护;
1. 需求分析阶段
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。

[版权所有:http://think58.com]

图4-4 数据库设计步骤。
 

[来源:http://www.think58.com]