WebAnalytics系统目录_第1页
WebAnalytics系统目录_第2页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、版本:0.1 负责人: 汪艺杰()潘彦威()刘 向斌() 审批人: 戴开宇 () 更改记录 版本 状态 日期 0.1 文档草稿 2007-3-16 项目需求说明文档 Web Analytics 系统 目录 1 引言 . 错 误 !未定义书签。 1.1 项目目的 . 错误 !未定义书签。 1.2 项目范围 . 错误 !未定义书签。 1.3 项目分组 . 错误 !未定义书签。 1.4 项目答疑 . 错误 !未定义书签。 1.5 时间安排 . 错误 !未定义书签。 2 概述 . 错 误 !未定义书签。 2.1 系统设计目标 . 错误 !未定义书签。 2.2 系统特征 . 错误 !未定义书签。 2.3

2、 系统设计思想 . 错误 !未定义书签。 2.4 约束条件 . 错误 !未定义书签。 2.5 前提和依赖 . 错误 !未定义书签。 3 功能性需求 . 错 误 !未定义书签。 3.1 系统模型 . 错误 !未定义书签。 3.2 主系统 . 错误 !未定义书签。 3.2.1 数据收集模块 . 错误 !未定义书签。 3.2.2 用户管理模块 . 错误 !未定义书签。 3.2.3 查询模块 . 错误 !未定义书签。 3.2.4 报表生成模块 . 错误 !未定义书签。 3.2.5 Web Service 模块 . 错误 ! 未定义书签。 4 非功能性需求 . 错 误 !未定义书签。 4.1 可靠性 .

3、 错误 ! 未定义书签。 4.2 安全性 . 错误 !未定义书签。 4.3 易用性 . 错误 !未定义书签。 4.4 灵活性 . 错误 ! 未定义书签。 4.5 设计约束 . 错误 !未定义书签。 5 接口 . 错 误 !未定义书签。 5.1 用户界面 . 错误 !未定义书签。 5.2 硬件接口 . 错误 ! 未定义书签。 5.3 软件接口 . 错误 ! 未定义书签。 6 交付物 . 错 误 !未定义书签。 6.1 PROJECT 1 . 错误 ! 未定义书签。 6.1.1 Web Analytics 主系统(数据收集模块、用户管理模块) 错误 !未 定义 书 签。 6.1.2 项目相关文档

4、. 错误 !未定义书签。 6.2 PROJECT 2 . 错误 ! 未定义书签。 6.2.1 Web Analytics 扩展(信息查询、报表生成器及 web 服务)错误!未定义 书签。 6.2.2 项目相关文档 . 错误!未定义书签。 6.3 可交付物要求 . 错误!未定义书签。 7 评分细则 . 错误!未定义书签。 7.1 PROJECT 1. 7.2 PROJECT 2 . 错误 ! 未定义书签。 错误 ! 未定义书签。 1 引言 1.1 项目目的 项目的目的是把高级 WEB 技术课程所涉及的基础知识应用于实际 WEB 开发应用中,做到学以致用。我们希望通过“ Web Analytics

5、 系统”这 个课程项目来培养和考察同学对高级 WEB 技术的综合开发应用能力。 1.2 项目范围 项目所涉及的高级 WEB 技术范围主要如下: 1. XML 的综合应用( DTD/Schema、DOM/SAX 、XSL/X-Path/XSLT ) 2. J2EE 的综合应用(JSP/ServIe、JDBC、JNDI、Java Mail、EJB、JAXP) 3. Web Services的基础应用(以J2EE平台为主,可选跨平台集成应用) 4. 对象/关系数据库映射的基础应用(Hibernate、JDO)(可选) 5. 轻量级J2EE开发框架的基础应用(Struts、JSF、Spring)(可选

6、) 6. 可复用 J2EE 基础设计模式的应用(可选) “Web Analytics 系统”项目分为两个子项目,分别在学期期中和期末时 进行提交和验收,具体的时间表参见第 1.5 节“时间安排”以及最新的课堂 或 BBS 通知。 1.3 项目分组 考虑到项目本身具有一定的复杂性和工作量,所以允许以每组 3至 4人 为单位进行项目团队开发。分组以自愿组合为原则,但未能及时组队的同学 由我们随机安排并通知。 1.4 项目答疑 项目需求方面的答疑由任课教师和全体 TA 们共同完成。答疑方式以电 子邮件为主,如有任何建议和意见请及时与我们取得联系。 1.5 时间安排 PROJECT 1:从 2007-

