软件下载管理系统

软件下载管理系统[java毕业论文下载]

软件下载管理系统

 

 

摘  要

 

利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,为个人站点的发展提供了广阔的空间,应用Active Server Page技术和采用ACCESS数据库系统组件,我们开发了基于B/S模式多用户软件下载管理系统这一程序。它运用方便、操作简单,效率很高。主要提供了软件下载及管理平台,在系统中,将管理用户分为了两大类,一类为系统管理员,主要用于对下载软件信息的管理,如软件类别的维护、软件下载的软件、注册用户的管理;另一类为注册用户,在本系统中,所有软件的下载,都必须是授权的,即下载软件必须在本站登录,这样以便提高系统的稳定性与可靠性。借助B/S模式,可以方便的下载站点的各种信息,并可根据自身的需要选择软件下载,为软件的交流提供了一个平台,取得了较好的社会效益。

 

 

关键字

 

软件下载   ASP技术   ACCESS 信息系统

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目 录

软件下载管理系统 2

1.可行性分析报告 5

1.1 项目开发背景 5

1.2 技术可行性研究 6

2.系统设计 8

2.2 设计思想 8

3.需求分析 9

3.1 功能需求 9

3.2 性能需求 9

4.总体设计 10

4.1 系统功能设计 10

4.2 系统流程图 13

4.3 数据流程图 14

4.4 数据库设计 14

5.详细设计 17

5.1页面子系统模块 17

因篇幅,更多请参见源程序 28

6.系统测试 28

6.1 测试目的 28

6.2 测试目标 28

6.3测试方法 28

6.4测试步骤 29

6.5系统的测试 29

7.总结 29

8.致谢辞 30

9.参考文献 30

10.附录 30

10.1 后台服务器配置 30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.可行性分析报告

1.1 项目开发背景

     现如今,Internet飞速发展,它越来越成为人们生活中的一部分,人们亲切地把它叫做信息高速公路。随着计算机技术及通信技术的普及,人们有越来越多的机会,访问internet,并从Internet中获取资源,Internet紧密的与人们的生活联系起来。

Internet,中文译为国际互联网,它是一个全球性的计算机网络。简单点说,就是由很多个不同结构的局域网通过一个统一的协议构成的一个跨越国界的世界范围的大型网络。   

Internet特点:   

  (1)使用TCP/IP协议;   

  (2)由数以万计的局域网、广域网组成;   

  (3)采用报文分组交换传送信息;   

  (4)全球范围的网络。

  Internet的前身“ARPAnet”于1969年成立,最初只连接了4台计算机。1983年,ARPA和美国国防部通信局研制成功了用于异构网络的TCP/IP协议;1986年,美国国家科学基金会利用ARPAnet发展出来的TCP/IP通信协议,在5个科研教育服务超级电脑中心的基础上建立了NSFnet广域网。目前,NSFnet已成为Internet的重要骨干网之一。

时光进入二十世纪九十年代,在美国政府的大力支持和市场需求急剧膨胀的作用下,Internet进入了商业化的时代,截止目前为止,全球互联网用户达到一亿两千万以上,联上互联网的主机超过1000万台,每天通过Internet传送的电子邮件超过一亿次,仅此一项,就节约了大量的时间和资源,更不用说天文数字般的信息浏览所带来的直接或间接利益了。   

我国的改革开放也使得我国发展的步伐紧跟世界的发展潮流。目前,我国上网的计算机数为146万台,上网人数超过400万人,国际线路总容量已经达到241M。

基于B/S模式的信息管理系统是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使使用者不受地域的局限。在本系统中,将利用B/S模式,构建一个开放的软件交流即下载平台,为广大网民提供软件下载的便宜。

 

1.2 技术可行性研究

目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。

1.2.1什么是ACCESS?为何要选择ACCESS

作为Microsoft的office套件产品之一,access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型积极大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。

Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。

Access 功能强大,使用方便,是开发桌面数据库的最优秀的工具之一。

Access 本身具有强大的向导机制,能提供大量的数据库常用操作。但如果你能适当的加上少量的代码,那么你的程序将是专业级的。这一切都靠VBA。

1.2.2 什么是ASP

ASP的含义从字面上说,ASP包含三方面含义:

  • Active:ASP使用了Microsoft的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。
  • Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。
  • Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。

