应用软件设计与功能实现说明文档
软件详细设计文档模板(最全面)-详细设计文档

Xxx系统详细设计说明书(内部资料请勿外传)编写:日期:检查:日期:审核:日期:批准:日期:XX公司版权所有不得复制文档变动记录目录1. 引言41.1 编写目的和范围41.2 术语表41.3 参考资料41.4 使用的文字处置和绘图工具42. 全局数据结构说明52.1 常量52.2 变量52.3 数据结构53. 模块设计53.1 用例图53.2 功能设计说明53.2.1 模块153.2.2 模块264. 接口设计74.1 内部接口74.2 外部接口74.2.1 接口说明74.2.2 调用方式85. 数据库设计86. 系统平安保密设计86.1 说明86.2 设计86.2.1 数据传输部份86.2.2 IP过滤分部86.2.3 身份验证部份87. 系统性能设计98. 系统犯错处置91.引言1.1布景此文档的布景1.2编写目的和范围说明写这份详细设计说明书的目的.本详细设计说明书编写的目的是说明法式模块的设计考虑,包括法式描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础.本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员.1.3术语表界说系统或产物中涉及的重要术语,为读者在阅读文档时提供需要的参考信息.1.4参考资料列出有关资料的名称、作者、文件编号或版本等.参考资料包括:a.需求说明书、架构设计说明书等;b.本项目的其他已发表的文件;c.引用文件、资料、软件开发标准等.1.5使用的文字处置和绘图工具文字处置软件:[编写设计文档使用的文字处置软件,如RedOffice ]绘图工具:[使用的UML工具,如Rose、Jude、Visio]2.设计概述2.1任务和目标2.1.1需求概述2.1.2运行环境概述2.1.3条件与限制2.1.4详细设计方法和工具3.系统详细需求分析主要对系统级的需求进行分析.首先应对需求分析提出的企业需求进一步确认,并对由于情况变动而带来的需求变动进行较为详细的分析.3.1详细需求分析3.1.1详细功能需求分析3.1.2详细性能需求分析3.1.3详细资源需求分析3.1.4详细接口需求分析3.1.5详细系统运行环境及限制条件分析4.总体方案确认着重解决系统总体结构确认及界面划分问题.4.1系统总体结构确认对系统组成、逻辑结构及条理进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统自己结构和公司其他系统的结构变动.包括:4.1.1系统组成、逻辑结构及条理确认4.1.2应用系统结构确认4.1.3支撑系统结构确认4.1.4系统集成确认4.1.5系统工作流程确认4.2系统详细界面划分4.2.1应用系统与支撑系统的详细界面划分应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等.4.2.2系统内部详细界面划分系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等.5.全局数据结构说明本章说明本法式系统中使用的全局数据常量、变量和数据结构.5.1常量包括数据文件名称及其所在目录,功能说明,具体常量说明等.5.2变量本章说明本法式系统中使用的全局数据常量、变量和数据结构.5.3数据结构包括数据结构名称,功能说明,具体数据结构说明(界说、注释、取值)等.6.系统详细设计6.1功能结构图6.2系统结构设计及子系统划分对系统的组成及逻辑结构进行设计前确认.划分系统功能模块或子系统(如果有或者有需要,特别是年夜型的软件系统).6.3系统功能模块详细设计按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计.此为详细设计的主要部份之一.用条理图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能.以上建议采纳HIPO图进行功能分解与模块描述,更高的要求建议采纳IDEF0方法进行功能模型设计.详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系.每个模块的描述说明可参照以下格式:模块编号:模块名称:输入:处置:算法描述:输出:其中处置和算法描述部份主要采纳伪码或具体的法式语言完成.对详细设计更高的要求建议用IDEF0图进行各功能模块的设计.如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成.6.4系统界面详细设计系统界面说明应用系统软件的各种接口.整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部份说明.6.4.1外部界面设计根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计.6.4.2内部界面设计设计系统内部各功能模块间的调用关系和数据接口.6.4.3用户界面设计规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计.此部份内容可能比力多.7.开发和测试生产环境说明7.1开发环境7.2测试及产物环境- Development evnironment: programming lanuague, databaseWindwos 2003, iis 6.0, MySQL,8.模块设计8.1用例图8.2功能设计说明8.2.1模块1模块1主要分为以下几个子模块:子模块1、子模块2和子模块N.8.2.1.1 子模块18.2.1.1.1 设计图8.2.1.1.2 功能描述简要描述子模块1的业务功能.8.2.1.1.3 输入数据详细描述用户输入的数据(包括任何输入设备)以及这些数据的有效性检验规则.详细描述从物理模型中的哪些表获取数据以及获取这些数据的条件.8.2.1.1.4 输出数据详细描述子功能1所发生的数据以及这些数据的暗示形式. 8.2.1.1.5 业务算法和流程从业务角度详细描述根据输入数据发生输出数据的业务算法和流程.8.2.1.1.6 数据设计给出本法式中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(界说、注释设计、取值)等.相关数据库表,数据存储设计(具体说明需要以文件方式保管的数据文件名、数据存储格式、数据项及属性等.)8.2.1.1.7 源法式文件说明给出本法式的各源法式文件的说明,包括源法式文件名称及其所在目录,功能说明,包括的前导文件及函数名称等.8.2.1.1.8 函数说明具体说明本法式中的各个函数,包括函数名称及其所在文件,功能,格式,参数,全局变量,局部变量,返回值,算法说明,使用约束等.8.2.1.1.9 限制条件8.2.1.1.10 其他说明8.2.2模块2模块1主要分为以下几个子模块:子模块1、子模块2和子模块N.8.2.2.1 子模块18.2.2.1.1 设计图8.2.2.1.2 功能描述简要描述子模块1的业务功能.8.2.2.1.3 输入数据详细描述用户输入的数据(包括任何输入设备)以及这些数据的有效性检验规则.详细描述从物理模型中的哪些表获取数据以及获取这些数据的条件.8.2.2.1.4 输出数据详细描述子功能1所发生的数据以及这些数据的暗示形式.8.2.2.1.5 业务算法和流程从业务角度详细描述根据输入数据发生输出数据的业务算法和流程.8.2.2.1.6 数据设计给出本法式中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(界说、注释设计、取值)等.相关数据库表,数据存储设计(具体说明需要以文件方式保管的数据文件名、数据存储格式、数据项及属性等.)8.2.2.1.7 源法式文件说明给出本法式的各源法式文件的说明,包括源法式文件名称及其所在目录,功能说明,包括的前导文件及函数名称等.8.2.2.1.8 函数说明具体说明本法式中的各个函数,包括函数名称及其所在文件,功能,格式,参数,全局变量,局部变量,返回值,算法说明,使用约束等.8.2.2.1.9 限制条件8.2.2.1.10 其他说明9.接口设计9.1内部接口9.2外部接口9.2.1接口说明例如:xx子系统通过xx从xx子系统取得xx等,相关标准,调用示例,可根据需要增加章节描述接口.9.2.2调用方式例如:内部接口调用:例:/***通过用户服务号码取得该客户认证密码等信息,如果该客户存在返回为0,其他情况参考毛病编码*/public RUserInfo getUserInfo (String userNo);10.数据库设计详见[xxx数据库设计说明书]如果数据库设计内容比力少,则直接在此处描述.11.系统平安保密设计11.1说明例如:由于存在与外部系统的接口,所以需要考虑访问平安的问题.11.2设计例如:分为数据传输部份,IP过滤部份,身份验证部份.[章节可弥补]11.2.1数据传输部份例如:在部份数据传递的时候,考虑以https协议,需要在布置的时候作相关处置.11.2.2IP过滤分部例如:可在系统前端通过Filter实现,该Filter实现对该地址访问的IP过滤作用.可信任IP地址通过xml文件进行配置. 11.2.3身份验证部份例如:对信任的用户,公布身份验证码,通过该标识进行身份识别.12.系统性能设计13.系统犯错处置例如:为了在系统呈现异常情况下给用户以明确的提示,可采纳两种方式予以提示:1.使用Javascript的alert()函数直接提示,这主要在输入或修改的情况下使用;2.使用统一的毛病界面提示,该界面对应于页面.毛病界面样式如下图所示:毛病提示界面14.设计和开发规范【可以列表方式列出设计开发的参考文档的索引,内容较少/关键内容可以章节方式填写】14.1数据库设计规范【拜会《XXXX数据库设计规范》】编码规范特别强调:✧详细请拜会《文档规范》✧这里只做简单论述,如有变动,会及时同事整个项目组相关人员.(1) 不要给类名加前缀.使用PascalCasing风格,不使用匈牙利命名法 .(2) 要用名词词组来给类型命名.使用PascalCasing风格 .(3) 类名少用缩写,不要使用下划线字符 (_).(4) 基类CBase的文件名为:FileBase.cs;(5) 泛型类命名:考虑用T来命名参数类型 ,类如:public class List<T>.(6) 接口(Interface)命名规范和类命名规范相同,唯一区别是接口在名字前加上“I”前缀.(7) 枚举命名:以复数结尾,标明这是一个枚举,例如:Enum ColorButtons(8) 结构命名:标明这是一个结构体,例如:Structure CustomerInfoRecord '以Record结尾✧除使用工具直接生成的类外,其它所有类的功能要有注释,即使只是一个数据对象;非罕见功能的API必需要有功能描述的注释.自力的要被应用其他功能所调用的模块的接口和公共API的注释要完备,即包括功能说明、参数和返回值说明.其它情况的API的注释尽量完备,但不强制要求.✧一次性的流翻开后必需关闭和释放.一般地,在流翻开后,都有一个try catch语句,务必加上finally块释放流资源.✧即使IF,While是单语句,也要使用“{ }”来划分法式块.✧不要有完全为调试使用的日志信息,如(“1”);如要使用,在调试完成后请及时删除.✧一些知识性代码,不需要写没需要的注释.✧不要用工具生成没用的注释.14.3代码目录结构系统架构目录结构设计图,如下:结构说明:。
应用软件设计与功能实现说明文档

