会议管理系统的设计与实现

摘要  随着计算机技术的飞速发展,计算机在企业、学校等应用的普及,不管在公司还是高校,都存在会议管理的问题,而现在绝大多的会议管理还处于手工作业状态,效率很低,而且容易出错,不便于管理。会议管理的内部管理、自我完善不容忽视,我们认为有必要开发一个中小型会议管理软件,利用Dreamweaver CS3 作为开发工具、MYSQL作为数据库开发出的基于Web的小型会议管理系统。

整个系统各操作窗口清新、大方,操作方便,包含了管理员登录、会议信息的建立、修改、删除、查询(又分成:会议时间查询、会议地点查询、会议主持查询、参加人数查询、会议名称查询等)、数据库恢复备份、报表打印等功能。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程,重点说明了系统设计的重点、设计思想、难点技术和解决方案。

关键词:管理信息系统  Dreamweaver CS3  ADO  MYSQL

目录

第一章  绪论

1.1 本课题的开发背景及意义

1.2 国内外研究现状

1.3 课题研究内容

1.4 论文组织结构

第二章 开发工具及相关技术

2.1开发工具

2.1.1 Dreamweaver 简介

2.1.2 MYSQL简介

2.1.3 Apache

2.2 相关技术

2.2.1 PHP简介

2.2.2 AJAX技术

2.2.3 CSS样式表

第三章 需求分析

3.1 可行性分析

3.1.1 系统必要性

3.1.2 系统有益性

3.1.3 系统可能性

3.2 需求的提出

3.3 功能需求

3.4 系统性能需求

第四章 系统设计

4.1 系统实体关系图

4.3 系统功能模块设计

4.3.1 系统的功能模块

4.3.2 系统功能特点

第五章 系统的实现

5.1 用户登录的实现

5.2 管理员功能的实现

5.2.1 会议发布

5.2.2 会议管理

5.2.3 会员管理

5.2.4 留言板

5.3 会员功能的实现

5.3.1 会员的注册

5.3.2 用户群聊的实现

第六章 结论

参考文献

第一章  绪论

1.1 本课题的开发背景及意义

当今社会竞争日益激烈,企事业单位内部会议也不断增多,会议信息量也逐渐增大。企业公司内部需要经常通过会议进行沟通、问题解决以及决策的制定。而现在企事业的会议管理工作繁重且处于无系统流程的状态。手工作业效率很低,不便于管理,而且容易出错。

据调查,经理级和专业人员每周约花1/4的时间在开会上。美国权威机构的统计表明,1996年美国企业因不当的会议管理导致的损失高达60亿美圆。另一项调查表明,企业80%的员工提升来源于其在会议上的表现引起上司的注意和赏识。因此如何开会,如何使会议有效益和有效率,对于企业和企业人来说,都具有重要的意义。

有效的会议管理,是有用的管理工具,他能达到高效的沟通意见,作出好的决议,使执行者认同,共同努力达成企业战略目标,它的重要性呈现在行动管理、目标管理、和技术管理上。

会议信息的有效传达和反馈对于企事业决策者的管理来说至关重要。所以会议管理系统应该能成为会议管理者提供高效的查询和管理方法的帮手。但长期以来人们使用传统的人工方法发布会议信息,整理会议记录,查询会议记录。这种方法存在着许多缺点:如会议记录查询,会议管理者就必须在大量的会议记录资料中,按照会议召开的时间整理。这对管理者和用户来说,都是一种负担,工作效率低下,且很容易出错,保密性也差。随着计算机技术的发展,以及计算机在企事业单位中应用的普及,计算机强大的功能已为人们深刻认识。它在当今社会各个领域发挥着越来越重要的作用。作为计算机应用软件开发的一部分,使用计算机对会议进行管理具有手工管理无法比拟的优点。例如:查找方便迅速,准确率高,成本低,效率高等。这些优点能极大提高会议管理的效率。也是企事业走向科学化,正规化管理的重要手段。因此,开发这样一个管理系统成为一件很必要的事情。

会议是一个集思广益的渠道,会议是一个集合的载体。通过会议使不同的人、不同的想法汇聚一堂,相互碰撞,从而产生“金点子”。许多高水准的创意就是开会期间产生的。我国是个民主的国家,政府对任何事件做出的决策都是经过召开会议才能做出决定。构建网上政府、实施电子政务首先要建立起政府的会议信息管理机制。虽然当前软件行业里的OA系统也包括了会议信息管理的功能,但OA系统直接面对办公室事务,这又是对信息化最具有挑战性的工作,所以OA系统的成功运用,需要克服许多困难。具体表现为投资大、效果不明显;水平低、重复建设多;硬件投入多、软件投入少;模拟手工作业增加管理负担等。 从OA系统的模块设计中可以看出,会议管理模块是完全可以孤立于0A系统的,而且对会议管理扩展的机会很少。从经济和效益的角度来考虑,会议管理系统完全可以自成一系统。

1.2 国内外研究现状

最近一个季度的调查数据表明,在北美,网络会议在运营商总收入中占据了大于20%的份额。2004年上半年,欧洲网络会议的研究也突飞猛进,我们预测,2005年亚太地区的网络会议也会得到长足的发展。有了VPN的POP(Point of Presence)和集体化、低成本的IP媒体网关,即便是最小规模的运营商也能够在本地市场占据一席之地(越来越多的小型运营商的确进入了市场),但想要在15~25个国家有着本地化的服务就不是那么容易的事情。

近几年来,市场对音频会议的需求异常旺盛,而且表现出了迅猛的增长势头。有人值守会议的需求不断下降,但由于无人值守音频会议的强势增长,音频会议的使用时长仍在年复一年地不断增加。网络会议的利用也呈上攀趋势,许多运营商去年的利用时长都翻了一番。

由于经济与社会信息化的不断发展,我国对政府的信息化也提出了越来越高的要求。信息技术的进步,为政府信息化的不断深入提供了技术实现的可能。顺应政府信息化的时代潮流,构建我国的电子政府,对于经济发展和社会进步都有着重要意义。

我国政府正在由管理型政府向管理服务型政府转化,特别是在电子政府模式下,提高政府的服务能力,通过提高政府服务水平来达到原来完全依靠政府管理实现的部分职能是现实可行的,更是需要提倡的。在我国的因特网上,充斥着大量的信息垃圾,一个很重要的原因是许多信息没有正常的渠道来源,使得正道不开,邪道昌盛。我国政府掌握着大量的社会有用信息,把这些信息提供给社会共享(依据具体信息服务,可以是有偿的或者免费的),深入开发信息资源的深度应用,将是未来3—5年电子政府建设的一项重要工作,也将是电子政府的重要组成部分,更是我国政府在新形势下的客观需要。