由此我们可以看出,ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。

以下罗列了 Active Server Pages 所独具的一些特点:

  • 使用 VBScript 、JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。
  • 无须 compile 编译,容易编写,可在服务器端直接执行。
  • 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。
  • 与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、Jscript)均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
  • Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、Perl 、Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。
  • Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
  • 可使用服务器端的脚本来产生客户端的脚本。
  • 物件导向( Object-oriented )。
  • ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Visual Basic 、Java 、Visual C++ 、COBOL等编程语言来编写你所需要的 ActiveX Server Component 。

基于上述考虑,用Browser/Web模式来设计系统比较合适,服务器端我们采用Access数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。

2.系统设计

2.1目标设计

软件下载管理系统的主要功能要求如下:

2.1.1 登录系统的主要功能要求

  • 欢迎页面
  • 系统安全登录页面
  • 管理员或注册用户功能选择页面

2.1.2 软件下载管理系统软件管理的主要实现功能要求

  • 建立软件分类信息
  • 已有软件分类信息变更
  • 上传软件
  • 上传软件管理
  • 注册用户管理

2.1.3注册用户管理的主要功能要求

  • 查看个人注册信息
  • 修改系统登录密码
  • 注销系统

2.1.5系统主界面功能要求

  • 分类浏览软件信息
  • 搜索下载软件
  • 用户登录页面
  • 下载指定软件

2.2 设计思想

软件下载管理系统充分利用了Brower/Server结构的特点,实现了管理员的异地管理及注册用户的异地登录,无需安装客户端软件,用记只需拥有一台连网的电脑,即可登录系统,访问软件下载资源。

对于本软件下载管理系统,其功能目标主要是软件的上传下载,软件信息的新增与维护。由于系统数据收集的实时性要求并不高,因此采用Browser/Server结构来进行设计是合理可行的。图2.2.1是本系统的网络应用原理示意图。

 

 

 

 

 

 

 

 

 

3.需求分析

3.1 功能需求

3.1.1系统需要经过有效的身份验证才可以登录

3.1.2 将登录本系统的身份分为二种:管理员和注册用户,只有被授权的用户才可以使用本系统资源

3.1.3 系统根据用户身份不同,使用的系统资源也不同

  • 管理员:建立软件分类信息、已有软件分类信息变更、上传软件、上传软件管理、注册用户管理
  • 注册用户:查看个人注册信息、修改系统登录密码

3.2 性能需求

  系统对运行环境的要求:

3.2.1 硬件环境

  • 服务器端

随着计算机硬件的高速发展,现在普通的机子已经可以做为一个服务器端使用。

CPU:CⅣ 2.0或更高

硬盘:40G或更多

内存:128M或更高(建议使用256M)

  • 用户端

CPU:CⅢ2.0或更高

硬盘:20G或更多

内存:64M(建议使用128M)

 

3.2.2 软件环境

  • 服务器端

操作系统   ACCESS

网络协议   TCP/IP

Web服务器 Internet Information Server 5.0 / Personal Web Server

数据库     ACCESS

浏览器     IE5.0

  • 用户端

操作系统    Windows 98/Windows 2000/Windows XP

网络协议    TCP/IP

浏览器      IE 5.0

4.总体设计

4.1 系统功能设计

根据系统功能的要求,软件下载管理系统分为三个模块。即软件下载管理系统、注册用户系统、前台信息浏览系统。可以将系统分解成为三个功能模块来分别设计,功能模块间的关系如图3.1.1所示。

 

 

 

 

 

 

 

 

 

图3.1.1

 

对于软件下载管理系统,根据系统功能分析,可以具体细化为软件类别信息维护(类别信息的增加、类别信息的修改、类别信息的删除)、软件信息的维护(软件信息的增加、软件信息的修改、软件信息的删除)、无用文件的清除、注用用户的管理(查看注册用户信息、修改注册用户信息、删除注册用户信息、不常访问系统的用户的清理)。

对于注册用户系统,根据系统功能分析,用户注册、用户信息修改、用户密码修改等.

对于信息浏览系统,根据系统功能分析,分类浏览软件信息、查看高下载软件信息、搜索特定软件、软件下载页面(实现下载软件)。

