机顶盒客户端的设计与实现 毕业论文.doc

上传人:来看看 文档编号:3935575 上传时间:2019-10-10 格式:DOC 页数:38 大小:2.69MB
返回 下载 相关 举报
机顶盒客户端的设计与实现 毕业论文.doc_第1页
第1页 / 共38页
机顶盒客户端的设计与实现 毕业论文.doc_第2页
第2页 / 共38页
机顶盒客户端的设计与实现 毕业论文.doc_第3页
第3页 / 共38页
机顶盒客户端的设计与实现 毕业论文.doc_第4页
第4页 / 共38页
机顶盒客户端的设计与实现 毕业论文.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《机顶盒客户端的设计与实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《机顶盒客户端的设计与实现 毕业论文.doc(38页珍藏版)》请在三一文库上搜索。

1、机顶盒客户端的设计与实现 摘 要随着数字技术,网络技术和多媒体技术的发展,将促使数字机顶盒内置和整个成本的下降,从而使得数字机顶盒逐渐进入平常的百姓家中。让大多数用户在普通模拟电视机上实现既能娱乐,又能上网等多种服务。数字机顶盒作为数字电视标志性的产品,它的发展是非常广阔的。数字电视的应用,软件技术和芯片技术的发展,数字机顶盒的功能也必将越来越强大,可以为运营商和客户开展更多更优质的服务,满足不同层次的需求。本系统即是基于QT的数字机顶盒客户端的系统,实现机顶盒的软件功能。在普通电视机上,用户购买装有本系统的机顶盒,连接网络,就能够实现电视,电影,音乐,杂志等的观看和浏览,还可以分享和收藏自己

2、喜欢的内容。关键词:数字技术;数字机顶盒;QT;客户端 Design and Implementation of the client about Set-Top BoxAbstract: With the rapid development of the IT, digital and multimedia technology, the cost of the built-in digital set-top boxes has been declined day by day, which makes built set-in boxes become popular among ord

3、inary families. As a result, most users can enjoy so many different kinds of services, for example, amusement activities and surfing the internet.Digital STBS, a landmark product of digital TV, owns a bright and broad future. Along with the pullulating of soft-ware and the chip technology, the funct

4、ions of digital STBS will be profoundly varied offering customers and operators with more quality services to meet the needs of different levels. This digital STBS client system realizes the software function of STBS, which is based on QT. With this system STBS and network, users can enjoy the TV, m

5、ovies, music, magazines and everything else. They can also share and collect their favorite contents.Keywords: digital technology; Set-Top Box; QT; client目录第1章 引言11.1 机顶盒客户端简介11.2 研究该课题的目的和意义1第2章 相关工具技术的介绍32.1 嵌入式技术32.1.1 嵌入式系统概述32.1.2 Qt简介32.1.3 开发板Ali MIPS简介42.2 Ubuntu操作系统简介42.3 SVN简介52.4 开发工具QT C

6、reator6第3章 系统需求分析73.1 问题定义73.2 可行性研究73.2.1 技术可行性73.2.2 经济可行性73.2.3 操作可行性83.2.4 社会可行性83.2.5 法律可行性83.3 系统需求83.3.1 用户业务需求83.3.2 系统功能需求93.3.3 系统性能需求10第4章 系统总体设计114.1 系统总体架构114.2 各模块的总体设计124.2.1 用户注册、登录124.2.2 电影模块134.2.3 电视模块144.2.4 相册模块154.2.5 音乐模块164.2.6 杂志模块164.2.7 分享模块174.2.8 首页HOTKEY键模块18第5章 系统编码及模