1 车载监控系统概述整套监控系统将包括车载设备、网络服务器、客户端三大组成部分。
客户端通过服务器的中转与车载设备间接通信,以实现从车载设备接收监控信息和向车载设备发送控制指令等。
所预计的主要功能将包括视频音频监控,酒精检测,传感器报警,语音对讲,远程云台控制等。
车载设备通过3G无线数据模块无线接入网络,以实现车载移动监控。
车载处理设备外接设备流媒体采集处理模块数据存储模块监测报警模块摄像机酒精检测传感器远程视频监控模块远程控制模块语音对讲模块服务器流媒体播放模块流媒体接收模块指令转发模块语音流转发模块T C P流媒体转发模块指令转发模块语音流接收模块客户端流媒体接收模块远程控制模块T C P语音对讲模块数据库管理模块用户管理模块流媒体播放模块音频采集处理模块U D PT C PT C PT C P系统部署图整个系统部署结构如图,其中:➢车载设备连接模拟摄像机,并通过3G数据模块拨号连接网络。
实现视频音频采集,可以把实时音频视频发送至服务器。
并且可以挂接硬盘存储设备,把采集的视频和音频存储至硬盘。
存储的视频可通过网络点播,并可以通过模拟输出端口直接把存储的视频音频输出到电视机进行播放,播放时有图形操作界面。
➢车载设备的通过带酒精度传感器的外接设备进行酒精检测。
酒精检测后将检测数值传到服务器,并发送提醒短信到用户手机。
在本地对酒精值进行分析和声音播报。
➢车载设备的报警传感器安装在需要的位置,检测到非法入侵时,可通过3G模块以发送手机短信的方法通知用户。
➢车载设备可从服务器接收音频数据并且进行播放。
➢服务器可将车载设备的视频音频数据转发至客户端,可以把来自客户端的指令信息和音频数据转发至车载设备。
➢客户端可接收视频音频数据并进行播放,可以控制车载设备的摄像机云台,可以通过话筒向车载设备讲话。
客户端与网络服务器逻辑分开,服务器可以同时连接多个车载设备和多个客户端。
并把每个客户端与该客户的若干设备对应。
根据实际需要,PC客户端也可以并入服务器系统。
软件使用说明书(共5篇)

