家庭自动化系统软件工程设计_第1页
家庭自动化系统软件工程设计_第2页
家庭自动化系统软件工程设计_第3页
家庭自动化系统软件工程设计_第4页
家庭自动化系统软件工程设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

家庭自动化系统 -软件工程设计家庭自动化系统(HomeAutomationSystem)一、问题定义1、 引言及相关背景自动化在各行各业、各个领域都发挥了其巨大的作用,同时也走入了我们的家庭。随着电子技术的发展,家庭自动化时代的来临,消费电子产品(ConsumerElectronics)已与咨讯(Computer)、通讯(Communication)两项产品的技术结合在一起,成为目前所通称的3C产品,并使家用电子电器产品迈向家庭自动化(HomeAutomation)的方向。随着全球经济的不断发展,我国的市场经济也飞速发展,人民生活水平不断提高,家庭自动化系统在美国以及国际市场都具有广阔的前景,在中国市场也是快速形成期,这些提高人类生活质量的产品将构成世界范围内后PC时代的新兴IT市场。2、 任务描述2.1专案背景项目名称:家庭自动化系统( HAS)项目委托单位:XXX智慧家居设备公司软件开发单位:兰州商学院 06级计算机科学与技术(1)班软件开发小组2.2目的本系统要求能够实现家庭住宅中各个设备的自动管理和人工个性管理,该系统能控制、监视和协调家电(如室内外照明、家庭1/30家庭自动化系统 -软件工程设计保安系统、家庭环境控制系统、空调、电视机等)。该系统会在相应的时间内各个设备发出相应的指令,完成各个设备的自动化管理。该系统应该是可以适应变化的,因此,必须侦测环境的变化,而且通过识别本系统中的变化来转变,并且所识别出的变化应该在系统中被实现。系统可以是自动适应变化或是手工适应变化。系统控制的任何设备发生异常,必须通过适当的信息来通知用户并进行异常处理。该系统必须有一个数据库,内含所有该系统所控制的设备的信息,包括每一种设备连接到系统的日期,系统用户所发布的重要动作等信息。2.3运行环境本系统是设备控制类系统,由主机通过相应的接口部件监听和控制各个硬设备。数据库服务器由 SQLServer实现。操作系统:windows2000、windowsxp以上;数据库服务器端软件 SQLServer2005。3、 功能描述本系统由“灯光控制”、“保安控制”、“环境控制”、“家电控制”、“用户登录及管理”等各模块组成。灯光控制:实现对室内外所有灯光的时间周期性控制和用户的直接控制;保安控制:实现对室内外所有视频监控设备的周期性工作控制及异常处理,和防盗防火设备的控制及异常处理;环境控制:实现对家庭环境设备(包括花园、阳台、室内温湿度报告)的时间周期性控制以及各设备的异常处理;2/30家庭自动化系统 -软件工程设计家电控制:实现对家庭中各个智慧家用电器的人性化控制及各设备的异常处理;用户登录及管理模块:实现用户对各个模块中所用设备的时间周期性定义以及对各个设备的直接管理和控制。3/30家庭自动化系统 -软件工程设计二、可行性分析1、 可行性研究的前提家庭是高薪技术的下一个前沿阵地。对家庭中遥控、自动化和娱乐的要求呈上升态势。消费者希望自己的日常生活更简便、更安全。当然,优秀的家庭自动化产品应给具有以下的特性:(1)、标准化:家庭自动化产品应依照国际上流行的相关协议进行设计,充分保证各厂家产品间的兼容性和相互操作能力。(2)、开放性:家庭自动化系统应该具有开放的协议,统一的接口。(3)、模块化:采用模块化的设计可以适应各种场合的需要,保障用户的利益,并允许系统的逐步到位。(4)、实用性:家庭自动化产品应该切实地为用户提供各种实用化的功能和服务。(5)、普及化:家庭自动化系统应该面向低成本,高性能的目标设计,住户对价格较为敏感,所以智慧住宅采用的技术要较为经济。同时,家庭自动化系统应该能最大程度兼容用户原有的电器设备,保护用户投资。(6)、简洁易用:好的家庭自动化产品应该简便易用、用户接口友好,并且不需要使用者花上太多的精力就能掌握。2、 优越性在国内家庭自动化室一个较新的概念,虽然越来越多的厂家开始投入到家庭自动化的来发和生产中, 但是由于没有统一的标准,尚4/30家庭自动化系统 -软件工程设计处于一家一户自行开发的局面。 而随着房屋的商品化,从而加强了人们对居家的要求,希望一步到位或者具有开放的协议,统一的接口,这样来保证产品能不断地适应未来发展趋势, 而本系统就是基于统一的标准和接口设计的,具有充分的发展潜力。3、 基本数据流程图用户 家庭自动化系统 灯光控制家电控制控制接口环境控制保安控制图一、HAS的基本数据流模型图5/30家庭自动化系统 -软件工程设计用户信息用户12用户控制登录处理控制接口图二、HAS的一级数据流模型图