7、块实现205.1首页模块的设计实现205.2 个人中心模块的设计实现215.3设置模块的设计实现235.4电影模块的设计实现245.5数据连接的设计实现275.5.1服务器下发XML文件285.5.2 数据结构定义285.5.3 对XML文件进行解析30结 论32致 谢33参考文献3434成都理工大学2012届毕业设计(论文)第1章 引言1.1 机顶盒客户端简介随着计算机与网络的飞速发展,人们的生活方式也在不继的改变,大家所熟知的电视机也发生了翻天覆地的变化,不仅它们的外形有了变化,而且电视机也变的不是单纯的用来看电视了。一根网线,一台电视机,一台机顶盒就能够实现很多的功能,如看电视,看电影,

8、看图片,听音乐等等。机顶盒对电视机的用途起到了至关重要的作用。数字电视机顶盒的简称叫做“机顶盒”,它是一种将数字电视信号转换成模拟信号的变换设备,它对经过数字化压缩的声音和图像信号进行解压还原,产生模拟的视频和声音信号,通过电视显示器和音响设备给观众提供高质量的电视节目。还可以通过内部软件功能和对网络稍加进行双向改造,实现网上电影的观看,音乐和图片的下载,自己喜欢的信息分享和收藏。开发一款机顶盒这样的产品会涉及到很多的方面。除了硬件方面,要根据实际的需要设计经济,实惠,性能达到标准的电路板和实现音视频的解码外,包括电视内容的重现,操作界面的实现,数据广播业务的实现,直至机顶盒和个人计算机的互联

9、以及和Internet的互联都需要由软件来实现。在软件方面,又包括了硬件驱动层软件,嵌入式实时多任务操作系统,中间件,上层应用程序。其中上层应用程序执行服务器提供的各种服务功能。1.2 研究该课题的目的和意义本系统是一款基于QT的网络应用程序,安装在机顶盒上,用户是利用遥控器对机顶盒进行操作,从而实现对信息的获取。实现的商业用途是,用户需要付费才能获得权限,浏览信息。本次开发是初级阶段,版本号是1.0.1,如果客户满意会完善和增加功能。在公司两个团队一起开发,主要实现的功能有如下几个模块。 1.用户的注册和登录。填写基本信息,系统就会给你分配一个ID和密码。登录之后就可以管理自己的账户,可以修

10、改密码,忘记密码也可以找回密码。 2.电影模块的实现,可以查看本地的电影,也可以浏览网上的电影。一部电影可以查看它的详情,了解更多关于这部电影的信息。浏览到自己喜欢的电影时,还可以分享给其他人,也可以收藏下来。3.电视模块的实现,可以像普通电视一样的观看,主要是观看网络电视。也可以分享和收藏电视。4.音乐模块实现,可以查看本地的音乐,还有网上的音乐,播放音乐的时候可以看见歌词的滚动。也可以像电影和电视一样,了解它们的详情。 5.分享模块主要实现的是对分享内容的管理,投票。 通过这次在公司的实习,让我收获最大的就是软件开发的整个过程,团队人员的协同工作。在那里我也结交了一些朋友,向他们学习了很多

11、东西。开发的流程,编程语言的熟练使用都有提高。第2章 相关工具技术的介绍2.1 嵌入式技术2.1.1 嵌入式系统概述 嵌入式系统(Embedded System),就是“嵌入式计算机系统”的简称,它是相对于通用的计算机系统而言的。在有些系统里面也有计算机,不过计算机只是作为某个专用系统中的一个部件而存在的。像这样“嵌入”到更大,专用的系统中的计算机系统,称之为“嵌入式计算机”,“嵌入式计算机系统”或者“嵌入式系统”。 嵌入式系统无处不在,从家庭的洗衣机,电冰箱,电视机,小汽车,到办公室里的远程会议系统等,都属于可以使用嵌入式技术进行开发和改造的产品。嵌入式系统本身就是一个很模糊的概念。一个手持