电子政府的建设和不断完善将极大地丰富因特网上的中文信息资源,有效地抑制小道消息、谣言等不正当信息在因特网上的传播。此外,政府上网对我国政府扩大政策宣传、增加执政透明度、促进对外开放都具有重要的现实意义,它有利于政府职能的有效行使,有利于行政流程的简单化和科学化,也有利于我国政府在互联网上形象的树立。目前,我国政府正在先进的信息技术的推动下,朝着面向社会、面向企业、面向公众的电子政府目标稳步前进,大量有价值的信息资源得以充分开发和有效利用,进而实现其自身的市场价值;大量信息数据库在市场流动中萌发出生机和活力,进而发挥其优化资源配置以及增值的功用。

网络会议和即时通信市场逐渐趋于成熟,同时也经历着巨大的变化。一些大品牌的领导企业也正面临着许多兴起之秀的挑战。网络会议并没有建立起一种固定的使用模式,还有许多问题亟待解决,比如网络会议如何与音频会议、视频会议和即时通信相协调;网络会议的哪些核心功能是必不可少的;对某些特定的企业来说,网络会议哪些独特的功能更加重要;企业用户是否应该购买会议服务器自行组建会议,还是应从服务提供商处租赁网络会议服务;防火墙问题、安全问题、稳定性等问题是否能得到保障;网络会议的价格情况又是如何等。Wainhouse研究公司对网络会议和即时通信市场展开了长期的调研工作,2004年第三季度的调查报告对网络会议和即时通信市场的发展及企业行为改变进行了深入研究,还包括了用户调查和分析。2004年第三季度用户在线调查的时间是从9月17~29日,共有303人次参与了调查,其中201人来自中小型企业、教育部门、政府机构、军事集团以及其他一些研究机构,在此项调查中不包括多媒体会议行业的设备提供商、渠道商和服务提供商。

1.3 课题研究内容

本课题主要应用PHP编程、WEB开发以及数据库链接等相关知识。主要需要熟练掌握动态网页开发的相关技术,将所学的知识用于实际的生活中,并且在实际的生活中发挥各方面的效益。内容包括几大功能模块:

(1)数据库管理模块:这是其他功能模块,主要用MYSQL来建立数据的操作。

(2)用户登录管理模块:主要完成用户的注册,登录等相关操作。

(3)会议发布模块:主要完成对会议信息的发布操作。

(4)会议修改模块:修改会议信息,完成对会议信息发布后的修改工作。

(5)会议查询模块:利用模糊查询对会议的名称、时间为关键字来进行查询,会员与管理员有不同的操作。

(6)删除操作:对会议进行删除。

(7)会议群聊系统:会员通过登录在会议期间可以对会议内容进行相关的群聊操作。

(8)留言板:管理员和会员可以通过留言板查看会议后会员对于会议的评论并对以实行总结。

1.4 论文组织结构

此论文分为六大章节。

第一章主要简介了本课题的开发背景、国内外研究现状、课题研究内容;

第二章为课题需要的开发工具与开发技术做了简要介绍;

第三章对课题进行相关的需求分析,为系统设计做基础;

第四章详细介绍了系统数据库的设计与和功能模块;

第五章进入课题实现详细设计课题各模块功能;

第六章总结本次设计。


第二章 开发工具及相关技术

2.1开发工具

本系统主要利用的开发工具包括网页制作工具Dreamweaver、数据库MYSQL以及服务器终端Apache。

2.1.1 Dreamweaver 简介

Dreamweaver是Macromedia公司最新推出的主页编辑工具。这是一个所见即所得主页编辑器,并带有站点管理功能,让你方便地设计和管理多个站点。而它最棒的地方就是支持最新的DHTML和CSS标准,你可以用它设计出生动的DHTML动画、多层次的页面(layer)以及CSS样式表。

在Dreamweaver未出现之前,我是最推崇使用Frontpage98的,因为它用起来象Word一样,所见即所得,非常简单,虽然它会生成一些垃圾代码,并且很多地方与Netscape不相兼容。

Dreamweaver 提供视觉化网页开发工具的生产力,同时不会降低HTML原始码的控制,Dreamweaver 提供的 Roundtrip HTML 功能, 让您无误地切换于视觉模式与惯用的原始码编辑器,拖放式的表格与页框设计以及以透过资料库来管理网站的内容更新。

Dreamweaver 支援跨浏览器的 Dynamic HTML, 阶层式样式表单、绝对坐标定位以及JavaScript 的动画让您更易编辑网页。你用它搞的网页不用担心在NC里不能看!它支持IE与NC。

Dreamweaver 乃是第一套针对专业网页开发者特别发展的视觉化网页设计工具。Roundtip HTML 功能完全控制HTML原始码,著名的BBEdit 与 Home Site 编辑器分别内含于 Macintosh 与 Windows 版本的软体中。 当开启其他编辑器产生的网页时,它会保存既有的 HTML 格式。 使用绝对座标可获得精准且弹性的设计。Dynamic HTML、直觉式时间轴介面以及JavaScrip 行为库, 可在不需程式下让 HTML元件动起来。以全网站内容管理的方式让您跳脱逐页更新管理的缺点提升您的生产力。 Roundtrip HTML - 完美整合视觉性工具和原始码编辑器 Dreamweaver整合视觉性工作环境及原始码文字编辑器(如BBEdit、HomeSite等)。

当你要编辑自己既有的网页时,Dreamweaver会尊重你在其他编辑器所做出的原始码,不会任意地改变它。而在使用Dreamweaver的视觉性编辑环境时,你可以在HTML监视器上同步地看到Dreamweaver所为你产生的原始码,而你若想要在视觉式编辑模式和原始码编辑模式之间跳换的话,只要按一下所需的视窗就可以了。

Dreamweaver CS3具有如下所述的优点:

(1)最佳的制作效率 :Dreamweaver可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。使用检色吸管工具选择荧幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。Dremweaver能与您喜爱的设计工具,如Playback Flash,Shockwave和外挂模组等搭配,不需离开Dreamweaver便可完成,整体运用流程自然顺畅。除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。

(2)网站管理:使用网站地图可以快速制作网站雏形、设计、更新和重组网页。改变网页位置或档案名称,Dreamweaver 会自动更新所有连结。使用支援文字、HTML码、HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。

