文档视界 最新最全的文档下载
当前位置:文档视界 › 在线视频播放系统的设计与实现

在线视频播放系统的设计与实现

在线视频播放系统的设计与实现
在线视频播放系统的设计与实现

题目在线视频播放系统的设计与实现

学生姓名崔媛媛学号 1213014055 所在学院物理与电信工程学院

专业班级电子1202 指导教师李菊叶

完成地点物电学院计算机信息处理分室

2016 年6月5日

毕业论文﹙设计﹚任务书

院(系) 物电学院专业班级电子信息工程学生姓名崔媛媛

一、毕业论文﹙设计﹚题目在线视频播放系统的设计与实现

二、毕业论文﹙设计﹚工作自 2016 年 3 月 10 日起至 2016 年 6 月 20 日止

三、毕业论文﹙设计﹚进行地点: 物电学院计算机信息处理分室

四、毕业论文﹙设计﹚的内容要求:

随着网络的普及,在线播放器也日益普及起来。本设计要求学生利用Visual C++为开发工具,

使用DirectShow SDK技术开发一个功能齐全的视频播放器,要求能够对硬盘或存储设备上的多媒体

文件进行播放,及在回放或显示过程中,用户可以控制回放的动作和显示特性等相关功能。

五、毕业论文﹙设计﹚应收集资料及参考文献:

[1]徐孝凯,张纪勇.C++面向对象程序设计:VC++6.0运行环境[M].天津大学出版社2009.

[2]汪晓平,钟军.VC++网络通信协议分析与应用实现[M].北京:人民邮电出版社,2003.

[3]王艳平,张越.Windows网络与通信程序设计[M].北京:人民邮电出版社,2006.

[4] Andrew S.Tanenbau.计算机网络(第四版)[M].北京:清华大学出版社,2004.

[5]谢希仁.计算机网络(第五版)[M].北京:电子工业出版社,2012.

[6]朱桂英.张元亮 Visual C++网络编程开发与实践[M].清华大学出版社.2013.

六、毕业论文﹙设计﹚的进度安排:

3月2日——3月29日:查阅资料,完成初步设计方案和开题报告。

4月1日——4月26日:根据视频播放系统的工作原理,给出设计方案,及软件流程图。

4月29日——5月24:并在软件环境下进行运行调试,进一步完善系统功能,整理资料;

5月27日——6月7日:撰写、修改毕业设计论文。

6月10日——6月15日:打印论文准备并完成答辩。

指导教师签名系(教研室)主任签名

专业负责人签名批准日期

在线视频播放系统的实现与设计

崔媛媛

(陕西理工学院物理与电信工程学院电子信息工程专业,2012级2班,陕西汉中 723000)

指导教师:李菊叶

[摘要]本设计在Visual C++环境下,利用MFC程序设计方法。并利用DirectShow的播放器核心技术,重点实现了播放、暂停、停止、声音控制、进度控制、抓取视频帧、播放模式控制、全屏等功能。通过对系统的需求分析、设计、实现,完成了多媒体播放器系统,各项功能使用正常,并给出了实现关键代码。DirectShow是基于COM组件,它是二进制级别的(不受限于编程语言和操作系统),具有很好的兼容性和移植性。

[关键字]Visual C++;MFC;DirectShow;播放器

The design and implement of online video broadcast

system

Cui Yuanyuan

(Grade12,Class02,Major electronics and information engineering,School of Physics and Telecommunication Engineering,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)

Tutor:Li Juye

Abstract:This design uses MFC program design methods Under Visual C++environment. At the same time,uses DirectShow player core technology. Focus to achieve the play, pause, stop, sound control, schedule control, grab video frames, playback mode control, full screen and other functions.Through the system requirements analysis, design, implementation, completed a media player system, various functions normal use, and gives the realization key code.DirectShow is based on the COM component, it is a binary level (not limited to programming languages and operating systems), has good compatibility and portability.

Keywords:Visual C++ ;MFC;DirectShow;Player

目录

1.引言 (1)

1.1背景 (1)

1.2 研究目的 (1)

1.3 开发环境及语言 (1)

1.3.1 VC++2010平台 (1)

1.3.2 MFC概述 (1)

2. DirectShow介绍 (3)

2.1 DirectShow系统 (3)

2.2 DirectShow技术 (3)

2.2.1 过滤器 (3)

2.2.2 COM组件 (4)

2.2.3针脚Pin (4)

2.2.4 Filter Graph (5)

2.2.5 Filter Graph Manager (5)

2.2.6 Filter Graph中的数据流动 (5)

2.3 Directshow事件交互 (5)

2.4 基于DirectShow的应用程序开发 (7)

2.5播放媒体文件 (7)

3.多媒体播放器的设计 (9)

3.1系统功能设计 (9)

3.1.1媒体文件添加 (9)

3.1.2媒体文件存储和显示 (9)

3.1.3媒体文件播放及控制 (9)

3.2系统结构设计 (9)

3.3 播放器滤波器链表结构设计 (9)

3.4播放视频文件的流程 (9)

3.5 Directshow智能连接 (10)

3.5.1智能连接概述 (10)

3.5.2智能连接的实现 (10)

4.视频播放器的开发 (12)

4.1开发环境的配置 (12)

4.2.基于对话框的MFC应用程序 (13)

4.3 编辑对话框界面 (13)

4.4.视频窗口控制 (14)

4.5封装CDXGraph (14)

4.6.创建Filter Graph (15)

4.7创建播放主题 (15)

4.7.1 打开按钮响应函数 (15)

4.7.2渲染 (15)

4.7.3播放按钮响应函数 (16)

4.7.4静音控制 (17)

4.7.5全屏 (17)

4.7.6暂停、停止 (18)

4.7.7抓图按钮响应函数 (19)

4.7.8退出按钮响应函数 (20)

4.7.9进度条的实现 (20)

5.播放控制 (21)

5.1视频窗口中的右击快捷菜单 (21)

5.2相应菜单子项 (22)

5.3速率控制 (23)

6.程序测试 (24)

6.1 多媒体播放器的主题界面 (24)

6.2程序功能实现 (24)

6.3 测试结论 (24)

结束语 (25)

致谢 (26)

参考文献 (27)

附录A (28)

附录B (34)

1.引言

随着社会的发展,信息技术越来越发达,在线视频播放器在未来社会应用也会越来越普遍。Microsoft的Windows操作系统作为全球最主流、最常用的操作系统,掌握在它上面的多媒体开发技术显得越来越需要,相对于其他多媒体开发技术,掌握它本身提供的DirectX多媒体开发包显得更为适合。

DirectShow是微软提供的多媒体开发包DirectX中的一部分,它是建立在DirectDraw和DirectSound基础之上。Microsoft给DirectShow程序员提供了一套开发多媒体标准的、统一的、高效的API接口,这些接口使得多媒体数据的回放变得简单,剥离了应用程序和硬件底层的差异性。而DirectShow是基于COM组件的开发包,COM是基于二进制代码级的协议(与编程语言无关的协议),对使用DirectShow开发的软件以后的移植和兼容问题提供了良好的解决方案。DirectShow 使用智能连接开发多媒体应用程序,大大简化了开发人员工作量,同时开发人员亦可开发自定义的滤波器。使得基于DirectShow的应用程序可以充分满足不同用户的需求。在未来几年中,DirectShow 技术的发展前景将是非常广阔的。