12、的MP3和一个PC104的微型工业控制计算机都可以认为是嵌入式计算机系统。 嵌入式系统通常由嵌入式处理器,嵌入式操作系统,外围设备,应用软件几大部分组成。嵌入式系统的特点,集计算机技术,软硬件一体化,微电子技术和行业技术为一体;需要操作系统支持,执行速度快,代码少;专用紧凑,成本敏感,用途固定;可靠性要求高;多样性,种类繁多,应用广泛。2.1.2 Qt简介Qt是一个跨平台C+图形用户界面应用程序开发框架,在1991年由奇趣科技开发的。它既可以开发GUI程序,也可以开发非GUI程序,比如服务器和控制台的工具。Qt是面向对象语言,易于扩展,并且允许组件编程。2008年1月31日,奇趣科技被Noki

13、a收购后,Qt也因此成为Nokia旗下的编程语言工具。并且Nokia针对自己的移动设备平台规划的需要,将Qt按照不同的版本发行,有Qt商业版和Qt开源版。Nokia公司提供传统的商业软件开发版并且提供在协议有效期内的免费升级和技术支持服务。为了开发自由和开放源代码的软件,提供了和商业版本同样功能的开源版,GNU通用公共许可证下,它是免费的。Qt的优势: 1.面向对象。Qt的良好封装机制使得Qt的模块化程度非常高,可重用性非常的好,对于用户开发来说是非常方便的。Qt提供了一种称为SIGNALS/SLOTS的机制,使得各个元件之间的协同工作变得非常的简单。2.丰富的API。Qt包括多达250个C+

14、类,还提供基于模板的类,甚至还包括了正则表达式处理功能。3.支持2D、3D图形渲染,支持OPENGL。4.大量的开发文档。5.XML支持。6.Webkit引擎的集成,可以实现本地界面与Wed内容的无缝集成。2.1.3 开发板Ali MIPS简介Ali MIPS开发板是杨智科技定制的开发板。这一系列的开发板主要用在了数字机顶盒上,处理器是MIPS,它是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器(Microprocess or without interlocked piped stages)”,其机制是尽量利用软件办法避免流水线中数据相关问题。MIPS处理器最早

15、是在80年代初期由斯坦福大学Hennessy教授领导的研究小组研制出来的。2.2 Ubuntu操作系统简介 Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得

16、帮助。Ubuntu 项目完全遵从开源软件开发的原则;并且鼓励人们使用、完善并传播开源软件。也就是Ubuntu目前是并将永远是免费的。然而,这并不仅仅意味着零成本,自由软件的理念是人们应该以所有“对社会有用”的方式自由地使用软件。“自由软件”并不只意味着您不需要为其支付费用,它也意味着您可以以自己想要的方式使用软件:任何人可以任意方式下载、修改、修正和使用组成自由软件的代码。因此,除去自由软件常以免费方式提供这一事实外,这种自由也有着技术上的优势:进行程序开发时,就可以使用其他人的成果或以此为基础进行开发。对于非自由软件而言,这点就无法实现,进行程序开发时,人们总得白手起家。基于上述原因,自由软

17、件的开发是迅捷、高效和激动人心的!目前已有大量各种各样基于 GNU/Linux的操作系统,例如:Debian,SuSE,Gentoo,RedHat 和 Mandriva。在这行业已竞争纷繁的世界里,Ubuntu 是又一个参与者。那么 Ubuntu 何以有所不同? Debian 是一个广受称道、技术先进且有着良好支持的发行版,Ubuntu 正是基于 Debian之上,旨在创建一个可以为桌面和服务器提供一个最新且一贯的 Linux 系统。Ubuntu 囊括了大量从 Debian 发行版精挑细选的软件包,同时保留了 Debian 强大的软件包管理系统,以便简易的安装或彻底的删除程序。与大多数发行版附

18、带数量巨大的可用可不用的软件不同,Ubuntu 的软件包清单只包含那些高质量的重要应用程序。注重质量,Ubuntu提供了一个健壮、功能丰富的计算环境,既适合家用又适用于商业环境。本项目花费了大量必要的时间,努力精益求精,每6个月就会发布一个版本,以提供最新最强大的软件。2.3 SVN简介TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Su

19、bversion 和版本控制系统看作一种“时间机器”。版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。 某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。2.4 开发工具QT Cr

