




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- - 摘摘 要要 web1.0 到 web 2.0 的跨越, 使长期以来受众被动接受网络信息的单线传播方 式转变为受众可以参与其中的互动共享传播方式, 传统的自上而下的少数资源集中 控制主导的互联网体系转变为自下而上的由广大用户集体智慧和力量主导的互联网 体系。 书评网站的出现集中体现了 web2.0 环境下, 将稀缺的注意力资源以受众自主创 造并自主选择的形式重新聚合并形成一定影响力的特点,并为广大读书爱好者提供 了一个便捷的以书会友、发表和交流读书心得的平台。 网络书评正以其广泛性、信息性、时代性和亲和力前所未有地影响着阅读大众 的选择和判断,进而变革和促进着整个社会阅读文化的发展,也为书评学提供了新 的研究视角。 本书评网站旨在为广大读书爱好者提供一个以书会友,发表和交流读书心得的 平台。本系统利用 php 动态网络开发技术,以 mysql 作为后台数据库,使用 apache 配置 web 服务器,结合 javascript 和 html 两种脚本语言,以及配合多种网页开发 工具,实现基于 mvc 模式的读书笔记心得发表和交流的平台juzimi 书评网。 全文主要分为 6 个部分:第 1 部分主要介绍项目的背景意义、现状分析和目标 范围;第 2 部分主要论述了本系统所要用到的各种开发技术;第 3 部分主要分析了 系统的各项功能和性能需求,给出了系统需求管理规划表, ;第 4 部分架构设计;第 5 部分系统模块设计,给出了系统各个模块的划分;第 6 部分系统配置和发布,介 绍了系统开发和运行的相关环境配置以及运行效果展示。 关键词:关键词:书评网站书评网站 phpphp web2.0web2.0 动态网页动态网页 mvcmvc 模式模式 - -i abstract from web1.0 to web 2.0,the single mode in which the audiences accept the information of network passively for long has changed into the interactive sharing communication that the audience can participate in. the traditional top-down internet system centralized controlled and led by minority resources has changed into a bottom-up internet system driven by the collective wisdom and strength of the majority of users. book review sites appear embodies features in the web2.0 environment. book review sites will gather the scarce attention resources in the form of audience independent creation and choice and make a certain influence. they provide a convenient platform to publish and exchange reading experience for the majority of the book lovers. online book reviews are unprecedentedly influencing the judgment and choice of the reading public because of their universality 、informational feature、and affinity with times and reform and promote the cultural development of the whole society in reading, but also provide a new perspective for the study of book reviews. this review site aimed at providing the broad masses of book lovers a platform to the membership, publication and exchange of reading experience。the system uses php as dynamic network development technology, mysql as backstage database, apache as web server and unifies kinds of script language for instance,javascript and html, as well as many kinds of homepage development kit. the review site has realized an exchange platform with individual reading experience and article publication based on mvc model. the thesis is divided into six chapters: chapter 1 introduces the background and significance and the goal of this project、analysis of the current situation and the introduction of the thesis structure; chapter 2 - -ii presents related technology and principle; chapter 3 gives a systematic analysis of main functions and performance requirements, and provides a planning table for system demand management, and demonstrates the level of priority needs. chapter 4 architecture design; chapter 5 describes various modules of the system 。according to requirements analysis, the system divides into various modules. functions to be accomplished by these modules are also introduced; chapter 6 introduces the relevant environmental configuration of the development and presents some example executions of the system. keywords:keywords: bookbook reviewreview sitesite,phpphp,web2.0web2.0,dynamicdynamic webweb pagepage,mvcmvc modemode 目目 录录 摘摘 要要 .i abstractii 第一章第一章前言前言3 1.1 项目的背景和意义.3 1.2 研究开发现状分析.3 1.3 项目的目标和范围.3 1.4 论文结构简介.4 第二章第二章技术与原理技术与原理5 2.1php 技术 5 2.2web 2. 0 概述.5 2.3apache技术6 2.4eclipse.6 2.5aptana.6 2.6数据库技术.6 2.7javascript7 第三章第三章需求建模需求建模8 3.1系统面向的用户群体.8 3.1.1用户信息需求.8 3.1.2本系统的优势.8 3.2系统应当遵循的标准或规范.8 3.3系统中的角色.8 3.4系统需求.9 3.4.1系统功能需求.9 3.4.2用户界面需求.9 3.4.3软硬件环境需求.9 3.4.4系统质量需求.10 3.5领域模型.11 3.6用例图.12 3.7用例文本.12 3.8用例场景描述.17 3.8.1“create a group”场景 17 3.8.2“write a note”场景18 3.9类图.19 - -1 第四章第四章架构设计架构设计20 4.1 系统架构及原理20 4.2 业务用例的实现21 4.2.1 交互图 21 4.2.2 用例实现 25 4.3 数据库设计37 4.3.1 设计图: .37 4.3.2 数据表 .37 第五章第五章模块设计模块设计42 5.1 模块划分.42 5.1.1 网站首页模块 .42 5.1.2 个人主页模块 .42 5.1.3 好友小组管理模块 42 5.1.4 管理员管理模块 42 5.2 系统主要功能模块开发42 5.2.1 首页模块 42 5.2.2 对象管理模块 45 5.2.3 朋友圈管理模块 47 5.2.4 管理员管理模块 47 第六章第六章部署与应用部署与应用49 6.1.安装xampp本地服务器49 6.2 导入网站数据库文件.50 6.3 打开网页.51 第七章第七章结论结论52 致谢致谢.53 参考文献参考文献.54 - -2 第一章第一章前言前言 1.1 项目的背景和意义项目的背景和意义 web1.0 到 web 2.0 的跨越, 使长期以来受众被动接受网络信息的单线传播方 式转变为受众可以参与其中的互动共享传播方式, 传统的自上而下的少数资源集中 控制主导的互联网体系转变为自下而上的由广大用户集体智慧和力量主导的互联网 体系1 1。 书评网站的出现集中体现了 web2.0 环境下, 将稀缺的注意力资源以受众自主创 造并自主选择的形式重新聚合并形成一定影响力的特点,并未广大读书爱好者提供 了一个便捷的以书会友、发表和交流读书心得的平台。 1.2 研究开发现状分析研究开发现状分析 书评是对书籍进行的价值判断和评论。相对于庞大的图书出版量,传统书评数 量较少、媒介面窄、受众覆盖率低,致使书评功能的发挥受到制约。而如今,网络 不经意间让书评的传播渠道和效果得到了极大的拓展,书评种类也变得极其多样, 较为传统的有平面媒体书评、广播电视书评甚至墙报、笔谈、读书征文等的网络版, 新兴的则以博客(或微博客)书评、网店书评、网络社区书评以及图书馆、出版社 等网站的书评为代表。网络书评正以其广泛性、信息性、时代性和亲和力前所未有 地影响着阅读大众的选择和判断,进而变革和促进着整个社会阅读文化的发展,也 为书评学提供了新的研究视角2。 1.3 项目的目标和范围项目的目标和范围 本书评网站旨在为广大读书爱好者提供一个以书会友,发表和交流读书心得的 平台。本系统利用 php 动态网络开发技术,以 mysql 作为后台数据库,使用 apache 配置 web 服务器,结合 javascript 和 html 两种脚本语言,以及配合多种网页开发 工具,实现基于 mvc 模式的读书笔记心得发表和交流的平台juzimi 书评网。 本系统适用的领域是分享阅读时的标签、笔记和评论。 - -3 1.4 论文结构简介论文结构简介 全文主要分为 6 个部分:第 1 部分主要介绍书评网站的特点、优点传统系统和 所要开发系统的处理流程、功能介绍和比较;第 2 部分主要论述了本系统所要用到 的各种开发技术;第 3 部分主要分析了系统的各项功能和性能需求,给出了系统需 求管理规划表, ;第 4 部分架构设计;第 5 部分系统模块设计,逐一给出了系统各个 模块的划分;第 6 部分系统配置和发布,介绍了系统开发和运行的相关环境配置以 及运行效果展示。 - -4 第二章第二章技术与原理技术与原理 2.1php 技术技术 php 语言是一种广泛用于 web 开发并可以嵌入 html 的多用途的脚本语言。php 能运行在包括 windows、linux 等在内的绝大多数操作系统环境中,并支持 oracle、sybase、mysql、odbc 等在内的大多数常见数据库,具有很好的跨平台性; php 是开源软件,代码在许多工程师手中进行了检测,同时它与 apache 编译在一 起的方式也可以让它具有灵活的安全设定,具有了公认的安全性能;php 还具有占 用系统资源少、代码执行速度快等优势3 3。 利用 php,我们可以轻松地进行 web 开发,轻松地制作动态网站、新闻系统等; 轻松地实现对文件及文件夹的操作;轻松地进行电子商务网站的开发、数据的加密; 与数据库相关联等等4 4。 2.22.2webweb 2.2. 0 0 概述概述 2004 年, opreilly media 公司的 dale dougherty 和 medialive 公司的 craig cline 在一次讨论因特网发展趋势的头脑风暴会议上提出了 web2.0 的概念。随后, 在 john battelle 的努力下, opreilly media 公司和 medialive 公司共同举办了 2004 国际 web2.0 大会, 继续展开对 web2.0 含义的讨论, 并提出 web2.0 成为一个 平台这样一个概念。自 web2.0 的概念被明确提出至今, 其范畴内的许多思想和技术 已经得到了广泛传播和应用, 成为新一代互联网发展、信息服务、网络信息交流与 信息资源管理等领域的研究热点。5 5. 互联网从 web 1. 0 到 web 2. 0, 改变着全世界人类的生活、学习和工作方式。 web 2. 0 的一些具体应用, 如博客、rss、交友网络等早已经深入人心6 6。 对于 web2.0,恐怕现在也没有一个准确的定义。但有一点是可以肯定的, web2.0 带给全球网民的是一种全新的体验:web2.0 强调开放的平台,强调与用户之 间的互动作用,它是围绕个人为核心的互联网应用模式,是流媒体表现形式,是高 速的接入,是网络的智能化和社会化。web1.0 到 web2.0 的转变,具体说,从模式 上是单纯的“读”向“写” 、由“个人建设”向“共同建设”发展;由被动地接收互 - -5 联网信息向主动创造互联网信息迈进。从基本构成单元上看,是由“网页”向“发 表记录信息”发展;从工具的角度看,是由互联网浏览器向 rss 阅读器等方向发 展;运行机制上,是由“client server”向“web services”转变;作者由程序员 等专业人士向全部普通用户发展;应用上由初级的应用向全面大量应用发展7 7。 2.32.3apacheapache 技术技术 apache 是目前应用最广的 web 服务器;php 是一种类似 asp 的服务器端脚本 语言,而 mysql 是一个小巧的数据库系统软件,它们特别适用于网站建设。 apache+php+mysql 不仅仅是开源项目,可免费获取,而且它支持 linux、unix、os/2 和 windows 多个操作系统,可移植性好。因此,这种组合是设 计动态网站的最佳解决方案 8 8 。 2.42.4eclipseeclipse eclipse 是开放源代码的、基于 java 的可扩展开发平台。它由 ibm 作为主发起 人投资开发,并被 borland、sybase 等众多公司所支持。eclipse 不仅仅是一个集成 开发环境( ide) ,也是一个工具集成的开发平台,它提供了一个用于开发插件的框架,使 创建、集成和使用软件工具更容易。就其本身而言,它只是一组规则,满足了以下需 求: 支持多种应用开发工具的构建; 能独立地开发处理各种内容的插件( html、java、c、jsp、ejb、xml 和 gif 等) ; 开发者可以自己独立地开发工具, 与其他标准工具无缝集成; 可以在多种平台上运行,包括 windows 和 linux 平台 9 。 2.52.5aptanaaptana aptana 是目前最受欢迎的基于 eclipse 平台 javascript 编辑器之一, 提供了强 大的 javascript、html、css 编辑功能。aptana 不但收编了 radrails 项目, 也收 编了 rdt 项目, 提供了一个功能非常丰富的七项目快速开发环境,可以全方位支持 ruby、html、javascript、css 等, 是目前功能最全面的 ror 开发工具 10 。 - -6 2.62.6数据库技术数据库技术 数据库技术从 20 世纪 60 年代开始兴起,已经 40 余年的历史。所谓数据库, 是指长期储存在计算机内、有组织的、可共享的数据集合。而数据库管理系统是位 于用户与操作系统之间的一层数据管理软件,它和操作系统一样是计算机的基础软 件,也是一个大型复杂的软件系统。数据库是数据管理的最新技术,是计算机科学 的重要分支。随着技术的发展,数据库管理系统已从专用的应用程序包发展成为通 用的系统软件。由于数据库具有永久储存、较小冗余度、有组织、较高数据独立性 和易扩展性等优点,许多庞大的信息系统都是以数据库为基础设计的。作为计算机 科学的一个重要分支,一直备受关注的数据库技术已被广泛应用于各行各业中,成 为现代计算机信息系统和应用系统开发的核心技术和重要基础 11 。 开放源代码数据库管理系统已经成功地应用到很多系统中, mysql 是其中较出 色的一个。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优 点。为了快速开发高质量的 mysql 的应用程序, 从系统平台及开发工具选择、应用 程序优化、数据库安全策略等方面提出了可行的解决方案 12 。 mysql 是个真正的多用户、多线程 sql 数据库。它是完全免费的,它的平台无关 性使其能在多个操作系统上运行, 其中包括 unix、linux、solaris、sunos、freebsd 等,它还具有文件体积小、支持多线程、 优化 sql 查询算法、执行速度快等优势。目前 mysql 被广泛地应用在 internet 上 的中小型网站和各种中小型数据库管理工作, 如财务、行政、金融、经济、统计和 审计等领域 1 。 2.72.7javascriptjavascript javascript 是一种用来开发 internet 上客户与服务器程序的紧凑的、基于对象 的脚本语言。它从层次上介于 html 与 java 语言之间,可以说是一种解释型的中级语 言。netscape 的 navigator2. 0 可以解释直接内嵌在 html 主页里的 javascript 语句,而 livewire 则支持利用 javascript 创建一种类似于 cgi 的基于服务器的应 用程序 13 。 - -7 第三章第三章需求建模需求建模 3.1系统面向的用户群体系统面向的用户群体 设计一个性能良好并且实用的网站,以满足用户网站功能的需求,对系统用户 的需求和特征进行分析是必要的。 3.1.1 用户信息需求用户信息需求 本系统主要面向老师和同学,可以给老师和同学提供一个及时分享读书心得的 平台,记录你读过的、想读和正在读的书籍、网页和论文等,顺便打分,添加标签 及个人附注,写评论。 3.1.2 本系统的优势本系统的优势 网站安全性较高,信息量大,方便浏览,可实施性强,管理和使用方便。 3.2系统应当遵循的标准或规范系统应当遵循的标准或规范 采用 w3c 标准,规范代码。 编码时采用匈牙利格式,增加代码的可读性。 开发环境:eclipse,aptana 编程语言:html,css,javascript,php 3.3系统中的角色系统中的角色 表 3-1 系统角色表 角色名称职责描述 游客访问网站所有公开资源 普通用户访问所有公开资源和其所在小组资源,发表笔记、评论 小组管理员在普通用户基础上,可以开除所在小组内组员 系统管理员可以对所有成员进行增删改查 - -8 3.4系统需求系统需求 3.4.1 系统功能需求系统功能需求 表 3-2 系统功能需求表 3.4.2 用户界面需求用户界面需求 表 3-3 用户界面需求表 需求名称需求名称详细要求详细要求 主页(采用类似 网页风格) 清晰直观,人机交互性好,只需要用户会最基本的 windows 操 作和拼音输入法,就可用好本网站。 3.4.3 软硬件环境需求软硬件环境需求 表 3-4 软硬件环境需求表 需求名称需求名称详细要求详细要求 用户注册网站记录下注册者填写的所有信息,游客能够通过注册信息进 行登录。 用户登录用户输入账户及密码,登录网站。 添加笔记用户可以发表笔记,发表时可以选择附属在已有书籍、网页、 论文上,也可以新建书籍、网页、论文等评注对象。笔记仅仅 在好友和小组内共享。 。 添加评论用户可以发表评论,发表时可以选择附属在已有书籍、网页、 论文上,也可以新建书籍、网页、论文等评注对象。评论所有 用户共享 添加标签用户可以给书籍、网页、论文等评注对象添加标签。标签为所 有用户共同分享。 添加好友用户之间可以互加好友,能够看到好友的笔记、评论。 加入小组加入小组之后,小组用户之间可以看同组用户选择小组公开的 笔记。 用户管理系统管理员登录之后,可对成员进行增删改查的操作。 - -9 需求名称需求名称详细要求详细要求 服务器apache 服务器。要求装有 mysql 或其他数据库软件。 客户端机型:奔腾四代 1.6g 以上,硬盘:40g 以上(至少需要 250m 自由空间,以运行操作系统和本系统)内存:256m 以上 网络服务器和客户端应有网络连通。配置 tcp/ip 协议 服务器操作系统windows 2000 server profession 以上 客户端操作系统windows98 以上操作系统,安装 web 浏览器 3.4.4 系统质量需求系统质量需求 表 3-5 系统质量需求表 主要质量属性主要质量属性详细要求详细要求 正确性运行和调试结果完全正确 健壮性在常规的环境下能够保证 50 人以内进行有效操作。 可靠性在连续 48 小时之内无差错可靠运行 性能,效率网络传输带宽要保证 56kbps 以上,保证浏览的流畅性 易用性不经过专业培训就可通过提示进行操作 清晰性功能模块分成两块面向不同的两种不同使用对象如管理员、普 通用户 安全性数据的加密可通过加防火墙、必需的网络杀毒软件和必要的专 职管理人员 可扩展性可扩展网站信息量 兼容性客户端的操作系统只要是 windows 就可以并能够上网, 可移植性网站可进行移植到大型数据库中进行管理 - -10 3.5领域模型领域模型 图 3-1 领域模型图 - -11 3.6用例用例图图 图 3-2 uml 用例图 3.7用例文本用例文本 a. search friends 搜索好友 (包含两个:1. discover friends; 2. 随便找某个朋友的 friendlist,然后添加它) 登录用户点击“discover friends” ,并在搜索栏中键入想要查找的用户的相关 信息,点击“search”就将会得到相应的用户列表,完成“search friends”过程。 或者用户可以在页面右边的导航栏中看到 friends list, 点击感兴趣的用户进入其 主页,也将完成“search friends”过程。 - -12 b. search with tags 搜索标签 点击右侧导航栏中 tags 的感兴趣的 tag,系统将显示已经被标记成相应 tag 的书目 列表。 c. delete comments 删除评论 登录用户在个人主页通过点击“my recent comments”可以进入 comment 页面,进 行 comments 管理,点击想要删除的 comment 对应的“delete”键,可将其成功的在 你的列表中删除。 d. update object 更新对象 登录用户进入需要更改的 object 页面,选择 update,进入 update 页面后对相应条 目做出修改,并完成提交,这个过程也将更新用户标记的该 object 信息,新的 object 页面将会被返回,update object 功能实现。在这里强调只有 object 的拥有 者以及管理员有权限执行 update 操作。 e. create a group 创建小组 (详述用例) 表 3-6 create a group 创建小组详述用例表 范围范围juzimi 网站应用 级别级别用户目标 主要参与者主要参与者登录用户 涉众及其关注点涉众及其关注点- 登录用户:希望能够顺利,便捷地创建一个新的小组。 - 小组成员:小组创建者自动成为小组成员,其他用户可 以通过 search group 找到该小组并选择“join us”成为 小组成员。当小组成员全都选择“leave us”该小组将被 系统删除。 前置条件前置条件用户必须在登录状态才可以创建新的小组。 成功保证(或后置条件)成功保证(或后置条件) 存储以创建小组的信息,更新数据库,在相应列表中显示 该小组名称。 - -13 主成功场景主成功场景 (或基本流程)(或基本流程) 用户登陆点击页面右上角自己的用户名称后进入个人主页。 在个人主页中选择“my new group”模块中的“create your group”进入 creategroups 页面。 填写相应的小组信息。 完成步骤 3,点击“submit” ,便跳转到创建成功后的 group 信息展示页面。 扩展(或替代流程)扩展(或替代流程)*a. 管理员在任何时刻进入管理操作: 管理员登陆成功。 已登录的管理员执行管理员权限。例如删除已建立 group 等 普通用户登录后将无法查看到已被管理员删除的 group 信 息。 *b. 系统在任意时刻失败: 因为用户在创建新的 group 时,没有按要求填写信息,或 者系统某时刻出现失误将会导致用户创建 group 失败。 1a. 管理员删除用户刚新建的 group 1. 管理员登陆成功。 2. 查看 group 信息,并对相应的 group 选择 “delete” ,显示删除成功。 3. group 信息将从数据库中删除,用户将不会再查 看到该 group。 1b. 无效 group 创建信息: 用户创建 group 填写信息时需保证:name 不能为空、 introduction 填写和 group face 图片上传可选则是否为 空,否则可能创建 group 失败。 特殊需求特殊需求- 用户正常使用该站点,并保证数据库始终处于连接状态。 - 新建的 group 中始终要有 member 才能保证 group 的存 - -14 在,如果所有的 member 都离开小组,小组将自动被删除。 技术与数据变元素技术与数据变元素*a. 管理员权限需要有管理员权限的用户登陆成功后方可 实现。 *b. 在创建 group 时进入 group 信息填写页面,我们预测 会加入相应提示,以保证用户能够正确填写,从而保证能 够创建小组成功。 发生频率发生频率可能会不断发生 未决问题未决问题group 创建过程中的失误恢复问题。 group 创建者是否可以自己添加 group member? group 重名的处理方式? f. write a note 编辑笔记 (详述用例) 表 3-7 write a note 编辑笔记详述用例表 范围范围juzimi 网站应用 级别级别用户目标 主要参与者主要参与者登录用户 涉众及其关注点涉众及其关注点- 登录用户:希望能够顺利,便捷地对自己阅读过的书 目、网站或文献书写自己的 note。 - 系统:正确存储 note,将其添加到用户的“my recent note”中,其存储是对应于书写 note 的对象 object 的。 前置条件前置条件用户必须在登录状态。 成功保证(或后置条件)成功保证(或后置条件)用户在登录状态,系统才可以将其添加的 note 成功将 入到用户的“my recent note”条目中,用户也可以在 该页面对 note 进行相应的管理。 主成功场景(或基本流程)主成功场景(或基本流程) 用户登录成功。 在主页中用户通过任何方式进入感感兴趣的 object 页 面。 - -15 在 object 页面中的 t note 列表中填写相应的 note。 根据自己的喜好选择是否让好友看见你的 note。 点击“submit”完成 write a note 过程,系统将会记 录用户填写 note 的时间。 我们可以在个人主页的“my recent note”中查看已经 添加的 notes 信息. 扩展(或替代流程)扩展(或替代流程)*a. 系统在任意时刻失败: 因为技术原因,或者是用户操作失误,系统可能后 添加 note 失败。 *b. 用户要求提交的 note 好友可见: 获取用户填写的该项 note 内容。 将其加入到可见列表,可见列表将显示的显示在用户的 “my recent note”栏中。 *c. 系统获取用户提交 note 的时间: 系统记录用户 submit 的时间。 将改时间记录在用户的该项 note 的信息列表中。 与用户 note 其他信息一起返回到用户 note 界面。 特殊需求特殊需求-用户正常使用该站点,并保证数据库始终处于连接状 态。 -填写 note 后用户根据自己的需要选择是否将 note 展 示给好友 -系统可以顺利获取用户提交 note 的时间 技术与数据变元素技术与数据变元素*a. 我们将来需要考虑未登录用户的标记,是否可以被 暂时记录,在用户及时登陆后为其添加。 *b. 在该过程中用户必须有所选择,而系统也需要对该 选择有正确回应。 *c. 系统需要实现时间记录功能,或者是否可以考虑用 户自行填写时间。 - -16 发生频率发生频率可能会不断发生 未决问题未决问题-note 提交过程中的未登录用户登录后的恢复问题。 -note 的管理,对于已标记的 note 是否可以添加修改? 3.8用例场景描述用例场景描述 3.8.1 “create a group”场景场景 场景描述:场景描述: 1. 用户登录后,用户登录后,在个人主页选择“my new group” ,点击“create your group”进入创建新组的页面 2. 用户填写新建小组的各种信息,可选择上传图片 3. 点击“submit”提交填写的小组信息,完成小组创建 场景界面描述:场景界面描述: 用户个人主页如下,我们如上述步骤,选择点击“create your group”进入创建新 组的页面,接下来填写要求的各项信息,并且点击下方的“submit ”键,完成创建。 图 3-3 用户个人主页 - -17 图 3-4 创建小组页面 用户操作说明:用户操作说明: 用户应该完整填写空白处的内容,以保证能够正确无误的创建新的小组。 、 3.8.2 “write a note”场景场景 场景描述:场景描述: 1. 用户登录后,在主页面中点击进入感兴趣的对象首页 2. 点击笔记连接即可进入写笔记页面 3. 填写笔记并选择是否公开后,点击提交即可发表关于此对象的笔记,笔记将记录 在用户的 note 列表中。 场景界面描述:场景界面描述: 用户从主页面中的 object 列表中,选择感兴趣的点击进入到对象首页,如图所示, 我们点击粉红色区域“t notes”进入笔记编写模块,填写好相应的 note 页码和内 容,并选择是否公开,点击“submit”提交后,关于该对象的 note 发表并添加在用 户主页的 note 列表中。 - -18 图 3-5 对象首页 用户操作说明:用户操作说明: 用户应该完整填写空白处的内容,以保证能够正确无误的提交 note。 3.9类图类图 图 3-6 类图 - -19 第四章第四章架构设计架构设计 4.1 系统架构及原理系统架构及原理 本系统是典型的 mvc 模式。mvc 是当前流行的 web 应用设计框架的事实标准, 是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分: 模型( model)、 视图( view )和控制器( controller) , 目的是实现一种动态和可持续的程序设计, 使后续对程序的修改和扩展简化, 并且使程序某一部分的代码或功能重复利用成为 可能。此外该模式通过对复杂度的简化使程序结构更加简洁直观。软件系统通过对 自身基本部份分离的同时也赋予了各个基本部分应有的功能。mvc 模式最早由 trygve reenskaug 在 1974 年提出, 是施乐帕罗奥多研究中心( xerox parc)在 20 世纪 80 年代为程序语言 smalltalk 发明的一种软件设计模式。专业人员可以通过自 身的专长分组: 控制器负责转发请求, 对请求进行处理。视图界面设计人员进行图 形界面设计。模型程序员编写程序应有的功能(如算法实现等)、数据库专家进行数 据设计和数据库管理以实现具体的功能14 14 。 mvc 设计模式使 web 应用程序的输入、处理和输出分开进行。一个好的 mvc 设 计, 不仅可以使模型、视图、控制器高效完成各自的任务处理, 而且可以让它们完 美地结合起来, 完成整个 web 应用。模型、视图与控制器的分离, 使一个模型可具 有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据, 所有其它依 赖于这些数据的视图都应反映到这些变化。因此, 无论何时发生了何种数据变化, 控制器都会将变化通知所有的视图, 导致显示的更新, 这实际上是一种模型的变化- 传播机制。mvc 组件类型的关系和功能图15 15 如图 4-1 所示。 - -20 图 4-1 mvc 组件类型的关系和功能图 4.2 业务用例的实现业务用例的实现 4.2.1 交互图交互图 a.搜索好友 图 4-2 搜索好友交互图 - -21 b.搜索标签 图 4-3 搜索标签交互图 c.删除评论 图 4-4 删除评论交互图 - -22 d.更新对象 图 4-5 更新对象交互图 e.创建小组 图 4-6 创建小组交互图 - -23 f.编辑笔记 图 4-7 编辑笔记交互图 - -24 4.2.2 用例实现用例实现 用例用例 1.1. 创建一个小组创建一个小组 图 4-8 创建小组交互图 view 视图:creategroups.php 图 4-9 creategroups.php - -25 controller 控制:核心是控制了两个数据库访问的函数,如下图红框所示。 图 4-10 创建小组 controller 控制的函数 model 模型:按照类图,其中在类 group 中,设置了很多和 group 操作相关的函数: - -26 图 4-11 类 group 其中这里我们用到的是:createnewgroup: 图 4-12 createnewgroup 函数 和 joingroup: 图 4-13 joingroup 函数 用例用例 2 2:删除一个好友:删除一个好友 - -27 图 4-14 删除好友交互图 view 视图:friendlist.php 图 4-15 friendlist.php controller 控制:如下图红框所示,核心是 friendscontroller 类的 removefriend 函数。 图 4-16 removefriend 函数 model 模型:为了方便管理“朋友”这一概念,我们设置了 friendscontroller 这 一个类,大概功能如下: - -28 图 4-17 friendscontroller 类 其中该用例用到的核心函数是 removefriends: 图 4-18 removefriends 函数 用例用例 3 3:用标签搜索书本、论文或网站。:用标签搜索书本、论文或网站。 图 4-19 标签搜索交互图 - -29 view 视图:alltag.php 图 4-20 alltag.php controller 控制:如下面红框所示,为获取与被贴上相应 tag 标签的 objects。 图 4-21 获取被贴上相应 tag 标签的 objests - -30 model 模型:为了实现对 tag 的管理,我们设置了 tag 类,大概功能如下: 图 4-22 tag 类 同时,为了获取 object 的信息,也设置了 objectcontroller 类: 图 4-23 objectcontroller 类 - -31 其中,用到的核心函数有:getobjectsbytagname: 图 4-24 getobjectsbytagname 函数 getbooksbyoids: 图 4-25 getbooksbyoids 函数 另外的 getwebsitesbyoids 和 getpapersbyoids,和上面提到的 getbooksbyoids 比 较类似,因而不截图展示。 - -32 用例用例 4 4:写一条笔记。:写一条笔记。 图 4-26 编辑笔记交互图 view 视图:object.php,我们设计用户可在浏览 object 时写下评论。 图 4-27 object.php controller 控制器:如图红框所示,将调用 note 类、user 类以及 object 类的相关 操作数据库的函数。 - -33 图 4-28 调用 note 类、user 类以及 object 类的相关操作数据库的函数 model 模型:为方便管理,我们设置了 note、user 和 objects 类,大致功能如下: note 类: 图 4-29 note 类 - -34 user 类: 图 4-30 user 类 objects 类: 图 4-31 objects 类 - -35 主要用到的函数如下:writenewnote: 图 4-32 writenewnote 函数 addonenotenum: 图 4-33 addonenotenum 函数 addnewnotebyid: 图 4-34 addnewnotebyid 函数 getnewnotebynid: 图 4-35 getnewnotebynid 函数 - -36 4.3 数据库设计数据库设计 4.3.1 设计图:设计图: 图 4-36 数据库设计图 4.3.2 数据表数据表 1.admins 表 表 4-1: admins 表 字段字段类型类型空空默认默认注释注释 mimemime aidvarchar(20)否 password varchar(20)否 索引 键名键名类型类型 唯一唯一 紧凑紧凑 字段字段 基数基数 整理整理 空空 注释注释 primary btree是 否 aid1a 否 - -37 2.classes 表 表 4-2: classes 表 字段字段类型类型空空默认默认注释注释 mimemime classidint(11) 否 classname varchar(50)否 索引 键名键名类型类型 唯一唯一 紧凑紧凑字段字段基数基数 整理整理 空空 注释注释 primary btree是 否 classid 3a 否 3.comments 表 表 4-3: comments 字段字段类型类型空空默认默认链接到链接到注释注释 mimemime comidint(11) 否 titlevarchar(100) 否 contentvarchar(1000)否 useridvarchar(20) 否 users - uid objected int(11) 否 objects - objected datedate 否 索引 键名键名类型类型 唯一唯一 紧凑紧凑字段字段基数基数 整理整理 空空 注释注释 primarybtree是 否 comid3a 否 useridbtree否 否 userid3a 否 objected btree否 否 objectid 3a 否 4. friends 表 表 4-4: friends 字段字段类型类型空空默认默认链接到链接到注释注释 mimemime owneridvarchar(20)否users - uid friendid varchar(20)否users - uid 索引 键名键名类型类型 唯一唯一 紧凑紧凑字段字段基数基数 整理整理 空空 注释注释 primarybtree是 否 ownerid9a 否 - -38 键名键名类型类型 唯一唯一 紧凑紧凑字段字段基数基数 整理整理 空空 注释注释 friendid 9a 否 friendid btree否 否 friendid 9a 否 5.gmembers 表 表 4-5: gmembers 字段字段类型类型空空默认默认链接到链接到注释注释 mimemime gidint(11) 否 groups - gid uidvarchar(20)否users - uid 索引 键名键名类型类型 唯一唯一 紧凑紧凑 字段字段 基数基数 整理整理 空空 注释注释 gid6a 否 primary btree是 否 uid6a 否 uidbtree否 否 uid6a 否 6.groups 表 表 4-6: groups 字段字段类型类型空空默认默认链接到链接到注释注释 mimemime gidint(11) 否 groupname char(50) 否 owneridchar(20) 否 users - uid synopsisvarchar(1000)否 logoint(1) 否 索引 键名键名类型类型 唯一唯一 紧凑紧凑字段字段基数基数 整理整理 空空 注释注释 primary btree是 否 gid4a 否 ownerid btree否 否 ownerid 4a 否 7.notes 表 表 4-7: notes 字段字段类型类型空空默认默认链接到链接到注释注释 mimemime noteidint(11) 否 contentvarchar(1000)否 - -39 useridvarchar(20) 否 users - uid objected int(11) 否 objects - objected pageint(11) 是 null publicvarchar(1) 否 datevarchar(50) 否 索引 键名键名类型类型 唯一唯一 紧凑紧凑字段字段基数基数 整理整理 空空 注释注释 primarybtree是 否 noteid5a 否 user
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训行业品牌推广策略计划
- 2024年西安市临潼区人民医院招聘笔试真题
- 金融行业保安工作的综合分析与建议计划
- 深度剖析前后端分离架构试题及答案
- 数据分析在仓库中的应用计划
- 2024年湖南省数据局遴选公务员笔试真题
- 2025年软件设计师进阶试题及答案工具
- 个人能力评估与提升的月度方案计划
- 2025年软考设计师重点试题及答案
- 2025软件设计师考试核心试题及答案
- 学院“十五五”大学文化建设规划
- GB/T 45545-2025厨房家具配合尺寸
- 安全生产管理和培训制度
- 2025山东济南先行投资集团有限责任公司及权属公司社会招聘169人笔试参考题库附带答案详解
- 八年级心理健康微课件
- 建设工程消防验收课件
- 《大众敏捷制造》课件
- 采矿机器人技术发展-全面剖析
- 地质勘查合同补充协议
- 某桥梁工程专项施工方案
- 信息技术服务质量承诺及保障措施
评论
0/150
提交评论