7、3-27至 2007-5-6 21:00、提交后两周内组织进行面试和 评分 PROJECT 2:从 2007-5-8至2007-7-1 21:00、提交后两周内组织进行面试和 评分2 概述 2.1 系统设计目标 首先,我们介绍一下什么是 Web Analytics 系统。 Web Analytics 系统核 心过程是挖掘 Web 日志和客户端信息,经过数据预处理,将其中系统需要 的信息存入数据库中,再提取、分类数据,以满足相应的各种查询、分析功 能需求。这些功能主要有访问者终端浏览器信息,访问者终端操作系统版本 信息,访问者终端操作系统语言信息、访问者终端显示属性信息、访问者终 端 Flash

8、 版本查询,访问者终端浏览器支持 JAVA 与否,页面点击率及访问 人数、站点点击率及访问人数等。 2.2 系统特征 我们的 Web Analytics 系统有两部分组成: Web Analytics 主系统(信息 获取及存储、用户管理)和 Web Analytics 扩展(信息查询、报表生成器及 web 服务)。 本项目必须是基于B/S架构的, 部署在J2EE应用服务器上, 这是本项目 的重点。 2.3 系统设计思想 Web 服务器日志记录了用户访问本站点的详细信息。 典型的 Web 服务器 日志包括以下信息:IP地址、请求时间、方法(如 GET)、被请求文件的 URL、 HTTP 版本号、

9、返回码、传输字节数、引用页的 URL (指向被请求文 件的页面)和代理。但是,由于本地缓存、代理服务器和防火墙的存在,使 得 Web 日志中的数据并不精确,直接在其上进行挖掘非常困难,而且有可 能导致结果的错误。 我们可以用一种one pixel的方法来实现。先在客户端放置一个 1*1点的 像素,用它向服务端发送各类用户信息。 1*1 的像素点不会影响原本网站的 构架以及 UI 结构,同时能满足稳定收集到用户浏览信息,是一个非常好的 设计方法。这样子我们就能比较准确地获取 Web日志信息。 可视化:采用可视化的技术图形界面的方式表示最有价值的模式。这部 分我们主用JFreeChart来实现图形

10、报表的生成。 2.4 约束条件 必须独立按时完成,不可以代工和抄袭。对于开源项目的参考和开源框 架的应用是鼓励的,但不能够直接套用现成的开源项目来交付。 2.5 前提和依赖 可以熟练编写HTML、CSS JavaScript掌握XML和JSP/Servlet的基 础应用,对数据库设计、J2EE架构和Web Services有一定的了解。3 功能性需求 3.1 系统模型 完整的架构如下图所示: 由图3-1的系统架构图可以看出系统主要包括三个主要功能模块:数据 收集及存储;分析、统计、查询;报表生成及 web服务。 3.2 王系统 3.2.1数据收集模块 包括前台的嵌入网页的JavaScrip代码

11、和后台接受数据的Servlet。 先在客户端放置一个1*1点的像素,用它向服务端发送各类网站访问者的 信息。在具体的网页上的表示形式就是嵌入一段 JavaScrip代码。1*1的像素 点不会影响原本网站的构架以及UI结构,同时能满足稳定收集到用户浏览信网站 访冋者 分析浏览者 Internet 代码1: fun ctio n tt_Void() return; / 空函数 var img = new lmage(1,1); = url ; /servlet 的具体 URL d = function()tt_V oid(); 代码1完成了 1*1的像素点向服务器发送信息的工作。 1) 访问者识别

