论文部分内容阅读
【摘 要】随着移动设备的普及,3G甚至4G网络设施的兴建,以及微博,FACEBOOK等大众传媒的崛起,人们对快速掌握信息的需求越来越大,于是,新闻聚合类应用自然成了手机应用市场的宠儿。但是,面对这样的信息轰炸,可以根据实际需求,开发RSS阅读器遵循“轻设计,重内容”的理念,简单、纯净,又不失个性。
【关键词】RSS 宿主网站 WebClient服务
随着移动设备的普及,3G甚至4G网络设施的兴建,以及微博、FACEBOOK等大众传媒的崛起,人们对快速掌握信息的需求越来越大,于是,新闻聚合类应用自然成了手机应用市场的宠儿。大型的新闻聚合软件如ZAKER、FLIPBOARD已经非常成熟,这些应用具有信息面广,更新速度快的优势,深受市场欢迎。
但是面对这样的信息轰炸时代的到来,对于一些真正爱阅读的人来说,他们已经不仅仅满足于天天刷新闻,刷微博,他们尝试从多个角度去体会这个世界,他们喜欢艺术,喜欢文学,善于接受新鲜事物或者有内涵的东西,但是即能真正注重信息产品质量又容易为人们所接受的阅读应用软件非常少。这便是大型新闻聚合软件的优势也是弱势,它们太大,太杂,包含的信息量巨大,因而缺乏自身的个性也不便于阅读者检索。当前如何迎合阅读者需求,做到界面简洁,内容丰富,检索便捷,浏览快速等自有特点,开发一个小众、个性、便捷的产品。
这样个性鲜明的小软件是否具有市场,我也曾有过疑虑,但经过调研发现当今互联网信息时代,小众的产品依然有其空间,“豆瓣”就是一个成功的例子。互联网并没有同化所有人,而是以“网格”的形式区分了各种圈子的人,所以重要的不是你的产品有多么“高大上”,而是要有个性,符合某一特定消费群体的需求、爱好和习惯。这样的例子很多,可以发现经常上“豆瓣”的人,他们大部分不会上百度贴吧。经常上“豆瓣”的人,百度贴吧对他们而言就如同喝咖啡的人走进了菜市场,逐渐他们自己形成一个群体,更倾向于使用“豆瓣”开发的一系列产品,尽管相关更新产品层出不穷,但是他们关注度缺非常低。所以,一个小众产品的成功,需要以他独有的特色和个性去吸引一部分群体,使他们形成“使用惯性”,这样就为软件产品的成功和后续开发奠定了基础。
基于以上调研的情况,设计开发一种简单、纯净、小众、个性鲜明的RSS阅读器,把新闻标题、摘要、内容按照用户的要求,“送”到用户的桌面,让阅读变得更轻松。
一、RSS阅读软件的分析与架构设计
1.宿主网站的需求分析。宿主网站是RSS阅读器数据存取的关键部分。网站的目的是为了能把文章保存在服务器上,以及能够以手机端可以接受的格式输出文章,因此,对于宿主网站来说,重要的不是前端如何美观,而是一个方便文章管理的后台和能够输出完整文章的功能模块,以下是功能需求。
用户管理:虽然不是重要功能,但考虑到网站的安全性,还是设置了用户的注册、登录模块。使用注册时的用户名和密码可以登录后台进行文章管理。
文章管理:是整个功能的核心。文章管理模块可以在友好的后台界面中快速地发表文章,修改文章,删除文章。
数据流图如图1所示:
图1 数据流图
上图是宿主网站的0层数据流图,基于用户表的用户管理,先接受验证信息,判断是否是系统用户,如果是则进入系统后台。基于文章表的文章管理,判断你是用户后,可以进入后台进行文章编辑,编辑完成后,点击文章发表,将会输出文章。
2.手机端的需求分析。手机端是显示数据的部分,主要有以下功能。
文章的显示。主要是使用WebClient服务读取宿主网站中Feed里的文章,并且进行文章的排版,包括一些特殊字符的转义。
文章的翻页。本应用设计成一页四篇文章,点击翻页按钮可以读取前后四篇新文章。
3.系统功能模块设计。系统功能模块设计主要是分析本阅读器系统的各个模块的组成,本阅读器系统的功能结构设计如图2所示:
图2 功能模块设计
从该图可以清楚地看到本系统主要模块,以及主要模块下包含的一些子模块。对本系统到底有哪些功能也很清楚,该系统包含的信息完不完善基本也可以有个大概的了解。
宿主网站包括用户管理和文章管理两个模块。用户管理可以查看所有在网站注册的用户,只要是注册用户都可以在网站上编写和发表文章;文章管理是每个用户的后台管理系统,有友好的文章编辑器供用户编写和发表文章,并进行文章分类管理。
手机端包括文章的读取、翻页、收藏。读取文章是把宿主网站的文章读取过来,并排版显示;翻页功能是必需的;收藏功能可以把你喜欢的文章收藏,方便下次再看。
二、数据库设计
1.数据库概念结构设计。数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作。
数据库的主要实体如下:
用户实体{用户ID,用户名,邮箱,密码,身份ID}
文章实体{文章ID,文章作者,用户ID,文章内容,文章标题,文章类型。}
为了更清楚地明白各实体之间的关系可以使用E-R图表示。E-R图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构成E-R图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事特;属性指实体所具有的每一个特性。根据上面的设计规划出的实体的描述E-R图如图3所示:
图3 系统E-R图
图中包含的实体有用户和文章。图中也标出了用户和文章,文章之间有联系,以及用户和文章实体他们各自拥有的属性。用户实体和文章实体的联系类别为发表,图中也标出了实体与实体之间的对应关系多对多或一对多的关系。可以看到他们是一对多的关系。
2.数据库物理结构设计。数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。 (1)文件组织方式:索引顺序存取方法。由于本系统结构简单,数据量少,因此采用最简单的索引方式组织数据,可以加快编程速度。
(2)存取路径:直接放在项目所在硬盘的专门文件夹里。由于本系统结构简单,数据量少,基本不存在容灾问题,因此,就放在项目所在硬盘的位置,便于查找。
(3)数据分布:数据库数据文件备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,因此放在磁带上。应用数据,索引和日志使用频繁,要求响应时间短,因此放在磁盘上。
3.数据库逻辑结构设计。系统必须要有相应的数据库,本系统的后台数据库是MySQL,就需要将数据库概念结构转化为MySQL数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表以及各个表之间的关系。
系统中本人做的模块主要有文章管理管理和用户。所用到的表示文章表和用户表,接下来作者将主要的表的数据类型,字段名等用表格的形式将其画出下来。
该表主要是记录了文章索引号,文章作者,文章内容,文章类型和文章标题。文章索引号是bight类型,并且是主键;文章作者是tinytext类型;文章内容是text类型;文章类型tinytext类型;文章标题是tinytext类型。是文章表是宿主网站的核心,用于存储所有有关文章的信息,方便管理。
该表主要是记录了用户索引号,用户名和用户权限。用户索引号是bight类型,并且是做主键;用户名是tinytext类型;权限索引号是bight类型。用户表是宿主网站的重要组成部分,用于存储所有有关用户的信息,方便管理。宿主网站是多用户网站,因此用户管理是必要的。
该系统整体相对比较简单,但“麻雀虽小,五脏俱全”,具备以下创新点:
1.应用软件工程领域的设计理论、方法,分析网络分布式考试系统的软件开发过程,为面向对象方法在教学软件领域的应用做出研究性的实践。
2.探索了一个好应用软件到底需要什么,不走高大上,不求大而全,以内容为主,开发一个真正注重内容的RSS阅读器。(作者单位:同济大学软件学院)
参考文献:
[1]Charles Petzold.Windows Phone 7程序设计[M].人民邮电出版社,2012.
[2]Charles Petzold.Windows Phone 7 Books[M].Microsoft,2011.
[3]Bradley L.Jones.Windows Phone 7 Companion[M].JOHN WILEY & SONS INC,2010.
[4]李开涌.Windows Phone 7应用开发入门与实践[M].机械工业出版社,2011.
[5]李永伦.从灵感到实现——打造你的第一个Windows Phone 7.5应用[M].机械工业出版社,2012.
[6]高雪松.windows phone mango开发实践[M].人民邮电出版社,2012.
【关键词】RSS 宿主网站 WebClient服务
随着移动设备的普及,3G甚至4G网络设施的兴建,以及微博、FACEBOOK等大众传媒的崛起,人们对快速掌握信息的需求越来越大,于是,新闻聚合类应用自然成了手机应用市场的宠儿。大型的新闻聚合软件如ZAKER、FLIPBOARD已经非常成熟,这些应用具有信息面广,更新速度快的优势,深受市场欢迎。
但是面对这样的信息轰炸时代的到来,对于一些真正爱阅读的人来说,他们已经不仅仅满足于天天刷新闻,刷微博,他们尝试从多个角度去体会这个世界,他们喜欢艺术,喜欢文学,善于接受新鲜事物或者有内涵的东西,但是即能真正注重信息产品质量又容易为人们所接受的阅读应用软件非常少。这便是大型新闻聚合软件的优势也是弱势,它们太大,太杂,包含的信息量巨大,因而缺乏自身的个性也不便于阅读者检索。当前如何迎合阅读者需求,做到界面简洁,内容丰富,检索便捷,浏览快速等自有特点,开发一个小众、个性、便捷的产品。
这样个性鲜明的小软件是否具有市场,我也曾有过疑虑,但经过调研发现当今互联网信息时代,小众的产品依然有其空间,“豆瓣”就是一个成功的例子。互联网并没有同化所有人,而是以“网格”的形式区分了各种圈子的人,所以重要的不是你的产品有多么“高大上”,而是要有个性,符合某一特定消费群体的需求、爱好和习惯。这样的例子很多,可以发现经常上“豆瓣”的人,他们大部分不会上百度贴吧。经常上“豆瓣”的人,百度贴吧对他们而言就如同喝咖啡的人走进了菜市场,逐渐他们自己形成一个群体,更倾向于使用“豆瓣”开发的一系列产品,尽管相关更新产品层出不穷,但是他们关注度缺非常低。所以,一个小众产品的成功,需要以他独有的特色和个性去吸引一部分群体,使他们形成“使用惯性”,这样就为软件产品的成功和后续开发奠定了基础。
基于以上调研的情况,设计开发一种简单、纯净、小众、个性鲜明的RSS阅读器,把新闻标题、摘要、内容按照用户的要求,“送”到用户的桌面,让阅读变得更轻松。
一、RSS阅读软件的分析与架构设计
1.宿主网站的需求分析。宿主网站是RSS阅读器数据存取的关键部分。网站的目的是为了能把文章保存在服务器上,以及能够以手机端可以接受的格式输出文章,因此,对于宿主网站来说,重要的不是前端如何美观,而是一个方便文章管理的后台和能够输出完整文章的功能模块,以下是功能需求。
用户管理:虽然不是重要功能,但考虑到网站的安全性,还是设置了用户的注册、登录模块。使用注册时的用户名和密码可以登录后台进行文章管理。
文章管理:是整个功能的核心。文章管理模块可以在友好的后台界面中快速地发表文章,修改文章,删除文章。
数据流图如图1所示:
图1 数据流图
上图是宿主网站的0层数据流图,基于用户表的用户管理,先接受验证信息,判断是否是系统用户,如果是则进入系统后台。基于文章表的文章管理,判断你是用户后,可以进入后台进行文章编辑,编辑完成后,点击文章发表,将会输出文章。
2.手机端的需求分析。手机端是显示数据的部分,主要有以下功能。
文章的显示。主要是使用WebClient服务读取宿主网站中Feed里的文章,并且进行文章的排版,包括一些特殊字符的转义。
文章的翻页。本应用设计成一页四篇文章,点击翻页按钮可以读取前后四篇新文章。
3.系统功能模块设计。系统功能模块设计主要是分析本阅读器系统的各个模块的组成,本阅读器系统的功能结构设计如图2所示:
图2 功能模块设计
从该图可以清楚地看到本系统主要模块,以及主要模块下包含的一些子模块。对本系统到底有哪些功能也很清楚,该系统包含的信息完不完善基本也可以有个大概的了解。
宿主网站包括用户管理和文章管理两个模块。用户管理可以查看所有在网站注册的用户,只要是注册用户都可以在网站上编写和发表文章;文章管理是每个用户的后台管理系统,有友好的文章编辑器供用户编写和发表文章,并进行文章分类管理。
手机端包括文章的读取、翻页、收藏。读取文章是把宿主网站的文章读取过来,并排版显示;翻页功能是必需的;收藏功能可以把你喜欢的文章收藏,方便下次再看。
二、数据库设计
1.数据库概念结构设计。数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作。
数据库的主要实体如下:
用户实体{用户ID,用户名,邮箱,密码,身份ID}
文章实体{文章ID,文章作者,用户ID,文章内容,文章标题,文章类型。}
为了更清楚地明白各实体之间的关系可以使用E-R图表示。E-R图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构成E-R图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事特;属性指实体所具有的每一个特性。根据上面的设计规划出的实体的描述E-R图如图3所示:
图3 系统E-R图
图中包含的实体有用户和文章。图中也标出了用户和文章,文章之间有联系,以及用户和文章实体他们各自拥有的属性。用户实体和文章实体的联系类别为发表,图中也标出了实体与实体之间的对应关系多对多或一对多的关系。可以看到他们是一对多的关系。
2.数据库物理结构设计。数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。 (1)文件组织方式:索引顺序存取方法。由于本系统结构简单,数据量少,因此采用最简单的索引方式组织数据,可以加快编程速度。
(2)存取路径:直接放在项目所在硬盘的专门文件夹里。由于本系统结构简单,数据量少,基本不存在容灾问题,因此,就放在项目所在硬盘的位置,便于查找。
(3)数据分布:数据库数据文件备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,因此放在磁带上。应用数据,索引和日志使用频繁,要求响应时间短,因此放在磁盘上。
3.数据库逻辑结构设计。系统必须要有相应的数据库,本系统的后台数据库是MySQL,就需要将数据库概念结构转化为MySQL数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表以及各个表之间的关系。
系统中本人做的模块主要有文章管理管理和用户。所用到的表示文章表和用户表,接下来作者将主要的表的数据类型,字段名等用表格的形式将其画出下来。
该表主要是记录了文章索引号,文章作者,文章内容,文章类型和文章标题。文章索引号是bight类型,并且是主键;文章作者是tinytext类型;文章内容是text类型;文章类型tinytext类型;文章标题是tinytext类型。是文章表是宿主网站的核心,用于存储所有有关文章的信息,方便管理。
该表主要是记录了用户索引号,用户名和用户权限。用户索引号是bight类型,并且是做主键;用户名是tinytext类型;权限索引号是bight类型。用户表是宿主网站的重要组成部分,用于存储所有有关用户的信息,方便管理。宿主网站是多用户网站,因此用户管理是必要的。
该系统整体相对比较简单,但“麻雀虽小,五脏俱全”,具备以下创新点:
1.应用软件工程领域的设计理论、方法,分析网络分布式考试系统的软件开发过程,为面向对象方法在教学软件领域的应用做出研究性的实践。
2.探索了一个好应用软件到底需要什么,不走高大上,不求大而全,以内容为主,开发一个真正注重内容的RSS阅读器。(作者单位:同济大学软件学院)
参考文献:
[1]Charles Petzold.Windows Phone 7程序设计[M].人民邮电出版社,2012.
[2]Charles Petzold.Windows Phone 7 Books[M].Microsoft,2011.
[3]Bradley L.Jones.Windows Phone 7 Companion[M].JOHN WILEY & SONS INC,2010.
[4]李开涌.Windows Phone 7应用开发入门与实践[M].机械工业出版社,2011.
[5]李永伦.从灵感到实现——打造你的第一个Windows Phone 7.5应用[M].机械工业出版社,2012.
[6]高雪松.windows phone mango开发实践[M].人民邮电出版社,2012.