篇一:软件使用手册(使用说明书)模板图片已关闭显示,点此查看文档作者:说明书校对:产品经理:(仅供内部使用)_______________________________________________________________请在这里输入公司名称版权所有不得复制图片已关闭显示,点此查看___/___/___ ___/___/___ ___/___/___日期:日期:日期:1引言 1 .1编写目的编写本使用说明的目的是充分叙述本软件所能实现的功能及其运行环境,以便使用者了解本软件的使用范围和使用方法,并为软件的维护和更新提供必要的信息。
1 .2参考资料略1 .3术语和缩写词略2 软件概述 2 .1软件用途本软件的开发是为具有电能质量仪表,可以获取电能数据的技术人员提供一个有利的分析工具。
2 .2软件运行本软件运行在pc 及其兼容机上,使用windows 操作系统,在软件安装后,直接点击相应图标,就可以显示出软件的主菜单,进行需要的软件操作。
2 .3系统配置本软件要求在pc 及其兼容机上运行,要求奔腾ii以上cpu,64兆以上内存,10g 以上硬盘。
软件需要有windows 98 操作系统环境。
2 .4软件结构略2 .5软件性能略2 .6输入、处理、输出 2 .6.1输入略 2 .6.2处理略 2 .6.3输出分析数据为:略图表有:略3 软件使用过程 3 .1软件安装直接点击软件的安装软件 setup.exe ;然后按照软件的提示进行。
3 .2运行表略3 .3运行步骤略3 .4运行说明略3 .4.1控制输入按照软件的说明,将测试数据加入到软件中;具体过程如下:略3 .4.2管理信息软件运行过程中的密码键入:略3 .4.3输入输出文件略3 .4.4输出报告略3 .4.5输出报告复制略3 .4.6再启动及恢复过程略3 .5出错处理软件运行过程中可能雏形的出物及处理如下:略3 .6非常规过程如果出现不可能处理的问题,可以直接与公司的技术支持人员联系:略4 软件维护过程 4 .1程序设计的约定本软件程序是一个单一的运行软件,各个软件子模块的预定如下:略4 .2出错及纠正方法可能由于输入的数据不符合软件的要求,软件将可能提出错误,并提醒您按照软件的要求运行程序;可能出现的问题见下表:略4 .3专用维护程序本软件提供您一个专用维护软件,以便在软件出现意想不到的问题时可以使您迅速发现您在软件运行时的失误,保证您的分析结果不会受到损失,尽管您的软件可能永远不会出现使用维护本软件的时候,希望您在使用分析软件的时候,可以浏览以下本软件的使用。
通用范文(正式版)概要设计(软件工程文档模板)