1.1背景

当今信息技术越来越发达,社会越来越信息化、智能化,多媒体在未来社会应用越来越广泛。Microsoft的Windows操作系统作为全球最主流、最常用的操作系统,掌握在它上面的多媒体开发技术显得越来越需要,相对于其他多媒体开发技术,掌握它本身提供的DirectX多媒体开发包显得更为适合。

1.2 研究目的

DirectShow是微软提供的多媒体开发包DirectX中的一部分,它是建立在DirectDraw和DirectSound基础之上。Microsoft给DirectShow程序员提供了一套开发多媒体标准的、统一的、高效的API接口,这些接口使得多媒体数据的回放变得简单,剥离了应用程序和硬件底层的差异性。而DirectShow是基于COM组件的开发包,COM是基于二进制代码级的协议(与编程语言无关的协议),对使用DirectShow开发的软件以后的移植和兼容问题提供了良好的解决方案。DirectShow 使用智能连接开发多媒体应用程序,大大简化了开发人员工作量,同时开发人员亦可开发自定义的滤波器。使得基于DirectShow的应用程序可以充分满足不同用户的需求。在未来几年中DirectShow 技术的发展前景将是非常广阔的。

1.3 开发环境及语言

本文中视频播放系统使用C++语言及Directshow SDK技术,使用visual c++ 2010软件在directshow的开发环境下进行视频播放器的开发。

1.3.1 VC++2010平台

Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)C++语言开发工具,一个集成的开发环境,能够提供编辑C语言,C++以及C++/CLI系列编程语言。VC++整合便利的除错工具,尤其是整合Windows API、三维的动画DirectX API,Microsoft .NET框架[1]。

Microsoft Visual C++是微软公司推行开发的Win32环境程序、面向对象且可视化的集成化可编程系统。其主要优点如下:

(1)程序框架能够自动生成

(2)便于灵活类管理

(3)代码编写与界面的设计可集成相互操作

(4)可开发各种程序

(5)支持各个数据库的接口、OLE2、WinSock网络和3D控制界面

1.3.2 MFC概述

MFC(Microsoft Foundation Classes)是微软公司所提供的类型库(class libraries),以C++类的方式封装了Windows的API,且含有应用程序的框架,来减少程序开发者的工作量。

MFC中的关键技术:

(1)MFC程序的初始化过程

建立一个MFC窗口:从CWinApp派生应用程序类,然后建立应用程序对象(theApp)。

(2)动态创建

运行的时候创建指定的类的对象。比如视对象、框架的窗口对象等等,比如文档对象需由文档模版类对象进行动态的创建。

(3)串行化

尽管程序中有着各种数据,串行化机制也如流水般按照顺序储存置于单一文件里,并且也能按照顺序取出,成为不同对象的数据。

(4)消息映射和传递

MFC把SDK编程中对消息的产生、传递、到过程函数中响应的过程封装起来,形成消息映射宏、消息映射表和消息响应函数体系,更加直观和便于操作[2]。

2. DirectShow 介绍

2.1 DirectShow 系统

DirectShow 是新一代基于COM 的流媒体处理的开发包,是微软公司在ActiveMovie 和Video for Windows 的基础上推出的,与DirectX 开发包共同发布。Directshow 为多媒体的回放和捕捉提供了有力强大的支持。应用DirectShow ,能方便地在支持WDM 采集卡中捕获数据,且后期进行一些相应处理乃至储存到文件里。这样在多媒体的数据库管理系统里多媒体的数据存取就会更加方便。

它的架构如图1所示。图中央即是DirectShow 系统,虚线下面是Ring 0特权级硬件设备,虚线上面是Ring 3特权级的应用层。DirectShow 系统处于应用层。它用Filter Graph 模型来管理整体数据流的处理。参与数据的处理的各功能模块称做Filter ;各个Filter 在Filter Graph 中按相应顺序连成一条“流水线”协调工作[3]。

图2.1 DirectShow 架构

2.2 DirectShow 技术 2.2.1 过滤器

过滤器是DirectShow 的基本组成单元。DirectShow 把数字媒体的处理(播放、捕获和格式转换)划分为一些独立的步骤,过滤器就是完成一个或多个步骤的COM 对象。DirectShow 提供了一组标准的过滤器供应用程序使用,程序开发者也可以创建自定义的过滤器来扩充Directshow 的功能,但必须是以COM 形式建立的[4]。

按照功能来分,Filter 大致分为3类:Source Filter 、Transform Filter 和Rendering Filter 。

所有能生成流的DS filter 都可以认为是Source filter 。这个流可以源自硬盘上的文件,也可以是实时设备,如话筒,摄像头,或是DC 。如果这个流是源自磁盘,那么它可以是预先记录的W A V , A VI 或是Windows Media 文件。相应的,如果源是一个实时设备,那么它可以是Window 兼容的所有外设。DS 是紧密绑定在WDM 上,所有的安装后的多媒体设备的WDM 驱动都自动可作为DS 的源filter 。因此,例如,安装了驱动的摄像头可以立即成为DS 的源filter 。将实时设备转换成DS 流的源filter 又可以称作捕捉源filter 。第12章详细描述了源filter 的设计实现。

Transform Filter 是DS 着墨最多的工作。转换filter 从其它filter (可能是源filter )接收一个输入流,对流执行某些操作后,将流传输给下一个filter 。几乎所有能相像得到的对音视频流的操作都可以在转换filter 中实现。一个转换filter 可以解析流的数据,编码它(可能将W A V 数据转换成MP3格

事件

Directshow

文件系统

Rendering Filters

命令

文件系统

因特网

VFW 采集设备

内核流架构

WDM 采集

MPEG2硬件解码器

ACM/VCM 编解码器

显卡

DirectDraw

应用程序

Filter Graph

Source

Filters

Transform Filters

声卡

DirectSound

式)或解码它,或对一个视频序列添加一个文字层。DS包含有大量的转换filter,如编码或解码各种各样的音视频格式。转换filter同样还可以给流创建一个多通管道,意思是一个输入流可以复制到一个或多个输出pin上。而有些转换filter可以将多个输入流混合成一个流。渲染filter将DS流转换成某种形式的输出。如基本的渲染filter可以将流写到文件。而其它的渲染filter可以将音频流发送到扬声器,或将视频流发送到桌面上的窗口。DirectShow中的Direct反映的是:使用DirectDraw和DirectSound的渲染filter支持将它的流高效传输给显卡和声卡的技术。这个能力意味着DS的渲染filter能进行快速且无关用户-内核模式的传输。(对于OS来说,这个处理意味着将数据从用户层传输到内核层)。

一个filter graph可以有多个渲染filter。如使用一个多通管道将一路视频流送到一个渲染filter 以生成文件,另一路则将它送到另一个渲染filter以用于显示。从而可以实现监视视频的同时写文件。