12、: 统计网站访问者的信息,首先要区分不同的访问者。在客户端写 Cookie 的方法来区别用户。对于网站的新访问者,随机生成一个足够大的 Cookie值 来唯一代表这个访问者,同时设置这个Cookie值的失效时间为30分钟。认为 同一个访问者在30分钟内重复访问网站只算一个人,30分钟后为新的访问 者。 2) 获取访问者信息: 前台的JavaScript收集到的访问者信息有:浏览器类型,屏幕象素,颜 色,语言,flash版本,是否支持Java等等。 在JavaScript中,浏览器的类型,操作系统语言,flash版本,支持Java与 否可以通过navigator对象获得,屏幕象素及颜色深度可以从

13、screer中获取。 代码2能够获取访问者浏览器的类型,操作系统语言信息,支持Java与否,屏 幕象素及颜色深度,至于flash版本信息请查阅相关资料。JavaScrip获取的信 息get方式传到Servleto 代码:息,是 个非常好的设计方法。 fun cti on tt_getBrowserl nfo() var sr=-,sc=-,ul=-,fl=-,je=1; var n=n avigator; if (n) sr=+x+t; sc=Depth+-bit; else if () var j=.faultToolkit(); var s=j.getScree nSize(); sr=s

14、.width+x+s.height; if (n.lan guage) ul=n. erCase(); else if (n .browserLa nguage) ul=n. erCase(); je=n.javaE nabled()?1:0; return &scree nSize=+sr+&scree nColor=+sc+&scree nLan=+ul+&javaE nable d=+je; 浏览器的版本信息,操作系统信息可以通过 Servle中获取的 HttpServletReques中获取。代码 3中获取的 ps_agen是形如 ” Mozilla/4

15、.0 (compatible; MSIE 6.0; Win dows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)这样的一段字符串,通过简单的解析最终 提取浏览器和操作系统信息。比如:“ MSIE ”就是对应Microsoft IE浏览器, 3.01则是浏览器的版本号,而“ Windows NT 5.1 ”这个串中 “Windows”为 操作系统,“ NT5.1 ”为版本号。 代码3: public void doGet(HttpServletRequest request, HttpSer

16、vletResp onse resp on se) throws ServletException, IOException Stri ng ps_age nt = (request).getHeader( User-Age nt ); .pri ntln( ps_age nt); .pri ntln( rameter( n avigator ); 获取访问者信息后,在后台把数据相应地存到数据库以备查询。 附件中是一个简单的从JavaScrip向Servlet送数据的演示程序 322用户管理模块 用户管理模块分为三个部分:用户注册,用户登陆和用户站点信息管理。 用户注册: 1) 注册信息填写,

17、包括用户名、密码、用户有效 email地址(客 户端判断emaiI地址是否有效)。 2) 用ajax技术来动态判断注册名的是否有效 3) 用户填写注册信息,注册成功后,向用户提供的 email地址发 送一封注册成功信息,并提供链接激活注册用户。 用户登陆: 1)提供找回密码功能:生成一个随即密码发送到用户注册时候 填写的email。 用户站点管理: 1) 一个注册用户可以添加多个想对其进行track的网站。 2) 添加站点必须提供站点名字、站点url。 3) 站点管理页面必须呈现如下信息:站点名、 Uld、注册时间、 数据分析页面连接以及删除连接。 4)站点客户端javascript代码拷贝文

18、本显示: it th ode to yot n web 孚 eoewtH diuberd | E /SCRIPTS .-: . tt_webcode=25; sendinfoO; D 323查询模块 查询模块必须包括如下信息的查询列表:访问者终端浏览器信息,访问 者终端操作系统版本信息,访问者终端操作系统语言信息、访问者终端显示 属性信息、访问者终端Flash版本查询,访问者终端浏览器支持JAVA与否, 页面点击率及访问人数、站点点击率及访问人数。 1)访问者终端浏览器信息: 按照浏览器类型分类 包含浏览器版本信息、使用该种浏览器访问该站点的用户人数、 该版本浏览器访问数量在该种类浏览器访问数