3控制灯光4控制家电5控制环境6控制保安装置

室内外灯光各种家电环境设备各种保安及监控设备6/30家庭自动化系统 -软件工程设计用户信息 信号比对12.12.2用户用户信号信号3.1登录处理反馈灯光控制控制4.1接口家电控制5.1环境控制6.1保安装置控制图三、HAS的二级数据流模型图4、 经济可行性4.1支出

3.2灯光室内外信号灯光采集4.2家电各种家信号电采集5.2环境环境设信号备采集6.2保安各种保装置安及监信号控设备采集构建系统时的金费主要有: 用户在要购买日常生活中的家电及各种电子产品是花费一定数额的资金, 在购买组成系统的一些小型物理器件时会有资金的支出。4.2效益可以高效,快捷的管理生活家电设施,提高生活的质量。4.3收益、投资比良好、可行。7/30家庭自动化系统 -软件工程设计5、 技术可行性本系统有许多不同的传感器,单片机和输出报警系统以及一些异常的自动处理系统和接入的各种家电设备组成。 物理设备在市场上均有售,因此,物理设备上不用多考虑,我们主要实现将不同设备按照一定的结构连接起来,使之能够完成我们的预期目标6、 社会因素可行性分析6.1法律因素申请法律保护或相关保险。法律可行性是考虑要开发系统是否存在任何侵犯、妨碍和责任问题,用户操作可行性考虑待开发软件的运行方式在用户组织内是否行得通,现行管理制度、人员素质、操作知识是否可行。由于在本系统中是有合同作为双方合作的基础,所以不会存在任何侵犯、妨碍和责任问题。即使存在了,也可以根据合同进行分析,一定有人会负责任,所以此系统完全可以进行开发。6.2用户使用可行性本系统面向中高阶层的人们消费,主要用于用户实现对家电的统一管理,进行各种相关操作并对家电的状态进行实时检测。由以上经济、技术、操作和法律四方面的分析可以看出,本系统的开发时机成熟,从多种角度考虑,都是可行的。7、 结论经过以上经济可行性、技术可行性以及法律因素各个方面的研究分析得出,本系统可行。8/30家庭自动化系统 -软件工程设计三、需求分析1、 家庭自动化系统工作流程分析(1)、在用户登录时进行检查,控制不同的用户使用系统的权限 ;(2)、对用户的管理,包括对用户信息的增加、删除和修改 ;(3)、对指定时间内的操作记录进行管理,包括查看操作记录、手工删除操作记录、记录一次操作以及对失效的记录进行自动清除 ;(4)、查看设备的状态,包括对连接到系统控制中的所有设备的状态以及是否出现异常现象进行查看 ;(5)、控制子系统接受主系统发送的信息 ;以及向主系统发送信息 ;控制子系统将主系统发送的信息,发送给指定的设备 ;(6)、对设备进行监控,包括启动监控设备、停止监控设备、监控设备;(7)、对系统中的设备进行管理,包括增加设备以及删除己经连接到系统中的设备;2、 家庭自动化系统需求分析2.1家庭自动化系统的非功能性需求分析设计家庭自动化系统的目的是完成对家电产品以及相关设备的管理和控制,达到远程控制和使用家电设备的目的, 其最终目的是提高人类的生活质量, 因此需要具备良好的性能,满足实际工作的需要是十分必要的。家庭自动化系统的具体性能目标如下 :9/30家庭自动化系统 -软件工程设计(1)、系统的快速反应家庭自动化系统首先要保证的就是系统的反应速度。 在设计与实施中采用先进的网络技术和系统, 并在应用软件的选择或编制中尽可能采用先进的技术,最大限度地提高系统的响应速度,以便于快速查询。(2)、系统良好的可维护行和开放性系统设计应面向未来的发展,提供各种必要的标准接口,以使用户可以根据需要随时添加必要的设备和系统,扩充系统功能。要充分考虑到家庭自动化的发展趋势以及不断变化。3)、充分保证系统的安全性家庭自动化系统中设备的使用具有安全性要求,因此,必须建立一整套的系统安全保密措施, 规定一系列访问系统的不同级别的权限,杜绝非法访问。(4)、友好的人机界面系统的用户不可能是专业的计算机技术人员,甚至对计算机了解甚少,所以要提供清晰、友好的系统接口,提高系统的可操作性和人机交互功能,最大限度地方便用户的使用。 同时系统应能提供的方便的联机再现帮助功能。5)、考虑家庭自动化系统中设备发生变化以后的集成家庭自动化要实现真正的信息化,必须考虑以后系统的集成问题,这样才能使系统不至于很快的就被淘汰。10/30家庭自动化系统 -软件工程设计2.2家庭自动化系统的功能模块分析家庭自动化系统旨在开发出一个符合人类生活需求的家庭自动化模拟系统,该系统主要分为五个子系统:用户登录子系统,灯光控制子系统,家电控制子系统,环境控制子系统和保安控制子系统。3、 数据描述3.1静态数据系统中预存的各种标准数据。3.2动态数据1)、输入数据系统所采集的各个实体设备的信息流。2)、输出数据经过各个子系统处理后的对应到各种设备的具体操作的信息流。3.3数据词典。数据名称:家庭自动化系统简 述:由系统管理员来负责对连接在系统中的各种家电实施具体动作。数据条目:系统管理要求=[用户管理|灯光控制|家电状态监测|环境监测|保安控制]用户管理=登录+用户信息+用户权限11/30家庭自动化系统 -软件工程设计灯管控制=室内灯光+室外灯光家电状态监测=接入家电数目+家电功能+家电当前状态环境监测=温度+湿度+调节保安控制=门窗监控+视频监控核心子系统=接受输入|回馈信息流+加工处理+输出信息流数据文件={用户管理+灯光控制+家电状态监测+环境监测+保安控制+新设备接入+核心子系统+日常报表|文件}数据量:2000次/天峰值:每天18:00—20:00有1000次家庭自动化系统用户灯光家电环境保安登录控制控制控制控制子系子系子系子系子系统统统统统用用用室室空花游门摄户户户内外园泳窗像登信权灯灯调洒池监监录息限光光水控控图四、HAS的层次方框图12/30家庭自动化系统 -软件工程设计用户信息比对定时响应 室内灯光登录用户登录进入子系统进入主系统灯光控制定时响应家庭自动化系室外灯光统进入子系统相应温度、湿度传家电控制感器进入子系统 进入子系统 反馈控制空调环境控制响应保安控制反馈喷头控制设备响应控制反馈花园洒水喷头监控报警监控 录像 泳池温度、水量控制设备控制游泳池门窗监控 视频监控图五、家庭自动化系统的数据流图4、 运行需求13/30家庭自动化系统 -软件工程设计3.总体设计3.1处理流程1)在用户登录时进行检查:控制不同的用户使用系统的权限。2)对用户的管理:包括对用户信息的增加、删除和修改。3)对指定时间内的操作记录进行管理:包括查看操作记录、手工删除操作记录、记录一次操作以及对失败的操作记录进行自动清除。4)查看设备的状态:包括对连接到系统控制器中的所有设备的状态以及是否出现异常现象进行查看。5)控制子系统接受主系统发送的信息;以及向子系统设备发送信息;控制子系统将子系统发送的信息发送给指定的设备。6)对设备进行监控:包括启动监控设备、停止监控设备、监控设备中。7)对系统中的设备进行管理:包括增加新设备以及删除已经连接到系统中的设备。3.2总体结构和模块外部设计在应用系统总体设计中,以Servlets为前端控制器,负责管理用户的登录,以及数据的获取等。以会话Bean实现系统的工作流,将会话Bean作为一个外观,来封装应用程序的业务逻辑,业务逻辑再通过实体Bean组件来操作相关数据,从而形成HAS系统的总体结构体系。14/30家庭自动化系统 -软件工程设计会话外观请求 Servlets实体BEANGUI图六、系统总体设计结构4.接口设计4.1用户接口本系统的用户界面如下所示 :菜单快捷功能键区用户输入界面(系统显示界面)图4-1用户登录界面4.2外部接口