20、eatorQt Creator是一个完整的集成开发环境,用于创建Qt应用程序框架的应用。Qt是专为应用程序和用户界面,一次开发和部署跨多个桌面和移动操作系统(微软的windows,苹果和Linux)。Qt Creator的主要优点之一是它允许一个开发团队共享一个项目不同的开发平台共同为开发和调试工具。Qt Creator是Qt Quick的一部分,它允许设计人员和开发人员创造一种直观的和现代的外观,它正越来越多地用于手机,媒体播放器,机顶盒和其他便携设备的接口。Qt Creator使得设计师和开发商之间的合作。设计师在可视化的环境中工作,而开发人员的工作是在一个全功能的IDE和Qt Creat

21、or支持往返迭代从设计,代码,测试,和背部的设计。Qt Creator的主要目标是满足Qt开发人员正在寻找简单,易用性,生产力,可扩展性和开放的发展需要,而旨在降低进入Qt的屏障。Qt Creator的主要特点是先进的C + +代码编辑器和调试的图形用户界面的C + +函数。集成的Qt Designer,Qt的帮助,并快速导航定位工具,使Qt Creator的Qt应用开发的理想环境。第3章 系统需求分析1.2.3.3.1 问题定义本系统主要是使用Qt Creator 开发工具开发的一款机顶盒客户端应用程序。开发的主要功能有新用户的注册,用户点击注册,系统就会自动生成一个用户名和对应的密码,填写

22、基本信息就可以完成用户的注册,并且可以修改密码。登录以后就可以浏览和观看电视,电影,欣赏音乐,查看图片还可以分享,收藏喜欢的,和网上的朋友一起分享。在电影模块,可以查看本地的电影,还可以通过网络查看热门排行的电影,通过U盘也可以播放电影,音乐和图片。点击电影可以查看电影的详情。在电视模块,可以对电视评分,查看网络电视,了解剧情简介,收藏,分享喜欢的电视。相册模块可以观看本地的图片,还可以看网络上的图片,也可以分享和收藏,音乐模块也是一样。在杂志模块可以分类的查看杂志,有科技,汽车,文学,电影,生活,家居等。在分享模块主要就有分享自己喜欢的电视,电影,音乐,杂志,相册,对这些的管理。3.2 可行

23、性研究33.13.23.2.1 技术可行性 本系统是主要是用Qt Creator开发工具开发的,Nokia公司对QT是完全支持的,Qt Creator工具本身就有很多的帮助文档,对于每一个类都有详细的说明,还有相关的例子让我们学习和查看。网上也有许多前人的经历,别人的总结文档。最主要的是在公司有多年从事QT开发的软件工程师,他们有丰富的经验。依靠这样的技术支持一定会实现这个系统。3.2.2 经济可行性随着科技的发展,机顶盒越来越多的进入了平常百姓的家中,投资者愿意花钱来开发这款软件。在开发之初就有一笔钱投入到本系统当中。相信给开发团队发工资还是有的。如果最后产品能够投入生产,并且能够进入市场,

24、相信前期的投入是值得的,而且投入也是很少的,会获得很丰厚的收入。3.2.3 操作可行性 电视机现在基本每家每户都有,而且有的还不止一台。对电视机的遥控板都能够熟练的使用,这块机顶盒的遥控板比平常的遥控板还要简单,上面的图标简单易懂,操作起来非常的简单。3.2.4 社会可行性 经济的快速发展,人们的生活水平的日益提高,网络也很快进入了家中。通过电视上网,扩大信息量是这样的社会必须的。坐在家中的人们渴望了解世界,认识世界,网络解决了这个问题。网络通过电视带给了人们对外面世界的憧憬。网络的普及通过电视达到了,可以说社会是在不停地进步。3.2.5 法律可行性 在信息发布的过程中,会通过服务器连接到客户