19、量中所占比例、所占 比例的圆柱图。如下图:.Er&TE*r Infor!ation JISTE 93. 31X 3TT8 Irovser Vrrsion 、 owsgr 启旷首丨百口 vi si t or namLer per cexit乞玉E Ai电萨鱼m hi & P&TT ST.33ft 5. 01 40 i oe i 5.0 39 1. 031& 1 5 5 14 0. 3T* in 1 &. QI 3 a. cm 1 TO 3 0.08 1 n- 3844.) OH n ie visitor nunber percent age di agjr

20、an EH 11 壯皿啊IF 3317 3B.29K Windows 2(900 366 10 04t Windows 99 89 2.32X 1 Windows ZOD3 44 1.14% i 5 Mac 2 0.05X 1 Yindcpws 2 0,05% i 仏Rg 1IT 4.0 1 O.OStt 1 DI 5 Li mm 1 a.m WK 1 o.m I 3)访问者终端操作系统语言信息: 包含访问者终端操作系统语言、使用该种语言操作系统访问该站 点的用户人数、该语言操作系统访问数量在所有操作系统访问总数 量中所占比例、所占比例的圆柱图。如下图: (Tolal 3843 Lsangji

21、iage Name visitor number perc entae d!i agr am IJ1 sn ihcn 3712 96.59% 曲曲 2.29X. | sb-tw 21 0.55% 10 .缈 j Ql 建n 5 0. 13K | de 3 0 OS* IJI QI ko 2 0.05X I err曲 1 Q, 03 | fr 1 0.03)t | 4)访问者终端显示属性信息: 包含访问者终端屏幕分辨率及颜色质量、使用该种屏幕分辨率及 颜色质量的访问终端访问该站点的用户人数、该种访问人数在所有 访问总数量中所占比例、所占比例的圆柱图。如下图: ScreexL s (Total x

22、3BO_l_ vi tor miml*or p*nt兗芒申 di agr旨鼻 1 El 1021M7S8 自2 bit 2342 SO. 1024x76& 16-bit 416 10.6SK BOOxCOO 3Hit 376 2 73% ii 1280 x1024 32-bit 235 6. 12% 1 800K600 16Bit 147 3. 63 B 1260 x300 32-bi t E8 1, 51K iissaecH SS-bU 47 1. 2 1 24-bit 39 1 OIK 800600 24-bit 30 0. 78* 1400 xl(J50 32-bit 26 0.

23、 6S HI 1 12SO 7ga 32-bi. t 25 0. 65X 1201024 1G b 1 L 1G C. 4巧t 2-bit 15 C. 5S* 1260 x800 l&-bi t S 0. 21% 1260 x720 32-bit 3 C. 23% 1920 x1200 32-bit & 0. 16% VI 12S0MQB0 32-bit 5 0. 13X im IZBOxTSB 16-bit 5 0. 13 1152x864 16bi t 4 0. 1% 1366x763 32-bit 3 c. oa & 1280 x1024 24-bit 3 o.

24、osx 14001050 16-fci t 3 心.z 维 1660K.1C50 as-bit 3 c. oe VI 9691CT&6 3Z-bit 3 U 0B16 1600 x1200 32-bit 2 C. 05ft 1440900 15-bi t 2 C. 05% 2048x768 3?-bi t ? r. 05% S40it4&0 32-bit 1 0. 03 1 L20 xB40 32-bi t 1 O. O3X IWOJCIJSO M-bit 1 0. 0316 1260 x600 32-bit 1 0. 03X 1260 xS54 32-bi t 0. 03ft

25、 2048x768 16-bit 1 0. 03% 1024x040 2-bi l 1 0. 03% ybUxbLU 32bit 1 U. UU% 1152*364 24 bi t 1 0. 03% EJI in 1260 x960 Lfl-bi t 1 0. 03% 5)访问者终端Flash版本查询: 包含访问者终端Flash版本信息、使用该种Flash版本访问该站点 的用户人数、使用该种Flash版本访问数量在访问总数量中所占比 例、所占比例的圆柱图。如下图: Plash Vers i on CTolal 3844) v&rsi on najne vi si t or nmiber