概要设计 (软件工程)1. 引言本文档为软件工程项目的概要设计文档,旨在为项目的开发人员提供一个整体的系统设计概览。
在项目开发过程中,概要设计起到了桥梁的作用,将需求分析和详细设计阶段进行衔接。
本文档将详细描述系统的整体结构、主要模块和关键功能,并提供相应的设计原则。
2. 系统结构设计2.1 参与角色是本系统中涉及到的主要参与角色:系统管理员:负责系统的配置、用户管理和权限控制。
普通用户:包括注册用户和匿名用户,使用系统提供的功能进行操作和查询。
数据库管理员:负责数据库的管理、备份和维护。
2.2 系统组成本系统由几个主要模块组成:用户管理模块:负责用户注册、登录和信息维护等功能。
权限控制模块:实现对用户访问权限的管理和控制。
数据管理模块:负责对数据的增删改查等操作。
报表模块:根据用户的需求相应的报表和统计数据。
安全管理模块:对系统进行安全性控制和防护。
2.3 系统架构设计本系统采用分层架构的设计方式,主要包括几个层级:用户界面层:负责与用户交互和展示信息。
应用逻辑层:负责处理用户请求,调用相应的服务和实现业务逻辑。
数据访问层:负责与数据库进行交互,实现数据的持久化和访问。
数据库层:存储系统的数据和相关信息。
3. 主要功能设计本系统的主要功能包括但不限于几个方面:用户注册和登录功能:提供用户注册和登录功能,保障系统安全性。
用户信息维护功能:允许用户修改个人信息,包括密码、头像等。
数据查询和展示功能:允许用户根据条件查询并展示相关数据。
数据编辑和添加功能:允许用户对数据进行编辑和添加操作。
报表和导出功能:根据用户需求相应的报表和统计数据,并支持导出功能。
4. 系统性能设计为了保障系统的性能和稳定性,本系统需要考虑几个方面的设计:用户并发访问的支持:针对高并发访问,需要采用合适的技术手段进行负载均衡和优化。
数据库优化:针对系统中频繁访问的表,采用合适的索引策略进行优化,提高查询和更新的效率。
缓存机制:采用合适的缓存机制,减少对后台数据库的访问,提高系统响应速度。
软件设计说明文档 csci范文