25、端的,客户端上浏览的信息要经过服务器。通过服务器的严格把守,相信用户是不会有什么法律上的问题的。用户观看的电视是由网络电视观看的,电视台已经严格把关了。电影,图片,杂志也是经过网络检查过的。相信不会有什么违反法律的信息。3.3 系统需求3.33.3.1 用户业务需求作为用户可以在电视机上注册,登录,分享和收藏自己喜欢的电视,电影,相册和音乐。在电影模块可以观看到不同风格的电影,在电视模块可以观看到基本的电视剧,在音乐模块可以收听都喜欢的音乐,在相册模块可以看见自己比较感兴趣的图片,分享模块可以分享电影,自己得意的图片,优美的音乐,一起与志同道合的人进步。信息很多的时候还可以检索自己感兴趣的,按

26、照不同的方式查找自己喜欢的内容。还可以对自己的基本信息进行修改。用户的业务流程,如图3-1所示: 图3-1 用户的业务流程图3.3.2 系统功能需求为了实现以上的用户的需求,系统可以分为六大模块。电影模块,电视模块,相册模块,音乐模块,杂志模块,分享模块。各个模块功能如下:1. 电影模块:用户主要是进入这个模块观看电影,系统也会给用户提供一些近期的热门电影和相关的推荐,可以查看电影的详情。可以进行本地查看,通过U盘,移动硬盘等的存储介质可以在电视机上观看里面的视频。也可以通过检索,按照条件查看电影信息。2. 电视模块:还是延续了之前的那种风格,进入就是系统默认的一个电视台,观看电视。按HOTK

27、EY键以后,就可以收藏,分享,查看历史记录,我的书签,去往管理,还可以对电视台进行评分。分享的主要用途是可以把自己喜欢的电视台,分享到网易,人人,微博等的上面。3. 相册模块:可以查看本地的图片,你可以把自己照的图片,上传上网络,分享给你的朋友,你的朋友就会看见你的靓照。对一张照片你还可以对它进行描述,让别人可以了解更多的信息。还可以添加相册,分类对自己的相册进行管理。观看图片时也有不同的现实动画。4. 音乐模块:进入以后也有几个主要的方面,我的收藏,我的分享,历史记录,我的书签,去往管理。这些和相册模块都差不多,实现的功能都相同。音乐模块的最大特点是,可以播放音乐,看见歌词的滚动效果,动态的

28、变化。也可以对具体的一首音乐或者专辑了解它的详情,导演,所属专辑,专辑介绍,相关资源推荐。5. 杂志模块:为所有的用户提供一些好的网站链接,所有用户都可以直接从本系统直接访问到相关链接。6. 分享模块:管理员必需能够对所有的注册普通用户进行管理,包括对文章、音乐、友链、评论等进行查看,删除等操作。3.3.3 系统性能需求这个系统主要的数据是由服务器发送的,如果网络不好的话就会影响用户的使用,图片,电影,电视,音乐的加载就会很慢。对于网络的浏览,数据的保存需要及时的处理缓存文件,这也是一个非常关键的问题。三天会清理一次,把最近的文件加载留下的文件清理。在嵌入式开发中,由于内存和硬盘的空间都是比较

29、小的,清理存储空间是很主要的。第4章 系统总体设计 对机顶盒系统开发过程中所需要工具进行了介绍,对本系统的需求进行了分析,各个模块实现的功能进行了大致的描述之后。本章将主要介绍机顶盒系统的架构设计以其每个模块实现的具体功能。软件所实现功能的强弱是衡量一个软件的最根本的标准。通过对系统的全面分析,确定了本系统的功能模块图。4.4.1 系统总体架构系统采用的体系架构是Client/Server(客户端/服务器)形式的两层结构。主要原因是嵌入式开发板的资源有限,客户端响应速度要快。用户购买机顶盒之后,程序已经让工程师安装在了机顶盒上面,这就构成了客户端。连接网络之后,就会有服务器端对其发送数据,随时

