1引言
本章节重点介绍家庭多媒体共享平台的项目背景和国内外在相关领域的研究现状,然后进一步阐述该项目的价值与研究意义,最后介绍了论文各章节的组织结构。
1.1 论文研究背景
由于各个手机厂商均有自己的手机云,各个手机厂商之间、各个手机平台之间的交互过于方式过于繁琐和复杂,为了让各种手机平台方便交互,也为了能够让家庭中逐渐多的智能设备互联,为用户带来更便捷多彩的家庭生活,有必要提供一种能够方便的解决方案,即家庭云。家庭当巾设备组网太复杂、单一设备娱乐过于单调、设备五花八门、设备控制混乱,这些都是在移动互联3C融合时代家庭用户存在的问题,而家庭云能够解决这些问题,方便了用户的生活。
1.2国内外市场现状
“欢跃“是英特尔推出的数字家庭解决方案。该平台能够实现直接用遥控器在电视机上获取内容,这正是目前数字家庭概念的核心功能之一。英特尔欢跃技术是专门为数字家庭而设计的平台,它将满足消费者能够在家中通过多种设备随时随地访问相关内容的渴望。英特尔欢跃技术将创新、众多数字设备、一流的娱乐设施和尖端技术融合在一起,使消费者能够以自己的方式更充分地享受和掌控自己的数字娱乐体验。在英特尔的号召下,全球加入这一领域的新兴网络内容服务商超过40家,其中不乏搜狐、游谷、天天在线等本地化服务商。总体来说,欢跃平台已经能够完成一部分家庭娱乐功能,但是由于当今移动互联网的快速发展,欢跃平台的使用也受到了一定的限制。
Apple TV拥有同步或流的功能,而用户可依需求自行决定。苹果公司正式发布Apple TV时,也同时开放预购。2007年3月21日,Apple TV正式出货。2007年5月31日,Apple TV的160GB版本上市。2012年3月份Apple发布Apple TV3,外形不变,搭载全新A5处理器,支持1080p视频播放。在2013年1月底的AppleTV软件更新中又出现了新的AppleTV3.2。
本文所提到的家庭云其实就是一个家庭多媒体共享平台。使用此平台,个人内容可以在家庭中实现跨用户跨设备的互联和分享。此平台可以实现无线智能组网、娱乐实时分享、集中安全存储及统一设备管理,普及了个人云的使用范围,为未来智能家庭生活创造了条件。
1.3论文主要内容与结构安排
本小节介绍了论文的主要内容和结构安排。包括从需求分析、概要设计到详细设计的内容以及相应的章节安排。
1.3.1论文的主要内容
本文详细阐述了家庭多媒体共享平台客户端的分析、设计和实现过程。在需求分析阶段,通过对系统的功能需求和非功能需求进行分析,确定了客户端软件整体结构,确定了基于MVC的程序架构。根据客户端的需求分析,进行了概要设计,确定了系统的功能模块,并分析了客户端的程序结构设计。在详细设计阶段,主要通过类图、流程图和时序图对各个功能模块进行了详细说明。解释了各个功能模块设计的方法,并对各个模块之间的关系进行了详细说明。
2相关技术介绍
本章节重点介绍家庭多媒体共享平台客户端的开发所使用的主要的技术。包括QT编程技术和XMPP协议。
2.1 QT编程
本节主要介绍了 QT编程相关的技术。包括概述、信号和槽机制、Model/View设计模式。
2.1.1 QT编程概述
Qt目前主要包括QT/X11、Qt Designer、Qt Linguist和Qt Embedded等。利用Qt无须重新编写源代码,便可以构建运行在不同桌面操作系统和嵌入式设备上的应用程序。Qt的体系结构如图2.1。
3客户端需求分析.............11
3.1系统开发目标.............11
3.2功能性需求.............11
3.3非功能性需求.............16
3.4本章小结.............16
4客户端概要设计.............17
4.1软件功能结构.............17
4.2软件逻辑分层架构.............24
4.3系统部署架构.............25
4.4本章小结.............26
5 客户端详细设计与实现.............27
5.1系统概要类图.............27
5.2账号管理.............29
5.3多媒体文件管理.............38
5.4设备播放控制.............45
5.5下载管理.............56
5.6资源中心.............60
5.7本章小结.............64
总结
通过参与本项目的开发,本人掌握了更多的专业开发技术,对Qt编程有了更深入的理解。同时,也深刻体会到了软件开发模式、开发思想、项目管理和团队工作对于项目的重要作用。本人的主要体会如下:
1)重视设计模式设计模式是软件工程的基石。它能够保证软件具有更好的可重用性,能够让人更容易的理解代码。软件的成功与否,和设计模式有着密不可分的关系。选择一个好的设计模式,能够让软件具有清晰的架构,对软件的扩充和修改都有很大的帮助。
2)培养团队合作意识现在不是英雄主义时代,在软件开发方面尤其是这样。一个人的能力不论有多强,但是面对复杂庞大的软件项目,也肯定是无从下手。一个项目动辄几万行,甚至几百万行的代码,如果只依靠一个人,基本上是不可能完成的。所以,软件开发,必须有一个团队。在团队中,只有懂得合作,每个人才能都推动项目的进展。
3)加强项目质量管理工欲善其事必先利其器。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的活动。项目管理对一个项目的成功起到关键作用。特别是在大型项目中,一个好的管理,能够让项目按时,甚至提前完成。
参考文献:
[1]Xteam (中国)软件技术有限公司.Qt程序设计[M].北京:清华大学出版社,2002.
[2]邹茜.基于Qt的GUI应用程序开发[J].计算机与网络,2010,18 (4): 24-30.
[3]Ezust A, EzustP著.张学敏张君施等译.C++Qt设计模式[M].第二版.北京:电子工业出版社,2012. 7.
[4]Mark Summerfield著.白建平,王军锋,白净等译.Qt高级编程[M].北京:电子工业出版社,2011. 4.
[5]Gamma E, HelmR, Johnson R等著.李英军,马晓星等译.设计模式可复用面向对象软件的基础[M].北京:机械工业出版社,2000. 9.
[6]Blanchette J, SummerField J 著.张志强等译.C++GUI Qt4 编程[M].第二版?北京:电子工业出版社,2008. 8-
[7]Frank H, Fitxek P, MikkonenT,TorpT 著.DevDiv 移动幵发社区译.Qt 开发 Sybmian应用权威指南[M].北京:机械工业出版社,2012. 1.
[8]JackMoffitt著.杨明军等译.XMPP高级编程[M].北京:清华大学出版社,2011. 6.
[9]张彦,夏清国..Jabber/XMPP技术的研究与应用[J].科学技术与工程,2007(06):88-97.
[10]Neil T著.王军锋等译.移动应用UI设计模式[M].北京:人民邮电出版社,2013. 1.