提交区本系统采用C/S模式,由C++实现的管理信息系统(ManagementInformationSystem)。通过ADO连接与数据库服务器相连。5.数据结构设计5.1数据库三级模式结构15/30家庭自动化系统 -软件工程设计数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,如下图示:应用A 应用B 应用C 应用D外模式1 外模式2 外模式3外模式|模式映像·····································模式模式|内模式映像·····································内模式数据库图4-2数据库三级模式结构图其中模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局16/30家庭自动化系统 -软件工程设计部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。数据库的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑的抽象的处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系与转换,数据库系统在这三级模式之间提供了两层映像:外模式|模式映像和模式}内模式映像。正式这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。影响一个系统性能的主要因素是数据库性能和客户端程序设计,所以进行数据库的设计与整个系统的性能、升级等都息息相关,在数据库设计时,要考虑的主要原则有:(1)命名的格式规范:为了便于系统适应不同的数据库,数据库中各种对象的命名应采用大小写敏感的形式。(2)索引的使用:合理使用索引,如表的规模不大、表需要频繁更新、以及查询字段不确定时,尽量不用索引。(3)数据的一致性和完整性:为了提高系统的响应速度,合理的冗余是必要的,所以设计时,要用有效手段保证数据的一致性和完整性。(4)数据库性能的调整。5.2主要表结构将对象模型映射成数据库模型,也就是向数据表转换。转换17/30家庭自动化系统 -软件工程设计方式如下:1)一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。2)关系的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有三个属性。3)减少表之间的冗余字段。4)映射后的表进行冗余控制调整,使其达到合理的安息范式,一般达到3NF即可。在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。 可以将规范化处理后,有一个应用对象映射出来的多个表看成一个数据库对象。 因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分,其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义, 从而大大减少了工作量,降低了工作难度。根据对系统所进行的分析,以及对未来系统的扩展考虑,确定数据库中的主要数据表有以下几个:表4-1用户信息表(user–info)名称 代码 主要的 数据类型 长度18/30家庭自动化系统 -软件工程设计用户代码user-idTRUEVARCHAR(20)20用户类型user-typeFALSECHAR(1)1用户密码passwordFALSEVARCHAR(8)8用户名称user-nameFALSEVARCHAR(40)40用户手机mobileNOFALSEVARCHAR(20)20号码表4-2操作日志表(operate-log)名称代码主要的数据类型长度操作内容messageFALSEVARCHAR(300)300录入时间inputTimeTRUETIMESTAMP表4-3家电信息表(appliance-info)名称代码主要的数据类型长度家电代码applianceIDTRUEVARCHAR(10)10家电名称applianceNameFALSEVARCHAR(20)20家电通讯addressFALSEVARCHAR(20)20地址家电通讯portFALSEINT端口19/30家庭自动化系统 -软件工程设计加入系统 inputTime FALSE TIMESTAMP时间表4-4家电状态表(appliance-state)名称代码主要的数据类型长度家电代码applianceIDTRUEVARCHAR(10)10状态stateFALSECHAR(2)2状态变更updateTimeFALSETIMESTAMP时间5.3逻辑结构设计给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。6.运行设计系统用户或者一般用户通过登录程序Login登录到HAS系统中。2)用户通过菜单(主菜单main;以及用户菜单user;家电设备管20/30家庭自动化系统 -软件工程设计理菜单appliance;操作记录日志管理菜单 log)选择要执行的操作。用户从子系统传送过来的请求,通过服务器端控制程序HASServer进行解析,并且发送到相应的类,并将处理结果返回给主系统。7.出错处理设计当系统在执行中间发现有异常情况发生或被要求执行异常操作,系统要能自动检测到并进行相应的处理或形成报告返回给用户进行相关处理会恢复操作。7.1出错输出信息在系统进行完相关解析后形成日志保存,并有提示信息被显示给用户或系统操作员。7.2出错处理对策联机事务处理(OLAP)是建立在TCP/IP协议上,有多阶段事务处理响应控制,保证事务处理前后台一致性。数据库处理事务失败自动回滚技术,保证数据库表的数据一致性和完整性。重要数据的校验检查。各个子系统的操作监控,异常情况报告;并提供报表等跟踪记录。提供友好的用户界面和帮助信息及配合严格的检查,减少用户出错机会。21/30家庭自动化系统 -软件工程设计2.详细设计2.2软件结构用户信息管理查看设备状态操作灯光用户登录操作空调主角1操作洒水设备操作泳池设备操作门窗监控设备操作视频监控设备图九、系统用例图3.程序描述

