当前位置:首页 > 个人文件管理系统的设计与实现 - 图文
陕西理工大学数学与计算机科学学院实训报告
另外,从用户操作的角度出发,使用系统应该感受到较好的便捷性,即通常所说的系统设计以人为本的思想。综合考虑,对系统设计提出如下几点要求:
1.便捷性:系统以便捷的信息访问为首要目标,以方便用户使用为核心原则,需要充分考虑实际操作的各项细节,支持多种终端接入。这种追求近乎完美的操作体验正是著名的苹果公司创始人乔布斯先生所推崇的,当然本系统以这种指导思想为目标,努力做到尽善尽美,最终通过用户的不断反馈将及时调整,力争做到方便用户操作。在不需要查看操作帮助的情况下也能轻松直观的操作,并对操作流程有清晰的理解。
2.实用性:包括系统功能和系统信息呈现以实用为目标,不添加华而不实的部件与功能,既不丢失必要的信息,又能简单直观,以传达信息为核心,对文字记录和图片发布能提供较好的功能封装。另外通过系统能及时了解多方面多渠道的信息,体现系统的核心价值。
3.可靠性:由于多用户的同时访问,因此系统要具备可靠的性能处理要求,能支持多用户并发访问和并发操作。同时所有的用户数据都存放在服务器上,要求数据存取可靠安全,尽量避免丢失用户创建的资料或数据状态不一致现象。
4.可维护性:针对系统后期的功能调整或增删,应尽量减少维护的工作量。对用户来说,对系统中自己的资料的操作也应该方便查阅和维护。
2 系统需求论述
根据前面的分析与定位,本系统主要用于校内同学的使用,因此需求的重点也反映在同学平时生活中的明显的和一些潜在的期望。就主要功能来说,核心在于创建自己的文件空间,在文件空间中方便的发表文件,同时能方便地查阅自己的文件。同时由于潜在的需求期望增加获取信息的渠道。另外系统提供站内信功能,帮助简化互发消息的管理,这样系统能自主控制所有消息,并能保留消息的历史信息,方便消息维护。
这里为了方便叙述,特预先约定几个使用的名词术语的确切含义:
个人文件空间:指网上由一到多个页面组成的、由用户自己管理上传的。所有者可以设置其基本信息和呈现方式,可以在空间中发布自己的文档、图片、音频、视频信息。
文件:上传在文件空间的一条信息,可能是文字描述,可能是图片,也可能是音频、视频,也可能是混合形式。一般由文件空间的所有者上传。空间显示的时候一般按照时间由近到远的顺序进行显示。
用户:指登录进入系统的一般用户,可能是普通的注册用户,并没有开通自己的文件空间。这里泛指系统中的正常用户。
综合上述,得到系统的功能性需求如下图。
2
陕西理工大学数学与计算机科学学院实训报告
系统用户的用例图
其中各功能性需求简要说明如下:
简单的系统登入登出及注册功能在这里不再详述。
用户角色能操作的功能主要集中于自己的文件空间方面,主要包括:上传文件管理,查看文档、图片、音频、视频数据列表,关键字管理,文件管理。这几个模块的访问一般是用户本人才能操作。
对系统的非功能性需求方面的要求,主要体现在性能需求和可靠性需求两个主要方面,下面从这两个核心的角度加以说明。
性能需求:由于属于Web服务型项目,这必然要求系统能承受大量的同时在线用户访问的问题。目前来看,只要系统结构设计得当,只需要保障硬件平台的性能需求就能将并发访问需求控制在合理的承受范围。因此虽然访问量和发布量大,但相对独立,运用软件架构可以很好的处理,同时使用应用服务器自身提供的集群特性可以很好地解决压力承受的性能要求。[4,5,6]
可靠性需求:由于不是重要的支撑平台,即使系统停机较长时间,也不会带来太大的损失,但可能会给用户造成很大的困扰,因此可以将可靠性需求映射到底层的支撑软件平台上,如使用Java应用服务器和mySQL数据库服务器,其本身较高的可靠性要求可以大体上实现本系统对整体可靠性的要求,同时结合软件架构内合理的辅助型框架应该能较好的满足可靠性要求。[4,6]
3
陕西理工大学数学与计算机科学学院实训报告
3 系统分析与设计
基于系统的需求,这个章节主要陈述分析得出系统的分析模型和设计模型,从逻辑上理解系统的实现方式和操作方式。下面叙述中没有严格按分析和设计划分小节,而是大体按照几个主题进行了陈述,将分析结果与设计结果大体连贯起来,后续的章节将介绍具体的实现。
3.1 系统的总体分析
针对B/S结构来说,整个系统服务都集中于服务器端,对服务器的架构设计一般使用3层架构或多层架构,这在Java体系结构设计中非常普遍。本系统使用常见的三层架构,即界面表示层、业务逻辑层、数据持久层。
整个系统的总体结构
系统总体布局如上图,客户端如需求所述,可能是PC机上的浏览器,也可能是基于手机的客户端,通过使用Web访问。如果将Web接口包装成Web Service接口,则可以接入更多类型的访问设备。其中表示层的职责主要集中于处理Web页面的数据显示、接收用户输入和各类操作,属于整个系统的最前端,但其中没有系统的操作逻辑,仅仅包含简单的页面交互方面的处理逻辑,一般使用JavaScript脚本来生成浏览器端的交互逻辑,并使用脚本将输入数据或操作结果反馈到后台业务逻辑层。这部分内容借鉴了课程《Web程序设计》和《Java高级编程》中的知识,使用了Dreamweaver,这是一个针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页,这极大地减轻了表示层开发的工作量。在设计的过程中,深深体会到了封装以及基于组件开发带来的好处,具体地体会到了《软件工程》课程中的原来较为抽象的思想。
下图显示了整个系统的架构图。
4
陕西理工大学数学与计算机科学学院实训报告
系统体系架构
3.2 分析类的获取
确定了主要的系统用例,接下来需要得出分析类模型,用于评估整个系统,也起到了承接分析与启下设计的作用。归纳一下系统的功能,并综合操作特性,得到如下几个综合的操作界面类型:
主页面(index.jsp):是系统的首页面,主要呈现登录模块、搜索模块、系统下载模块、关于我们等信息。
个人主页面(main.jsp):用于个人有关的信息设置与管理,包括个人文件汇总信息(一个用户可以有多个文件空间)、个人信息管理模块、搜索模块、登录模块。
搜索页面():主要用于站内的信息搜索,包括用户、文件空间、文件关键字、一般包含信息的搜索及其结果。
控制类的作用集中体现了系统的业务逻辑,因此最终的控制类大部分都映射到了业务逻辑层,根据用例模型中的系统功能性描述,经过统筹安排,得出系统中的控制类如下:
登录控制(LoginServlet):专门负责登录的控制逻辑。 注册控制(RegisterServlet):专门处理新用户注册的问题。
查找功能在各个对象上都有体现,最终界面将分类显示,因此查找功能这样组织: 文件操作(FileService):用于统一各类查询及文件的删除,下载。 文件类型控制(GetFile):用于查询不同类型的文件。
用户查询(UserService):用于对用户进行各类信息进行筛选查询。 文件上传(FileUploadServlet): 用于文件的上传。
5
共分享92篇相关文档