26、 p er cent age d i agr am in p 8.0 3002 TS. 1% 7.0 451 11.73% 6. 0 1ST 4.&料料 im 一 12& )33% i p B.0 rSE 20 O.Si 6.0公 ZO 0.5 im T.O rlQ 12 0.31S 9D 10 0.2&56 5.0 s oTit 9 0 r24 1 0 O3 in T. r&l 1 0.03& T.O r&3 1 0 03% 3.0 1 0.U3% PI im 4 0 r27 1 C.O39t 6)访问者终端浏览器支持JAVA与否: 包含访问者

27、终端浏览器是否支持JAVA、使用是/否支持JAVA浏 览器访问该站点的用户人数、使用是/否支持JAVA浏览器访问数量在 访问总数量中所占比例、所占比例的圆柱图。如下图: EnsLhile tTotal 3844.J Enable i zi tor number parcent age true 3609 al se 34 0.09 1 7)页面点击率及访冋人数: 页面Url以及访问该url的页面访问次数。如下图: 8)站点点击率及访问人数: 绘出按时间和站点点击率及访问人数为横纵坐标的图标。如下 图:URL http da .c nJ 3B10 em/m jn.php 1371 h

28、ttp MAjvw.Ui . cri/ n evv_g enr i ew/ge nv iew. hrtm 632 in hp.YA..cri/riew_argftnl leforgan l .htm in http:fii dan. intro, htm 57 http JA/AYW.f . cn/n ew_d e p/ru anjian.htrri 509 hit p s aflwa re. fu de n Mrfss/index.lrtrnl 504 on in htlp:jM W..crVncvY_research/