《软件设计说明文档 csci范文》一、引言随着信息技术的飞速发展,软件在各行各业中的应用越来越广泛,软件设计越来越受到重视。
软件设计说明文档(CSCI)是软件开发过程中必不可少的一部分,它详细描述了软件的设计方案、结构、功能和性能等各方面的信息,是软件开发团队和其他相关人员了解和评估软件设计的重要依据。
本文旨在提供一篇CSCI范文,供广大软件开发者参考,帮助他们编写高质量的软件设计说明文档。
二、软件设计概述1. 软件名称:XXX系统2. 软件版本:V1.03. 开发团队:XXX公司4. 软件功能概述:XXX系统是一款专为XX行业开发的管理软件,包括XX、XX、XX等功能模块,旨在提高业务运作效率,降低人力成本,提升管理水平。
5. 软件设计目标:本软件设计旨在实现以下目标:(1)提高业务流程的自动化程度;(2)保障数据的准确性和安全性;(3)提升用户体验,简化操作流程;(4)支持多评台多终端使用。
三、软件设计方案1. 技术选型:本系统采用B/S架构,后端采用Java语言开发,前端采用Vue.js框架,数据库采用MySQL,服务器采用Linux系统。
2. 系统架构:系统包括前端、后端和数据库三个主要部分,前端负责用户交互界面的展示,后端负责业务逻辑的处理和数据传输,数据库负责数据存储和管理。
3. 功能模块划分:系统功能主要包括用户管理、XX管理、XX管理、XX管理等多个模块,每个模块内部又可以细分成多个子功能点,具体划分见附表1。
4. 数据库设计:数据库设计包括数据表结构设计、索引设计、存储过程设计等多个方面,详细设计见附表2。
四、软件设计详细说明1. 用户管理模块设计(1)用户登录:用户输入账号和密码进行登录,系统验证后跳转至首页;(2)用户权限管理:系统根据用户角色划分权限,管理员具有最高权限,普通用户权限受限;(3)用户信息维护:用户可以修改个人信息,包括尊称、密码、通信方式等。
2. XX管理模块设计(1)XX录入:管理员可以录入XX信息,包括XX名称、XX数量、XX价格等;(2)XX统计:系统可以对XX进行统计分析,生成报表和图表。
Web应用软件开发概要设计文档

3.3.1 系统接口表
接口作为系统的一种输入/输出形式,分为网络接口、数据库接 口、RS-232串行通讯接口、IEEE—485串行总线接口、并行I/O接口等等 多种类型。
对于一些为可视界面服务的接口,例如:打印机接口、显示器接口 等,因为这类接口对应用软件是透明的,所以不在本节描述范围内。
当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统 接口表进行描述。系统接口表的格式如下:
● 子系统中文名称 含义同上。
● 约束编号 整个系统所有约束的统一编号。
● 完整性名称 系统完整性约束的正式名称,必须符合通常习惯。
● 相对对象名 完整性约束中的相关对象(数据元和数据类)。
● 约束表达式 用一阶逻辑表达式表达的约束方程式。
● 备注 描述与该系统完整性约束有关的其它注意事项。
● 说明 描述与该系统完整性约束表有关的其它注意事项。
3.2 系统结构设计
本节将对系统特性作较为详细的描述,并给出系统特性结构图。
3.2.1 系统特性表
系统特性是系统中完成某项具体操作的基本单元,它由入口参数, 出口参数以及处理过程三部分组成。
系统特性可以具有操作界面,也可以没有操作界面;可以被其它操 作界面、或者系统特性调用,也可以调用其它操作界面、非操作界面、 或者系统特性;但是不允许递归调用(调用自己):
错误编号
错误名称
错误原因
错误信息
处理方式
备注
说明:
其中: ● 子系统编号 含义同上。 ● 子系统英文名称 含义同上。 ● 子系统中文名称 含义同上。
● 错误编号 整个系统所有错误的统一编号。
● 错误名称 错误的正式名称,该名称应该是常用的,并且为人们所普遍
软件软件需求说明书

软件软件需求说明书1. 介绍该软件是为了满足用户在日常工作、学习中的需要而开发的一款应用软件。
通过该软件,用户可以实现文档编辑、数据处理、任务管理、通讯交流等功能。
软件将采用简洁易用的界面设计,以用户友好的操作体验来提高工作效率。
2. 功能需求2.1 文档编辑用户可以在软件中创建、编辑和保存各种类型的文档,包括文字文档、表格、演示文稿等。
软件应支持基本的排版、格式设置和插入图片、链接等功能。
2.2 数据处理软件应提供数据处理功能,用户可以对数据进行分析、统计和图表展示。
同时,软件还应支持数据的导入和导出,便于在不同平台间进行数据共享和交流。
2.3 任务管理用户可以在软件中设置任务清单、提醒和进度跟踪功能,帮助用户进行时间管理和任务分配。
2.4 通讯交流软件应提供通讯交流功能,用户可以通过软件中的消息、邮件等功能与他人进行沟通和合作。
3. 性能需求3.1 界面友好软件应采用直观、清晰的界面设计,简化用户操作流程,提高用户使用体验。
3.2 响应速度软件应具备较高的响应速度和性能稳定性,能够快速加载和处理数据,保证用户工作的流畅进行。
3.3 安全性软件应确保用户数据的安全性和隐私保护,包括数据加密、权限管理等功能。
4. 其他需求软件应具备跨平台性能,支持在不同操作系统和设备上使用,提供多种语言版本以及在线帮助文档等功能,以满足不同用户群体的需求。
5. 总结以上是该软件的需求说明书,通过满足用户的工作和学习需求,提高工作效率,确保用户数据安全和隐私保护,为用户提供优质的使用体验。
很高兴看到你的兴趣。
然而,1500字对于软件需求说明书来说可能有点过于详细了。
一般来说,一份软件需求说明书在500字到1000字之间就足够了,因为这种文档的目的是概述软件的目标、功能、性能和其他需求,而不是提供具体的技术细节。
如果你需要更多的详细描述,那么可能需要分解成更多的子文档,比如功能规格说明书、界面设计说明书、性能测试说明书等。
(完整版)软件系统详细设计说明书模板