30、等待响应客户端发来的请求。所有的Qt图形应用程序要运行就必须连接到Qt 服务器,Qt服务器负责管理鼠标,键盘,屏幕这些输入输出设备,同时还进行窗口管理,处理窗口重叠,移动,焦点转换,字体管理,输入法管理等。而Client端则是在窗口内部进行Widget的管理,绘制,以及文件,网络等其他操作,等待服务器端传递过来的用户输入事件,然后在绘制完毕以后发消息通知服务器,由服务器进程控制显示。QT服务器客户端的架构如下图4-1所示: 图4-1 QT服务器客户端的架构由于Qt设计时出于资源节省的考虑以及灵活性,服务器进程并不是一个单独的进程,而是第一个启动的Qt图形应用程序,它既是客户端进程,也是服务器端

31、进程,从程序设计的角度来说它可以和正常的客户端进程表现完全一致,但是它却掌管着对所有的设备的访问,这样的设计会导致Qt架构内部不是那么清晰,但是好处也是非常明显的,因为服务器端进程同时也是一个客户端进程,可以直接和用户进行一些特殊的交互。4.2 各模块的总体设计44.14.24.2.1 用户注册、登录 启动机顶盒之后,如果是首次使用则会提示用户是使用已有的账号还是创建一个新的账号。可以利用第三方既有的社交网络账号或邮箱账号直接作为新的账号。再次使用时可以让用户选择是否切换账号。 用户在主页面上点击注册之后,页面跳转到注册页面,处理过程描述如下:1. 系统就会分配一个ID和对应的密码,然后用户填

32、写个人信息(性别,生日,手机,邮箱),并且同意注册协议之后,点击确认并登录。2. 提交之后数据就在后台进行处理验证,无误后台写入数据库并跳转到用户登录界面。3. 数据填写的有误则再次跳转回到注册页面,要求用户认真核对信息后再次提交,直到无误。4. 在注册界面时如果用户选择自动登录,则就会直接进入主界面,如果没有选择,用户就要在登录页面填写个人的用户名和密码后点击登录,成功后进入到个人主页面。不成功的话回到登录页面再次认证。 处理流程如下功能图4-2所示: 图4-2 注册登录功能结构4.2.2 电影模块这个模块主要是为用户提供电影的相关操作,用户在此模块下有如下操作:1. 关键字搜索电影,可以看

33、见相关搜索内容,和相关的推荐2. 按照地区,年代检索电影。3. 查看本地电影,外接存储和局域网共享。4. 网络上的热门排行,查看电影。5. 电影详情,对该电影的相关内容进行介绍,(剧照,相关推荐,影评,剧集选择,还有谁看过)。 具体功能结构如图4-3所示:图4-3 电影模块功能结构4.2.3 电视模块这个模块主要是为用户提供电视的相关操作,用户在此模块下有如下操作:1. 电视模块和传统的电视一样,进入就播放电视节目。2. 按OK键,弹出菜单进行电视节目的搜索,分为央视,地方,港澳,欧洲,美国,日韩。具体功能结构如下图4-4所示。3. 按HOTKEY键,弹出电视的相关操作,分为评星,分享,收藏,

34、我的收藏,我的分享,历史记录,我的书签,去往管理。具体功能结构如图4-5所示: 图4-4 电视OK键功能结构 图4-5 电视HOTKEY键功能结构4.2.4 相册模块这个功能模块主要是关于图片的,主要完成以下功能:1. 检索图片文件,主要是按照用户,类型,时间检索。2. 本地图片的查看,分为外接存储,局域网内共享。3. 最新推荐,这些图片主要来源于网络,推荐一些关注人数较多的图片4. 相册广场,主要是网上的关注朋友的图片收藏,观看具体一个关注朋友时候还可以收藏他们的图片,加入到自己的相册中,还可以下载下来。5. 我的相册,可以对相册进行全部删除,添加图片,添加相片。具体功能结构如下图4-6所示

