视频点播器(服务器)姓名:黄生禄指导老师:李雅静学号:NF140507•项目需求分析•项目总体介绍•项目亮点介绍•项目功能模块介绍•项目心得体会项目需求分析•项目开发的意义–随着互联网技术和多媒体技术的快速发展,视频点播开始广泛应用于家庭娱乐、远程教育等行业。视频点播能实现媒体资源的按需收看和任意播放。而嵌入式技术的发展也让越来越多智能化和信息化的嵌入式设备开始进入人们的生活,从而使得面向嵌入式终端设备的视频点播系统也成为研究的热点。–另外本项目是建立在我们已经掌握了一定的C和C++语言的编写能力的基础上,通过本项目可以让我们深入和巩固本阶段所学的知识。运行环境•系统–Fedora9•内核版本–2.6•编译环境–gcc4.3•数据库–SQlite3.5.6项目需求分析•功能性需求项目总体介绍•系统架构登录时序图项目具体设计•本项目是基于MVC设计思想实现的,M就是模型,V视图,C控制。UI层•UI层主要负责交界面的绘制、显示及控制,从而实现人机交互。项目总体介绍•系统流程基本组件基类控件基类设置项目的几个基本类型查询窗口类型cQForm窗口实现查询报表的创建,报表的选择,增加、删除、修改报表的重新刷新显示,以及选择后光标的停留。下拉框类型下拉框的实现使用两种类型实现的,首先创建下拉框基框,下拉框选项以下拉框为父指针,根据下拉框条数自动创建下拉框内容。用户权限表视频信息表项目亮点介绍•数据库查询的翻页功能•数据增删该的自动刷新功能•点播报表的下拉框内容自动改变项目亮点介绍•翻页功能–翻页功能的实现:首先获取数据库符合条件个数,计算出总共数据条数和页数,然后计算单前页,设置每页显示数目,数据库使用limit和offset设置限制数量,offset由每页显示数目和单前页吗计算得出,然后查询数据库,查完数据库后把内容保存在cQform中,cQform类中定义了多个静态变量,用于保存报表的选择位置和刷新使用。项目亮点介绍翻页功能流程图项目亮点介绍•数据增删改的自动刷新功能–本次项目设计,在报表选中后除了反色之后,还通过使用静态数据成员,对选中报表的位置以及内容保存下来,提供给之后的修改,查询使用。如果数据被删除之后,处于最后一个的话,那选中光标自动上移,否则的话,光标自动指向下一条数据。–如果增加一条数据的话,页面自动刷新最后一条信息,但不选中最后一条信息。(由于时间仓促本功能没来的及测试,只好只作刷新不选中啦)–如果修改这条信息的话,光标不懂,刷新本次页面。项目亮点介绍•增•删•改•刷•新•报•表项目亮点介绍•点播报表的下拉框内容自动改变–点播报表有四个下拉框–频道下拉框有4个选项,每个频道的分类、地区各不相同,因此下拉框的内容就需要动态变化。–下拉框动态变化是根据数据库的频道,分类,地区里面内容动态获取的。在频道选中一个选项的时候,程序会查询数据库内容把地区、和分类会按频道的内容到相应数据库查询信息,并根据返回信息删除原有下拉框内容重新创建新的下拉框,来实现下拉框内容动态变化。系统功能模块•系统管理–用户管理•客户端管理–客户端用户管理•报表统计–点播报表系统功能模块•登录模块–用户名只能英文或字母,密码只能输入字母或数字,系统功能模块•1、系统管理界面:修改界面•修改界面自动显示选择用户任意键修改信息,但是用户名不能同名删除界面•删除报表是假删除,如果为选中内容则提示未选中,admin超级用户不能删除。可以删除自己权限界面•权限不能修改超级用户,未选中信息无法进入权限界面。客户端管理•客户端管理与管理员类似,默认查询全部,只支持精确查找,不提供模糊查找。报表查询•报表统计默认频道为电影频道,地区和分类都默认为全部,默认查询本周报表项目心得体会•不要使用局部数组最为返回值•把窗口加入链表之后如果释放该窗口指针,如果要重新使用该指针时需要更新链表,否则会出错。•若某些数据使用率频繁,耦合性大可以使用静态变量,降低代码复杂程度。•数据库的功能很强大,碰到难题可以上网查一下数据库能否直接解决,不要用代码解决,增加工作量。