整个系统的页面逻辑结构示意图如图3.1.2所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.2 系统流程图

本软件下载管理系统的系统流程图如图3.2.1所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.3 数据流程图

关于本系统的数据流程图如图4.3.1所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

    

4.4 数据库设计

4.4.1 数据库的需求分析

根据系统功能设计的要求以及功能模块的划分,对于软件下载系统,可以列出以下数据项和数据结构:

  • 管理员表:管理员ID、用户名、密码等内容。
  • 软件大类: 软件大类ID、类别名称等内容。
  • 软件小类: 软件小类ID、类别名称等内容。
  • 软件信息:软件ID,标题,下载地址,说明等内容。
  • 用户表: 用户ID、用户名,密码等内容

 

4.4.2 数据库的逻辑设计

根据数据库需求分析,可以得到如下数据库表逻辑表信息

  • 管理员表:管理员ID、用户名、密码等内容。

它不需要任何外部数据支持。

  • 软件大类: 软件大类ID、类别名称等内容。

它不需要任何外部数据支持。

 

  • 软件小类: 软件小类ID、类别名称等内容。

它不需要任何外部数据支持。

 

  • 软件信息:软件ID,标题,下载地址,说明等内容。

所需的外部数据支持:

大类名称:指向一大类信息。

小类名称:指向一小类信息。

 

用户表: 用户ID、用户名,密码等内容

它不需要任何外部数据支持。

 

4.4.3 数据库的结构创建

根据数据库需求的分析,建立如下数据表。

  • 名称:管理员(Admin)

标识:Admin

管理员信息表如表4.4.3.1所示:

                          表4.4.3.1

名称

字段名称

数据类型

主键

编号

id

数值

姓名

name

文本

 

登录密码

password

文本

 

最后登录IP

LastLoginIP

文本

 

最后登录日期

LastLoginTime

日期时间

 

最后退出时间

LastLogoutTime

日期时间

 

登录次数

LoginTimes

数值

 

 

  • 名称:下载大类(BigClass_down)

标识:BigClass_down

下载大类信息表如表4.4.3.2所示:

                          表4.4.3.2

名称

字段名称

数据类型

主键

编号

BigClass_id

数值

类别名

BigClass_name

文本

 

 

  • 名称:下载小类(SmallClass_down)

标识:SmallClass_down

下载小类信息表如表4.4.3.3所示:

                          表4.4.3.3

名称

字段名称

数据类型

主键

编号

SmallClass_id

数值

类别名

SmallClass_name

文本

 

 

 

  • 名称:软件下载信息(Download)

标识:Download

下载信息表如表4.4.3.4所示:

                          表4.4.3.4

                        名称

字段名称

数据类型

主键

编号

id

数值

标题

Title

文本

 

说明

Content

文本

 

大类名称

BigclassName

文本

 

小类名称

SmallClassName

文本

 

系统

System

文本

 

语言

Language

文本

 

软件类型

Softclass

文本

 

图片地址

PhotoUrl

文本

 

下载地址

DownloadUrl

文本

 

文件大小

FileSize

数值

 

点击数

Hits

数值

 

增加日期

AddDate

日期

 

 

  • 名称:注册用户信息表(user)

标识:user

注册用户信息表如表4.4.3.5所示:

  表4.4.3.5

名称

字段名称

数据类型

主键

编号

id

数值

姓名

userName

文本

 

密码

Password

文本

 

性别

sex

文本

 

联系电话

tel

文本

 

Email

email

文本

 

最后登录日期

LastLoginTime

日期时间

 

 

 

 

 

 

 

5.详细设计

5.1页面子系统模块

5.1.1欢迎页面

5.1.2 管理员登录

5.1.2.1管理员登录IPO图

    输入:管理员帐号,密码

处理:判断工作证号和密码是否有效。填入工作证号和密码后点击[提交]按钮,系统将自动从数据库中的管理员信息表中判断是否存在相同的管理员和密码,如果有则进入系统,如果不存在或密码错误,则提示帐号或密码有错误的信息。

输出:登录成功,进入系统管理页面。

5.1.2.2 管理员登录页面

 

 

 

 

 

 

主要登录代码如下:

<%

dim sql,rs

dim username,password,CheckCode

username=replace(trim(request("username")),"'","")

