第一篇:视频教学功能设计
功能设计 项目名称:视频会议 班级:软件101 组长:赵美婷
组内成员:王立芹、夏叶、王亚如、靳会 时间:2012年10月9日引言
1.1编写目的:
目前,作为新型技术的视频会议,已经成为开发和研究的热点。作为计算机专业的学生,也应该将视频会议的学习和研究列为课程设计内容。1.2背景说明:
视频会议也叫电视会议,经历了模拟电视会议和数字电视会议两个阶段。模拟会议电视是早期的会议电视,在70年代就有了这种通信业务。当时传送的是黑白图像,并且只限于在两个地点之间举行会议。尽管如此,电视会议还是要占用很宽的频带,费用很高,因此这种电视会议没有得到发展。视频会议进入中国初期,政府是视频会议市场的最大也是最主要的用户。近些年来,更多的行业用户开始意识到视频会议的重要性,视频设备用户数量不断增加,用户行业分布领域也越来越广泛,由最初的政府和电信部门,发展到公安、检察院、法院、银行、证券、保险、教育、税务等各个行业。和欧美国家相比,虽然中国的远程教育和远程医疗刚刚起步,视频会议系统在这两个领域的应用范围还不够广泛,但从发展的角度可以看到,最近两年,上述两个领域的应用正呈现出蓬勃发展的势头,未来将是快速发展的行业。目前,国内市场视频会议主要应用于下列行业:政府;金融、证券、银行;能源;交通、公安军队;外资企业及大型企业;医疗与教育行业。随着政府信息化的不断深入,以及各地电子政务的开展,各地党政专网的二期、三期扩建工程,今后几年中,对于视频会议需求最大的还将来自政府部门。由于资金和观念等因素的影响,视频会议在教育、医疗方面的应用并没有取得预期的效果,各厂商在这两个领域中的占有率都很有限。但由于视频会议在技术上有着明显的特点和优势,其应用价值必将会得到教育界、医学界的进一步承认。中小型企业应是今后着重关注的领域,这部分用户数量巨大,一般对于设备终端的要求较低,而且连接点数较少。这就要求厂商能够提供价格相对低廉的产品、全套的解决方案,以及高质量的售后服务,同时,由于这部分潜在用户数量巨大,因此厂商和代理商的市场推广力度应该进一步加强。技术实力差距不大的情况下,价格将成为竞争取胜的一个关键因素。目前国内厂商在设备的价格上具有很大的优势,厂商在推广时,应注意减轻产品价位偏高所带来的影响。总体设计
2.1需求规定
(1)能够实现音视频交互。
(2)有良好的带宽处理机制、有强大网速的适应能力。(3)支持多种网络环境,并且跨越各种不同的网络环境。(4)支持文档共享、电子白板、网页同步等多种文本交互手段。(5)支持屏幕广播、程序共享等多种协同办公的功能。(6)针对不同的用户群体、用户数量,有相对应的会议机制。(7)能同时支持多个会议通道,保障各会议通道的相对独立和信息安全性。
(8)能进行远程的web方式管理,组织会议和会议授权简单、方便。
(9)有较强的控制功能,能够把不遵守纪律的会议成员请出会议室。
(10)有丰富的辅助功能,保证在突发情况下视频会议能无干扰地正常进行。
(11)能实现无延迟的音视频传输、保证音视频的同步性。(12)能进行会议录制,把会议信息完全记录下来。
(13)有良好的扩展功能,支持服务器集群、分发式服务器和二级服务器。2.2运行环境
网络视频会议的进行,必须要有良好的硬件支持。NetMeeting对硬件要求如下: 1.声卡。最好采用全双工的声卡。
2.麦克风。连接在声卡上或内置在计算机中。在语音会议时,应对着麦克风说话。3.音箱或耳机。连接在声卡上或内置在计算机,可从其中听到对方的声音。4.网卡或调制解调器(Modem)。保证能够接入互联网。5.摄像头。让对方看到自己的图像。2.3基本设计概念和处理流程
一个网络视频系统主要由三大部分组成:一个会议控制中心;接入因特网的多个办公局域网;若干个通过有线或无线方式接入因特网或办公局域网的用户终端。
右图是一款商业化的网络视频系统——智星网络视频会议系统的实际组成图
2.4结构
一、音频的录制与播放问题
这一部分的开发相对简单。其一,这种功能的API从Windows 3.1开始就已经提供(winmm.lib+mmsystem.h);其二,如今借助于方便的因特网,我们完全可以搜到现成的包装类。在本文中,我们直接借用了提供了两个现成的RecordSound与PlaySound类。这两个类都派生于CWinThread类,用户可以“死搬硬套”地使用它们。下面代码展示了这两个类的使用,具体包装类定义请参考下载源码文件。
//创建并启动录音线程
record=new RecordSound(this);record->CreateThread();//创建并启动播放线程 play=new PlaySound1(this);play->CreateThread();//开始录制
record->PostThreadMessage(WM_RECORDSOUND_STARTRECORDING,0,0);//开始播放
play->PostThreadMessage(WM_PLAYSOUND_STARTPLAYING,0,0);//在音频录制期间,我们可以在RecordSound类的OnSoundData //回调函数中使用这些数据。在此,你可以放置你要发送到远程宿主的数据…… //播放接收自远程宿主的音频数据
play->PostThreadMessage(WM_PLAYSOUND_PLAYBLOCK,size,(LPARAM)data);//停止录制
record->PostThreadMessage(WM_RECORDSOUND_STOPRECORDING,0,0);//停止播放
play->PostThreadMessage(WM_PLAYSOUND_STOPPLAYING,0,0);//最后,停止录音线程
record->PostThreadMessage(WM_RECORDSOUND_ENDTHREAD,0,0);//停止播放线程
play->PostThreadMessage(WM_PLAYSOUND_ENDTHREAD,0,0);上面已经加了注释,使用方法一目了然。
二、视频捕获的问题
当前,在Windows平台下开发视频应用一般采用两种方案。一种是基于视频采集卡所附带的二次软件开发包SDK进行。此方式的优点:帮助资料齐全,直接套用现成的API,易于上手;但缺点也是明显的:硬件依赖性强,缺乏应有的灵活性,因此,不能充分满足开发通用的视频应用的需要。
另一种方案是基于微软公司的VFW(Video for Windows)进行。这个SDK为开发Windows平台下的视频应用程序提供也现成的软件工具包(一组API),开发人员可以通过它们很方便地实现视频捕获、视频编辑及视频播放功能,特别是可利用其中内置的回调函数开发出更为复杂的视频应用程序。因此,这种方案的优点是播放视频时不需要专用的硬件设备(大多数的视频采集卡驱动程序都支持VFW接口),应用灵活,可以满足视频应用程序开发的需要。值得庆幸的是,如今的Windows版本都内置安装了VFW相关组件,而VC++自4.0以来就支持VFW,从而大大简化了视频应用程序的开发。目前,基于PC的多媒体应用程序的视频部分,大都是利用VFW API开发的。
VFW以消息驱动方式实现对视频设备进行访问,便于开发者控制设备数据流的工作过程。简言之,这个框架主要包括VICAP.DLL、MSVIDEO.DLL、MCIAVI.DRV、AVIFILE.DLL、ICM、ACM等多个动态连接库,这些组件协同合作,共同完成视频的捕获、视频压缩及播放功能。有关这些模块的具体介绍见MSDN,在此略过。
(一)视频捕获
视频数据的实时采集,主要通过AVICAP模块中的消息、宏函数、结构以及回调函数来完成。视频捕获的大致过程如下:(1)建立捕获窗口
利用函数capCreateCaptureWindow()建立视频捕获窗口,它是所有捕获工作及设置的基础。其主要功能包括:①动态地同视频和音频输入器连接或断开;②设置视频捕获速率;③提供视频源、视频格式以及是否采用视频压缩的对话框;④设置视频采集的显示模式为Overlay或为Preview;⑤实时获取每一帧视频数据;⑥将一视频流和音频流捕获并保存到一个AVI文件中;⑦捕获某一帧数字视频数据,并将单帧图像以DIB格式保存;⑧指定捕获数据的文件名,并能将捕获的内容拷贝到另一文件。(2)登记回调函数
登记回调函数用来实现用户的一些特殊需要。在以一些实时监控系统或视频会议系统中,需要将数据流在写入磁盘以前就必须加以处理,达到实时功效。应用程序可用捕获窗来登记回调函数,以便及时处理以下情况:捕获窗状态改变、出错、使用视频或音频缓存、放弃控制权等,相应的回调函数分别为capStatusCallback(),capErrorCallback(),capVideoStreamCallback(),capWaveStreamCallback(),capYieldCallback()。(3)获取捕获窗口的缺省设置
通过宏capCaptureGetSetup(hWndCap,&m_Parms,sizeof(m_Parms))来完成。(4)设置捕获窗口的相关参数
通过宏capCaptureSetSetup(hWndCap,&m_Parms,sizeof(m_Parms))来完成。(5)连接捕获窗口与视频捕获卡
通过宏capDriveConnect(hWndCap,0)来完成。(6)获取采集设备的功能和状态
通过宏capDriverGetCaps(hWndCap,&m_CapDrvCap,sizeof(CAPDRIVERCAPS))来获取视频设备的能力,通过宏capGetStatus(hWndCap,&m_CapStatus,sizeof(m_CapStatus))来获取视频设备的状态。(7)设置捕获窗口显示模式
视频显示有Overlay(叠加)和Preview(预览)两种模式。在叠加模式下,捕获视频数据布展系统资源,显示速度快,视频采集格式为YUV格式,可通过capOverlay(hWndCap,TRUE)来设置;预览模式下要占用系统资源,视频由系统调用GDI函数在捕获窗显示,显示速度慢,它支持RGB视频格式。
(8)捕获图像到缓存或文件并作相应处理
若要对采集数据进行实时处理,则应利用回调机制,由capSetCallbackOnFrame(hWndCap,FrameCallbackProc)
完
成单
帧
视
频
采
集;
由capSetCallbackOnVideoStream(hWndCap,VideoCallbackProc)完成视频流采集。如果要保存采集数据,则可调用capCaptureSequence(hWnd);要指定文件名,可调用capFileSetCapture(hwnd,Filename)。(9)终止视频捕获断开与视频采集设备的连接
调用capCatureStop(hWndCap)停止采集,调用capDriverDisconnect(hWndCap),断开视频窗口与捕获驱动程序的连接。由于上面这些API密切相关,所以为了使用方便,我们干脆把它们打包到一个视频捕获类VideoCapture中。
下面的代码片断展示了这个类的使用思路: //创建视频捕获类的实例 vidcap=new VideoCapture();//当帧捕获完成时,下面这一句将用于调用主对话框类的显示函数 vidcap->SetDialog(this);//下一行完成初始化工作:连接到驱动程序;设置使用的视频格式等。//如果成功地连接到视频捕获设备返回TRUE。vidcap-> Initialize();//如果连接成功,那么,我们就可以得到与视频格式相关的BITMAPINFO //结构。后面将用之显示捕获的帧 this->m_bmpinfo=&vidcap->m_bmpinfo;//现在,你可以正式开始视频捕获了…… vidcap->StartCapture();//一旦捕获开始,捕获的帧将到达回调函数—VideoCapture类的OnCaptureVideo函数。//在此回调函数中,你可以调用显示函数实现帧显示(见下一节)//停止捕获
vidcap->StopCapture();//成功捕获后,释放视频捕获类 vidcap->Destroy();【注意】为了顺利编译和链接,你需要在类实现文件(VideoCapture.cpp)的前面加上如下语句:
#pragma comment(lib,“vfw32”)#pragma comment(lib,“winmm”)
(二)显示捕获的视频帧
对于显示捕获的视频帧方面(也就是显示图像的问题),显然存在多种方案。例如,我们可以使用SetDIBitsToDevice()方法实现直接显示捕获的视频帧。但是,这种方案速度非常慢,因为它是基于图形设备接口(GDI)的函数。相比之下,更好一些的方法是使用DrawDib API来绘制帧,因为这个函数可以直接写向视频内存,因此能够提供更好的性能。下面的代码片断展示了如何使用DrawDib函数显示捕获的视频帧: //初始化DIB以便绘制
HDRAWDIB hdib=::DrawDibOpen();//然后,使用适当的参数调用这个函数…… ::DrawDibBegin(hdib,...);//现在,已经作好准备—可以调用这个函数进行帧显示了 ::DrawDibDraw(hdib,...);//最后,结束帧绘制 ::DrawDibEnd(hdib);::DrawDibClose(hdib);其实,上面代码非常类似普通位图绘制过程。
三、选择适当的编码/解码库
在本文中,我们选用Roalt Aalmoes的开源的快速H.263编码器库。
(一)使用编码器代码示例 //初始化压缩器 CParam cparams;cparams.format = CPARAM_QCIF;InitH263Encoder(&cparams);//如果你需要从RGB24转换到YUV420格式,那么应该调用下面的函数 InitLookupTable();//创建回调函数
//OwnWriteFunction是编码期间返回编码数据时调用的全局函数 WriteByteFunction = OwnWriteFunction;//压缩数据必须使用YUV420格式 //在压缩之前调用下面这个方法
ConvertRGB2YUV(IMAGE_WIDTH,IMAGE_HEIGHT,data,yuv);//压缩帧……
cparams.format=CPARAM_QCIF;cparams.inter = CPARAM_INTRA;cparams.Q_intra = 8;cparams.data=yuv;//数据是YUV格式 CompressFrame(&cparams, &bits);//你可以从开始时你已经注册的回调函数中取得压缩的数据 //最后,终止编码器 // ExitH263Encoder();
(二)解码器编程
注意,原始的H.263编码器库以C方式进行编码,而且提供了其它更多的细节实现。在本文中,我们以C++重新进行了改写。下面是解码器的使用示例代码框架: //初始化解码器 InitH263Decoder();//解压帧……
//rgbdata必须足够大以便存储输出数据; //解码器以YUV420格式生成图像数据; //解码之后,把它再转换成RGB24格式…… DecompressFrame(data,size,rgbdata,buffersize);//最后一步,终止解码器 ExitH263Decoder();
四、运行应用程序
为了试验本文示例应用程序,应该把可执行文件复制到一个LAN中的两台不同的机器上;然后,分别运行之。从一台机器上选择“连接”菜单项,并在弹出对话框内输入另一台机器的名字或IP地址,最后点击“连接”按钮。此时,在另一台机器上应该弹出一个“接受/拒绝”的对话框窗口,点击“接受”按钮。之后,在第一台机器上将显示通知对话框。按“OK”即可开始你的视频会议(聊天……)了。
第二篇:治安视频监控门禁功能设计一览2014
治安视频监控门禁功能设计
治安视频监控门禁项目对视频联动作以下功能设计:
1.所有的联动采用基于TCP/IP的联动,后台管理软件通过网络调取DVR相关的图像,包括实时图像、实时图片抓拍、历史数据抓拍等;系统引入“抓拍服务器”概念,“抓拍服务器”功能:其协同管理平台核心服务器进行图像抓拍工作,并存储于抓拍服务器硬盘内,并与相应的抓拍事件关联,供日后事件追朔提供数据支持。2.门禁报警与视频联动,当门点发生相应的事件,如合法刷卡、非法刷卡、出门按钮按下、暴力入侵等,当事件触发时,进行视频联动,对产生事件的区域相关联的摄像机进行抓拍,抓拍实时图片及抓拍事件前(不低于3秒)及事件后(不低于10秒)的视频图像,并与相应的事件绑定,存储于后台服务器,便于快速按事件类型快速检索。所抓拍的图片及视频流不随DVR的硬盘周期覆盖而丢失,要求存储时间不低于一年,作为DVR存储周期的有效延长及补充。
3.由于视频门禁项目涉及到的人员数量庞大,系统能承受使用高峰期人员刷卡响应和视频抓拍的工作状态,每台服务器可承受每秒超过50次的刷卡请求和视频抓拍的峰值。在至少持续30分钟的并以每秒50次刷卡和抓拍(每次刷卡抓拍2张图片及刷卡前3秒到刷卡后10秒视频2段),系统不能瘫痪;抓拍图片的显示不能有明显的延迟感(不超过1秒);刷卡开门相应时间小于0.2秒;各个工作站操作流畅。4.后台管理软件支持门点灵活关联本管理区域已联网DVR的任何通道摄像机。5.后台管理软件支持多台抓拍服务器协同工作,可自动均衡负载;即使当其中一台抓拍服务器瘫痪时,其它抓拍服务器自动接管已瘫痪服务器的负载工作。
DVR前置设计
视频门禁项目结合不同的应用,将采用不同的视频监控架构,对于分散独栋式楼栋、合围式大门口、从业场所大门口等场合采用DVR前置设计。
所谓的DVR前置是指将DVR放置于现场门点,与门禁控制器(包含汇总式或者主控式)一起安装、布放,将监控区域的门点摄像机直接通过视频线缆接入DVR内,在本地实现编码及存储;通过网络实现与后台服务器管理软件进行TCP/IP通信。如下图所示:
DVR前置有以下的优点:
1.DVR前置,直接在本地编码及存储,效率高、成本低;使用多路DVR可接入多栋楼的视频,如16路DVR可管理8栋楼(或者8个进出的区域,每个区域配置进出各两个摄像机);
2.DVR前置,DVR直接通过视频线缆与摄像机相联,图像效果受外界其它因素(电磁干扰、图像传输距离等)影响低。
3.DVR前置,如果门禁设备采用带视频信号接入的门禁控制器(门禁设计部分有相关介绍),可加强视频信号防雷保护。
4.DVR前置,DVR对下提供4/8/16路摄像机接入,对上提供1个网络口,结构清淅简洁,易于维护。
5.DVR前置,直接通过网络上传数据,组网传输成本相比其它方式(DVR后置,或者前端采用DVS,后台IP-SAN存储)相对低廉。
6.DVR前置,系统上线前的调测工作量相对比较小,因为采用分散式小区域单台DVR调测,各个摄像机的连线简明,快速排除故障。DVR前置有以下的缺点:
1.DVR前置需安装在楼栋/区域内,首先安装位置的环境(雨淋、日照高温、高湿、灰尘、雷电,市电电压波动)对设备可靠性有影响。
2.其次分散安装,对于维护不便利,需要对各个设备的安装位置进行有效的标注,给维护人员带来不便。
3.最后分散安装在公共场所,DVR设备及DVR内的硬盘易成为被盗的对象,图像数据的安全会打折。
DVR后置设计
视频门禁项目结合不同的应用,将采用不同的视频监控架构,对于集中式楼栋、围合式楼栋间等场合宜采用DVR后置设计。
所谓的DVR后置是指将前端模拟摄像机,通过远距离传输线缆(如借助光端机远距离传输或视频线),将视频信号集中汇聚到一个指定的中心,DVR放置于中心,也称后置于中心;实现视频模拟信号在中心进行编码及存储;在中心的DVR通过内部局域网实现与中心的服务器管理软件进行TCP/IP通信。如下图所示:
DVR后置有以下的优点:
1.DVR后置中心,中心一般有人值守,设备的安全性得到有效保障。
2.DVR后置中心,中心的机房环境比较好,不受室外环境影响,设备工作稳定性得到提高。
3.DVR后置中心,设备维护在集中一个地方,管理便捷。DVR前置有以下的缺点:
1.DVR后置,首先采用远距离传输,增加光端机设备,相应增加传输成本,提高项目造价。
2.DVR后置,增加光端机等设备,增加室外线路维护节点,需要对各个设备的安装位置进行有效的标注,增加故障排除难度。
3.DVR后置,采用光端机,对光端机设备及光纤线缆的有一定技术要求,选型及匹配相当关键,不然图像质量不能得到有效保证。
4.DVR后置,线缆汇聚必然容易造成线路混乱,检测排除故障时间长;系统上线前的调测工作量大,整体联调时摄像机与中心跨的区域广、节点多,故障排查时间长、难度大。
第三篇:基于UML的功能设计
内蒙古工业大学信息工程学院
实 验 报 告
课程名称: UML2面向对象分析与设计 实验名称: 基于UML的功能设计 实验类型: 验证性□ 综合性□ 设计性□ 实验室名称: 班级: 学号: 姓名:
组别: 同组人:
成绩:
实验日期: 2014.5.21
内蒙古工业大学信息工程学院
报告类型: 实验报告√ 预习报告□
报告成绩: 指导教师审核(签名): 年 月 日
[实验名称]
基于UML的功能设计 [实验目的]
1、熟练使用Rational rose2003。
2、掌握组件图的绘制方法。
3、掌握布局图的绘制方法。
4、双向工程的实施过程。[实验环境] Rational rose2003,Windows 7。
[实验内容] 题目1:选课系统的组件图设计
描述:在选课系统中,包括MainProgram类(主程序)、People类、FormObject类、ControlObject类、Student类、Registrar类(管理员)、Course类和DataBase类。People类是Student类和Registrar类的基类,所以Student类和Registrar类依赖People类。FormObject类和ControlObject类都和Course类相关,FormObject类和ControlObject类依赖Course类,ControlObject类和DataBase类相关,ControlObject类依赖DataBase类。
完成:
1)绘制选课系统的组件图。题目2:选课系统的布局图的设计
描述:服务器使用了两台主机,一台作为数据库服务器,使用了Oracle服务器,另一台是同一局域网上的机器,作为HTTP服务器,上面运行了HTTP服务器进程以及业务逻辑,同时连接了打印机。而客户端则是在因特网上任意具有Web浏览功能的机器,客户端和HTTP服务器通过因特网连接,从HTTP服务器获取信息。完成: 1)绘制选课系统的布局图。题目3:选课系统的正向工程 描述:见题目1。
完成:
第1页
内蒙古工业大学信息工程学院
1)使用Rose的正向工程,为类People、Student和Registrar生成代码;
2)使用同样的方法,为其它类也生成代码。题目4:选课系统的逆向工程
描述:根据题目3正向工程执行的结果,在类Student的代码中增加一个TestOperation的空操作。完成:
1)使用Rose的逆向工程,为Student的代码建立同步模型。
[实验提示] 1)组件图的绘制
(1)打开组件图窗口
在浏览器窗口打开“Component View”文件夹-〉双击“Main”图标。(2)建立新组件
浏览器中右键单击“Component View”-〉“New”-〉“Component”建立了新组件;(3)修改组件属性
右键单击所建立的组件-〉“Open Specification”-〉在“General”选项卡中设置组件名称、组件版型和实现的语言。
在“Files”选项卡中-〉列表框中单击右键-〉“Insert File”,建立Main.java文件。(4)组件图中增加组件 将所建立的组件拖入组件图即可。
使用上面的方法建立组件,然后打开组件的属性框,选择“Realizes”选项卡,右键单击类名,选择“Assign”,可以建立类和组件之间的关系。
2)布局图的绘制
(1)打开布局图窗口
在浏览器中选择“Deployment View”并双击,打开了布局图窗口。
(2)增加处理器
在布局图窗口工具栏上选择“Processor”图标-〉放置到“布局图”窗口中。
第2页
(2)设置组件和类的关系
内蒙古工业大学信息工程学院
(3)设置处理器属性
右键单击新建的处理器-〉“Open Specification”-〉选择“Detail”选项卡-〉在“Processes”列表框中单击右键-〉“Insert”-〉设置处理器上运行的进程。
3)正向工程的实现
(1)一般性检查
“Tools”-〉“Check Model”,如果模型有问题,将在日志窗口中给出。
(2)发现访问问题
“Report”-〉“Show Access Violations”,在访问问题窗口中显示访问问题。
(3)语言独立检查
假设使用Java语言,“Tools”-〉“Java”-〉“Syntax Check”。
(4)生成代码
“Tools”-〉“Java”-〉“Genenate Codes”。
4)逆向工程的实现
“Tools”->“Java”-〉“Reverse Engineer Java…”。
[实验结果] 题目1:选课系统的组件图设计
选课系统组件图
题目2:选课系统的布局图的设计
第3页
内蒙古工业大学信息工程学院
选课系统布局图题目3:选课系统的正向工程 1)正向工程生成代码Registrar.java //Source file: D:xy Registrar.java
public class Registrar extends People {
/**
* @roseuid 51BFDB9802E9
*/
public Registrar()
{
} } 2)正向工程生成代码People.Java //Source file: D:xy People.java
public class People {
public MainProgram theMainProgram;
/**
* @roseuid 51BFD71203A3
*/
public People()
{
第4页
内蒙古工业大学信息工程学院
} } 3)正向工程生成代码Student.java //Source file: D:xy Studnet.java
public class Studnet extends People {
/**
* @roseuid 51BFD7570025
*/
public Studnet()
{
} } 4)正向工程生成代码ControlObject.java //Source file: D:xy ControlObject.java
public class ControlObject {
/**
* @roseuid 51BFDBA103D5
*/
public ControlObject()
{
} } 5)正向工程生成代码FormObject.java //Source file: D:xy FormObject.java
public class FormObject {
/**
* @roseuid 51BFDBA90119
*/
public FormObject()
{
} }
第5页
内蒙古工业大学信息工程学院
6)正向工程生成代码MainProgram.java //Source file: D:xy MainProgram.java
public class MainProgram {
public People thePeople;
public Course theCourse;
/**
* @roseuid 51BFD862029F
*/
public MainProgram()
{
} } 题目4:选课系统的逆向工程
Student类图
[实验心得] 通过本次实验,熟悉了如何使用rose绘制UML组件图与布局图,了解了组件图与布局图的作用,巩固了相关的课堂知识,加深了对其的认识。除此之外,还掌握了如何使用rose的正向工程和逆向工程,学会了通过rose快速生成代码的方法,极大的方便了以后的编程。同时也为以后的学习与工作打下了一定的基础。
第6页
第四篇:图书馆网站网站功能设计
图书馆网站网站功能设计
用户分类
1.管理员 1).超级管理员平台设置: 数据库管理(备份、恢复)公告管理 底部栏目管理(关于我们、购物指南、配送方式、支付方式)添加管理员 学校管理: 添加学校、学院、班级 商品管理: 商品分类(2 级分类)商品添加 商品查询(可以按分类查询和修改商品的库存、价格等信息)缺货登记管理(商品添加应有图书名称、出版社、作者、ISBN,出版时间、版次等信息)(商品价格体系共有三个:进价、定价、小管家价。网站网页上显示的是小管家价 和定价,其中小管家价就是本网站的售价,因为网站名叫校园小管家,定价就是图 书的定价,进价就是图书的进货价,在网站后台添加,不显示在网页上,小管家价 与进价之间差价的 30%就是小管家的收益)
订单管理: 按日期,班级,姓名等查询订单信息和处理订单。会员管理: 普通会员管理(会员的删除、查看、锁定)(会员删除指的是会员毕业信息将被删除。会员锁定指的是租书规定时 期内未还的会员的账号将被锁定,将无法进行提交订单)小管家管理(设置小管家、解除小管家、提现申请处理)统计报表: 销售明细 租赁明细 可以按照日期、学校、学院、班级小管家、会员查询 2)管理员 学校管理: 添加学校、学院、班级 商品管理: 商品分类(2 级分类)商品添加 商品查询(可以按分类查询和修改商品的库存、价格等信息)缺货登记管理(商品添加应有图书名称、出版社、作者、ISBN,出版时间、版次等信息)(商品价格体系共有三个:进价、定价、小管家价。网站网页上显示的是小管家价 和定价,其中小管家价就是本网站的售价,因为网站名叫校园小管家,定价就是图 书的定价,进价就是图书的进货价,在网站后台添加,不显示在网页上,小管家价 与进价之间差价的 30%就是小管家的收益)
订单管理: 按日期,班级,姓名等查询订单信息和处理订单。会员管理: 普通会员管理(会员的删除、查看、锁定)(会员删除指的是会员毕业信息将被删除。会员锁定指的是租书规定时 期内未还的会员的账号将被锁定,将无法进行提交订单)小管家管理:(设置小管家、解除小管家、提现申请处理)统计报表: 销售明细 租赁明细 可以按照日期、学校、学院、班级小管家、会员查询 2.班级小管家 班级订单管理:可以对班级内成员下单情况进行查看。我的订单: 我的收益: 余额: 申请提现 缺货登记: 历史查询:会员可以在登陆之后查询自己的租书和买书的历史记录。普通用户: 我的订单: 申请成为班级小管家。缺货登记:
历史查询:会员可以在登陆之后查询自己的租书和买书的历史记录。所有用户和非用户均可查看全站图书全部信息。只有注册用户可下订单。非注册用户下单时会提示需要注册。
会员注册功能 注册邮箱(必填)创建密码(必填)真实姓名(必填)性别(必填)学校、学院、班级(必填)学历(必填)入学时间(必填)邮箱激活
男、女 管理员后台添加,会员选择 专科、本科、管理员后台添加,会员选择
历史查询功能 描述:会员可以在登陆之后查询自己的租书和买书的历史记录。购物车功能 描述:用户登陆后,可以在浏览图书时将图书进行加入购物车,购物车内图书永久存在,不会因为关闭浏览器而消失,用户可手动删除和修改数量。
图书查询
描述:搜索图书,搜索类别包括书名、作者、ISBN。
图书详情 描述:显示有关该图书所有已录入信息,包括租赁价格和新书价格。帮助功能 在网站底栏显示,类似当当网
分:关于我们、购物指南、配送方式、支付方式 帮助信息 具体内容后台添加即可 支付 描述:分为货到付款 和 供)。
支付宝(需自行于支付宝签约,并提供接口密码)(待提
货到付款情况描述: 用户提交订单(选择支付方式:货到付款)------用户订单情况同时提交到班级小管家 和管理员后台(订单状态显示为等待买家付款)-------网站发货到班级小管家(小管家可先 行垫付或早些收款支付给网站送货人员,小管家在班级订单上找到该用户订单,并点击已 收货和付款----送货人员返回把货款交与网站管理人员,并点击已付款,完成。完成单笔交 易。
第五篇:会员管理系统功能设计
1.受众俱乐部系统功能设计
1.1.1.会员管理模块
会员管理模块在线填写管理员审批会员注册短信注册管理员审批是否被推荐是给推荐人增加积分后台导入否正式会员配置频率积分记录配置类型会员分类管理配置地区会员活动查询活动记录货物记录配置级别沟通记录
会员管理模块实现会员注册的基础配置、注册新会员和会员相关信息的查询功能。
会员信息包括:姓名,会员级别,积分,机构,职务,性别,出生,民族,地址,家庭,兴趣爱好,习惯,媒体接触习惯,备注一,备注二,备注三。(其中一般信息开放给会员可在线修改,特殊信息不允许会员修改)会员注册:分为在线注册、短信注册和后台导入3种方式。会员分类管理:为会员注册配置基础信息,可配置项目包括频率、类型、地区和会员级别。
会员活动查询:可以查询与会员相关的积分记录、活动记录、货物记录和沟通记录信息。
1.1.2.活动管理模块
活动管理模块生成会员积分记录策划活动设定活动相关信息通知相关人员参与活动生成会员活动记录 活动管理管理模块包括发起活动、会员参与报名、活动评价、活动展示橱窗子功能。
活动发起:系统管理员或活动负责人可以发起新活动,发起活动时需要填写活动名称、活动分类、负责人、组织人员、组织人员分工、参与客户、参与人员、开始时间、结束时间、地点、预算、货品、收入信息。
会员报名:会员可以选择自己感兴趣的活动进行报名,在经过管理人员审核后即可正式参加活动。
活动评价:活动结束后会员可以对活动进行情况进行评价,评价内容将自动展示在活动项目中。
活动展示橱窗:每个活动均附带一个活动橱窗,会员可以上传与活动相关的图片并可配上文字说明。
活动积分:根据规则设定,会员参与活动可能需要扣除一定额度的积分,同时参与活动也可获得积分奖励。
1.1.3.交流管理模块
会员交流模块发送短信开始交流选择客户或会员填写内容发送邮件生成会员交流记录拨打电话 交流管理模块实现俱乐部与客户、会员和其他受众之间的短信、电话、邮件方式进行交流沟通、意见反馈。
会员交流:在会员交流模块,系统管理员和会员之间可以相互发起交流,在交流发起之后可以在每条交流后面进行跟进交流。
会员交流记录:每项交流情况都会被系统自动记录,系统管理员或活动相关人员可以根据会员、日期、和关键字查询相关交流记录。
1.1.4.积分管理模块
积分管理模块会员管理模块活动管理模块积分接口积分增减货物管理模块 积分管理模块实现与积分相关的设置和记录查询,会员管理模块、活动管理模块、货物管理模块通过积分管理模块提供的接口实现与积分管理模块对接。
积分设置:对站内所有能获得积分的操作和规则进行统一管理,设定每项规则的积分数、规则有效期、是否有效。积分查询:查询会员获取或消费积分的详细记录。
积分接口:会员管理模块、活动管理模块、货物管理模块通过接口实现将相关的积分获取和消费记录发送给积分管理模块,然后由积分管理模块实现积分的增减。
1.1.5.货物管理模块
货物管理模块商品管理采购管理销售管理货物管理模块支付管理发货管理退货管理
货物管理模块实现俱乐部经营货物的商品管理、采购管理、销售管理、支付管理、发货管理和退货管理。同时,货物管理模块通过接口与会员管理和活动管理实现对接,会员和活动商品发放后,商品管理自动更新信息。1.1.6.系统管理模块
系统管理模块基础配置用户管理系统管理模块角色管理权限管理
系统管理模块为管理员提供系统的基础配置功能、用户管理、角色管理、权限管理。