(3)无可比拟的控制能力:Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver 支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得 Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP, Apache,BroadVision, Cold Fusion,iCAT, Tango与自行发展的应用软体。当您正使用Dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。梦幻样版和XML Dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出XML内容。Dreamweaver还集成了程序开发语言,对ASP、.NET、PHP、JS的基本语言和连接操作数据库,都是完全支持的。

Dreamweaver CS3同时具有如下所述的缺点:

(1)难以精确达到与浏览器完全一致的显示效果。也就是说您在所见即所得网页编辑器中制作的网页放到浏览器中是很难完全达到您真正想要的效果,这一点在结构复杂一些的网页(如分帧结构、动态网页结构)中便可以体现出来。

(2)页面原始代码的难以控制性,比如您在所见即所得编辑器中制作一张表格也要几分钟,但您要它完全符合您要求可能需要几十分钟,甚至更多时间。而相比之下,非所见则所得的网页编辑器,就不存在这个问题,因为所有的HTML代码 都在您的监控下产生,但是由于非所见则所得编辑器的先天条件就注定了它的工作低效率。如何实现两者的完美结合,则既产生干净、准确的HTML代码,又具备则见则所得的高效率、直观性,一直是网页设计师梦想。在DREAMWEAVER之前,FRONTPAGE98一直被人们认为是最好的所见即所得网页编辑器,但是它同样继承了所见即所得的种种劣性。但是我说过这是在DREAMWEAVER之前,现在我无意说DREAMWEAVER已经实现网页设计师的梦想,但我觉得DREAMWEAVER正在努力向这个梦想一步步走去。

2.1.2 MYSQL简介

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MYSQL特性 :1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、PerlPHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源。5.优化的SQL查询算法,有效地提高查询速度。6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。8.提供用于管理、检查、优化数据库操作的管理工具。9.可以处理拥有上千万条记录的大型数据库。

