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