简单来说,Source Filter主要负责获取数据,数据源可以是文件、因特网计算机里的采集卡(WDM 驱动的或VFW驱动的)数字摄像机等,然后将数据往下传输;Transform Filter主要负责数据的格式转换,例如数据流分离、合成,解码、编码等,然后将数据继续往下传输;Rendering Filter主要负责数据的最终去向——将数据送给显卡、声卡进行多媒体的演示,或者输出到文件进行存储。

2.2.2 COM组件

Directshow是基于COM的流媒体处理的开发包。COM是一种跨应用和语言共享的二

进制代码的方法,它是一个开放的组件标准,具有很强的扩展与扩充能力[5]。优点如下:

(1)可以方便的将应用系统扩展至网络环境;

(2)可以将系统中的组件用新的代替掉,以方便随时进行系统的升级和定制;

(3)可以在多个应用系统中多次利用同一个组件;

(4)COM组件与语言和平台无关。

2.2.3针脚Pin

过滤器能和一个或者多个过滤器相连,连接接口是COM形式,叫引脚。过滤器用引脚在各过滤器之间传输各种数据。每个引脚都是从IPin这个COM对象派生出来的。每个引脚都是过滤器私有的对象,过滤器能动态地创建引脚、销毁引脚、自由地控制引脚的生存时间。引脚可分为两种类型:输出引脚和输入引脚。相连的两个引脚须是不同类型的,即输入引脚只能和输出引脚相连,并且连接方向常是由输出引脚指向输入引脚的。Filter一般由一个或多个Pin组成,Filter之间通过Pin 相互连接,构成一条顺序的链路。Filter的分类亦可根据Filter包含的输入Pin或者输出Pin的数量进行。

过滤器间的连接,实质上就是连接双方的媒体类型媒体协商的过程。连接大致的过程为:若调用连接函数的时候已指定完整的媒体类型,那么用此媒体类型进行连接,是否成功都要结束连接进程;如不完全指定或没有指定媒体的类型,就进行下面的枚举过程:枚举欲连接的输入引脚上的所有的媒体类型,逐一使用此媒体类型和输出引脚进行连接(如连接函数提供不完全媒体类型,就要先把每个枚举出的媒体类型和它进行匹配检查),若输出引脚也接受此媒体类型,那么引脚间的连接就成功了;如果输出引脚对全部输入引脚上所枚举的媒体类型均不支持,那么就枚举输出引脚上的全部媒体类型,且逐一利用这些媒体类型和输入引脚来进行连接,如果输入引脚接受其中的一种媒体类型,那么引脚间的连接就成功了;如果对输出引脚上的全部媒体类型输入引脚均不支持,则这两个引脚间的连接过程宣告失败。

如图2所示,仅含有输出Pin,没有输入Pin的Filter为Source Filter;既有输入Pin又有输出Pin 的Filter为Transform Filter;仅有输入Pin,没有输出Pin的Filter为Rendering Filter。

源过滤器输出引脚输入引脚转换过滤器输出引脚

输入引脚

提交过滤器

图2.2 Filter通过Pin连接

2.2.4 Filter Graph

在DirectShow中,一个播放程序必需实例化一个或多个过滤器,并把它们连接起来。这样数据才能从一个过滤器到达另一个,经过它们的处理,直到表现过滤器。所有这些过滤器和它们之间的连接被称为过滤器图(Filter Graph)。

2.2.5 Filter Graph Manager

Filter Graph Manager 过滤器链表管理器为DirectShow结构的核心,是在过滤器链表中管理各过滤器的COM对象。主要有以下的功能:

1> 协调Filter之间的状态改变: Graph中的Filter的状态改变应该一致,因此,应用程序并将状态改变的命令直接发给Filter,而是将相应的状态改变的命令发送给Filter graph Manager,由manager 将命令分发给Graph中每一个Filter。

2> 建立参考时钟: Graph中的Filter均采用同一个时钟——参考时钟(reference clock),来确保所有数据流的同步,音频帧或视频帧应被提交的时间(presentation time)是利用参考时钟确定的。Filter graph Manager 应该选择一个可参考的时钟,可选择声卡上的时钟,亦可选系统时钟。

3> 将Graph的消息返回于应用程序:Graph管理器用事件机制把Graph中发生的事件通知给应用程序,此机制和Windows 的消息循环机制类似。

4> 提供方法构建Filter Graph :Graph 管理器给应用程序提供将Filter 添加进Graph的方法,断开Filter连接的方法,连接Filter的方法。

但是,Graph管理器没有提供如何将数据从一个Filter发送到另一个Filter的方法,这个工作是由Filter在内部通过Pin来独立完成的。

2.2.6 Filter Graph中的数据流动

当用户要创建自定义的过滤器时,需了解媒体数据是如何在过滤器图表中传输的。为了在过滤器图标中传送媒体数据,Directshow过滤器需支持传输协议。连接的过滤器须支持相同的传输相同传输协议,否则不能交换媒体数据。

绝大多数的Directshow过滤器会把媒体的数据保存于主存储器里,且通过Pin把数据提交给其他的过滤器,这种传输被称作局部的存储器传输。但并不是所有的过滤器均用局部的存储器传输,例如有的过滤器用硬件传送媒体的数据,而引脚只是来提交所控制的信息。

Directshow给局部的存储器传输定义了两种机制,分别是推模式和拉模式:

在推模式里,将源过滤器生成数据提交给下级过滤器。下级过滤器被动地接受数据,完成数据处理之后再传送给下级过滤器。

在拉模式里,源过滤器和分析过滤器相连。分析过滤器向源过滤器请求数据之后,源过滤器则传送数据来响应请求。

2.3 Directshow事件交互

DirectShow应该有一种机制,能够让应用程序与Filter Graph Manager之间实现交互控制。

常见事件有:

EC_COMPLETE,表示Filter Graph中所有的数据都已经回放完毕;

EC_ERRORABORT,表示Filter Graph运行时出错;

EC_DEVICE_LOST,表示热插拔设备脱离系统;

EC_REPAINT,表示视频窗口要求重画当前图像帧。

事件处理机制:Filter Graph Manager上有3种接口和事件的通知有关,即

IMediaEventSink,IMediaEvent和IMediaEventEx.

IMediaEventSink:用在Filter内部,其接口方法Notify用于向Filter Graph Manager发送事件的通知;IMediaEvent:应用程序就利用它的接口方法处理Filter Graph Manager发出来的事件;IMediaEventEx:IMediaEvent接口扩展,支持当Filter Graph Manager 发出事件时,用窗口消息的方式来通知应用程序。

事件处理大致的过程如下:

一.Filter Graph中的Filter发出事件后,接收者是Filter Graph Manager;

二.Filter Graph Manager对一些特殊事件拥有默认处理的方法。接到事件之后,或按照默认的方法进行直接处理,或放至事件队列,等候上层应用程序的处理;

三.应用程序获知Filter Graph Manager有事件发出后,则可使用IMediaEventEx接口方法到事件队列里读取事件,之后依据事件的类型作相应的处理.

那么,应用程序是怎么知道Filter Graph Manager的事件队列里有事件在等待处理?

有两种办法:一种是Filter Graph Manager通过发送指定的窗口消息来通知应用程序,另一种通过事件来同步对象。

