ASP动态网页课程设计设计题目:文档管理系统专业:网页设计*名:**学号:************指导老师:时间:2016.4.30一.【开发背景】文档管理系统是信息技术在公司里管理中最典型的应用。
传统文档管理模式是由人工去管理的,效率低下,无法适用于当前对文档管理的需求。
文档管理系统基于网络技术,使办公室对文档的管理工作逐步信息化,从而形成由办公室人员与办公室设备共同构成服务于某种目标的人机文档处理系统,因而可以将跨地区的各个部门紧密连接在一起,从而达到对文档的实时共享,可以最大程度地发挥各级人员的工作效率。
通过以上分析,得出总结:文档管理是一个过程,因为网络化的文档管理系统并不局限于办公室,具有广泛的应用范畴。
从领导各个业务部门乃至单位的所有工作人员,几乎人人都可能成为使用文档管理系统的用户。
随着社会的发展与信息技术的进步,全球信息化的直拨越来越明显,任何单位与企业不再是局限于某一个地区,都在自觉不自觉在参与到了全球化的竞争中。
在这个全球化的竞争中,政府机关企事业单位对信息的掌握程序,信息获取是否及果,信息能否得到充分的利用、对信息的瓜刘否敏感准确,已越来越成为徇其竞争能力的最重要因素。
综上所述,文档管理系统的前景是非常广阔的。
二.【需求分析】1.系统需求分析随着国家信息基础建设的深入,规划用网络构建文档管理系统以实现管理员对文档的管理,角色的管理,部门的管理与用户的管理,同时还包括对短信的管理,实现了对文档的上传,下载,浏览共享文档,删除文档,同时管理员还有权限对个人资料的修改。
在此让管理员与用户都方便的实现了对文档的有效管理与其它相关信息的有效管理,为人们提供更广泛的、更便捷的信息及服务。
随着各个单位规模的不断扩大,单位内部对文档处理急剧增加。
如果通过网络文档管理系统工作,就可以抛弃以入往传统的模式,发文件的一级一级传达的烦琐。
普通用户只要上网就以查看上级添加而存放在数据库中的文件与相互交流信息的目的,而通过短信管理并且又可以对单位内部进行信息的交流。
因而根据公司对文档管理的需要,及公司内部通信的需要,系统中设计对文档的管理功能,用户管理功能,角色管理功能。
信息管理系统的功能总结起来包括:1> 文档管理:文档管理是系统的核心,同样对不同用户身分对文档的可操作权限不管理员:(1),添加文档(2),查看文档,查看自己上传的文档或者查看所有共享文档(3),删除共享文档与自己上传的文档(4),浏览共享文档,浏览器具体内容及相关信息(5),修改用户上传的共享文档的相关信息。
普通用户:(1),浏览共享文档,浏览器具体内容及相关信息(2),添加文档,添写自己的文档或者他人的文档(3),查看所有共享文档(4),删除自己上传的文档。
2>用户的登录功能:用户登录功能也是系统设计的一个中心环节,用户分为两种身份,不同身份可操作的权限不同。
一种管理员身份,一种普通用户身份。
3> 用户管理:对不同用户身份登录,对用户管理功能的操作权限不同。
管理员:(1),能对用户的进行添加、删除用户的相关信息的操作(2),修改管理员个人的密码、修改管理员自身。
普通用户:只能对用户自已的密码及个人信息进行修改。
2,系统分析:本系统采用应用程序的系统架构模式:数据库——>数据库访问层——>业务逻辑层——>页面表示层。
(1),数据库是应用系统的基础,它保存系统中所有数据。
在此过程中,用两张表存放其数据:user表,存放进入系统的用户信息;file表,存放文档管理中所有的文档信息(2),数据访问层封闭对数据库的操作,如创建数据连接,打开数据库连接,执行存储过程与关闭数据连接。
(3),业务逻辑层与应用系统的上层业务逻辑相关联,它调用数据访问层,同时也为上层页面表示层服务。
业务逻辑层通过数据访问层实现对数据库的操作。
如添加,修改与删除等,同时为应用系统的页面表示层服务提供访问数据库的接口或函数等。
(4),页面表示层实现应用系统的具体页面,系统页面是利用aspstudio里面的框架设计的。
页面一般由WEB页面或控件等组成。
三.【后台数据库Microsoft Access 2003】文档管理系统是单击版的系统,不能实现局域网上共享同一数据库,所以采用Access作为后台数据库。
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。
同时Access是一种关系型数据库,支持标准的SQL 语句。
Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access是一种关系型数据库管理系统,具有很多优越性:1>. 存储方式单一Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
2>. 面向对象Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便.3>. 界面友好,操作简单Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
4>. 集成环境,处理多种信息Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
5>. Access支持ODBC(开发数据库互连,open Data Base Connectivity)利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
四.【数据库设计】1,数据库设计:根据对系统进行的需求分析,本系统数据库中应包含2个基本表,即用户信息表(users)、文档信息表(file),具体各个表的设计如下:Users表:File表:2,功能模块设计:在本系统中,用户管理模块功能在系统初始化时,有一个默认的“系统管理员”用户Admin,他可以手动的添加到数据库中。
Admin用户可以创建其他的管理员信息;普通用户则可以修改自己注册信息和密码。
在前台管理中我们只关心普通用户的信息,管理员信息由后台负责。
管理员:普通用户:3. 系统功能流程:管理员:1>.添加文档管理员打开文档添加界面,输入相关信息(包括标题,作者,时间,类型,内容等),在数据库中添加相关数据。
2>. 修改文档信息根据文档标题链接,修改相关条目后保存在数据库中。
3>.删除文档信息根据文档标题链接,确定删除后,在数据库中删除该信息。
4>.添加用户5>.修改用户相关信息可根据昵称不重复来实现6> 删除用户根据用户编号,删除后保存在数据库中7> 修改自身信息先登录后,再根据昵称修改自身信息(用户名,密码,职业等),然后保存在数据库中普通用户:1>.添加文档普通用户打开文档添加界面,输入相关信息(包括标题,作者,时间,类型,内容等),在数据库中添加相关数据。
2>.修改自己文档信息根据文档标题链接,修改自己文档中的相关条目后保存在数据库中。
3>.删除自己文档信息根据文档标题链接,删除自己文档中的相关条目,确定删除后,在数据库中删除该信息。
3>修改自身信息:可根据编号不重复来修改(用户名,密码,职业等),修改后保存在数据库中五.【详细功能设计】该系统由两个大模块构成,包括管理员管理信息模块、普通用户信息管理模块。
1, 按照要求建好数据库后,需要建立网站页面和后台服务器的链接,页面名称为conn.asp,以后当需要对数据库进行访问时,只需要用<!--#includeFile="conn.asp"-->命令就可以直接调用该程序,连接数据库,提高程序的可读性,同时也提高程序的便捷性,代码如下:<%set myfile = server.CreateObject("adodb.connection")para1 = "dbq="&server.mappath("user.mdb")para2 = "driver={microsoft access driver (*.mdb)};"myfile.Open para2¶1%>2, 不同权限的用户进入不同的主页面:先登录注册验证,页面效果如下:相关验证代码:(1),一般验证,即只对输入的内容验证其长度<script language = "vbscript">function strlen(str)sum = 0for i = 1 to len(str)if asc(mid(str,i,1)) < 0 thensum = sum + 2elsesum = sum + 1end ifnextstrlen = sumend functionsub check_data2form1.action = "register.asp"form1.submitend subsub check_data3msg = ""if ername.value = "" or strlen(ername.value) < 4 or strlen(ername.value) > 10 thenmsg = "输入账号长度必须在4~10之间的字符串"ername.focuselseif erpass.value = "" or strlen(erpass.value) < 6 or strlen(erpass.value) > 20 thenmsg = "输入密码长度必须在6~20之间的字符串"erpass.focusend ifif msg = "" thenform1.action = "logindeal.asp"form1.submitelsealert(msg)end ifend sub</script>(2),高级验证:验证登录或注册的用户是否已存在:先查找数据库中的所有信息,看是否有与之对应的用户存在:username = request.Form("username")userpass = request.Form("userpass")strsql1 = "select * from users where u_name = '"&username&"'"set r1 = myfile.execute(strsql1)if r1.bof or r1.eof thenresponse.write("<script language = javascript>alert('对不起,你未注册,请注册。