35、: 图4-6 相册模块功能结构4.2.5 音乐模块这个功能模块主要是查找,搜索和收听喜欢的音乐,主要完成以下功能1. 关键字搜索音乐,可以看见相关搜索内容,和相关的推荐。2. 按照MV,曲库,还有年代,地区,风格检索音乐。3. 查看本地的音乐文件,分为外接存储(C盘,外接U盘),局域网内的共享文件。4. 网络推荐的音乐,一般都是播放次数比较多的,其他人关注较多的。5. 在线FM(调频广播),包括豆瓣FM,柠檬FM,百度FM,搜狐FM。6. 网络的MV,一些热门的MV。7. 对音乐进行收储的曲库。具体功能结构如下图4-7所示:图4-7 音乐模块功能结构4.2.6 杂志模块这个模块主要是浏览杂志,

36、它分为很多不同的风格进行查找1. 关键字搜索杂志。2. 杂志的热门排行。3. 不同的风格选项查看杂志,如科技,汽车,文学,电影,生活,家居等。4. 按HOTKEY键,可以进行杂志的相关操作,评星,分享,收藏,我的收藏,我的分享,历史记录,去往管理。 具体功能结构如下图4-8所示,HOTKEY键输出功能如下图4-9所示: 图4-8 杂志模块功能结构 图4-9 杂志HOTKEY键功能结构图4.2.7 分享模块这个模块主要是查看和管理之前多其它模块的分享内容1. 关键字搜索分享内容。2. 年代,风格,地区检索分享内容。3. 分享广场查看关注好友分享的内容。4. 可以对喜欢的电影投票,并且查看电影投票

37、结果。5. 还可以看见自己的分享结果。具体功能结构如4-10所示: 图4-10 分享功能结构图4.2.8 首页HOTKEY键模块这个模块的主要内容是在首页时,按HOTKEY键弹出个人中心,时间,关注城市天气,设置和帮助。实现功能如下图4-11所示: 图4-11 首页HOTKEY功能结构图 本章小结: 本章节主要是对系统的总体结构进行分析,在分析后利用选择的开发结构对系统进行总体的架构,再对分个模块进行总体的描述,说明各个模块的主要完成的功能,对它们进行阐述,以便在详细设计阶段有好的依据。第5章 系统编码及模块实现5.1首页模块的设计实现 用QT开发应用程序主要的步骤是首先开发UI界面,完成以后

38、就是数据的联通。首页的开发就是这样实现的。实现的每一个功能都是写在了一个类里面,所以现在我就按照类的方式简要介绍。 1. 首页在UI设计上主要涉及到的主要类有:(1)ToolUiWindow:顶端UI显示:包含用户信息,时间信息,设备信息的显示情况。(2)PosterListWidget:海报列表显示:包含推荐资源的海报列表显示。(3)RecommendListWidget:推荐资源列表显示:包含服务器推荐的资源信息。(4)ModuleListWidget:模块资源列表显示:包含服务器推荐的栏目信息。 2. 首页数据流程上涉及到的主要类有:(1)PrimaryPlugin:主界面插件接口类,负

39、责底层数据到界面的传递。(2)PrimaryModel:负责转发主界面底层数据到PrimaryPlugin。(3)Controller:控制中心,负责分发数据到各个模块,以及包含线程的管理。(4)PrimaryBackend:主界面和网络层交换数据类。首页模块类图如下5-1和5-2所示,类图较大我分开截取,两类图是以类PrimaryWindow连接。实现的效果图如下5-3所示: 图5-1 首页模块类图 图5-2 首页模块类图 图5-3 首页实现效果图55.2 个人中心模块的设计实现 个人中心模块基于插件模式设计。主框架分为左右两块。左侧模块 是菜单列表,右侧模块对应显示相对应的模块内容。1.右