29、&criter.hftrn 31S http J/. cr/n ew_researcrirmainpno.htm 202 http7Mww.f ud anp r es $ .c o H in http:JA/.crVnew_researclVgonaxiarifl hhn 1(30 TOTAL: 10413 P& Q Vi si ts 二.讥0 1,000 1沁II 1.700 keoo iPaoo 1,400 - 1P300 100 - 1.100 Woo 000 eoo - 700 600 6D0 400 OC 200

30、me o 324报表生成模块 报表生成模块和查询模块类似,不同的是把数据按照不同的表现方式表 现出来,尽量形象简单的说明问题。在这里主要使用 JFreeChart来实现图形 报表的生成。并且至少要实现三种以上的报表效果(具体的效果可以自己根 据显示数据的不同而自己定义)。比如说,可以实现如下所示的一些效果:息国问人数:3233 息伪问决数:3844 IB-Art la-ZdJ 20 和 i 22-A/j 时何 2+ 网站访问分析图 访何人数曲线访何 Hits 曲线 访何电脑曲线 refer rate analysis sohu = 35 other sdrch = 40 baidu = 1.0

31、0d (dire ct) =2.080 (direct) = 2,080 baidu = 1.006 yahoo= 503 google = 45 other search = 40 sohu = 35 此外,在生成报表的同时,还可以将结果转成 XML 格式和 Excel 格式的数据提供下载。访 问人数,访问次数,浏览量数据都可以通过相应的数据库查询获得。 下面是一个 XML 文件。 2006/5/17 3 2006/5/18 2 2006/5/17 6 2006/5/18 8 2006/5/17 1 2006/5/18 1 3.2.5 Web Service 模块 查询服务还应该以 Web

32、Services的方式通过HTTP协议上的WSDL标准 进行发布。这样可以让某个被监测的站点在自己的网页上面通过调用服务器 发布的web services来显示自己网站的一些统计访问信息。具体显示的数据 和形式由客户端决定,但是服务器端应提供所有的数据及相应的查询接口 比如,在某个被监控的网站上面,在首页或者某个链接上面,可以查看 自己网站的一些统计信息。但是,这些统计信息是存储在数据服务器那里, 所以,这个被监控的网站就要调用数据服务器那边提供的 web service来得到 具体的数据, 并且按照一定的格式显示出来。 下面这个图显示了一个比较具 体的例子。 至于需要显示的内容,可以用一个下

33、拉框来提供3-5种的数据来让用户选 择,然后根据需要显示相应的数据,或者用一个链接在一个新的页面更加清 楚的来显示。但是,服务器端应提供所有的数据及相应的查询接口。 被监控站点 页面主内容 虽衬1 An uwvrlii 4 非功能性需求 4.1 可靠性 系统必须是稳定的、健壮的。 用户执行合法操作、输入合法数据,应得到功能性需求部分描述的预期 结果,不能出现程序的堆栈信息或是自定义的错误页面。 用户执行非法操作,不能出现程序的堆栈信息,应出现自定义的错误页 面。 用户输入非法数据, 应返回输入非法数据的页面, 并提示输入数据非法。 4.2 安全性 系统必须是安全的、完整的。 4.3 易用性 系

34、统必须是可用的、易用的。 功能性需求部分未定义的系统流程,可以自己定义处理的流程。这些自 定义的流程。要符合用户的操作习惯,简单易用。 4.4 灵活性 系统必须是灵活的、能够适应一定需求变化的。 可以考虑采用分层架构以及设计模式进行粒度、职责划分,以增强系统 的灵活性。 4.5 设计约束 1. 权限验证逻辑使用后台 EJB 实现 2. 表现层使用 JSP/Servlet 或表现层框架实现 3. 搜索服务使用 Web Services 实现 4. 邮件服务使用 Java Mail 实现 5. 报表(各类统计图形)生成使用 JFreeChart 实现5 接口 5.1 用户界面 自行设计界面风格和美

35、工效果,以简洁易用为目标。 5.2 硬件接口 能够顺畅运行在512M以上内存的X86个人计算机上 5.3 软件接口 1. 数据库: Oracle 、DB2 、SQL Server 、MAX DB XML 等 2. J2EE 应用服务器: WebLogic 、WebSphere 、 Geronimo 等 3. Web Services 开发包: Axis 、Systinet 、WSDP Services 等 4. 集成开发环境: Eclipse 、JBuilder 、NetBeans 、 5. 操作系统: Windows 2000 、XP 和 2003 6. 浏览器: IE5.5 以上和 Fir

36、eFox 1.0 以上MySQL 、 Tamino Tomcat+JBOSS 、 、.NET XML Web WSAD 、Visual 等 6 交付物 6.1 PROJECT 1 6.1.1 Web Analytics 主系统(数据收集模块、用户管理模块) 源代码和可以直接部署的 WAR/JAR/EAR 包(包括用到的非 J2EE 标准 的各种扩展 JAR 包、数据库连接 JAR 包和开源工具 JAR 包等)。 6.1.2 项目相关文档 项目文档统一用 doc 格式提交。团队分工安排表和自我评分表附在项目 设计文档最后,最终只提交一份文档。 项目设计文档:项目的用例提炼、架构概要设计、关键功能

37、详细设计。 团队分工安排表:团队成员名单、各自参与的任务、对整个 project 的贡 献百分比。 自我评分表:按照评分细则进行自我评估以及扩展功能点的说明。 6.2 PROJECT 2 6.2.1 Web Analytics 扩展(信息查询、报表生成器及 web 服务) 源代码和可以直接部署的 WAR/JAR/EAR 包(包括用到的非 J2EE 标准 的各种扩展 JAR 包、数据库连接 JAR 包和开源工具 JAR 包等)。 6.2.2 项目相关文档 项目文档统一用 doc 格式提交。团队分工安排表和自我评分表附在项目 设计文档最后,最终只提交一份文档。 项目设计文档:项目的用例提炼、架构概要设计、数据库设计、关键功 能详细设计。 团队分工安排表:团队成员名单、各自参与的任务、对整个 Project 的贡 献百分比。 自我评分表:按照评分细则进行自我评估以及扩展功能点的说明。 6.3 可交付物要求 可交付物需要有一份清单以及运行、配置的说明,成员名单以及组长的 联系方式以便有问题是能够及时联系。7 评分细则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论