




免费预览已结束,剩余61页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
厦门大学本科毕业论文文学发布及欣赏网站系统摘 要文学发布及欣赏网站系统是一套基于web的富互联网应用系统 ,为广大文学爱好者提供简洁快速的文学作品发布和直观优雅的欣赏平台。本系统分为居于浏览器的富互联网应用程序前台客户端和后台服务两大部分。本论文分析了文学发布及欣赏网站系统的应用和特点,根据该系统的具体需求,设计并实现了系统的各项功能。客户端主要包括作者的管理、作者信息的显示、作者信息的修改、作品发布和作品欣赏五个模块。作者的管理模块提供了在作者的状态信息发生改变时通知其它模块进行相应改变的功能;作者信息的显示模块实现了作者个人信息的在首页的显示;作者信息的修改模块实现了作者个人信息的可修改;作品发布模块提供了简便的作品上传、发布功能;作品欣赏模块为读者提供多种形式显示作者发布的诗集和书籍。后台服务主要为客户端提供以数据库为中心的文件存取功能和AMF远程过程调用。实验结果说明,本论文设计和实现的文学发布及欣赏网站系统能够满足用户发布及欣赏文学作品的基本需求。关键词:富互联网应用程序;远程过程调用;客户端;AMFAbstractThe Literature Publishing and Appreciating System is Rich Internet Application system based on web.It provides a platform for all the literature lovers that they can publish works conveniently and quickly and appreciate the works gracefully.This system has two parts including the RIA front client-side in the browser and the background service.This paper analyzed the application and features of the Literature Publishing and Appreciating System.According to the requirements analysis of the system, all functions of the system are designed and implemented.The client side includes five modules as author management,author information display,author information change,works publish and works appreciate.Module of author management provides functions of informing other modules to proceed corresponding changes when state information of author changes.Module of author information display implements display of individual information of author.Module of author information change implements the revisability of individual information of author.Mmodule of work publish provides convenient function of work upload and publish.Module of work appreciate provides various styles of the show of poems and books published by authors.Background service provides for client-side database-centered file access function and AMF Remote Process Call.The Experimental results show that the system developed in this paper meets the basic demands of users in the Literature Publishing and Appreciating System.Keywords: Rich Internet Applications(RIA);Remote Process Call(RPC);Client;Action Message Format(AMF)目录引言1第一章需求分析41.1概述41.2功能分析61.2.1作者的管理61.2.2作者信息的显示71.2.3作者信息的修改81.2.4作品发布91.2.5作品欣赏91.2.6后台服务10第二章 总体设计132.1概述132.2总体结构132.3初始化模块的设计162.3.1技术分析162.3.2设计方案172.4作者管理模块的设计172.4.1技术分析172.4.2设计方案182.5作者信息显示模块的设计192.5.1技术分析192.5.2设计方案192.6作品欣赏模块的设计192.6.1技术分析192.6.2设计方案202.7作品管理模块的设计212.7.1技术分析212.7.2设计方案222.8作者信息编辑模块的设计222.8.1技术分析222.8.2设计方案232.9后台服务模块232.9.1技术分析232.9.2设计方案242.10总结24第三章 详细设计253.1总体结构253.2系统类图253.3初始化模块的实现263.4作者管理模块的实现283.5作者信息显示模块的实现293.6作品欣赏模块的实现313.7作品管理模块的实现353.8作者信息编辑模块的实现373.9后台服务模块的实现393.10总结42第四章实验结果与分析434.1实验目的434.2实验结果分析434.2.1作者的管理434.2.2作者信息的显示454.2.3作者信息的修改454.2.4 作品发布474.2.5作品欣赏51第五章总结与展望57致谢58参考文献59ContentsIntroduction1Chapter 1 Demand Analysis41.1 Overview41.2 Functions Analysis61.2.1 Author management61.2.2 Author Information Display71.2.3 Author Information Change81.2.4 Works Publish91.2.5 Works Appreciate91.2.6 Background Service10Chapter 2 Overall Design132.1 Overview132.2 Overall Frame132.3 Initial Module Design162.3.1 Technology Analysis162.3.2 Design Programme172.4 Author Management Module Design172.4.1 Technology Analysis172.4.2 Design Programme182.5 Author Information Display Module Design192.5.1 Technology Analysis192.5.2 Design Programme192.6 Works Appreciate Module Design192.6.1 Technology Analysis192.6.2 Design Programme202.7 Works Management Module Design212.7.1 Technology Analysis212.7.2 Design Programme222.8 Authot Information Edit Module Design222.8.1 Technology Analysis222.8.2 Design Programme232.9 Background Module Design232.9.1 Technology Analysis232.9.2 Design Programme242.10 Summary24Chapter 3 Detailed Design253.1 Overall Frame253.2 System Class253.3 Initial Module Accomplish263.4 Author Management Module Accomplish283.5 Author Information Display Module Accomplish293.6 Works Appreciate Module Accomplish313.7 Works Management Module Accomplish353.8 Authot Information Edit Module Accomplish373.9 Background Module Accomplish393.10 Summary42Chapter 4Results and Analysis of Experiment434.1 Purpose of Experiment434.2 Results Analysis of Experiment434.2.1 Author management434.2.2 Author Information Display454.2.3 Author Information Change454.2.4 Works Publish474.2.5 Works Appreciate51Chapter 5Conclusions and forecast57Acknowledgements58References5960引言Web技术的发展,使得管理系统的开发更方便、功能更强大,在此系统的开发过程中,Web技术起了一个骨架式的支持作用;与此同时,组件技术的发展为系统的开放性和集成性提供了便利,有效合理地引入组件技术是当前Web系统开发与发展的一个方向。通过对系统的开发进行建模、形象直观的图形化表示,可以显示系统的流程与功能,选择有效的建模方法,充分利用Web技术与组件技术,提高软件的开发效率以及软件的可靠性和可维护性。对于基于Web技术的应用系统,用户直接面对的是客户端浏览器,用户在使用系统时,请求之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。运算后得到的结果再通过浏览器的方式返回给用户。这个过程可分成一些子步骤,每一个子步骤的完成可理解为通过一个单独的应用服务器来处理,这些应用服务器在最终得到用户所需的结论之前,相互之间还会进行一定的数据交流和传递。整个Web应用系统分为客户端和服务端。对于客户端,是通过浏览器呈现在用户面前,传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富因特网应用程序(Rich Internet Applications,缩写为RIA)的出现也就是为了解决这个问题。 富因特网应用程序是下一代的将桌面应用程序的交互的用户体验与传统的Web应用的部署灵活性和成本分析结合起来的网络应用程序。富因特网应用程序 中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。结合了声音、视频和实时对话的综合通信技术使富因特网应用程序(RIA)具有前所未有的网上用户体验。 “富”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。数据中的“富”意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模 型,它可以操作客户端的计算和非同步的发送接收数据。这种模式相对于传统的HTML页面的优点是程序运行于客户端并且程序更多的是和用户进行交互同时更少的和服务器进行交互。平衡客户端和服务器端的复杂的数据模型可以让你有更大的空间去创建更高效和更具有交互性的网络应用程序。“富”同样也描述了全面提升的用户界面,HTML只给用户提供了非常有限的界面控制元素,而富因特网应用程序(RIA)的用户界面提供了灵活多样的界面控制元素,这些控制元素可以很好的与数据模型相结合。传统的因特网模型使用线性的设计,提供给用户一些选择然后用户发送选择结果给服务器,这种单一的模式不符合应用程序的灵活交互的要求和用户的意愿。频繁的服务器请求和页面刷新有很多的缺点,包括页面打开缓慢和降低网络带宽。如果采用富客户界面,可以从以前的服务器响应影响整个界面,转移到只有收到请求的应用程序部分才会做出相应的变化。这本质上意味着界面被分解成许多独立的模块,这些模块都会对收到的信息做出相应的反应,有些会和服务器端进行交互,有些是这些模块之间的通信。 服务端多采用J2EE、ASP.Net、PHP等技术语言开发,其中J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化并且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。在J2EE架构下,开发人员可依循规范基础,进而开发企业级应用;而不同J2EE供货商,同会支持不同J2EE版本内所拟定的标准,以确保不同J2EE平台与产品之间的兼容性。换言之,基于J2EE架构的应用系统,基本上可部署在不同的应用服务器之上,无需或者只须要进行少量的代码修改,即能大幅提高应用系统的可移植性。它的特点是:对于开发人员而言,只需要专注于各种应用系统的商业逻辑与架构设计,至于底层繁琐的程序撰写工作,可搭配不同的开发平台,以让应用系统的开发与部署效率大幅提升;克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、 可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。但J2EE是一个标准,而不是一个现成的产品。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。它的特点是:开放的源代码;所有的PHP源代码事实上都可以得到;PHP是免费的;基于服务器端,由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下;简单的语言,PHP坚持脚本语言为主,与Java以C+不同。效率高,PHP消耗相当少的系统资源;图像处理,用PHP动态创建图像。本论文结合RIA客户端的和服务器端个平台语言的特点,采用Flex开发RIA客户端,Flex 是 Macromedia发布的展现服务,它是java web container或者.net server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得Flash文件,传送到客户端,由客户端的 flash player或者shockwave player解释执行,给用户以丰富的客户体验;采用Apache+PHP+Mysql作为整套后台服务,利用AMFPHP框架采用AMF协议(AMF:Action Message Format)是一种 binary format的资料型态,透过 AMF over HTTP的方式将flash端的资料编码后传回server,server端的remoting adaptor接收到资料后则会译码回正确的native对象,交给正确的程序处理进行数据传输。第一章 需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件。需求分析的基本任务是准确地回答“系统必须做什么”这个问题,它的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。为了使本系统的使用者和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础,明确系统需要实现的功能,确定需求边界,特做此需求说明。文学发布及欣赏网站系统的主要功能是发布和欣赏文学作品,是一种典型的客户端浏览器显示和服务端数据存储的web应用系统。而整个应用系统的搭建还需要各种辅助功能来完成。1.1概述对于文学系统的使用者,有两种身份:读者和作者。读者是广义的,只要是使用者都可以算做是读者;而作者是指在该系统中注册了的用户,拥有一片自己的文学空间,可以发布自己的文学作品。基于web的文学发布及欣赏网站系统分为RIA客户端和后台服务端,主要是为读者欣赏和作者发布服务的。对于RIA客户端它需要关注以下几个方面的功能: 作者的管理 作者信息的显示 作者信息的修改 作品发布 作品欣赏而后台服务主要关注的是: 数据的存储 数据库设计 文件的管理我们可用功能层次图清晰的显示客户端和后台服务的各项功能。表示运作的最简单的方法就是用层次框图。功能层次图最上面的方框表示的是该模块的使命。然后确定出为实现这一使命而需要实施的主要行为。把这些主要行为填入附属于使命方框的下一级方框中。对每个主要行为,再确定出需要实施的行为。如此继续下去,直至满足要求。RIA客户端功能层次图如下:图1.1 RIA客户端功能层次图后台服务功能层次图如下:图1.2 后台服务功能层次图1.2功能分析1.2.1作者的管理该系统在使用后,在系统内注册的作者会很多,但是用户使用查看功能时一般是查看某一特定作者某些特定信息,如:作者的个人信息、发布的作品信息等;另外,用户很可能需要随时返回到作者列表,重新选择其他作者,查看其相关信息或作品。因此,该系统就需要提供方便的作者关系功能,使得用户能够在各个作者的页面之间实现方便、快捷的切换。我们可以用状态转换图来表示实现该功能后用户的使用状态。状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。该类图中的事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。用户自主的选择、切换所浏览页面的状态图如下: 图1.3 状态图实现了“作者的管理”中的功能,每个用户就可以按照图中的状态自由的根据自己的需要选择和查看希望查看的作者信息以及他的作品。1.2.2作者信息的显示在该文学发布及欣赏网站系统中,用户进入系统后首先通过作者列表(作者列表显示每个作者的头像)来选择自己感兴趣的或者需要查看的作者,再进入该作者的首页,查看其个人信息或者是发布的作品;每一个作者通过显示自己的头像、个人基本信息和个性签名等,展示自己的特点并吸引其他用户的浏览意向。因此,系统需要提供显示作者信息的功能,使得每个作者的信息可见,方便每个作者的信息展示和每个用户的查看。我们可用层次架构图清晰的展现“作者信息显示”中的显示内容,以及各个显示内容之间的层次结构关系。如图所示:图1.4 层次结构图1.2.3作者信息的修改已注册作者在发布自己的信息之后,必然需要改动和更新信息,以便更好的展示自己,完善自己的页面;另外,作者可能需要修改自己的登录密码以确保自己的页面及作品安全。因此,该系统需要提供给已登录用户方便的信息修改及密码修改功能,使得用户能够及时更新自己的个人信息、保护自己的页面。可以用流程图表示用户修改信息时的整体流程。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图是流经一个系统的信息流、观点流或部件流的图形代表,主要用来说明某一过程,这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。它的基本思想是用图形符号描绘组成系统的每个部件。作者信息修改的流程图如下:图1.5 流程图1.2.4作品发布作品发布是文学发布及欣赏网站系统中最重要的功能之一,每个作者可以通过作品发布功能在该系统中发布原创或转载的作品,提供作品的相关信息,包括题目、作者、分类、体裁等。通过这一功能,作者可以展示自己原创的文学作品;分享转载的作品;为其他用户提供丰富的浏览欣赏资源,从而提高自己的知名度,提高自己页面的访问量,更好的将自己的作品展现出来。因此该系统要为每个注册用户提供简单方便的作品发布功能,以便不同电脑操作水平的用户都能较简便、顺利的发布作品,丰富自己的作品信息。 作品发布的层次结构图如下:图1.6 作品发布的层次结构图1.2.5作品欣赏作品欣赏是文学发布及欣赏网站系统中的另一个重要功能,每个用户都可以通过这一系统欣赏其他作者发布的作品。为了使用户摆脱单调的电子书式的查看作品方式,增加文学作品查看的娱乐性、欣赏性和互动性,该系统要为用户提供舒适、自由的作品查看方式,包括:用户自己选择的展示文字方式(书或卷轴)、字体的颜色、展示文字的方向(从左至右或从右至左)、展示速度的快慢等。通过这些,每个用户可以自主的根据自己的喜好选择欣赏文学作品的方式,这样既提高了欣赏者欣赏的趣味性和娱乐感,而且对于作者作品的流传和推广有很大意义。作品欣赏的层次架构图如下:图1.7 作品欣赏的层次架构图用户在进行文学作品欣赏时,主要通过三个方面改变作品的显示风格,以满足自己的喜好。这三个方面分别是:欣赏方式、文字次序、字体颜色。这是三个并列的可调整项。再将这三个方面细分,则欣赏方式可分为Book和Roller;文字次序可分为从左至右和从右至左;字体颜色则可以从若干颜色中任意选择。1.2.6后台服务任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。通常采用建立数据模型的方法。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。该系统的后台服务包括数据的存储、数据库设计和文件的管理。为了把数据要求清楚、准确地描述出来,我们建立一个概念性地数据模型。概念性数据模型是一种面向问题地数据模型,按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,反映了用户的现实环境,与在软件系统中的实现方法无关。该系统中,作者、读者与文学作品之间的实体联系模型图如下:图1.8 实体联系模型图用实体/关系模型表现实体之间的关系如下:图1.9 实体/关系模型现在对该ER图进行分析,首先,当事人实体包括作者和读者,其中ID是唯一标识的,其他则为可选属性;文学作品实体,ID是唯一标识的,其他则为可选属性。在该图中,当事人中的作者可以发布多个文学作品,而文学作品也可由多个作者发布;当事人中的读者可以查看多个文学作品,而文学作品也可由多个读者查看。第二章 总体设计2.1概述本章介绍文学发布及欣赏网站系统的设计,首先介绍该系统的设计思路,其次给出系统的总体结构,然后通过系统各模块的功能和需求,讨论它们的具体设计技术和设计方案。最后对本部分的设计工作做总结。2.2总体结构根据文学发布及欣赏网站系统的功能,结合其特点。整体结构分为两大部分:RIA客户端和后台服务端,结构图如下:图2.1整体结构图其中,RIA客户端是整个系统的对外图形接口,作为整个系统的操作窗口。提供所有与用户交互的功能。客户端的基本流程为: 初始化,加载基本信息 用户交互 浏览 发布 结束根据该系统的功能结合客户端的流程,经分析可以将客户端和服务端分为以下几个模块:图2.2模块图图2.3 客户端流程图根据前面的功能分析,结合模块的划分,图2.3可以简单的描述系统客户端与用户交互的流程:选取显示作者;显示作者信息;欣赏作品;用户以作者身份登录;发布、修改、删除作品;删除信息。根据文学发布及欣赏网站系统的需求,结合模块的划分,参照系统的开发流程,各个模块的具体功能划分如下:1、 初始化模块首先从浏览器地址中获取作者参数,传递给作者管理模块。如果参数不存在,则将通过AMF调用获取所有作者的列表,供读者选择并传递给作者管理模块,同时也可以在任何时候切换查看的作者。2、 作者管理模块负责作者状态的管理,只要作者的状态发生变化,如作者切换、信息修改、作品修改、登录状态发生变化等,就会通知作者信息显示模块,作品欣赏模块,作品管理模块,作者信息编辑模块四个模块。以便各个模块进行相应的处理。3、 作者信息显示模块:获取作者ID后,显示作者的基本信息。4、 作品欣赏模块获取作者ID后,能够显示该作者发布的所有作品并归类,并提供多种显示形式(书籍、卷轴等),用户可根据自己的需要、喜好选择文学作品的风格形式,从而使文学作品完美的展示出来。5、 作品管理模块主要管理登录作者的所有文学作品,并提供给作者操作接口,使作者能够修改发布过的作品、删除感觉不好的作品、或是发布一篇新的作品。同时在作者登录时及时更新作者的作品信息;在登出时及时清理作品信息,防止被其他登录作者修改。6、 作者信息编辑模块 主要是负责登录作者的个人资料信息修改,尤其的头像的修改。其中头像的修改可以上上传新的头像也是选择以前上传过的头像,再就是一些其它基本信息如性别年龄等。7、 后台服务模块后台服务主要是AMF远程调用和文件主要是图片文件的管理。具体的功能提供RIA客户端所需要的远程过程方法调用,并提供HTTP方式的文件上传和读取服务器端文件的功能,并将所有的信息记录到数据中。图2.4 模块交互图图2.4显示的是客户端各个模块之间的交互图,首先初始化模块在获取到需要查看的作者ID后将ID传递给作者管理模块;管理模块获取作者ID后,将通知其他四个模块,使各个模块进行必要的更新;当用户以作者身份登录后作者管理模块和作者信息编辑模块将其所有的功能变为可操作,作者在修改、删除、发布作品后,或是作者信息模块的信息被修改,将会通知作者管理模块,此时作者管理模块又会重新通知四个模块进行必要的数据更新。2.3初始化模块的设计2.3.1技术分析初始化模块的主要任务是获取查看作者的ID信息,并将其传递给作者管理模块。通常情况下作者ID信息是在浏览器地址参数中指定的,如过没有指定作者ID,则将通过AMF调用获取作者列表,供用户选择,之后再将该作者ID传递给作者管理模块。2.3.2设计方案图2.5流程图图2.5显示的是该模块的简要流程图。在初始化的时候,用户选择为否,页面文件会将浏览器地址信息中传递给客户端,客户端在启动后会获取到参数即作者的ID信息;如果ID参数不存在,则将通过AMF调用从服务器获取到所有作者的列表,供用户选择。当用户选定某一作者后,该模块即可获得ID信息,随后将该ID信息传递给其他模块;同时也提供给用户在任何时候切换查看作者的功能,即再次执行时,用户选择作者为是,模块将显示作者列表,供用户选择切换查看的作者。2.4作者管理模块的设计2.4.1技术分析作者管理模块的主要功能是在作者的状态或信息发生改变时,及时通知其它模块进行必要的数据更新和功能设定。包括以下的功能:作者登录时,通知作品管理模块和信息编辑模块,将其功能设定为可操作的;作者退出登录或作者切换时,也通知这两个模块,使其清空页面内容以防止作者隐私泄露,并将所有的功能设为不可操作的,直到再次接收到作者登录通知;作者发布作品时,通知作品欣赏模块进行作品的更新;作者编辑个人信息时,通知作者信息显示模块更新显示的信息。2.4.2设计方案图2.6 流程图图2.6显示的是该模块的简要流程图。该模块主要负责作者状态变更的接收并及时通知相关模块进行数据更新。模块会设定几个通知队列,将其它模块组件分类存好,以便在需要通知时能够及时的获取到其它模块组件的引用从而进行通知相应的组件。如在作者ID变更时,则需要通知所有模块,将这些模块存入相应的队列中;在登录状态改变时,需要通知的是作品管理模块和作者信息编辑模块,将这两个模块存入相对应的队列中。2.5作者信息显示模块的设计2.5.1技术分析该模块的主要功能是显示指定作者的个人信息,并在必要的情况下及时更新信息,包括查看作者改变和作者信息修改,这些都需要更新显示的信息。2.5.2设计方案图2.7 流程图图2.7显示的该模块的基本流程。该模块主要接收作者管理模块的事件通知,在作者ID变化或是作者信息被修改时,模块通过AMF远程调用重新获取作者的个人信息,并通过UI组件显示出来。2.6作品欣赏模块的设计2.6.1技术分析该模块的主要功能是作品的欣赏,这也是文学发布及欣赏网站系统中的重要功能。每个用户都可以通过这一系统欣赏其他作者发布的作品。该系统为用户提供舒适、自由的作品查看方式,包括:用户自己选择的展示文字方式(书或卷轴)、字体的颜色、展示文字的方向(从左至右或从右至左)、展示速度的快慢等。使用户摆脱单调的电子书式的查看作品方式,增加文学作品查看的娱乐性、欣赏性和互动性。通过这些,每个用户可以自主的根据自己的喜好选择欣赏文学作品的方式,这样既提高了欣赏者欣赏的趣味性和娱乐感,又对作者作品的流传和推广有很大意义。2.6.2设计方案图2.8 流程图图2.8显示的是该模块的基本流程。首先该模块会在接收到作者管理模块的通知时通过AMF远程调用获取作者的作品列表;用户在列表中选择一本书或是一部诗集后,将这些参数传递给一个控制器;用户在该控制器中设定一些属性,欣赏方式是书籍或是卷轴;排列方式,书籍方式在显示一本书的时候可以有左竖直、右竖直、横排三种方式,卷轴方式在显示的时候只有左竖直、右竖直两种方式,这些控制器都会根据相关的属性来自动提供给用户选择。在参数设定后,控制器就可以生成精美的书籍或是卷轴,此时用户可以设定需要查看的起始页码,而后控制器将会自动跳转到指定的页码。该模块中的翻书效果和卷轴的卷动效果是重点也是难点,同时也是整个毕业设计的闪光点。2.7作品管理模块的设计2.7.1技术分析该模块的主要功能是对作者的作品进行管理,该模块在作者登录状态下才提供服务,否则不会提供任何操作。其功能主要包括:显示已经发布作品的列表;提供修改指定作品的功能,包括作品的题目、作者(原创者,这里可以转载)、分类、体裁等;提供删除指定作品的功能;提供作者发布新作品的功能。通过这些功能,用户都能简便、顺利的发布作品,丰富自己的作品信息。2.7.2设计方案图2.9 流程图图2.9显示的该模块的基本流程。首先该模块判断用户是否处于登录状态,如果没有登录则会清理当前页面上的信息,并屏蔽掉所有的功能;如果处于登录状态,模块会通过AMF远程调用获取已经发布作品的列表。作者可以从列表中选择任一作品进行修改、删除等操作,同时作者也可以发布一篇新的作品,当进行任何操作造成用户的发布作品发生变化时,该模块发送消息通知其他模块进行数据更新。2.8作者信息编辑模块的设计2.8.1技术分析该模块的主要功能是为用户提供编辑个人信息的UI接口,包括头像的修改(上传新头像或者选择旧头像)、年龄、性别、Email、密码、和签名等。2.8.2设计方案图2.10 流程图图2.10显示的是该模块的流程图。首先该模块判断用户是否处于登录状态,如果没有登录则会清理当前页面上的信息,并屏蔽掉所有的功能;如果处于登录状态,则会通过AMF远程调用获取登录作者的详细资料,并通过UI显示出来;同时作者可以修改自己的基本信息,其中头像的修改,可以选择上传一张新的头像,也可以使用曾经使用过的头像,此时模块通过AMF调用获得头像列表,登录作者选取一张即可完成修改;模块在判断作者资料信息发生改变时,会发送事件通知其它模块更新信息。2.9后台服务模块2.9.1技术分析该模块的主要功能是为RIA客户端提供AMF远程过程调用方法,并为客户端提供文件上传和文件获取的功能,同时所有的数据都将存入数据库。2.9.2设计方案模块采用AMFPHP框架来实现一个AMF网关,所有的AMF调用都将通过这个网关接口来加载具体的调用,同时提供HTTP请求方式的文件上传和文件访问接口,将上传的文件主要是头像图片文件存入服务器并在服务器中记录该文件和作者的映射关系,这也构成了一个小型的文件系统。2.10总结本章从功能、需求和关键技术的角度,详细地说明了文学发布及欣赏网站系统的设计,包括设计思路、总体结构、各子模块的技术分析和设计方案。下一章将详细介绍工具的实现部分。第三章 详细设计本章在以上章节分析的基础上详细介绍文学发布及欣赏网站系统的实现,首先介绍该系统的总体流程,其次给出系统的类图,然后按照各个子模块的设计方案,讨论它们的具体实现,最后对本部分的实现工作做一个总结。3.1总体结构客户端按照各个模块的功能,对各个组件采用适当的布局使得客户端的操作更简单、更人性化。整个客户端的简要布局如下:图3.1 整体布局图在顶端采用四个组件来进行选择查看信息,中间部分采用卡片式布局,只显示当前查看的信息显示组件,分别为信息显示组件、作品欣赏组件、作品发布组件和信息编辑组件。3.2系统类图客户端的整体类图比较多,且关系复杂,下图按照模块的基本流向,显示各个模块的主要类之间的关系。图3.2 主要类图及其关系示意图图中可以看出整个客户端程序的基本流程,首先是初始化模块负责初始化查看作者的ID信息;作者管理模块负责对查看的作者进行协调管理,通知各个模块进行数据更新;各个模块接收作者管理模块的通知,进行数据更新;各个模块行为改变,通知作者管理模块,进而通知其它模块。其中,图中圆点表示作者(登录用户)的一些主要操作,这些操作成功之后都会通知作者管理模块。而作者信息显示模块和作品欣赏模块中的任何操作都不会改变所查看作者的任何信息,不会向作者管理模块发送任何通知事件,只是被动的接收事件。3.3初始化模块的实现该模块主要包括两个功能:初始化程序获取初始作者ID信息和切换查看的作者并最后通知作者管理模块。该模块的实现包括了界面组件的实现和逻辑事件及数据处理。模式的实现将从两个方面来介绍:界面的设计实现和具体类的实现。图3.3 初始化模块附带界面图3.3为该模块的所需要的界面组件设计,提供读者切换需要的触发界面和作者列表,以供读者选择。界面的逻辑为:当读者点击切换区域时,弹出作者选择框;作者列表组件以列表形式显示所有作者,如果是第一次则自动通过AMF远程调用获取列表,在此过程中,读者也可以手动更新列表;自动排除当前已查看的作者,把当前查看的作者变成不可选;读者选择某一作者后,通知作者管理模块进行数据更新。在初始化的时候,由于当前查看的作者不存在,则所有的作者都是可选的。图3.4 模块类及其关系示意图图3.4显示的是该模块的主要类和类之间的简单关系描述。Main类为主程序类;w_Select_User为作者列表弹出框类;w_UserCanvas为单个作者显示类;w_pic为作者头像显示类,可以根据作者ID自动读取图片数据并居中显示。模块的功能及流程为:1. 是否是第一次运行,即非读者手动选择切换查看作者,是则执行步骤2,否则执行步骤3,appCom函数会自动在启动后运行。2. 通过main.LoaduserInfo从参数中读取查看作者ID信息,读取成功执行步骤4否则进行执行步骤3。3. 弹出作者选择框,w_Select_User,Refresh函数将通过AMF调用获取到所有作者列表,获取后通过ReLayout函数重新布局显示,并作排除设置。读者选定作者后,selectUser函数将执行步骤4。4. 通知作者管理模块。5. 模块流程结束。3.4作者管理模块的实现该模块的主要功能是负责作者状态的管理,只要作者的状态发生变化,如作者切换、信息修改、作品修改、登录状态发生变化等,就会通知作者信息显示模块,作品欣赏模块,作品管理模块,作者信息编辑模块四个模块。以便各个模块进行相应的处理。该模块需要一个提供作者登录、注册、注销功能的界面组件,通知模块的功能主要通过控制逻辑事件来实现。图3.5 登录注册注销框界面设计图图3.5为模块附带的作者注册、登录、注销的界面组件设计。图3.6 本模块类示意图图3.6显示的是该模块的主要类及其之间的关系描述。WenManager类是作者管理模块的主要类,也是负责整个程序之间模块交互的枢纽;w_Login类是提供注册、登录、注销功能的类。模块的函数功能为:WenManager: ChangeUserInfo、ChangeUserId、Logout为对外接口,用于其它模块对本模块进行通知,内部实现为对加入到特定监听队列的模块进行通知。模块接收其它模块或w_Login类的通知,并进一步通知其它对应模块。w_Login:Login、Register、Logout提供了登录、注册、注销的功能。每次调用成功后将通知WenManager类进行消息广播,通知其它对应模块。3.5作者信息显示模块的实现该模块的主要功能是显示当前查看作者的个人信息,并在作者信息发生改变时接收作者管理模块的通知,然后通过AMF远程调用获取作者信息。图3.7 模块界面设计图图3.7为该模块的界面设计图,该模块主要是读取作者信息并通过界面组件显示出来,包括头像显示、基本信息显示、头像列表显示。图3.8 模块类示意图图3.8显示的是该模块的主要类及其之间的关系描述。w_Info类是用于显示作者基本文字信息和头像的类;w_PhotoList是用于显示作者头像列表的类。w_Pic是用于显示单个头像图片的类。本模块类的主要函数功能如下:w_Info.ChangeUserId:接收作者管理模块的通知,通过AMF远程调用获取作者的相关信息,并通过 showuser 显示出来,同时通知w_PhotoList类更新作者头像列表。w_PhotoList.ChangeUserId:更新作者头像列表,通过AMF远程调用获取头像图片的索引ID,然后通过w_Pic显示出来。SetAutoMove设置是否自动滚动图片,具体的图片滚动实现在EnterFrame中实现。w_Pic.set picid:设置需要显示的图片文件的ID,然后通过ID参数以HTTP方式从后台获取图片数据,同时对图片进行缩放,居中显示出来。3.6作品欣赏模块的实现该模块的主要功能是提供多样化的欣赏模式,允许用户设定欣赏方式、文字次序、字体颜色来设定作品的显示风格。使用户摆脱单调的电子书式的查看作品方式,增加文学作品查看的娱乐性、欣赏性和互动性。图3.9 书籍风格显示设计图图3.10 卷轴风格显示设计图图3.9和3.10显示了书籍和卷轴两种显示风格的界面设计。首先读者可以从左侧作品列表中选择一本书或是一部诗集进行查看,也可以随时更新查看作者的作品列表;选择作品完毕后,页面下方欣赏控制工具栏会获得相应参数,如名字和作者等,读者此时可以通过设定欣赏方式、文字次序、字体颜色来获取不同的显示风格;点击生成按钮后,控制器工具栏会通过作品的参数以AMF远程调用获取作品的具体数据,并根据读者设定的参数生成图形化的作品;读者可以选择查看起始页码,直接跳转到指定页码欣赏。本模块是整个毕业设计中的重要模块也是难点模块,同时也是毕业设计中的闪光点。模块中的类比较多,关系也特别复杂。模块的详细设计可以分为两大部分三小块:程序逻辑结构框架部分和作品展示效果部分,其中作品展示效果部分又分为书籍展示和卷轴展示。作品展示效果部分采用了多重封装,可以作为独立的第三方库使用,其中在展示效果中的书籍效果采用了第三方的一些库,而卷轴部分则全部自己实现。图3.11 模块框架主要类示意图图3.11显示了该模块程序逻辑结构框架部分的类及其关系的描述。w_artList类是作者作品列表类;w_Viewart类是整个模块的主体类,负责模块中各个类的交互;w_viewToolBar类是一个工具栏,即欣赏控制器,读者在这里设置参数。模块框架类的函数功能说明及相关流程:1. w_artList.ChangeUserId:更新作者作品列表。2. w_artList.clicktree:读者点击作品列表树中的作品或作品集。3. w_Viewart.browse调用w_viewToolBar.showXml显示选中的作品或作品集信息。4. 读者设定欣赏方式、文字次序、字体颜色等参数。5. w_viewToolBar.creat调用w_Viewart.creat 生成作品的图形展示组件,生成组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 后勤工作人员协议书范本
- 水泥房设备出售合同范本
- 美国公司的采购合同范本
- 专业市场物业合同范本
- 医疗健康咨询与管理合作协议
- 练字项目转让合同协议书
- 扶贫蔬菜采购协议书范本
- 厨房清洁布供货合同范本
- 购房买卖合同补充协议书
- 微信公众号运营服务协议
- 电商用户社区与运营创新创业项目商业计划书
- 土地增值税清算培训课件
- 2025年青海省格尔木市辅警招聘考试试题题库及答案详解(易错题)
- 2025年中学生法治素养竞赛题库及答案
- 2025年部编版语文四年级上册全册单元、期中、期末测试题及答案(共10套)
- 村级妇联半年工作总结
- 数控安全培训课件
- 台球俱乐部工作管理制度
- 肉毒素中毒的治疗讲课件
- 蓝色简约风医学生职业生涯规划展示模板
- 土建安全员c类考试试题及答案
评论
0/150
提交评论