40、侧模块包括 (1)personalDataInfo类:个人资料。(2)MyCollectFrame类:我的收藏模块 。(3)MyShareFrame 类:我的分享。(4)CAccountBlindWindow类:账号绑定。(5)HistoryRecordFrame:历史记录。(6)BookMarkFrame类:书签管理。2.左侧模块包括,(1)CPersonalCentreLeftMenu类: 菜单列表。(2)CBusinessListPayment类,支付绑定列表,。(3)CBusinessListAccount类,账号绑定列表。(4)CPersonalCentrePlugin 类: 是用来

41、处理个人中心数据通信管理,负责处理ui向后台申请数据及后台返回ui请求数据操作。(5)CPersonalCentreFramer 类:是个人中心主界面管理类,用来管理装载个人中心模块,及数据通信。(6)CPersonalCentreModel 类:是数据通信操作接口类。个人中心类图如下5-4所示,实现的效果图如下5-5所示: 图5-4 个人中心模块类图 图5-5 个人中心实现效果图5.3设置模块的设计实现 设置模块主要包括影像、网络、系统,其中网络部分包括本地网络和wifi。涉及的类主要包括settingPlugin、settingModule、settingModel、settingWind

42、ow、settingBackend、portraitWgt、localNetwork、wifiwidget、systemsetting等(1)SettingPlugin类:是用来处理设置模块数据通信管理,负责处理ui向后台申请数据及后台返回ui请求数据操作。(2)settingModule类:接收后台数据,对接收到的后台数据进行分发等功能(3)settingModel类:接收和转发插件和后台发来数据以及初始化数据。(4)settingWindow类:管理影像、网络、系统设置等数据。(5)settingBackend类:定义设置模块后台相关操作和对后台进行封装。(6)portraitWgt类:管

43、理影像界面。(7)localNetwork类:管理本地网络界面。(8)wifiwidget类:管理WLAN界面。(9)systemsetting类:管理系统设置界面。设置模块的类图如下图5-6所示,实现的效果图如下图5-7所示: 图5-6 设置模块类图 图5-7 设置模块实现效果图5.4电影模块的设计实现1.电影模块在UI设计上主要涉及的类有:(1)UiInterFace类, 程序界面基类,定义了界面所用的数据结构。(2)CFilmWindow类, 电影主界面框架,主要负责电影主界面逻辑控制和数据分发,继承自UiInterFace,主要包含左侧菜单控件 (LeftMenuWgt) 、右侧资源控

44、件(RightResourceWgt)、全屏播放控件(CFilmPlayUi)。 (3)LeftMenuWg类,电影模块左侧菜单控件,实现菜单数据的管理和逻辑控制。 (4)RightResourceWgt类,电影模块右侧资源控件,实现资源数据的分发和逻辑控制,实现数据的翻页和资源上过长文字的滚动。2. 电影模块后台设计上主要设计的类有:(1)interfaceData类, 公用数据结构。(2)DataInterface类, 数据模块基类,定义了数据通信接口。(3)PluginBase类,声明了插件类的基类,实现对插件类的统一管理。(4)CFilmModule类,电影插件界面后台module层,

45、接收后台数据,对接收到的后台数据的进行分发,对电影主界面自动过滤掉不是最后一次请求的数据,继承自PluginBase。(5)CFilmPlugin类, 电影插件UI数据主框架,构造后台数据,发送后台数据请求,界面数据的分发,继承自CFilmModule。(6)FilmModel类,负责将界面数据请求发送到底层,底层数据发送到CFilmPlugin。(7)Controller类,整个程序的调度中心,控制整个程序的运转与数据调度。(8)MovieBakend 类,电影模块数据后台,处理后台接收的数据、处理其它模块发送到的数据,向网络模块发送图像数据请求,预取列表的请求等。 由于电影模块的类较多,图较大,所示分三个图片显示。分别是5-8,5-9和5-10,实现的效果图如下5-11所示。 类图5-8和5-9,是以类UiInterFace和CFilmWindow关联。类图5-9和5-10,是以类CFilmWindow关联。 图5-8 电影模块类图 UI设计的UiInterFace程序界面基类和CFilmWindow电影主界面框架这两个类连接上下两个类图。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1