《软件开发与设计》课程结业报告格式参照.docx
- 文档编号:30726867
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:43
- 大小:915.46KB
《软件开发与设计》课程结业报告格式参照.docx
《《软件开发与设计》课程结业报告格式参照.docx》由会员分享,可在线阅读,更多相关《《软件开发与设计》课程结业报告格式参照.docx(43页珍藏版)》请在冰豆网上搜索。
《软件开发与设计》课程结业报告格式参照
审定成绩:
重庆邮电大学
《软件开发与设计》课程结业报告
课程结业选题:
基于JAVA的网上文件管理系统
学院名称:
计算机科学与技术学院
学生姓名:
专业:
计算机科学与技术
班级:
学号:
指导教师:
雷大江
填表时间:
2012年6月
摘要
随着Internet的快速发展,Internet中的数据管理也越来越复杂,文件也是Internet数据中的一种。
网上文件管理系统是针对Internet时代的数据管理和数据共享需求而开发的。
它可以管理存放在网络中任意点的各种文件,并对这些文件进行添加、修改和删除操作。
特别是对大型公司而言,使用网上文件管理系统还可以解决访问者通过局域网访问时存在的查询搜索不便等问题。
在网上文件管理系统中,客户可以很方便的对数据进行浏览,且操作简单,适合Intranet中各种不同类型、不同程度用户的使用。
本论文所实现的网上文件管理系统是网络资源的一种共享机制。
用Eclipse作为开发工具,Tomcat作为WEB服务器,使用实现MVC模式的STRUTS框架及MYSQL实现后台数据库的管理来设计完成。
系统采用对用户分级管理的方式,为不同级别的用户提供不同的资源服务。
一般来说,网上文件管理系统包含两大服务类,一类是用户管理,一类是资源共享。
其中资源共享有分为对资源的上传、下载及删除。
在网上文件管理系统中,最重要的是权限管理,因为网上文件管理系统的大部分操作都需要权限验证,如何简洁、有效果的进行权限验证,是本系统设计时的一个重要考虑。
【关键词】文件管理用户管理上传下载
前言
随着信息时代的到来,计算机及网络技术的飞速发展,每个企业得到了前所未有的发展机遇,但同时也必须面对市场经济的严重挑战。
企业要求生存、谋发展,就必须进行科学的管理,其中很重要的一方面就是企业的文件管理。
但目前的管理手段和管理方式相对落后,不仅浪费了许多人力和物力,同时也不利于资源共享,已经不能适应新形式下的文件管理工作。
为了减轻管理员工作,提高网络文件管理的高效性,建立一套有效的网上文件管理系统是十分必要的。
此设计是针对Internet时代的数据管理及共享需求而开发的网上文件管理系统。
它可实现用户管理和资源共享两大类服务,在本系统中,用户主要分为管理员和用户两类,用户目录的开发级别主要分为公有和私有两大类。
私有目录不允许除管理员与拥有者外的其他用户进入其中访问,而公有目录则没有这个限制。
在公有目录级别下又设置上传、下载、删除级别,只有在相应级别下,方可在公有目录下对文件进行上传、下载、及删除操作。
本文以一个网上文件管理系统的实现为目标,主要做了以下工作:
第一章主要介绍了网上文件管理系统的需求分析;系统的功能及特点;以及系统设计的方案及运行架构。
第二章概述了系统的概要设计、数据流图、系统用例图以及系统功能模块的划分。
第三章和第四章侧重介绍了整个系统的数据库设计和功能设计。
第五章和结论主要对本文内容进行简要概括,并对后续工作做一些展望。
第一章网上文件管理系统概述
网上文件管理系统主要用于提供资源共享。
由于每位用户希望为其他用户提供的共享服务等级不尽相同,因此要为每个用户设置不同的等级,为每个用户的目录设置不同的访问等级是非常必要的。
在本系统中,用户主要分为管理员和用户两类,用户目录的开发级别主要分为公有和私有两大类。
私有目录不允许除管理员与拥有者外的其他用户进入其中访问,而公有目录则没有这个限制。
在公有目录级别下又设置上传、下载、删除级别,只有在相应级别下,方可在公有目录下对文件进行上传、下载、及删除操作。
第一节系统需求分析
网上文件管理系统需要进行严格的用户认证才可使用。
管理员拥有最高权限,在用户管理方面,可以增加、删除用户,并对用户信息进行修改。
在文件管理方面,可以删除任何目录中的文件,除此之外,管理员在公有目录中,可以根据目录的共享级别上传或者下载文件,在私有目录中,则只能浏览用户的文件列表。
普通用户可以全权管理自己目录的文件,即进行上传、下载及删除的操作。
可以浏览公有目录,根据公有目录的共享级别上传、下载或者上传文件。
当普通用户目录设置为公有时,可以对其他用户进行上传、下载、删除操作的限制。
普通用户不能进入不属于自己的私有目录。
第二节系统功能
网上文件管理系统将用户划分为管理员和用户两类,用户目录的开发级别主要分为公有和私有两大类,他们的权限不同,能够使用的功能也就不同。
网上文件管理系统主要完成的功能有:
用户登录功能;
浏览所有用户功能;
新建用户功能;
编辑用户功能;
删除用户功能;
浏览用户目录功能;
上传文件功能;
下载文件功能;
删除文件功能;
用户注销登录功能。
第三节系统的特点
本系统具有以下特点:
基于B/S(Browser/Server)结构即浏览器和服务器结构。
使用ECLIPSE作为开发工具,TOMCAT作为WEB服务器,由于使用了实现MVC模式的STRUTS框架,使得软件的视图组件(JSP页面)与控制器组件(用于处理业务逻辑)得到了很好的分离。
更利于软件的开发,维护与修改,同时提高了软件的安全性。
同时在界面设计上都使用了模块化处理的思想,把很多页面的共有部分集成一个模块,例如页面的头部和尾部,这样在开发时遇到这些相似的的页面部分,就不需要重新编写,而只要重用这部分代码即可。
第四节系统设计方案及运行架构
由于网上文件管理系统是用于方便用户在网上对文件进行管理,是面向internet的WEB应用,需要使用B/S(浏览器/服务器)架构。
B/S架构的用户使用的是人们上网冲浪时必不可少的浏览器。
这种方式简单易学,培训成本低,因此B/S架构得到迅速拓展。
根据以上的分析,确定系统的运行服务器为开源组织Apache的开源服务器tomcat,使用基于开源框架struts技术完成动态交互功能,后台的数据库则使用MYSQL,系统架构图如图1.1所示。
图1.1系统的架构图
第五节本章小结
本章介绍了网上文件管理系统的需求分析、系统的功能及特点、以及系统设计的方案及运行架构,为系统的设计和实现打下了基础。
第二章系统概要设计
第一节系统设计思想
本系统使用实现了MVC(视图-模型-控制器)模式的STRUTS框架来进行整个系统的架构。
系统按照功能划分成许多小的模块,每个模块独立存在,模块与模块之间是一种松散耦合关系,非常有利于系统的维护与扩充。
同时每个模块又按照MVC模式划分为视图、模型、控制器3个组件,其中视图组件为JSP页面文件,是用户与系统的交互界面;模型组件是一个用于在视图组件和控制器组件之间传递表单数据的java类;控制器组件是一个用于处理业务逻辑,控制全局页面跳转等业务的java类。
网上文件管理系统的作用在于提供给用户方便安全的管理文件,这种管理文件的方式即是上传文件和下载文件。
因此,对于文件的管理是网上文件管理系统的一个核心功能。
管理文件的权利只能给予特定的人和文件所有人,否则容易失去秩序,基于同样的考虑,删除修改文章的权利也只能提供给特定人群(即管理员)和文件所有人。
因此,用户的划分应该成为网上文件管理系统的一个核心思想,系统将用户划分为用户、管理员两类,他们的权限不同,各司其职,其中,管理员拥有最高的权利,可以对用户、文件两个对象进行增加、删除及修改的操作。
第二节数据流图
数据流图,即DFD图(DataFlowDiagram),是用于分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。
网上文件管理系统的第一层数据流图如图2.1所示,描述系统由哪几部分组成,各部分之间有什么联系。
图2.1网上文件管理系统的第一层数据流图
第三节系统用例图
用例图用来确定需求的范围,这些需求是设计开发的依据。
用例图将系统看作墨盒,从外部执行者的角度来理解系统。
图中的用例是用户与计算机之间的一次典型交互作用,在UML中,用例表示为一个椭圆。
执行者是指用户在系统中所扮演的角色。
其图形化的表示是一个小人。
这里需要注意的是,执行者在用例图中是用类似人的图形来表示的,但执行者未必是人。
例如,执行者可以是一个外界系统,该外界系统可能需要从当前系统中获取信息,与当前系统进行交互。
网上文件管理系统的用例图如图2.2所示:
图2.2网上文件管理系统的用例图
第四节系统功能模块划分
根据上面的系统功能分析,可以画出系统的功能模块图,本系统从普通用户界面,管理员界面对功能模块加以描述。
一、普通用户功能模块
普通用户可以全权管理自己目录的文件,即进行上传、下载及删除的操作。
可以浏览公有目录,根据公有目录的共享级别上传、下载或者上传文件。
当普通用户目录设置为公有时,可以对其他用户进行上传、下载、删除操作的限制。
普通用户不能进入不属于自己的私有目录,普通用户的功能模块如图2.3所示:
图2.3普通用户功能模块图
二、管理员界面的系统模块
管理员拥有最高权限,在用户管理方面,可以增加、删除用户,并对用户信息进行修改。
在文件管理方面,可以删除任何目录中的文件,除此之外,管理员在公有目录中,可以根据目录的共享级别上传、下载文件,在私有目录中,则只能浏览用户的文件列表,管理员的功能模块如图2.4所示:
图2.4管理员功能模块图
第五节本章小结
本章讲述了网上文件管理系统的概要设计、数据流图、系统用例图以及系统功能模块的划分。
第三章数据库设计
第一节数据模型设计
根据前面的需求描述,本系统中所涉及的可以抽象出来的数据模型有:
用户(User)、用户文件(UserFile),这些数据模型在系统中相互联系。
用户(User):
代表用户实体。
主要属性有用户ID(id)、用户名(username)、密码(password)、磁盘大小(diskquota)、允许上传(canupload)、是否公有(ifpublic)、用户等级(grade)、允许下载(candownload)、允许删除(candelete)。
用户文件(UserFile):
代表用户文件实体。
主要属性有文件编号(fileId,自动增长)、文件类型(fileType)、拥有者(owner)、文件名(filename)、文件大小(filesize)、上传时间(uploadtime)、位置(location)。
为了描述各个数据模型,可以使用实体关系图(EntityRelationshipDiagram,ERD)。
用ERD描述数据模型能够预先精确定义数据需求,从而能够对以后的改动做出有效的规划。
本系统的ERD如图3.1所示:
图3.1网上文件管理系统的ERD
第二节数据库逻辑结构设计
对应于数据模型,设计出的数据库一共分为两张表,即用户表(user)和文件表(file)。
数据库的名称为filemanager,建立数据库的SQL语句如下。
Createdatabaseifnotexists‘filemanager’;
表的具体结构如下。
一、用户信息表
用户表(user)有如下字段:
用户ID(id)、用户名(username)、密码(password)、磁盘空间大小(diskquota)、是否公开(ifpublic)、允许上传(canupload)、允许下载(candownload)、允许删除(candelete)和用户级别(grade)。
其中id为主键,不允许重复,不允许为空。
其定义如表3.1所示:
表3.1用户信息表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
id
int
4
不允许
是
用户ID
Username
varchar
100
不允许
否
用户名
Password
varchar
100
不允许
否
密码
diskquota
float
不允许
否
磁盘大小
ifpublic
tinyint
1
不允许
否
是否公有
canupload
tinyint
1
允许
否
允许上传
candownload
tinyint
1
允许
否
允许下载
candelete
tinyint
1
允许
否
允许删除
grade
varchar
10
允许
否
用户等级
下面是建立用户信息表的SQL语句。
CREATETABLE`user`(
`id`int(4)NOTNULLauto_increment,//用户ID
`username`varchar(100)NOTNULL,//用户名
`password`varchar(100)NOTNULL,//密码
`diskquota`floatNOTNULL,//磁盘大小
`ifpublic`tinyint
(1)NOTNULL,//是否公有
`canupload`tinyint
(1)default'0',//允许上传
`candownload`tinyint
(1)default'0',//允许下载
`candelete`tinyint
(1)default'0',//允许删除
`grade`varchar(10)default'user',//用户等级
PRIMARYKEY(`id`)//设置id为主键
)
二、文件信息表
文件信息表(file)拥有如下字段:
ID、文件类型(fileType)、拥有者(owner)、文件名(filename)、文件大小(filesize)、上传时间(uploadtime)、位置(location)。
其中fileId为主键,不允许重复,不允许为空。
其定义如表3.2所示:
表3.2文件信息表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
owner
int
4
不允许
否
拥有者
fileId
Integer
10
不允许
是
文件id
fileType
vahchar
100
不允许
否
文件类型
filename
vahchar
300
不允许
否
文件名
filesize
float
不允许
否
文件大小
uploadtime
date
不允许
否
上传时间
location
varchar
300
不允许
否
位置
下面是建立用户信息表的SQL语句。
CREATETABLE`file`(
`owner`int(4)NOTNULL,
`filename`varchar(200)NOTNULL,
`filesize`floatNOTNULL,
`uploadtime`dateNOTNULL,
`location`varchar(300)NOTNULL,
`fileId`int(11)NOTNULLauto_incrementCOMMENT'上传文件的id',
`fileType`varchar(45)NOTNULLdefault'',
PRIMARYKEY(`fileId`)
)
创建好表之后的数据库如图3.2所示:
图3.2系统的数据库结构示意图
第三节本章小结
本章设计了系统的整体架构,对于数据模型,设计出了数据库filemanager的两个表,用户表(user)和文件表(file)。
Ff
Ffff
第四章系统详细设计
网上文件管理系统分为管理员和普通用户两大类。
所有用户(管理员、用户),提供的功能包括登录系统、下载文件、上传文件、注销登录。
管理人员(管理员),提供的功能包括管理用户、管理文件。
系统入口:
http:
//localhost:
8080/FileManager/
第一节系统用户界面设计
一、用户登录
用户在浏览器中输入http:
//localhost:
8080/FileManager/,即可进入用户登录页面。
此页面是系统唯一的入口,管理员及用户都在此处进行身份验证,如图4.1所示:
图4.1用户登录界面
如果用户没有通过身份验证,则请求将被转发到消息页面,页面会显示提示消息:
“登录失败,用户名与密码不匹配”,如图4.2所示:
图4.2登录失败
二、用户功能界面
当用户通过了身份验证,则转到用户列表页面。
页面上指明了当前登录的用户,例如deboer。
页面显示出所有用户,并提供新建、编辑、删除用户的入口。
当然,这些对用户的操作只能由管理员进行。
所有用户都可以通过用户的链接进入该用户的目录(如果该用户被允许进入目录的话),如图4.3所示:
图4.3用户列表页面
页面的右上角提供了“新建用户”的链接。
此功能仅允许管理员使用,如果非管理员试图进行此操作,则会进入消息页面,显示提示消息:
“很抱歉,您不是管理员,不能添加用户!
”,如图4.4所示:
图4.4非管理员不能添加用户
三、新建用户功能
当管理员单击“新建用户”链接,则会转到新建用户页面,如图4.5所示,对用户的磁盘大小,目录开发限制及用户等级进行初始设置。
图4.5新建用户页面
设置完成之后,页面将跳转回用户列表页面,如图4.6所示,列表中已经新增了用户hudebo。
图4.6新增用户hudebo
四、编辑管理用户功能
页面中每个用户行都提供了“编辑”链接,提供修改用户的入口。
此功能仅允许管理员使用,如果是非管理员不能修改用户,如图4.7所示:
图4.7非管理员不能修改用户
当管理员使用某行用户的“编辑”链接,则会跳转到修改用户页面。
对用户的磁盘大小,目录开放限制及用户等级重新设置。
页面显示出这些原来的内容。
以用yu为例,如图4.8所示:
图4.8修改用户yu
经过设置,yu用户的目录现在对所有用户开放,如图4.9所示,yu用户的目录已经允许察看。
图4.9用户yu目录由私有变为公有
页面每个用户列表都提供了“删除”链接,提供删除用户的入口。
此功能仅允许管理员使用,如果是非管理员则不能删除用户,如图4.10所示:
图4.10非管理员不能删除用户
当管理员对某行用户使用“删除”链接,则会从数据库中删除该用户,从文件中删除用户拥有的目录,然后转到用户列表页面。
以hudebo为例,将其删除之后,列表中已经不存在hudebo用户,如图4.11所示:
图4.11删除了用户hudebo
用户列表提供了用户名的链接,以提供进入该用户目录的入口,但此入口仅当用户为管理员,或者目录为公有目录是才允许非拥有者进入。
当然,用户可以自由进出自己的目录。
如果用户不满足进入目录的条件,则转入消息页面,出现提示消息:
“很抱歉,您未被赋予查看此目录的权限!
原因可能为:
您不是管理员或者拥有者,或者此目录未对公众开放”,如图4.12所示:
图4.12不能进入目录的情况
当用户符合进入某个目录的条件时,则跳转到文件列表页面。
如图4.13所示,此时用户yu进入的是deboer的目录。
图4.13文件列表页面
五、文件的上传、下载及删除功能
用户可以在自己目录中自由地进行上传、下载及删除文件的操作。
如图4.13所示,当用户yu上传了文件login.jsp后,列表中更新了文件信息,可以看出文件名、文件大小、上传时间等。
图4.13上传了文件login.jsp
当管理员使用某行文件的“删除”链接,则会从数据库中删除该文件的信息,从文件系统中删除该文件,然后转到文件列表页面。
在目录中,只有符合许可条件时才能对文件进行上传、下载及删除操作。
这些许可条件如下。
删除:
拥有者及管理员且要拥有者开放权限;上传:
拥有者及管理员且要拥有者开放权限;下载:
拥有者及管理员且要拥有者开放权限。
当用户hudebo进入用户yu的目录试图上传文件时,系统检查到hudebo不是管理员或yu目录并未开放上传权限,于是将请求转发到消息页面。
当用户符合“下载”操作的条件,则会跳出文件下载的窗口,以下载用户选定的文件,如图4.14所示:
图4.14下载文件
六、注销登录功能
当用户单击页面右上角的“注销登录”链接,则会注销此次登录,回到用户登录页面,如图4.15所示:
图4.15注销登录
第二节系统功能模块详细设计
本节将按照每个功能的划分依次讲述系统的实现细节,思路依照网上文件管理系统的操作流程,追踪各项操作的内部运行机制及运行效果,按照各个功能点来详细阐述系统的编码实现过程。
对于每个功能点的阐述将按照Struts框架来进行,即讲述每个功能的MVC架构的各个组件(模型、视图、控制器),以及它们是如何有机组合,协调工作的。
一、用户登录功能
1、实现用户登录功能的组件
用户登录功能是通过视图组件login.jsp;模型组件LoginForm.java;控制器组件LoginAction.java共同实现的。
在struts配置文件中,这几个组件被有机的组织起来,以协同工作,共同完成用户登录功能。
下面是配置文件中组织这几个组件的相关代码:
在视图组件login.jsp中,提交表单将发出login.do请求,从配置文件struts-config.xml可以看到:
login.do请求将访问控制器组件fm.action.LoginAction。
而模型组件fm.form.LoginForm将获取的数据传递给这个控制器组件进行处理,此部分的逻辑关系如图4.16所示:
图4.16登录功能各组件间的关系
2、视图组件
Login.jsp的主要功能是提供用户登录时填写身份信息的表单。
当用户填写完信息后,单击“登录”按钮将提交login.do请求,该请求将传递给控制器组件LoginAction.java。
表单中包含了“用户名”及“密码”文本框控件获得数据,其property属性值依次为username、password。
要注意此处的property属性值必须与模型组件LoginForm类对象中的属性名严格一一对应,否则将会出错。
3、模型组件
LoginForm.java的作用是获取来自视图组件login.jsp中的数据,并将其传递给控制器组件进行处理。
LoginForm类的属性有:
username、password。
它与视图组件login.jsp的表单中所包含控件的property属性值需要严格对应。
LoginForm类需要提供与上述属性相对应的get/set方法。
4、控制器组件
Login.do请求将访问控制器组件LoginAction类。
该类的作用是获取模型组件LoginForm类传递过来的数据,并经过查询数据库进行身份验证,操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件开发与设计 软件 开发 设计 课程 结业 报告 格式 参照