MYALQ的应用:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。 目前Internet上流行的网站构架方式LAMP(Linux+Apache+ MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

2.1.3 Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。   

Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。Apache web服务器软件拥有以下特性:支持最新的HTTP/1.1通信协议;拥有简单而强有力的基于文件的配置过程;支持通用网关接口;支持基于IP和基于域名的虚拟主机;支持多种方式的HTTP认证;集成Perl处理模块;集成代理服务器模块;支持实时监视服务器状态和定制服务器日志;支持服务器端包含指令(SSI) ;支持安全Socket层(SSL) ;提供用户会话过程的跟踪;支持FastCGI;通过第三方模块可以支持Java Servlets。

2.2 相关技术

    本系统主要应用的技术有:网页PHP编码技术、网页编码的AJAS技术以及CSS样式表。

2.2.1 PHP简介

一、PHP概述

PHP 是一种 HTML 内嵌式的语言(类似 IIS 上的 ASP)。而 PHP 独特的语法混合了C、Java、Perl以及 PHP 式的新语法。它可以比CGI或者Perl更快速的执行动态网页。

作为全球最普及的互联网开发语言之一,PHP从1994年诞生至今已被2000多万个网站采用,全球知名的互联网公司Yahoo!、Google、新浪、百度、腾讯、TOM、YouTube等均是PHP技术的经典应用。随着PHP技术的成熟和完善,PHP已经从一种针对网络开发的计算机语言发展成为一个适合于企业级部署的技术平台,IBM、Cisco、西门子、Adobe等公司均在普遍选用PHP技术。在权威机构的调查报告中,PHP技术在全球互联网社区领域的应用位居第一。在Alexa中文网站500强中,394家网站全部或部分应用着PHP技术。

PHP 最初是在1994年 Rasmus Lerdorf 开始计划发展。在1995年以Personal Home Page Tools开始对外发表第一个版本。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。随后在新的成员加入开发行列之后,在1995年中,第二版的PHP问市。第二版定名为 PHP/FI(Form第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans(这两个人和Rasmus Lerdorf并称为PHP的三位创始人),从此PHP成为了真正意义上Interpreter。PHP/FI并加入了mSQL的支持,自此奠定了PHP在动态网页开发上的影响力。在1996 年底,有一万五千个Web网站使用PHP/FI;在1997年中,使用 PHP/FI 的Web网站成长到超过五万个。而在1997年中,开始了开源项目。在1998年6月,PHP.net发布了PHP 3.0声明。在这一版本中PHP可以跟Apache服务器紧密地结合;再加上它不断的更新及加入新的功能;并且它几乎支持所有主流与非主流数据库;而且它拥有非常高的执行效率。

现在PHP5.0版本强化更多的功能。首先,完全实现面向对象。PHP4版本中以深拷贝为缺省值的对象代入,在PHP5中变为以浅拷贝为缺省值。因此PHP5并非与PHP4完全兼容,不过,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XML Web服务支持,而且标准支持SOAP扩展模块。 数据库方面,PHP新版本提供旨在访问MySQL的新界面--MySQLi。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能。另外,PHP5.0上还捆绑有小容量RDBMS--SQLite。

二、PHP语言的优势:

(1)良好的安全性:PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。

(2).跨平台特性:ASP比不上PHP的跨平台能力,PHP几乎支持所有的操作系统平台及数据库系统,正是它的这种能力让UNIX/Linux有了一种与ASP媲美的开发语言,并广为流行。

(3)易学性:PHP嵌入在HTML语言中,且坚持脚本语言为主,与Java、C等语言不同,语法简单、书写容易,方便学习掌握。现在市面上也有了大量的书,同时Internet上也有大量的代码可以共享。

(4)执行速度快:占用系统资源少,代码执行速度快。

(5)免费:在流行的企业应用LAMP平台P、Linux、Apache、MySQL都是开源软件,降低了企业架设成本。

2.2.2 AJAX技术

国内通常的读音为“阿贾克斯”和阿贾克斯足球队读音一样。Web应用的交互如Flickr, Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。 虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。   

许多重要的技术和AJAX开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。AJAX开发与传统的CS开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。

AJAX的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义Web应用的规则正在被重写;因此开发人员必须更注重用户。现在用户已经逐渐习惯如何使用Web应用了。例如用户通常希望每一次按钮点击会导致几秒的延迟和屏幕刷新,但AJAX正在打破这种长时间的状况。因此用户需要重新体验按钮点击的响应了。可用性是AJAX令人激动的地方而且已经产生了几种新颖的技术。其中最引人注目的是一种称为“黄色隐出”的技术,它在数据更新之前时将用户界面变为黄色,更新完成后立刻恢复原来的颜色。AJAX开发人员将用户从Web应用的负载中解放出来;小心地利用AJAX提供的丰富接口,不久桌面开发人员会发现AJAX是他们的方向。

2.2.3 CSS样式表

层叠样式表 (CSS) 是一系列格式设置规则,它们控制 Web 页面内容的外观。使用 CSS 设置页面格式时,内容与表现形式是相互分开的。页面内容(HTML 代码)位于自身的 HTML 文件中,而定义代码表现形式的 CSS 规则位于另一个文件(外部样式表)或 HTML 文档的另一部分(通常为 <head> 部分)中。使用 CSS 可以非常灵活并更好地控制页面的外观,从精确的布局定位到特定的字体和样式等。

CSS 使您可以控制许多仅使用 HTML 无法控制的属性。例如,您可以为所选文本指定不同的字体大小和单位(像素、磅值等)。通过使用 CSS 从而以像素为单位设置字体大小,还可以确保在多个浏览器中以更一致的方式处理页面布局和外观。

CSS 格式设置规则由两部分组成:选择器和声明。选择器是标识已设置格式元素(如 P、H1、类名称或 ID)的术语,而声明则用于定义样式元素。在下面的示例中,H1 是选择器,介于大括号 ({}) 之间的所有内容都是声明:

H1 {font-size:16 pixels;
font-family:Helvetica;
font-weight:bold;}

声明由两部分组成:属性(如 font-family)和值(如 Helvetica)。上述示例为 H1 标签创建了样式:链接到此样式的所有 H1 标签的文本都将是 16 像素大小并使用 Helvetica 字体和粗体。

术语“层叠”是指对同一个元素或 Web 页面应用多个样式的能力。例如,可以创建一个 CSS 规则来应用颜色,创建另一个规则来应用边距,然后将两者应用于一个页面中的同一文本[6]。所定义的样式“层叠”到您的 Web 页面上的元素,并最终创建您想要的设计。

CSS 的主要优点是容易更新;只要对一处 CSS 规则进行更新,则使用该定义样式的所有文档的格式都会自动更新为新样式。在 Dreamweaver MX 中可以定义以下规则类型:

自定义 CSS 规则(也称为“类样式”)使您可以将样式属性应用到任何文本范围或文本块。所有类样式均以句点 (.) 开头。例如,您可以创建称为 .red 的类样式,设置规则的 color 属性为红色,然后将该样式应用到一部分已定义样式的段落文本中。

HTML 标签规则重定义特定标签(如 p 或 h1)的格式。创建或更改 h1 标签的 CSS 规则时,所有用 h1 标签设置了格式的文本都会立即更新。 CSS 选择器规则(高级样式)重定义特定元素组合的格式,或其它 CSS 允许的选择器形式的格式(例如,每当 h2 标题出现在表格单元格内时,就应用选择器 td h2)。高级样式还可以重定义包含特定 id 属性的标签的格式(例如,由 #myStyle 定义的样式可以应用到所有包含属性/值对 id="myStyle" 的标签)。

第三章 需求分析

随着计算机系统功能的日益增强,为充分利用计算机资源为企事业单位工作,减轻会议管理人员的工作负担,实现管理工作信息化,做好会议管理系统是单位迫切的需求。

3.1 可行性分析

3.1.1 系统必要性

企业管理者经常采用的一种团队沟通方式【12】,如果利用得好,会极大地提高企业管理的效率。可是经常发生的情况是,有些企业的领导整天疲于应付各种会议,淹没于文山会海中,可是没有解决的问题题仍然一大堆,会议的效率十分低下。针对这种情况,有必要对会议低效的原因进行分析,并为提高会议的效率提出改进的对策。随着计算机技术的发展,以及计算机在企事业单位中应用的普及,计算机强大的功能已为人们深刻认识【3】。它在当今社会各个领域发挥着越来越重要的作用。作为计算机应用软件开发的一部分,使用计算机对会议进行管理具有手工管理无法比拟的优点。因此,开发这样一个管理系统成为一件很必要的事情。

3.1.2 系统有益性

管理信息系统 MIS(Management Information System)利用自动数据处理技术执行管理功能的信息处理系统。是一种利用人工过程、数学模型以及数据库等资源为企事业单位的运行、管理、分析和决策等职能提供信息支持的综合性计算机应用系统,是管理人员实现其目标的有效工具。管理信息系统对企业事业单位的作用在于加快信息的采集、传送及处理速度,实验数据在全单位的共享,及时地为各级管理人员提供所需的信息,辅助他们决策,从而改善单位的运行效率及效果全面降低企业运作成本,提高公司的整体运作效率,大幅拓展业务,争取企业利润最大化,进一步提高企业的竞争力。

3.1.3 系统可能性

现阶段无论是用PHP技术、JSP技术、或者是.NET技术都可以完美的实现会议管理系统的编制,而目前存在的各种网络终端服务器都可运用于该系统,本系统利用网络流行的网站构架方式(Apache+MySQL+PHP),使用Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这三个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

3.2 需求的提出

软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础,为了更好地了解会议管理系统,我们首先必须对其进行需求分析[18]。

传统的软件工程方法学使用结构化分析技术,完成分析用户需求工作。需求分析是为了发现用户的真正需求,首先应从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题.会议管理系统中用户所要知道的就是自己所要查询会议的一些具体情况,系统管理员可以将要召开的会议信息发布到系统上,并且对已召开的会议进行整理以备用户的查询,从而使用户达到自己的目的。

软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。业务需求反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明【8】。功能需求定义开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

本次设计是基于php技术的会议管理系统,系统的用户体系结构如图3.1下所示:

3.1用户系统结构图

3.3 功能需求

在仔细调查了现在企事业(以我校为主要参照)的相关工作人员后并结合自己的经验,总结出以下需求:

  1. 会议管理者可以对会议安排进行发布,删除和修改操作。
  2. 会议管理者可以添加,删除,修改用户并设置其权限。
  3. 新用户可以注册会员。
  4. 用户可以对自己信息进行修改。
  5. 用户可以查询近期会议计划安排。
  6. 用户可以对已召开会议按照会议名称或者获益内容输入关键字两种不同方法会议内容进行查询。
  7. 用户可以在会议期间对于会议的内容进行简单的聊天便于讨论,这样更利于会议的召开环境。
  8. 用户在会后可以对会议进行留言并与管理员交流。

3.4 系统性能需求

根据需求分析我们可以归纳系统所应要求的性能:

a.系统响应时间:时实查询。管理者发布完信息后,用户在客户端登陆即可实时查询。

b.系统需要的存储容量:该系统需要存储大量的留言和聊天记录,会议安排和用户信息等,所以需要大量的存储空间。由于系统要不断的更新因此需要大量的存储介质。

c.系统的安全性:由于会议信息属于单位内部信息,安全性比较重要,所以需要设置用户权限,并对用户密码进行加密。

d.系统基本运行环境:硬件:选用CPU:推荐使用Pentium3或以上。 内存:256M以上,显示模式:推荐分辨率800×600,真彩16色。软件:Windows XP操作系统。MYSQL5.0,Apache1.1。

3.5 数据流图

                                                                    

                                   

                       

              

                   

图3.2会议信息安排数据流向

                

     

            

                               

     

                                

                                      

              

图3.3会议查询数据流向

第四章 系统设计

在项目设计阶段,要明确系统开发环境、数据库以及它们之间的关系[17]。数据模式的确定是应用程序开发以及接口设定的前提。如果开发过程中,发现数据库需要修改会对已设计完的模块有影响。甚至重新设计模块,所以数据库的设计非常重要。

4.1 系统实体关系图

系统主要涉及五个实体,分为系统管理员,会议信息、会员,留言板,会议聊天。管理员拥有对会员的修改和删除操作,而会员只有对自己信息的修改操作,但会员有注册功能,管理员是唯一的。

管理员对会议信息拥有发布、修改和删除操作,通过这些操作添加数据连接到数据库数据表meeting中,会员通过系统功能查询数据表中的信息来查询会议。

管理员与会议信息实体E-R图如4.1。

                         

图4.1图管理员信息E-R图

会员对与留言板都有查询和修改操作,并且会员在会议期间有会议群聊功能的加入。

图4.2会员、留言板、会议聊天实体E-R图

4.2 数据库设计

数据库是数据库应用程序的核心【1】。在该系统中,数据库中设计了5张表

(1) 管理员数据表admin,管理员有唯一性,无法进行修改和注册,如表4.3所示:

表4.3 管理员数据表

名称

数据类型

长度

允许为空

注释

Aid

字符数据类型

50

不允许

用户唯一ID

Aname

字符数据类型

50

不允许

用户姓名

password

字符数据类型

50

不允许

用户密码

Age

整型

5

允许

用户年龄

Sex

字符数据类型

5

允许

用户性别

(2) 用户会员结构表user,无唯一性,用户可以通过注册添加信息,并在用户界面修改信息, 如表4.4所示:

表4.4用户会员结构表

名称

数据类型

长度

允许为空

注释

u_id

字符数据类型

20

不允许

用户唯一ID

u_name

字符数据类型

20

不允许

用户姓名

u_pwd

字符数据类型

20

不允许

用户密码

u_sex

字符数据类型

5

允许

用户性别

u_age

整型

3

允许

用户年龄

(3) 会议信息结构表meeting,管理员拥有操作权限,可以添加、修改和删除表中信息,用户可以查询操作,如表4.5所示:

表4.5 会议信息结构表

名称

数据类型

长度

允许为空

注释

id

整型

20

不允许

会议ID

name

字符数据类型

50

不允许

会议名称

hostman

字符数据类型

50

不允许

会议参与者

address

字符数据类型

100

不允许

会议地点

date

DATA时间类型

20

不允许

会议日期

time

Time时间类型

20

不允许

会议时间

remark

文本类型

无限制

允许

会议备注

(4)留言板系统结构表liuyan,管理员和用户都可以进行添加操作, 如表4.6所示:

表4.6留言板系统结构表

名称

数据类型

长度

允许为空

注释

m_id

整型

20

不允许

留言ID

m_currenttime

事间类型

20

不允许

留言时间

m_title

字符数据类型

50

不允许

留言板主题

m_content

字符数据类型

500

不允许

留言板内容

m_picsrc

字符数据类型

50

不允许

作者

(5)群聊系统结构表message,通过登录到会员界面,点击群聊进入,, 如表4.7所示:

4.7群聊系统结构表

名称

数据类型

长度

允许为空

注释

m_id

整型

11

不允.许

聊天内容ID

m_currenttime

时间类型

20

不允许

发布聊天内容时的时间

m_content

字符数据类型

500

不允许

会员姓名

m_u_id_from

字符数据类型

无限制

不允许

聊天内容信息

4.3 系统功能模块设计

4.3.1 系统的功能模块

数据库为MYSQL,开发技术采用PHP。图4.3给出系统的功能模块图。其工作方式为:用户登陆通过权限判断,用户能查询会议计划安排,也可修改自身密码,并在会议中对会议信息进行书面的。管理员除拥有用户的功能外,还可以进行会议安排发布,删除和修改,还可以添加,修改,删除,用户,并在会后通过留言板进行会议后的进行整理。

系统主要模块图4.8:

4.8系统主要模块图

4.3.2 系统功能特点

(1)操作简单,界面友好:设计成为控制面板的布局,使用户在登陆后主要的操作直接在控制面板上操作,简单明了。

(2)即时处理:对会议计划安排和会议信息的管理(包括添加,修改和删除)在操作后,在客户端的用户即时可以查询最新信息,用户的操作也可以即时的反给在系统管理员。

(3)功能完善:包括会议发布,修改,删除和最新会议安排和已召开会议记录查询。对于不同权限的用户其对系统的使用都会有相应的限制。管理员则只能管理本部门内部会议。普通员工可以分别按照已召开时间和会议内容的关键字,迅速查询出相关会议和管理自己的用户信息并查看留言板。

(4)方便移植:对于不同的单位,只要对系统稍做修改,就可以开发出适合同步单位的会议管理系统。


第五章 系统的实现

    本章主要介绍系统功能各模块的实现,是这次设计中最为重要的一个环节,通过对各子模块的设计、组合,从而达到需求中的效果。

5.1 用户登录的实现

用户进入登陆login.php,输入姓名和密码,系统通过调用loginOperate.php来实现。用户通过单选按钮来选择进入相应的权限,管理员涉及两个输入接口分别对应数据表admin中的aidaname,会员涉及两个对应接口对应数据user中的u_idu_name。页面如图5.1所示:

图5.1用户登录界面

如果用户名或密码为空,系统将显示错误,代码如下:

if(obj.username.value == "")

alert("用户名不能为空!");

return false;

else if(obj.passwd.value == ""){

alert("密码不能为空!");

return false;}

else{

return true;}

用户选择管理员登录则系统调用数据库中admin数据表中aid、password数据,选择会员登录则调用数据库中user表中u_idu_pwd数据,会员及管理员登录代码如下:

if($role == 1)             //管理员

{ if($row = mysql_fetch_array($result))

{$flag = $row['aid'];

$pwd = $row['password'];

name = $row['aname'];

会员登录代码类似管理员。

如果用户名密码正确则进入对应页面,管理员转向Manager.php,而用户转向Member.php,如果错误页面将会“显示用户名或密码错误!”。代码如下:

if($flag != null)

{$user = new User();

$user->setId($flag);

$user->setPwd($pwd);

$user->setName($name);

$_SESSION['user']=$user;

$_SESSION['isLogin']="yes";

$_SESSION['u_id']=$flag;

$_SESSION['u_name']=$name;  

if($role == 1)

{eader("Location:admin/Manager.php");

}else if($role == 2)

{header("Location:member/Member.php");

}else

{header("Location:login.php?flag=1");}

此登录显示错误信息用到AJAX 技术“Location:login.php?flag=1”,程序利用当页显示代码:

$flag=$_GET['flag'];

if($flag == 1)

{echo '<font style="color:red">用户名或密码错误!</font>';}

5.2 管理员功能的实现

管理员登陆成功后,进入处理页面arrangeMeeting.php进行操作,页面Manager.php拥有对会议的安排、查询、修改和删除的操作,并拥有对会员信息的查询和修改造作,管理员还可以通过查看留言版信息,并对其内容进行回复【2】。通过鼠标点击进入相应界面,其内容主要包含四个主要链接:会议安排arrangeMeeting.php,会议管理adminMeeting.php,会员管理adminUser.php和留言板message.php。显示页面图5.2如下:

图5.2管理员界面

主要实现代码如下:

<tr><td><a href="welcome.php" target="contents">首页

</a><a href="arrangeMeeting.php"target="contents">会议安排

</a><a href="adminMeeting.php"target="contents">会议管理

</a><a href="adminUser.php"target="contents">会员管理

</a><a href="../msg/message.php"  target="contents">留言板</a><a href="javascript:isLogout();" >安全退出

</a></td><td align="right"><?php echo "当前用户:

<fontcolor='blue'>$username</font>    " ?>

5.2.1 会议发布

管理员拥有对会议安排的唯一操作权,管理员需要对会议信息进行安排,以保证会员能查询到数据,让会议如期举行。

会议的添加页面如下图5.3:

图5.3会议的发布

管理员添加会议信息链接到数据库数据表meeting,数据表在4.1已经有主要介绍,数据添加主要代码如下:

会议名称:

</td><td align="left" >

<?php  

name = $row["name"];

echo "<input type='text' name='name' id='name' value='$name'/>";

?>

<font color="red">*</font>

   <td align="right">

会议地点:

</td><td align="left">

<?php

$address = $row["address"];

echo"<inputtype='text'name='address'id='address'value='$address'/

<font color="red">*</font>

其他三项添加类似于以上代码,就不再做过多介绍。

5.2.2 会议管理

管理员把会议数据添加到数据库,也许期间会出现会议变动,这就需要有会议的修改和删除操作,系统通过adminMeeting.php页面来实现其功能当前页面显示其最近的会议安排记录,每页显示九条记录。管理员通过会议名称和会议时间进行模糊查寻。

查询主要代码如下:

会议名称:

<?php

echo "<input type='text' name='name' id='name' value='$name'>";

?>

<td align="left">

会议日期:

<?php

echo "<input type='text' name='date1' id='date1' value='$date1'>";

?>到 <?php

echo "<input type='text' name='date2' id='date2' value='$date2'>";

?>

操作页面如下图5.4所示:

图5.4操作页面

系统提供给操作人员对会议信息进行修改操作,页面转回arrangeMeeting.php并读取此次会议的信息,并直接修改数据表并进行会议信息的刷新,点击删除将直接从数据表中消除其会议。

主要代码如下:

$id = $row['id']

echo "<a href='arrangeMeeting.php?id=$id&type=1 '

style='text-decoration:none'>修改</a>

<a href='deleteMeeting.php?id=$id'

style='text-decoration:none'>删除</a>"

5.2.3 会员管理

会员注册成功后,管理员经常会查看和修改会员信息来保持数据库的会员信息的同步行,这就需要通过添加一个会员管理模块来操作会员管理包括对会员姓名、密码、性别和年龄的修改和对会员的删除操作[11]。管理员通过模糊查询对会员ID或会员姓名进行查询操作,系统根据数据库中会员信息查询,查询完毕将返回信息给管理员。会员管理页面adminUser.php,查找实现代码如下:

会员ID:

<?php

echo "<input type='text' name='u_id' id='u_id' value='$u_id'>";

?>

<td align="left">

会员姓名:

<?php

echo"<input type='text' name='u_name' id='u_name' value='$u_name'>";

?>

<td align="right">

<input type="submit"  style="width:80px" value="查找"/>

查找结束,显示查找到的信息,管理员根据需求进行修改和删除,主要代码如下:

$id = $row['u_id'];

echo "<a href='updateUser.php?id=$id&type=1'

style='text-decoration:none'>修改</a>

<a href='deleteUser.php?id=$id'

style='text-decoration:none'>删除</a>"

实现功能页面如下图5.5:

图5.5

5.2.4 留言板

在大多情况下,在会后经常有未解决的信息需要用户交流讨论,所以系统添加一个留言板模块来实现此功能,此模块有两个入口,对应会员和管理员模块,用户点击链接到留言板界面message.php。用户通过此页面进行操作添加信息,信息将被直接链接到数据表liuyan保存到数据库中并刷新留言信息。

主要实现代码如下:

<form action="msg_add.php"

id="msg"  method="post" οnsubmit="return checkAdd(this);">

echo "<input type='hidden' name='host_Id' value='".$uid."' />";

<input type="hidden" name="mid" value="" />

<table width="100%">

<td align="right" width="100px"><font style=" color:#006000">留言标题:</font></td>

<td align="left">

<input type="text" name="title" style="width:320px;"/>

<font style="color:#FF0000">*</font>

<td align="right" width="100px">

<font style=" color:#006000">留言内容:</font>

<td align="left">

<textarearows="3" name="content" style="width:500px;"></textarea>

<font style="color:#FF0000">*</font>

<td align="right" width="100px"> 

操作页面如下图5.6:

图5.6留言板页面

5.3 会员功能的实现

会员功能涉及到三个主要功能,分别为用户的注册,会议信息的查询,和用户的群聊系统,而用户信息的修改和留言板在5.2中的5.2.3和5.2.4小节中基本都有相似的介绍,而代码也是类似的操作,就不在重复介绍,会议查询的造作只是在前章中提到的会议管理页面进行功能上的简化,如有需要请看章节5.2.2。下面将要说到得内容有两节:会员的注册的实现、会员群聊系统的实现。

5.3.1 会员的注册

管理员不可能详细到为每一个需要进入系统的用户依次添加数据库,所以就需要一个用户注册系统,用户可以自己注册信息来获得相应的权限访问会议管理系统,用户点击主页面login.php中的用户注册,并添加用户信息,注册信息链接保存到数据库中,并立即刷新数据信息。

注册信息代码如下

<td width="120px" align="right">

用户ID:<td align="left">

<input type="text" name="id" /><font style="color:#FF0000">*不小于四位</font>

<td width="120px" align="right">

姓  名:</td><td align="left" >

<input type="text" name="name" /><font style="color:#FF0000">*不小于两位</font>

<td width="120px" align="right" >

其他几项类此与以上代码。

会员注册页面如下图5.7:

图5.7用户注册界面

5.3.2 用户群聊的实现

会议中经常需要一个互动平台来帮助与会者达到信息交换的目的,此系统加入了群聊来实现这以功能,用户通过点击群聊窗口来进入群聊页面,页面chat.php中,用户在输入框中添加信息,信息将直接保存到数据库,并立即刷新数据库信息,来保证数据第一时间被其他用户查看。

主要实现代码如下:

<div style="border:1px solid; border-color:#C0C0C0; width:755px;height:365px;">

<div style="height:255px;">

<span id="myspan" name="myspan"></span>

<div style="border: 1px solid;

border-color:#C0C0C0; background-color:#C1F2EE;

width:100%; height:24px; padding-top:5px;">

<div style="border: 1px dotted; width:100%; height:90px;">

background-color:#FFFFFF; border-color:#008040;

<table width="100%">

<textareaname="msg"id="msg"style="width:100%;"rows="3"></textarea>

<td align="right"><input type="button" value="发送" name="fasong" οnclick="fasong();"/>

用户界面如下图5.8:

图5.8群聊界面

另外程序需要建立刷屏来刷新每次的信息,保证每个用户都及时看到聊天内容。主要代码如下:

function count(){

setTimeout("count()",100);

var url = "getChat.php";

check(url);}

var xmlHttp;

var flag = false;

function init(){

if(window.ActiveXObject){

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}

else if(window.XmlHttpRequest){

xmlHttp = new XmlHttpRequest();}}

function check(url){ if(xmlHttp==null){ init();}

xmlHttp.open("post",url,true);

xmlHttp.onreadystatechange=callback;

xmlHttp.send(null);}

unction callback(){

f(xmlHttp.readystate==4){

document.getElementById("myspan").innerHTML=xmlHttp.responseText; }}

第六章 结论

经过三个多月的系统开发,从一开始我对于PHP技术的开发缺乏经验到,通过不断查找资料,并且在导师的指导下,我逐渐对所开发的系统有了较为全面地认识。在开发本课题的过程中,起初对于一些PHP的语句有些疑惑,后来通过不断翻阅相关资料,通过修改从互联网上已经成型的模板,逐渐理解了这些对象的含义和用法,特别是对于数据库中字段的添加,修改,查询和删除用法。此外,对于网页制作中的一些技术,例如:CSS样式表技术对于网页框架制作的使用等的水平有了很大的提升。

本课题开发经历了搜集资料,需求分析,可行性分析,概要设计和详细设计的阶段,先后经过了无数次的修改和调试,通过按照软件工程开发的流程,本课题已经成功地开发出合格的会议管理系统。该系统在性能和使用上都符合需求分析里的功能需求。系统设置的系统管理员,和普通员工两个不同的权限是在充分调查企业单位的结构基础上设计的,符合现代企业的特点。用户登陆后,通过链接数据库判断用户的权限,使两种不同权限的用户分别进入不同的操作界面进行相关操作。系统设计的思路明了,脉络清晰。

经过后期的检测和调试,系统可以正常工作,没有较大的漏洞,本课题的系统开发完满完成。毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的会议管理系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际程序问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志力,抗压能力及耐力也都得到了不同程度的提升。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一.系统模块的实现 在系统中包括以下功能:系统管理、学籍信息管理、课程信息管 理、成绩信息管理、帮助。分为以下几个模块 主窗体 标 题 名 称 系统管理 sysMenu ……用户管理 Control ……退出系统 Exit 学籍管理 sInfo 课程管理 cInfo 成绩管理 rInfo 帮助 help ……使用说明 howto ……关于 about 1.1登录模块 为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。 用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;两个按钮(CommandButton)用来确定或者取消登录。 设置一个SSTab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。 1.2系统管理模块 1.2.1添加用户窗体的创建 进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。 在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示。 1.2.2修改密码窗体的创建 在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。 在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。 1.3学籍管理模块 1.3.1添加学籍信息功能 选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。 在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。 1.3.2修改学籍信息功能 点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。由于用户的需求不同,有的是要对学生的信息做个别的改动,有的是需要删除该条记录,所以该窗体同时包括了修改记录的功能和删除记录的功能。又考虑到用户的误操作,为了方便,我在该窗体中增添了取消修改的功能,可一次性把输入文本框的内容全部置空。 1.3.3查询学籍信息功能 进入学籍管理模块下的查询学籍信息窗体,在该窗体中可以对学生的信息进行查询,有三种查询方式。我在设计时,一方面考虑到简洁的因素,用户可以只设置一种查询方式进行查询;另一方面又为了避免数据的重复,用户可以输入详细的信息,也就是同时设置多种查询方式进行查询。进入查询窗体时,myflexgrid中会显示出所有学生的学籍信息,如果不设置查询方式就进行查询,是无效查询,系统会给出提示。在设置好查询方式后,便开始查询,将在myflexgrid中显示出用户所需的学生的学籍信息。 1.4课程管理模块 1.4.1课程信息浏览功能 点击主窗体中课程管理模块下的课程信息浏览,可进入课程信息浏览窗体。为了用户的使用方便,我使用了SSTab控件,故在该窗体中同时包含了课程信息的添加和修改的功能。并且我还在窗体上设置了myflexgrid控件。添加和修改记录后,对于数据有何变化都可以在myflexgrid中显示出来,使用户对所做的操作一目了然。 1.4.2年级课程设置功能 进入课程管理模块下的年级课程设置窗体,可以对每一个年级的课程进行设置。 1.5成绩管理模块 1.5.1成绩信息管理功能 点击成绩管理模块下的成绩信息浏览,进入成绩信息浏览窗体,考虑到美观和实用性,界面设置如下图。用Frame控件在窗体中划定一个可浏览成绩信息地方,再在Frame中添加MSFlexGrid控件,运行时将在MSFlexGrid中显示所有学生的成绩信息。使用Toolbar来建立工具条。点击工具条中的修改、添加和查询按钮就可分别进入修改成绩信息窗体、添加成绩信息窗体和查询成绩信息窗体。这三个窗体的界面设置分别类似于学籍管理下修改学籍信息窗体、添加学籍信息窗体和查询学籍信息窗体。 1.6其它 操作人员在遇到困难时即可进入帮助菜单寻求帮助。帮助菜单下的“使用说明”将解答你的疑问。帮助菜单下的“关于”详细地列出了关于作者的一些情况,关于版权的一些情况和关于系统的一些情况。进入打印菜单栏,可对你所需要的信息进行打印。 二 系统后期工程 在开发这个软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,在本次设计过程中,我采用循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完成一个功能,就进行测试,尽可能早的发现并纠正差错,完成模块测试之后再进行系统测试。 在该设计中,我偏重考虑了当用户输入的信息出错时,系统就会出现提示,以便让用户知道出错的原因,并能及时做出修改,所以我站在用户的角度考虑,尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,以此来发现错误,纠正错误,取得了一定的效果。 当然,该学生信息管理系统也存在一些不足之处。在成绩管理界面,当3次改变成绩为不同的内容时,程序会出错。虽然尝试了很多方法,仍不能解决。再一点就是关于打印和年级课程信息设置都未能实现,这有待于以后的进一步提高。 一个应用系统性能的优劣,效率的高低始终应当由用户来做出判决,应用系统在运行过程中,用户会提出一些新的需求和建议,我就会根据用户需求的变化,对本系统做出一定的修改,使其进一步地得到完善和提高。 1. 概述 1.1. 目的 为了彻底解决了长期困扰教学信息化工作当中安全性、可靠性的问题;为了使管理人员可以随时看到更新的数据,极大地提高信息传递的速度;为了管理者再也不必为聘用专门的操作人员来给众多教师编辑学生成绩资料而殚精竭虑,在此,设计了学生课程成绩查询管理信息系统,使得各个使用者在操作上,从此变得那么从容简单,省时又省心。 1.2. 参考文档 [1] 张海藩.软件工程导论[M].第4版.北京:清华大学出版社.2007.25-63. [2] 赵洋,张丽,王恩东,李玉红.基于B/S结构学生成绩管理系统设计实现[J].沈阳化工学院学报.2007,21(2).140-142. [3] 游应德.基于Intemet的学生信息管理系统—学生成绩管理系统[D].电子科技大学.成都:电子科技大学,2007. [4]郑若忠,王鸿武.数据库原理与方法.湖南科学技术出版社.  2. 总体结构设计 2.1. 层次图 2.2结构图 2.3 功能设计 学生成绩单录入部分可以对某一个学生进行成绩录入,但是一次只能录入一条成绩记录,同时可对缺考、免考、补考学生成绩进行录入。 学生成绩显示/修改部分可以对已录入的成绩进行显示和修改,但是只能对系统默认的当前学期的记录进行修改。 学生成绩显示/删除部分可以对已录入的成绩进行显示和删除,但是也只能对系统默认的当前学期的记录进行删除。 2.3. 运行环境设计 2.3.1. 硬件设计 1.服务器: CPU:P4 2.0G以上 内存:512M 硬盘:60G以上 网络:100M /1000M Ethenet 2.客户机: CPU:500Mz 内存:64M以上 硬盘:1G以上 网络:10M Ethenet 2.3.2. 软件设计 1.服务器: 操作系统:Windows 2000/XP/2003 WEB服务:IIS5.0 数据库:SQL Server 2000(建议打Service Pack 3补丁) 2.客户机: 操作系统:Windows系列之一 浏览器:IE6.0以上版本 2.3.3.网络设计 采用sql server2000网络关系型数据库,存储读取数据将同步进行。 3.详细设计 用判定树表示教师端模块 4. 数据结构设计 4.1. 数据分析 第一层:基础数据及基础数据库分析 此类报表主要反映学校教师、学生和课程等的资料情况。 此类报表是将系统中较为常用的学生、教师和课程等基础资料以报表的形式予以反映。 在本层需要设计三个主表,分别用来存储学生资料、教师资料和课程资料。 第二层:业务流程数据及业务流程数据库分析 在编辑此类表单时,可以点击相应的下拉按钮,这时所有的选项资料都会显 来,您可以根据实际情况来编制表单,使整个过程更加清晰,操作更加简便。 在本层需要设计一个学生成绩主表,用来存储学生的平时成绩表。 4.2. 数据库设计 4.2.1. 设计原则 1.密码管理:学生修改学生查询密码;教师可以修改查询密码。 2.每个教师可以查看所有学生的成绩,包括每门课程的成绩、每门课程的平均成绩、每个分数段的成绩。 3.学生根据自己的学号查询本人的成绩。 4.教师可以登记、修改、查询自己所讲授课程的学生的成绩、该课程的总分、平均成绩、各分数段成绩人数统计、不及格学生的名单、成绩等等。 4.2.2. 数据库组成 数据表3个: 学生表(5个字段: xh, xm, xb, csrq, bj),其中有各班学生的记录 课程表(4个字段:kch,kcm, js, xf),其中有课程的记录; 成绩表(3个字段:xh, kch, cj),其中有学生成绩的记录。 学生基本信息表(Student)描述如下: 学生期末成绩表(Grade)描述如下: 学生的课程管理(Course)描述如下: 4.2.3. 面向对象数据库设计方法 1)考虑对象的静态和动态属性 对象属性决定了数据库或包含具有相同类型对象的表的内容。 2)描述数据实体及其属性 包含所有静态属性的单个对象被称作数据实体。每个单独的数据实体必须唯一,这样可以与其他实体区分。包含在数据实体中的对象的性质被称作为属性。(attribute) 3)用方法来说明对象的行为 关系数据库对象的行为决定了数据对象参与事务的特征。事务的发生对应着事件,通过使用响应事件的方法来实现事务。 4)在单个表中合并不同实体 可以在单个表中包含不同对象类型的说明,只要可以按照相同方式描述属性和行为,以及区分不同对象类型即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值