(完整版)软件系统详细设计说明书模板xxxxx系统详细设计说明书版本历史修改记录⽬录1引⾔ (5)1.1编写⽬的 (5)1.2背景 (5)1.3参考资料 (5)1.4术语定义及说明 (5)2设计概述 (5)2.1任务和⽬标 (5)2.1.1需求概述 (5)2.1.2运⾏环境概述 (5)2.1.3条件与限制 (6)2.1.4详细设计⽅法和⼯具 (6)3系统详细需求分析 (6)3.1详细需求分析 (6)3.2详细系统运⾏环境及限制条件分析接⼝需求分析 (6)4总体⽅案确认 (6)4.1系统总体结构确认 (6)4.2系统详细界⾯划分 (7)4.2.1应⽤系统与⽀撑系统的详细界⾯划分 (7) 4.2.2系统内部详细界⾯划分 (7)5系统详细设计 (7)5.1系统程序代码架构设计 (7)5.1.1UI(User Interface)⽤户界⾯表⽰层 (7)5.1.2BLL(Business Logic Layer)业务逻辑层 (8) 5.1.3DAL(Data Access Layer)数据访问层 (8) 5.1.4Common类库 (8)5.1.5Entity Class实体类 (8)5.2系统结构设计及⼦系统划分 (8)5.3系统功能模块详细设计 (9)5.3.1XX⼦系统 (9).1XX模块 (9)列表和分页 (9)创建XX (9).2XX模块 (9)XX列表 (9)XX修改 (9)5.3.2XX⼦系统 (9)5.3.6.1⽤户管理模块 (9)5.3.6.2⾓⾊管理模块 (14)5.3.6.3系统设置模块 (14)5.3.6.4系统登录注销模块 (14)5.4系统界⾯详细设计 (14)5.4.1外部界⾯设计 (14)5.4.2内部界⾯设计 (14)5.4.3⽤户界⾯设计 (14)6数据库系统设计 (14)6.1设计要求 (14)6.2信息模型设计 (14)6.3数据库设计 (14)6.3.1设计依据 (14)6.3.2数据库种类及特点 (15)6.3.3数据库逻辑结构 (15)6.3.4物理结构设计 (15)6.3.5数据库安全 (15)6.3.6数据字典 (15)7信息编码设计 (15)7.1代码结构设计 (15)7.2代码编制 (15)1引⾔1.1编写⽬的说明编写详细设计⽅案的主要⽬的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 车载监控系统概述整套监控系统将包括车载设备、网络服务器、客户端三大组成部分。
客户端通过服务器的中转与车载设备间接通信,以实现从车载设备接收监控信息和向车载设备发送控制指令等。
所预计的主要功能将包括视频音频监控,酒精检测,传感器报警,语音对讲,远程云台控制等。
车载设备通过3G无线数据模块无线接入网络,以实现车载移动监控。
系统部署图整个系统部署结构如图,其中:➢车载设备连接模拟摄像机,并通过3G数据模块拨号连接网络。
实现视频音频采集,可以把实时音频视频发送至服务器。
并且可以挂接硬盘存储设备,把采集的视频和音频存储至硬盘。
存储的视频可通过网络点播,并可以通过模拟输出端口直接把存储的视频音频输出到电视机进行播放,播放时有图形操作界面。
➢车载设备的通过带酒精度传感器的外接设备进行酒精检测。
酒精检测后将检测数值传到服务器,并发送提醒短信到用户手机。
在本地对酒精值进行分析和声音播报。
➢车载设备的报警传感器安装在需要的位置,检测到非法入侵时,可通过3G模块以发送手机短信的方法通知用户。
➢车载设备可从服务器接收音频数据并且进行播放。
➢服务器可将车载设备的视频音频数据转发至客户端,可以把来自客户端的指令信息和音频数据转发至车载设备。
➢客户端可接收视频音频数据并进行播放,可以控制车载设备的摄像机云台,可以通过话筒向车载设备讲话。
客户端与网络服务器逻辑分开,服务器可以同时连接多个车载设备和多个客户端。
并把每个客户端与该客户的若干设备对应。
根据实际需要,PC客户端也可以并入服务器系统。
1.1 系统功能流程1.服务器监听连接请求,服务器分别通过针对双方的TCP控制端口监听来自监控前端和来自客户端的TCP连接。
2.前端设备注册,当有监控前端连接到服务器后,监控前端会发送注册指令信息到服务器,指令信息中的数据区包含设备号信息。
并连接到语音流转发TCP 端口。
服务器将该设备注册为在线设备。
3.客户端登陆,当客户端连接到服务器后,客户端会发送指令信息到服务器,指令信息中的数据区包含用户名和密码。
服务器需对登陆请求进行处理,发送应答信息,接受或者拒绝。
若拒绝,应答指令中数据区包含错误信息,用户名密码错误或者设备被占用等。
登陆成功后向服务器连接视音频流接收TCP端口,此端口校验成功后连接。
并开启一个UDP端口监听来自该客户端的语音流。
4.用户设备列表,用户成功登陆后,服务器需对该用户有权限访问的在线设备列表,并将列表发送至客户端。
指令信息中的数据区中存放设备列表信息。
5.用户指令转发,用户对某个前端发送控制指令时,将指令转发到对应的监控前端。
6.视音频传输,当服务器接收到视频请求指令后,服务器开启TCP端口监听来自前端的连接请求。
前端设备通过此TCP端口连接服务器,服务器接收到来自监控前端的音频、视频流时,通过视频音频流转发专用TCP端口,将数据转发至对应的客户端。
7.用户指令处理,当从客户端对服务器发送指令时,服务器接收并处理。
例如用户修改密码,数据区会包括新的密码,服务器需要进行数据库更新。
8.语音对讲,当收到语音对讲指令时,服务器开启一个UDP端口监听来自客户端的数据流,并通过语音流转发专用TCP端口转发至对应的前端。
9.断开连接,TCP连接断开后,注销设备,并通过该端口继续监听。
1.2 数据流程图车载视频监控系统的数据流程图2 车载前端方案概述车载设备配备视音频处理芯片,可以连接最多4路摄像机,可连接GPS 设备和报警传感器等设备,在Linux 系统上运行车载监控端的应用程序,实现各功能模块。
通过3G 无线数据模块联网,与服务器进行连接。
并通过服务器把与客户端进行数据交互,包括音视频流的发送,指令消息的收发,音频数据的接收。
车载设备在客户端请求任一路或多路实时视频音频时,将视频音频编码后进行封装,通过服务器转发给客户端;也可应客户端请求查找并调用本地存储的视频音频数据,发送至客户端。
客户端可接收来自客户端的音频数据并解码播放。
设备启动时或接受到客户端指令时,会进行酒精检测。
车载监控前端系统架构硬件层系统软件层应用软件层车载设备系统架构图3 前端软件功能模块1.视频处理模块,实现多路实时视频数据采集、图像处理、基于H.264技术的编解码压缩与数据存储;可进行存储数据的查找和调用。
可通过模拟视频输出端口对存储的视频进行播放。
车载设备从摄像机采集视频音频数据,并将每一个摄像机获取的视频数据缩放为2种分辨率视频流,一路高清视频数据压缩后的数据保存在本地硬盘,另外一路较低分辨率的可压缩后通过网络传输到服务器。
2.音频处理模块,实现多路实时音频数据采集,基于G.711-u技术的编解码压缩,编码后的数据进行本地存储,也可通过网络传输;存储数据的查找和调用。
可通过模拟音频输出端口对存储的音频进行播放。
3.网络通信模块,设备启动时通过3G数据模块使用ppp协议拨号接入网络,与网络服务器进行连接。
把数据进行封装,通过服务器与客户端间接通信,进行数据交互。
并可通过AT指令发送手机短信。
4.网络指令处理模块,系统启动后采用TCP协议向服务器连接,建立TCP指令通道,通道建立后先向服务器发送注册信息。
之后进行监听,从服务器接收转发自客户端的指令,并进行处理。
5.云台控制模块,接受到云台控制指令后,进行处理。
采用RS485通信接口通信控制云台,实现云台控制。
6.酒精检测模块,在设备启动后或接到客户端的指令后,进行酒精检测。
酒精检测后将检测数值传到服务器,并发送提醒短信到用户手机。
并在本地对酒精值进行分析和声音播报。
7.自动报警模块,红外传感器被触发后,系统可检测到并经由3G模块发送报警手机短信。
8.语音对讲模块,可接收来自客户端的语音流,采用G.711-u算法解码并实现播放。
4.软件结构与功能实现说明PC客户端功能概述应用软件采用多线程实现,Xxx_tsk.c中包含每个独立线程。
1.int xxx_tskCreate( CAPTURE_CreatePrm *prm)创建线程结构,为线程分配内存。
OSA_cmemAlloc() 申请内存空间。
OSA_cmemAllocCached () 申请内存空间(缓存模式)。
OSA_cmemGetPhysAddr() 映射物理地址。
2.int xxx_tskDelete()清除线程占用的内存。
OSA_cmemFree() 释放内存区。
3.int xxx_tskRun()线程处理入口函数Int xxx_tskMain()线程的主函数OSA_msgGetPrm() 读取指令存储队列OSA_tskWaitMsg() 监听线程控制指令OSA_tskAckOrFreeMsg() 清空指令存储区当前指令4.Int xxx_sendCmd()发送线程控制指令OSA_mbxSendMsg() 发送指令到指令存储区5.int xxx_create(xxx_CreatePrm *prm)创建线程OSA_tskCreate() 创建线程,运行处理主函数OSA_mbxCreate() 创建线程指令存储队列6.int xxx_delete()删除线程OSA_tskDelete() 删除线程OSA_mbxDelete() 删除线程指令存储区视频采集视频处理的实现涉及3个线程。
视频采集线程、视频编码线程和存储处理线程。
图4-1 视频处理模块流程图Capture_tsk.c中是视频采集线程的实现,包括视频数据采集和缩放。
1.通过MCVIP_getBuf(),MCVIP_getBufInfo()两个函数获取经tvp5158芯片采集得到的yuv422图像数据。
实现VIDIOC_DQBUF,出队列以取得已采集数据的帧缓冲,取得原始采集数据。
2.再通过MCVIP_putBuf()实现VIDIOC_QBUF,将缓冲重新入队列尾,这样可以循环采集。
3.CAPTURE_tskProcessFrame()中做的是视频图像的缩放。
通过ENCODE_getEmptyBuf()申请视频编码缓冲队列中的空buffer,将输出buffer 设置为编码压缩的输入区。
ENCODE_putFullBuf()将存储有处理后数据的buffer入视频编码队列。
4.支持2路输出缩放,可做双码流输出。
5.CAPTURE_tskCalcReszClkDiv()传入参数。
6.DRV_reszRun()进行缩放。
缩放后的数据在ENCODE_getEmptyBuf()申请的buffer中等待压缩。
视频压缩Encode_tsk.c中为视频压缩线程的实现。
Encode_tsk.c中采集缩放后通过Encode_sendCmd()发送ENCODE_CMD_RUN指令,控制压缩函数的执行压缩多帧图像。
1.设置压缩分辨率vidEncCreatePrm.width =vidEncCreatePrm.height =vidEncCreatePrm.offsetH =vidEncCreatePrm.offsetV =2.设置压缩比特率,即编码码率pChInfo->newBitrate =3.通过OSA_bufGetFull()和OSA_bufGetBufInfo()申请视频编码缓冲队列内的一个buffer出队列,作为编码器输入buffer。
编码后OSA_bufPutEmpty()将缓冲区入编码缓冲队列。
4.WRITER_getEmptyBuf()申请存储缓冲队列中的空buffer,将输出buffer设置为存储的输入区。
WRITER_putFullBuf()将存储有处理后数据的buffer入存储队列。
5.ALG_vidEncRun()进行压缩。
压缩后的数据在WRITER_getEmptyBuf()申请的buffer中等待存储和网传。
音频采集压缩图4-2 音频处理流程图音频采用G.711-µ方式编码。
在Audio_tsk.c中为音频采集编码线程。
1.gAUDIO_ctrl.pCreatePrm()为MCVIP_CreatePrm()类型的结构体,其中包含了声音参数设置。
2.AUDIO_Record()调用MCVIP_audioRecord()获取音频数据。
3.AudioWRITER_getEmptyBuf()申请音频存储缓冲队列中的空buffer,将输出buffer设置为存储的输入区。
AudioWRITER_putFullBuf()将存储有处理后数据的buffer入音频存储队列。
4.AUDIO_audioEncode()压缩音频数据。
编码后的数据在AudioWRITER_getEmptyBuf()申请的buffer中等待压缩。
流媒体存储Writer_tsk.c中为视频和音频的存储线程的实现。
Encode_tsk.c中编码结束后通过WRITER_sendCmd()发送WRITER_CMD_RUN和AUDWRITER_CMD_RUN指令控制流媒体存储线程中存储函数的执行。