一种:

//自定义一个消息,然后调用IMediaEventEx::SetNotifyWindow将其设置给Filter Graph Manager

#define WM_GRAPHNOTIFY (WM_APP+100)

IMediaEventEx *pEvent=NULL;

hr=pGraph->QueryInterface(IID_IMediaEventEx,(void**)&pEvent);

hr=pEvent->SetNotifyWindow((DAHWND)m_hwnd,WM_GRAPHNOTIFY,0);

//定义消息映射

ON_MESSAGE(WM_GRAPHNOTIFY,OnGraphNotify)

//在消息响应函数中获取Filter Graph的事件通知,并作出相应处理,

void CNotifyWnd::OnGraphNotify(WPARAM inWParam,LPARAM inLParam)

{

if(pEvent)

{

LONG eventCode=0,eventParam1=0,eventParam2=0;

while(SUCCEEDED(pEvent->GetEvent(&eventCode,&eventParam1,eventParam2);

switch(eventCode)

{

case EC_COMPLETE:

break;

case EC_USERABORT:

break;

case EC_ERRORABORT:

break;

default:

break;

}

}

}

第二种在Filter Graph Manager在内部创建了一个事件同步对象,它在事件队列中有尚未处理的事件

时,状态标记为有效,而当应用程序不断调用接口方法取空事件状态复位。我们可以通过IMediaEvent::GetEventHandle 来得到这个事件同步对象的句柄。 HANDLE hEvent;

long evCode,param1,param2; BOOLEAN bDone=FALSE; HRESULT hr=S_OK;

hr=pEvent->GetEventHandle((OAEVENT*)&hEvent); while(!bDone) {

if(WAIT_OBJECT_0==WaitForSingleObject(hEvent,100)) {

while(hr=pEvent->GetEvent(&evCode,¶m1,¶m2,0),SUCCEEDED(hr)) {

printf("Event code:%#04x\n Params:%d,%d\n",evCode,param1,param2); hr=pEvent->FreeEventParams(evCode,param1,param2); bDone=(EC_COMPLETE==evCode); } } }

2.4 基于DirectShow 的应用程序开发

基于DirectShow 的应用程序开发一般过程如图所示:

图2.3 基于DirectShow 的应用程序开发过程

第一阶段,创建一个Filter Graph Manager 组件。

第二阶段,根据实际的应用,创建一条完整的Filter 链路。

第三阶段,调用Filter Graph Manager 上(或直接在某个Filter 上)的各个接口方法进行控制,并且完成Filter Graph Manager 与应用程序的事件交互。 2.5播放媒体文件

DirectShow 提供了大量的Filter 用以支持最基本的应用。根据实际需要,也可以定制一个自己的Filter 。它的最基本应用为回放媒体文件。如下图是一个A VI 文件的回放链路。

应用程序

滤波图标管理器

应用程序

滤波图标管理器

应用程序 滤波图标管理器

方法调用 事件

图2.4 本地AVI 格式文件回放的链路

其中,箭头的方向即是数据的方向。Filter Source 属于Source Filters ,它用来管理硬盘里指定播放的文件,并依据A VI Splitter 要求提供相应数据。A VI Splitter 与A VI 解压处理属于Transform Filters ,其中,A VI Splitter 负责向Filter Source 索取数据,并将取得的音频和视频进行分离,然后分别从各自的输出pin 输出:A VI 解压处理负责视频的解码。Video Renderer 和默认的音频装置负责同步播放声音[6]。

默认的音频装置

硬盘

文件源

A VI splitter

AVI 解压处理

视频输出

显卡

声卡

3.多媒体播放器的设计

3.1系统功能设计 3.1.1媒体文件添加

系统的输入数据来源于用户打开读取媒体文件,包含打开单个媒体文件和文件夹两个选择。 3.1.2媒体文件存储和显示

系统得到输入数据后,对它们进行存储和显示,为后续播放、控制操作奠定基础。 3.1.3媒体文件播放及控制

已知媒体文件存储信息的基础上,执行源滤波器->分解滤波器->音/视频解码滤波器->音/视频播放滤波器->数据输出(音视频设备)流程以及对整个过程的控制。 3.2系统结构设计

此软件的整体结构设计如下图所示:

图3.1 系统整体结构

3.3 播放器滤波器链表结构设计

图3.2播放器的滤波器链表结构

3.4播放视频文件的流程

视频播放器

媒体文件功能 播播放器基本功能

全屏功能 截图功能 声音控制功能 播放进度控制功

播放

暂停

停止

视频解码转换滤波器 视频播放滤波器

源过滤器

分解过滤器

冲区

音频解码转换滤波器

音频播放滤波器

CoInitialize()

CoCreateInstance(…,pGraph)

pGraph->QueryInterface(…,p MediaControl)

pGraph->QueryInterface(…,p MediaEvent)

pGraph->RenderFile("xxx.mkv")

pMediaControl->Run()

pMediaEvent->WaitForCompletion()

CoUninitialize()

图3.3 播放视频文件的流程

流程图中关键函数的作用如下所示。

CoInitialize():初始化COM运行环境;

CoCreateInstance(…,pGraph):用指定的类标识符创建一个Com对象。在该播放器中类标识符为“CLSID_FilterGraph”,用于创建IGraphBuilder。

pGraph->QueryInterface(…,p MediaControl):通过QueryInterface()查询某个组件是否支持某个特定的接口。在这里查询IMediaControl接口。

pGraph->QueryInterface(…,p MediaEvent) :同上。在这里查询IMediaEvent接口。

pGraph->RenderFile("xxx.mkv"):为指定的文件智能的构建一个Filter Graph。

pMediaControl->Run() :开始运行Filter Graph中所有的Filter。

pMediaEvent->WaitForCompletion() :等待Filter Graph处理完所有数据。

CoUninitialize():释放CoInitialize()初始化的COM运行环境[7]。

3.5 Directshow智能连接

3.5.1智能连接概述

智能连接是滤波器链表管理器用以构建滤波器链表的机制,它包含了一系列选择滤波器和将其添加到链表中去的算法。本软件即采用此方法构建供数据流传输的滤波器链表。

3.5.2智能连接的实现

智能连接的基本方法为试连接,它首先用内存中的Filter试连接,若不成功,则对当前的Filter Graph中还没有完全连接的Filter进行试连接。如果不行,再从系统Filter里选取匹配的、最合适的Filter进行试连,直到连接成功。若找不到合适的Filter,则失败返回。

所以只要Filter Graph中有不同类型的、可接受同一媒体类型的Filter,则采用智能连接,每个Filter都可连在正确的位置。为什么在智能连接中不同类型的Filter会连在各自的位置上呢?因为这些Filter能接受的媒体类型不同。

从源Filter出来的数据流只带有编码格式信息,其他信息都是未知的,所以音视频解码Filter和处理Filter都不能用,只能使用分离Filter匹配这种媒体类型,所以只会试连接分离Filter。而从分离Filter出来的数据分为音、视频两路,每路的数据流都加上了音频或者视频的信息,但没有标明这是何种音频或视频的信息,所以可以被音视频解码器Filter接受,但不能被音视频处理Filter接受。而从音视频解码Filter出来的数据流带上了具体格式的音视频媒体类型的信息,所以能被音视频处理Filter接受,最后发送到提交过滤器[8]。

4.视频播放器的开发

4.1开发环境的配置

选择Microsoft DirectX 9.0 SDK (Summer 2004)和Microsoft Visual C++ 6.0作为Directshow播放器的开发平台。

(1)下载静态库strmbasd.lib并复制到C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib路径下。

(2)使用_stdcall函数调用协议和多线程c语言的运行时库,即在VC菜单里选择Project|Settings|C/C++,在弹出对话框中Category中选择Code generation,再在Calling convention中选择_stdcal l,Use run-time library选择Debug Multithreaded Dll。

(3)配置必要链接库的文件,即在Visual C++的菜单里选择Project|Settings|Link,在弹出对话框中Category中选择General,再在Object/library modules输入strmbasd.lib uuid.lib winmm.lib。

(4)确认Direct SDK的include目录和lib目录都已经加入到VC的系统编译环境,选择Tools|Options|directions,选择include files目录,加入如下路径:

(a)属性页

(b)可执行目录配置

图4.1 VC中路径配置

4.2.基于对话框的MFC应用程序

使用VC的项目向导生成一个基于对话框的MFC应用程序,项目名称为MediaPlayer,并在CMediaPlayerApp中添加COM库初始化、反初始化代码:

BOOL CMediaPlayerApp::InitInstance()

{

CoInitialize(NULL);//COM库初始化

CSimplePlayerDlg dlg;

m_pMainWnd = &dlg;

int nResponse = dlg.DoModal();

……

}

int CSimplePlayerApp::ExitInstance()

{

CoUninitialize();//COM库反初始化

return CWinApp::ExitInstance();

}

4.3 编辑对话框界面

在资源编辑器中编辑主对话框界面,如下图:

网上投票系统—投票结果与界面的设计和实现(正文)

目录 第1章绪论 (3) 1.1 课题研发背景 (3) 1.2 课题的目的和意义 (3) 1.3 系统的主要工作 (4) 1.4论文结构 (4) 第2章投票系统开发的可行性 (6) 2.1技术可行性 (6) 2.2经济可行性 (6) 2.3 操作可行性 (6) 第3章课题相关技术介绍 (8) 3.1数据库管理系统:SQL Server 2005概述 (8) 3.2服务器:Tomcat 概述 (8) 3.3 JSP简介 (8) 3.4编程软件:MyEclipse6.5概述 (9) 第4章系统需求分析 (10) 4.1系统所涉及用户及需求量分析 (10) 4.2 系统功能需求 (10) 4.2.1普通用户模块 (10) 4.2.2 管理员模块 (11) 4.2.3 在线投票系统流程图 (12) 4.3 系统性能需求 (13) 4.4数据流图 (13) 4.4.1符号定义 (14) 4.4.2数据流图的组成元素 (14) 4.5数据字典......................................................................... 错误!未定义书签。第5章数据库设计.. (17) 5.1 数据库设计的需求分析 (17) 5.2数据库的概念设计 (17) 5.3数据库逻辑结构设计 (19) 5.4数据库的功能及约束 (20) 第6章主要功能模块的设计与实现 (22) 6.1普通用户模块 (22) 6.2 管理员模块 (24)

第7章系统测试与维护 (28) 7.1 测试环境 (28) 7.2 系统调试 (28) 7.3调试结果 (28) 7.4系统维护 (29) 结束语 (30) 参考文献 (31) 谢辞 (32)

办公自动化管理系统的设计与实现

办公自动化管理系统的设计与实现 随着信息化建设的日益深入,无论是政府还是企事业单位,部门之间的信息沟通与协调工作越来越重要。人们迫切需要一个能充分利用网络优势,并可以管理企业的各种重要信息的软件平台,利用该平台快速建立自己的信息网络和办公管理系统。办公自动化系统应运而生。办公自动化系统统称为OA系统,即office automatization system.它利用计算机技术和网络技术,使办公室部分工作逐步信息化,从而形成由办公室人员与办公设备共同构成服务于某种目标的人机信息处理系统。随着网络的发展,办公自动化系统已经成为办公信息化管理的一个重要途径。 在深刻了解OA系统发展的背景和现状后,通过进行可行性研究,明确了开发这样一套管理系统的方向和价值。此系统采用ASP. NET (C#)作为开发工具。采用SQL SERVER 2000开发后台数据库。在数据库的设计上面,根据系统的需要,设计了角色表、用户表、部门表、文档表、员工表、短信表。整体的设计思路上面,整个系统划分为用户登录模块、用户管理模块、部门管理模块、员工管理模块、员工文档管理模块以及内部短信息管理模块。系统管理员能够通过这些模块所提供的功能,完成相关的数据库的操作,最终完成对企业各种信息的管理。

目录 1 引言............................................................................................................................................. 11.1课题背景............................................................................................................................... 11.2国内外研究的现状 .............................................................................................................. 11.3本课题研究的意义 .............................................................................................................. 1 1.4本课题的研究方法 .............................................................................................................. 1 2 可行性研究................................................................................................................................. 12.1技术可行性........................................................................................................................... 12.2经济可行性........................................................................................................................... 2 2.3操作上的可行性................................................................................................................... 2 3 系统需求分析............................................................................................................................. 33.1系统功能需求分析............................................................................................................... 33.2数据流图............................................................................................................................... 43.3系统数据库表设计............................................................................................................... 4 3.3.1角色表(Role) ............................................................................................................ 5 3.3.2 用户表(User) ........................................................................................................... 5 3.3.3文档表(Document) ................................................................................................... 5 3.3.4部门表(Department)................................................................................................. 6 3.3.5短信表(Message) ........................................................................................................... 6 3.3.6员工表(Employ) ....................................................................................................... 74系统功能的设计与实现.............................................................................................................. 8 4.1系统登录界面的设计........................................................................................................... 8 4.1.1界面................................................................................................................................ 8 4.1.2 登录功能的实现........................................................................................................... 94.2用户管理模块设计 .............................................................................................................. 9 4.2.1初始化页面功能实现.................................................................................................... 9 4.2.2 添加用户功能实现................................................................................................... 114.3部门管理模块设计 .......................................................................................................... 11 4.3.1 添加部门信息........................................................................................................... 12 4.3.2 修改部门功能实现................................................................................................... 13 4.3.3删除部门功能的实现................................................................................................ 144.4员工管理模块设计........................................................................................................... 15 4.4.1 添加员工功能实现................................................................................................... 15

信息系统设计与分析

湖北省高等教育自学考试大纲 课程名称:信息系统设计与分析课程代号:02134 第一部分课程性质与目标 一、课程性质和特点 《信息系统分析与设计》课程系统地讲授信息系统开发方法,首先介绍信息系统开发相关的基本概念、基本原理和开发思想,然后结合实际案例系统介绍信息系统的总体规划、系统分析、系统设计、系统测试、运行维护等阶段的工作原则、工作步骤、基本方法及开发文档。本课程主要基于面向对象的方法,以UML (统一建模语言)为主要的描述语言,同时也介绍其他的描述方法如数据流图、数据字典、E-R图等。本课程强调软件工具的使用,介绍Rational Rose等软件工具的使用方法及建立信息系统的过程,如需求模型、分析模型、和设计模型等等。信息系统分析与设计课程的教学工作力求理论与实际的有机结合,并使其具有较强的可操作性,从而使开发人员能够设计并开发出一个满足用户需求的、有较高的可修改性的信息系统。 《信息系统设计与分析》目前在各个领域都有着广泛的应用,如计算机辅助设计系统、现代通信信息系统、管理决策系统、生产控制系统等等,是人们开发、利用信息资源以支持组织目标的战略手段。这门课程的任务就是帮助学生弄清信息系统的规划、分析、设计和实施等阶段的目标、任务、要求和过程,掌握信息系统开发的各种方法,从而提高应考者信息系统开发的理论水平,锻炼他们进行信息系统开发的实践能力,为将来从事实际工作奠定一定得的基础。通过该课程的学习,应使学生掌握系统分析技术的基础知识和实践技能,以及基本开发方法。 二、课程目标与基本要求 本课程是一门注重实践性的课程,其特点是:课程实践性较强,考生在系统的学习信息系统理论知识的基础上,还要灵活掌握信息系统分析与设计的各种工具和方法,适当的运用到实际开发的信息系统中来。 通过本课程的要求,应考者应达到如下要求: 1、掌握信息、系统、信息系统的基本概念及特征。

(完整版)操作系统毕业课程设计说明书-基于Linux的模拟文件系统的设计与实现

中北大学 操作系统课程设计 说明书 学院、系:软件学院 专业:软件工程 学生姓名:徐春花学号: 设计题目:基于Linux的模拟文件系统的设计与实现 起迄日 期: 2014年6月14日- 2014年6月26日指导教薛海丽

师: 2014 年 6月 26 日 前言 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS2

等商品化操作系统来说是无法做到的。 Linux具有:稳定、可靠、安全的优点,并且有强大的网络功能。其中有对读、 写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。在相关软 件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务,还可作为路由器 使用,利用IPCHAINSIPTABLE网络治理工具可构建NAT及功能全面的防火墙。 Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系 统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑 器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形 用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系 统进行操作。 目录 1需求分析 (3) 1.1 功能介绍 (3) 1.2 目的及意义 (5) 1.2.1 目的 (5) 1.2.2 意义 (6) 1.3 设计成果 (7) 2总体设计 (8) 2.1功能介绍 (8) 2.2模块关联 (9) 3详细设计 (12)

网上在线投票系统的设计与实现毕业设计论文

目录 摘要 (1) ABSTRACT (2) 前言 (3) 第1章绪论 (4) 课题背景 (4) 课题目的和意义 (4) 系统结构 (5) 课题主要工作 (5) 第2章系统的需求分析 (6) 系统总体分析 (7) 系统的功能分析 (7) 数据库需求分析 (7) 系统可行性分析 (7) 系统安全性分析 (8) 第3章系统概要设计 (8) 软件运行环境设计 (9) 系统设计目标 (9) 系统模块设计 (9) 系统数据库设计 (10) 3.4.1 管理员信息表 (10) 3.4.2投票主题表 (11) 3.4.3投票选项表 (11) 3.4.4投票者信息表 (12) 3.4.5系统配置表 (12) 3.4.6创建触发器 (13) 系统文件说明 (13) 第4章系统详细设计与实现 (13) 系统设计的相关技术 (14) 4.1.1 A动态网页技术 (14) 4.1.2 A对象概述 (14) 4.1.3 A常用对象 (15)

4.1.4 A概述 (19) 4.1.5 SQL Server 2000 (20) 系统设计总体思路 (22) 系统总流程图 (23) 系统主页面 (24) 系统管理模块 (25) 投票管理模块 (26) 4.6.1投票信息管理界面的实现 (26) 4.6.2投票主题的添加 (27) 4.6.3投票主题的修改 (27) 4.6.4投票主题的删除 (28) 4.6.5投票选项的管理 (29) 4.6.6投票选项的添加 (30) 4.6.8投票选项的删除 (31) 4.6.9投票系统的配置 (31) 4.6.10管理员密码的修改 (32) 投票结果显示页面 (32) 第5章系统调试与扩充 (33) 测试环境 (33) 调试中遇到的问题和解决方法 (33) 系统扩充 (34) 结束语 (34) 参考文献 (36) 致谢 (37) 部分程序的核心源代码 (38)

网络课程设计--办公自动化系统的设计与实现

网络课程设计--办公自动化系统的设计与实现

软件生产实习报告书 办公自动化系统的设计与实现 学号:0905010422 姓名:常勇 指导老师:姜磊 完成日期:2013年3月15日

目录 第一章前言---------------------------------------------------1 第二章可行性分析-------------------------------------------1 1、社会可行性分析---------------------------------------------1 2、使用可行性分析---------------------------------------------1 第三章系统分析----------------------------------------------1 1、性能需求------------------------------------------------1 2、功能需求------------------------------------------------2 3、用户需求------------------------------------------------------2 第四章系统总体设计-----------------------------------------2 1、功能描述------------------------------------------------2 2、系统操作流程图-----------------------------------------3 第五章系统详细设计

AMC公司的管理信息系统总体设计方案

AMC公司的管理信息系统总体设计方案 方案一 一.设计思想 在AMC公司管理信息系统的设计开发中,提出了“以计算机为中心(computer center management)代替纸质”的系统设计思想。 管理信息系统中的各种数据都不是孤立存在的,是依附于计算机而存在或因计算机在电网中的运行而产生,数据是以计算机为中心的,使用人员只需通过计算机这一个入口就可以掌握所需要的全部数据。 二.总体目标 AMC公司管理信息系统是要建设成为覆盖公司各部门、下属公司和主要业务的综合信息管理系统。 实现业务管理与质量管理的结合;实现文档电子流的管理;实现网络信息发布,网上培训;提供系统的可扩展性,即保证各种新增业务方便的电子化管理新需求的接口;保证管理系统的稳定性要求,即所有数据集中统一管理于后台数据库中,防止数据的丢失;通过统一的开发平台和通用的开发软件,保证系统的通用性。 实现数据的电子化管理。 三.设计原则 3.1明确的目的性 该系统是为AMC管理信息系统提供信息服务的。因此它的设计必须要首先明确服务对象的性质、范围及其所需安全信息在数量、质量、时间等方面的要求。做到这一点,在系统设计前,就要详细调查安全管理用户的情况,标清所服务的对象经常需要哪些信息,这些信息应从哪里获取,以什么方式收集和传递,摸清这些情况,系统设计才能有明确的目的。 3.2系统的完整性和统一性 所谓完整性,就是根据信息加工需要,必须具备的环节不能缺少,同时要保证各环节的相互联系和正常运转;所谓统一性,就是要求整个信息系统的工作要统一,要制度化。整个系统各个工作环节所加工和输送的信息在语法、语意和格式上要标准化、规范化。 3.3可靠性 安全管理信息系统的可靠性,集中表现在所提供的信息的准确性、适用性和及时性。 只有这样,才能赢得用户的信任并乐于采用。 3.4相对独立性 允许系统一定的相对独立性,主要目的是要保证信息的真实性和可靠性。为此,一

基于 ASPNET 的在线投票系统的设计与实现

目录 摘要 (1) 绪论 (2) 第一章系统开发工具及简介 (3) 1.1 https://www.docsj.com/doc/a018632906.html,简介 (3) 1.2 Visual https://www.docsj.com/doc/a018632906.html,简介 (3) 1.3 SQL SERVER 2005简介 (3) 1.4 C#简介 (4) 第二章系统需求分析 (5) 2.1 系统分析 (5) 2.2 用户需求分析 (5) 2.3 可行性分析 (5) 第三章系统设计说明 (7) 3.1 设计目标 (7) 3.2 系统总体设计 (7) 3.3 数据库设计 (10) 第四章系统页面展示与编码实现 (12) 4.1登陆注册模块详细设计 (12) 4.2投票模块详细设计 (15) 4.3新闻模块详细设计 (17) 4.4留言簿模块详细设计 (17) 4.5管理员模块详细设计 (18) 4.6用户模块设计 (19) 第五章系统测试 (20) 5.1 测试目的 (20) 5.2 测试过程 (20) 结束语 (21) 参考文献 (22)

基于https://www.docsj.com/doc/a018632906.html,的在线投票系统的设计与实现 计算机科学系2007级3班王鹏 摘要:在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。当网站的管理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者用户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者用户的需求。 本系统正符合这一要求,该系统是基于https://www.docsj.com/doc/a018632906.html,技术与SQL Server 2005数据库技术相结合。论文采用软件工程的思想从需求分析到编码实现详细阐述了系统的设计目标、总体架构及各功能模块的详细设计。主要模块包括管理员模块、用户模块、留言簿模块、新闻模块、投票模块。 关键词:在线投票;https://www.docsj.com/doc/a018632906.html,;SQL Server 2005 Online V oting System Design and Implementation Based On https://www.docsj.com/doc/a018632906.html, W ANG Peng , Class 3 , Grade 2007, The Science of Computer Department Abstract:On-line voting is the most common web application to function, one of the web application development frequently module. When the administrator or a user puts forward some new ideas and suggestions or new products, they may be required by the user or customer in order to vote to determine whether these new ideas and proposals or new product can meet the needs of users. This system is consistent with this requirement. The system is based on SQL Server 2005 database technology and https://www.docsj.com/doc/a018632906.html, technical papers together. This paper used the idea of software engineering. From demand analysis to elaborating coding system ,it achieved the design goals, the overall structure and function modules for the detailed design.The major blocks include the administrator module, the user module, guest book module, news module, voting module. Key words: Online V oting; https://www.docsj.com/doc/a018632906.html,; SQL Server 2005

小型局域网以及企业局域网办公系统的设计与实现

课程设计说明书 院(部):信息与电气工程学院 课程名称:某信息中心局域网系统设计专业:通信工程 班级:通信112 姓名: 学号: 指导教师: 完成时间:2014年1月

摘要 21世纪是一个以网络为基础的信息时代。作为计算机技术和通信技术相结合的产物,计算机网络在这个时代发挥着它不可估量的作用,对人们的工作、生活和思维方式都产生着重要的影响。随着网络的逐步普及,局域网是一种小范围内的网络,是网络的组成细胞一个网络有时就是由大大小小的局域网互连而成的,人们在工作与生活中,经常使用的是局域网例如,在一个办公室里组建一个可以资源共享的小型办公无线局域本组网主要完成对一般公司信息中心的网络的组网,布线及解决方案。主要介绍了一般公司信息中心的网络拓扑图,所要完成的是组网的整个过程。重点的说明了局域网的设计思想、解决方案以及对于局域网的管理。 【关键词】:信息中心局域网 IP分配拓扑图

目录 摘要 (2) 1、需求分析 (4) 1.信息中心网络特点与要求 (4) 1.2某信息中心网络的发展背景 (4) 2、网络技术选择 (4) 3. 网络结构设计 (5) 3.1内部局域网结构设计 (5) 3.2服务器的配置 (7) 3.3外网的网络结构 (10) 4. 设计拓扑图及结果 (12) 5.网络布局和综合布线 (13) 5.1网络布局的具体实施要求 (13) 致谢 (17)

1、需求分析 1.信息中心网络特点与要求 网络是支撑信息中心各种业务的基础设施,局域网通常规模较小,结构相对简单,性能各有不同,需考虑信息中心内数据流量的预期增长来设计信息中心对可靠性和有效性的需求;有些信息中心网络技术人员较少,因而对网络的依赖性很高,要求网络尽可能可靠、简单易用,降低网络的使用和维护成本、提高产品的性价比就显得很重要。基于以上特点,应遵循下列设计原则:1.先进技术与简单易用有效结合。 2.能根据信息中心业务发展有升级扩展的空间。3.可靠性高。4.设计的网络满足实际需求。在实际应用中大部分的信息中心只用到了局域网的20%的功能,因此如果设计精简而又功能满足实际需求的产品不但可以大大降低信息中心在局域网的运营成本,而且还能够提高整个局域网系统的稳定性和易维护性;有利于信息中心管理效率。 1.2某信息中心网络的发展背景 随着计算机网络的发展,计算机在实际工作中应用越来越深入,信息中心与信息中心之间、信息中心内部之间的信息媒体之间的相互交换和共享的要求日益突出;需要使信息中心内部间真正做到高效的信息交换、资源的共享,为信息中心内部人员提供准确、可靠、快捷的各种生产数据和信息,充分发挥信息中心的计算机设备的功能;降低运作及管理成本,因此很有必要建立信息中心内部局域网。局域网要求建设基于TCP/IP协议和WWW技术规范的信息中心内部非公开的信息管理和交换平台,该平台以WEB为核心,集成WEB、文件共享、信息资源管理等服务功能,实现公司员工在不同地域对内部网的访问。 2、网络技术选择 在各种局域网技术中,以太网以其造价低、技术成熟、产品丰富、可靠性高、可扩展性好、传输介质丰富和易于管理等有点而成为建设局域网的主流技术;以太网使用

信息系统设计与开发

第一章 信息(1)通俗解释:信息就是人们关心的消息或者知识。(2)某则消息或者知识只有对接收者的行为或者思维活动产生影响时,才能称为信息。(3) 从系统的观点来定义信息:事物之间相互联系、相互作用的状态的描述。 信源:消息的发生者。信宿:消息的接收者。载体:传播信息的媒介。通道:信源和信宿之间信息交换的途径与设备。 信息反馈:如果把信息接受者(信宿)作为主体,信源作为客体,主体接收来自客体的信息,进行处理(分析、评价、决策),根据处理后的信息付诸行动(实施)。主体的行动反过来又影响客体,这种影响称为信息反馈。 信息与数据的概念和区别:信息可以脱离原物质而借助于载体运输。(1)什么是数据?在信息处理中,信息载体上反映信息内容、接收者(人或机器)可以识别的符号。可以是字母,数字或者其他符号,也可以是图形、图像、声音等等。(2)什么是信息?即经过加工的数据。但是在不影响问题理解的情况下,常常对“数据”和“信息”这两个术语不做区别地使用。信息具有一定的针对性,只对其具有某种需求的用户才会有现实或潜在的价值,信息与决策者密切相关。 (3)数据和信息的关系是什么?数据是信息的具体表现形式,信息则是数据的含义。数据就是信息的原材料,信息系统就是把数据加工成适合用户使用的形式——信息。 信息的主要特性有哪些?(改错多选)(1)可传输性:信息由信源发出以后可以借助于载体以相对独立的形式运动,也就是说信息可以脱离其信源进行传输。(2)可存储性:信息借助于载体可以在一定条件下存储起来,存储的信息亦可在适当条件下进行传输。(3)可加工性:信息可以通过一定的手段进行加工,其目的是反映信息接收者获取和利用信息的特定的需求。 信息的内容是语法、语义和与用三者的统一体,信息的加工过程要保证上述三者的统一不受损害,以免造成信息的失真。(4)共享性:一个信息源的信息可以为多个信息接收者享用。(5)时滞性:任何信息从信息源传播到接收者都要经过一段时间。时滞的大小与载体运动特性和通道的性质有关。 信息科学是研究信息运动规律和应用方法的一类学科的总称。信息科学的研究对象是信息,研究的主要范围是:信息的本质,信息的度量,信息的运动规律,利

操作系统简单文件系统设计及实现

简单文件系统的设计及实现 一、实验目的: 1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解 2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 二、实验内容: 1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作 4、算法与框图 ?因系统小,文件目录的检索使用了简单的线性搜索。 ?文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 ?程序中使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD); 打开文件目录( AFD)(即运行文件目录) 文件系统算法的流程图如下

三、工具/准备工作: 在开始本实验之前,请回顾教科书的相关内容。并做以下准备: 1) 一台运行Windows 2000 Professional或Windows 2000 Server的操作系统的计算机。 2) 计算机中需安装Visual C++ 6.0专业版或企业版 四、实验要求: (1)按照学校关于实验报告格式的要求,编写实验报告(含流程图); (2)实验时按两人一组进行分组,将本组认为效果较好的程序提交检查。