主角2 监控各个设备主角3主角4主角522/30家庭自动化系统 -软件工程设计面向对象程序设计的基本思想1.2.1 面向对象的由来和发展对象代表着待处理问题中的一个实体, 在处理问题过程中,一个对象可以以某种形式与其他对象通信。 从概念上讲,一个对象是既包含数据又包含处理这些数据操作的一个程序单元。 类用来描述特性相同或相近的一组对象的结构和行为。 该语言还支持类的继承,可将多个类组成为层次结构,进而允许共享结构和行为。后来出现的 Smalltalk语言是第一个比较成功的面向对象语言,对后来面向对象语言的发展产生过重大影响。该语言丰富了 Simula中类和对象的概念,信息也更加隐蔽,程序设计就是向对象发送信息。 20世纪80年代以后,面向对象的程序设计语言广泛应用于程序设计,并且有许多新的突破。特别是随着操作系统和软件项目日益庞大,人们日益需要一种更高效的开发方式,这更加推动了面向对象语言的发展。1.2.2 面向对象的要素面向对象的系统包含了 3个要素:对象、类和继承,这 3个要素反映了面向对象的传统观念。面向对象的语言应该支持这 3个要素。首先,应该包括对象的概念。对象是状态和操作的封装体, 状态是存储操作结果的。满足这一点的语言被认为是基于对象的语言。其次,应该支持类的概念和特征,类是以接口和实现来定义对象行为的样板, 对象是由类来创建的。支持对象和类的语言被认为是基于类的语言。 最后,23/30家庭自动化系统 -软件工程设计应该支持继承,已存在的类具有建立子类的能力,进而建立类的层次。支持上述3个方面的语言称为面向对象的语言。3.1功能本系统由灯光控制、保安控制、环境控制、家电控制、用户登录及管理等各模块组成。灯光控制:实现对室内外所有灯光的时间周期性控制和用户的直接控制;保安控制:实现对室内外所有视频监控设备的周期性工作控制及异常处理,和防盗防火设备的控制及异常处理;环境控制:实现对家庭环境设备(包括花园、阳台、室内温湿度报告)的时间周期性控制以及各

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论