password=replace(trim(Request("password")),"'","")

CheckCode=replace(trim(Request("CheckCode")),"'","")

if UserName="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>用户名不能为空!</li>"

end if

if Password="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>密码不能为空!</li>"

end if

if CheckCode="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>验证码不能为空!</li>"

end if

if session("CheckCode")="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>你登录时间过长,请重新返回登录页面进行登录。</li>"

end if

if CheckCode<>CStr(session("CheckCode")) then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>您输入的确认码和系统产生的不一致,请重新输入。</li>"

end if

if FoundErr<>True then

password=md5(password)

set rs=server.createobject("adodb.recordset")

sql="select * from Admin where password='"&password&"' and username='"&username&"'"

rs.open sql,conn,1,3

if rs.bof and rs.eof then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>用户名或密码错误!!!</li>"

else

if password<>rs("password") then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>用户名或密码错误!!!</li>"

else

    RndPassword=GetRndPassword(16)

rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR")

rs("LastLoginTime")=now()

rs("LoginTimes")=rs("LoginTimes")+1

rs("RndPassword")=RndPassword

rs.update

session.Timeout=SessionTimeout

session("AdminName")=rs("username")

session("AdminPassword")=rs("Password")

session("RndPassword")=RndPassword

rs.close

set rs=nothing

call CloseConn()

Response.Redirect "default.asp"

end if

end if

rs.close

set rs=nothing

end if

 

5.1.3 系统管理主界面

系统主界面,以框架的形式进行组织。充分利用框架灵活、方便的特点,使得多个功能选项可以在同一个窗口中打开。

 

5.1.4其它界面介绍

5.1.4.1添加下载一级分类

输入:类别名称

处理:检验类别名称的有效必,并将类别信息写入类别库

输出:若类别添加成功显示添加成功信息

 

 

 

 

 

 

 

主要代码如下:

<%

dim Action,BigClassName,rs,FoundErr,ErrMsg

Action=trim(Request("Action"))

BigClassName=trim(request("BigClassName"))

if Action="Add" then

if BigClassName="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>下载大类名不能为空!</li>"

end if

if FoundErr<>True then

Set rs=Server.CreateObject("Adodb.RecordSet")

rs.open "Select * From BigClass_down Where BigClassName='" & BigClassName & "'",conn,1,3

if not (rs.bof and rs.EOF) then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>下载大类“" & BigClassName & "”已经存在!</li>"

else

       rs.addnew

      rs("BigClassName")=BigClassName

       rs.update

      rs.Close

      set rs=Nothing

       call CloseConn()

Response.Redirect "Down_ClassManage.asp"  

end if

end if

end if

5.1.4.2添加下载二级分类

    输入:一级分类名称,类别名称

处理:检验类别名称的有效必,并将类别信息写入二级类别库

输出:若类别添加成功显示添加成功信息

 

 

 

 

 

 

 

主要代码如下:

<%

dim Action,BigClassName,SmallClassName,rs,FoundErr,ErrMsg

Action=trim(Request("Action"))

BigClassName=trim(request("BigClassName"))

SmallClassName=trim(request("SmallClassName"))

if Action="Add" then

if BigClassName="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>下载大类名不能为空!</li>"

end if

if SmallClassName="" then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>下载小类名不能为空!</li>"

end if

if FoundErr<>True then

Set rs=Server.CreateObject("Adodb.RecordSet")

rs.open "Select * From SmallClass_down Where BigClassName='" & BigClassName & "' AND SmallClassName='" & SmallClassName & "'",conn,1,3

if not rs.EOF then

FoundErr=True

ErrMsg=ErrMsg & "<br><li>“" & BigClassName & "”中已经存在下载小类“" & SmallClassName & "”!</li>"

else

      rs.addnew

rs("BigClassName")=BigClassName

       rs("SmallClassName")=SmallClassName

      rs.update

      rs.Close

       set rs=Nothing

      call CloseConn()

Response.Redirect "Down_ClassManage.asp"  

end if

end if

end if

 

 

5.1.4.3修改分类名称

    输入:新的类别名称

处理:检验类别名称的有效性,并对对应类别信息进行更新

输出:若类别修改成功显示修改成功信息

 

 

 

 

 

 

软件下载管理系统[点击下载]

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论