在线投票系统的设计与实现

在线投票系统的设计与实现 摘要 在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想就成为了一个可望而不可及的目标。投票非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,在先进的计算机技术、通信技术、控制技术及IC 卡技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。编写在线投票系统,最重要的一点就是如何从烦琐的投票结果中,导出全部投票项目的票数,然后根据投票项目的各个票数,进行票数百分比计算,最后编辑出在线投票系统. 关键词: ASP 投票 ACCESS 设计

Abstract Be building up vote to manage today of mechanism actively, only depend originality of the handicraft manage or the simple single machine manage,management Dept. public appearance to a great deal of information, can't efficiently will among them of importance part withdraw, and do a judgment and the processing for corresponding.Decision which votes governor can according to the statement data,at waste a great deal of manpower, material resources can't in the meantime attain actually supervise and control, the accuracy of hard assurance data with in time sex.Therefore, the forerunner's management thought carried out and then becamed an inaccessible target in the vote.The vote needs the management information that a set of current forerunner manages thought system urgently very much, is a kind of important means which carries out a target and raises an existing vote a management level.The technical along with science of raise continuously, the calculator science is gradually mature, the its strong function has already been people's deep understanding, it has already entered each realm of the society of

研究生信息系统的设计与实现

龙源期刊网 https://www.docsj.com/doc/a018632906.html, 研究生信息系统的设计与实现 作者:李岩 来源:《数字技术与应用》2016年第01期 摘要:为了让研究生们能够快捷的找到自己想要的信息,发布关于专业的信息或者说是学生身边的信息,设计研究生信息系统。研究生信息系统是一个集招聘、求职、培训、家教、娱乐、比赛信息于一体的社区,宗旨在于为研究生服务,是为提供信息查询和发布信息而设计的。关于系统管理,管理员可完成对公告信息、用户信息、相关文件的管理。 关键词:VC 研究生信息系统 SQL Server 2000 中图分类号:TP315 文献标识码:A 文章编号:1007-9416(2016)01-0000-00 为了让研究生们能够快捷的找到自己想要的信息,发布关于专业的信息或者说是学生身边的信息,设计本系统。本系统主要是针对信息设计,这样能够让研究生们更方便、快捷的掌握属于自己的信息,发布身边发生的娱乐事件,研究生周边的求职、应聘、培训信息,学生们在学习之余,可以在系统上查询到可以参与的娱乐活动,招聘信息,兼职等,也可以参与到最新娱乐论点中。因此为了方便信息的交流,在结合VC 技术之下开发了交流系统。 1总体设计 研究生信息系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。为了记录主题的发表者和主题的加复者信息,系统还需要提供用户注册和登陆的功能。只有注册的用户登陆后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。根据用户的需求及以上的分析,社区论坛需要具备前台功能和后台功能。该研究生信息系统采用了流行的VC语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发,数据库服务器选用SQL Server 2000数据库。 2详细设计 研究生信息系统需要具备以下几个主要特性:(1)多样性:信息社区网站在设计时必须要遵守一个重要的原则,那就是以信息为中心,根据当代研究生的需求来完成模块的设计与开发。(2)易维护:随着社区信息的变更或增加,保证系统的正常运转。3)可扩展:随着发展,学生对信息社区系统的模块要求也会变化,系统在设计时应充分考虑到用户需求不断变化的需要。 2.1数据元素

基于JSP的网上投票系统设计与实现 精品

系统建模与实现 题目:基于JSP的网上投票系统设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

学生管理信息系统设计总体设计说明书复习进程

总体设计说明书 1.引言 1.1编写目的 总体设计说明书是对该学生信息系统架构进行总体描述,为后期开发中可能遇到的一些困难做好准备,作为软件实现的基础。 本详细说明说明书读者对象为ⅹⅹ学院教务处专业计算机系统开发人员。 1.2项目背景 学生信息管理系统对学校加强学生信息管理有着极其重要的作用,由于ⅹⅹ学院的学生数量不断增加,传统的手工信息管理不仅工作量大,而且容易出现问题,不方便管理,开发出方便快捷的学生信息管理系统,实现学院学生信息管理信息化。 系统开发提出者:ⅹⅹ学院教务处 开发者:ⅹⅹⅹⅹⅹⅹⅹⅹ 系统使用者:ⅹⅹ学院教务处 1.3定义 总体设计:即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。 接口设计:即一些方法头和大量常量属性的结合。 数据结构设计:即给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。 运行设计:即对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。 出错设计:即用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。 1.4参考资料 [1]黄梯云《管理信息系统》. 高等教育出版社. [2] 张海潘《软件工程》. 人民邮电出版社. [3]谭浩强《C语言设计》. 清华大学出版社. [4]萨师煊,王珊. 数据库系统概论第三版.高等教育出版社 [5]李楠、祁梅. Visual Basic5.0编程实例及技巧 .人民邮电出版社 [6]启明工作室. Visual Basic + Access数据库应用系统开发与实例 .人民邮电出版社

相关文档