以计算机和现代网络技术为特征的现代信息技术促进了社会经济的发展,也极大地加快了家用电子电器产品迈向家庭自动化(Home Automation)的步伐。建立和开发家庭自动化系统旨在适应现代人民的生活信息化和对家居产品信息化的需要。
本文根据家庭自动化系统的开发特征,遵从软件工程原理,按照软件工程设计的步骤,进行了新问题定义、可行性分析、需求分析等几个重要的探究。在对系统进行非功能性和功能性需求分析的基础上,本文重点探究了如何设计家庭自动化系统。 最后对系统的设计和实现方案进行了总结,为下一步探究奠定了基础,同时也为我国家庭自动化系统信息化建设具有一定的借鉴意义。 一、新问题定义 (一)、引言及相关背景 自动化在各行各业、各个领域都发挥了其巨大的功能,同时也走入了我们的家庭。随着电子技术的发展,家庭自动化时代的来临,消费电子产品(Consumer Electronics)已和咨讯(Computer)、通讯(Communication)两项产品的技术结合在一起,成为目前所通称的3C产品,并使家用电子电器产品迈向家庭自动化(Home Automation)的方向。 随着全球经济的不断发展,我国的市场经济也飞速发展,人民生活水平不断提高,家庭自动化系统在美国以及国际市场都具有广阔的前景,在中国市场也是快速形成期,这些提高人类生活质量的产品将构成世界范围内后PC时代的新兴IT市场。
(二)、任务描述 1、专案背景 项目委托单位摘要:XXX智能家居设备公司 软件开发单位摘要:兰州商学院06级计算机科学和技术(1)班软件开发小组
2、目的
3、运行环境
(三)、功能描述 灯光控制摘要:实现对室内外所有灯光的时间周期性控制和用户的直接控制; 保安控制摘要:实现对室内外所有视频监控设备的周期性工作控制及异常处理,和防盗防火设备的控制及异常处理; 环境控制摘要:实现对家庭环境设备(包括花园、阳台、室内温湿度报告)的时间周期性控制以及各设备的异常处理; 家电控制摘要:实现对家庭中各个聪明家用电器的人性化控制及各设备的异常处理; 用户登录及管理模块摘要:实现用户对各个模块中所用设备的时间周期性定义以及对各个设备的直接管理和控制。 二、可行性分析 (一)、可行性探究的前提 家庭是高薪技术的下一个前沿阵地。对家庭中遥控、自动化和娱乐的要求呈上升态势。消费者希望自己的日常生活更简便、更平安。当然,优秀的家庭自动化产品应给具有以下的特性摘要: (1)、标准化摘要:家庭自动化产品应依照国际上流行的相关协议进行设计,充分保证各厂家产品间的兼容性和相互操作能力。 (2)、开放性摘要:家庭自动化系统应该具有开放的协议,统一的接口。 (3)、模块化摘要:采用模块化的设计可以适应各种场合的需要,保障用户的利益,并答应系统的逐步到位。 (4)、实用性摘要:家庭自动化产品应该切实地为用户提供各种实用化的功能和服务。 (5)、普及化摘要:家庭自动化系统应该面向低成本,高性能的目标设计,住户对价格较为敏感,所以智能住宅采用的技术要较为经济。同时,家庭自动化系统应该能最大程度兼容用户原有的电器设备,保护用户投资。 (6)、简洁易用摘要:好的家庭自动化产品应该简便易用、用户接口友好,并且不需要使用者花上太多的精力就能把握。
(二)、优越性
(三)、基本的数据流图 图1、HAS的基本数据流模型图
图2、HAS的一级数据流模型图
图3、HAS的二级数据流模型图 (四)、经济可行性 1、 支出 构建系统时的金费主要有摘要:用户在要购买日常生活中的家电及各种电子产品是花费一定数额的资金,在购买组成系统的一些小型物理器件时会有资金的支出。
2、 效益
3、 收益、投资比良好、可行。(五)、技术可行性 (六)、社会因素可行性分析 1、 法律因素 申请法律保护或相关保险。 法律可行性是考虑要开发系统是否存在任何侵犯、妨碍和责任新问题,用户操作可行性考虑待开发软件的运行方式在用户组织内是否行得通,现行管理制度、人员素质、操作知识是否可行。 由于在本系统中是有合同作为双方合作的基础,所以不会存在任何侵犯、妨碍和责任新问题。即使存在了,也可以根据合同进行分析,一定有人会负责任,所以此系统完全可以进行开发。
2、 用户使用可行性 由以上经济、技术、操作和法律四方面的分析可以看出,本系统的开发时机成熟,从多种角度考虑,都是可行的。
(七)、结论 三、需求分析 (一)、家庭自动化系统工作流程分析 (1)、在用户登录时进行检查,控制不同的用户使用系统的权限; (2)、对用户的管理,包括对用户信息的增加、删除和修改; (3)、对指定时间内的操作记录进行管理,包括查看操作记录、手工删除操作记录、记录一次操作以及对失效的记录进行自动清除; (4)、查看设备的状态,包括对连接到系统控制中的所有设备的状态以及是否出现异常现象进行查看; (5)、控制子系统接受主系统发送的信息;以及向主系统发送信息;控制子系统将主系统发送的信息,发送给指定的设备; (6)、对设备进行监控,包括启动监控设备、停止监控设备、监控设备; (7)、对系统中的设备进行管理,包括增加设备以及删除己经连接到系统中的设备; (二)、家庭自动化系统需求分析 1、家庭自动化系统的非功能性需求分析 设计家庭自动化系统的目的是完成对家电产品以及相关设备的管理和控制,达到远程控制和使用家电设备的目的,其最终目的是提高人类的生活质量,因此需要具备良好的性能,满足实际工作的需要是十分必要的。 家庭自动化系统的具体性能目标如下摘要: (1)、系统的快速反应 家庭自动化系统首先要保证的就是系统的反应速度。在设计和实施中采用先进的网络技术和系统,并在应用软件的选择或编制中尽可能采用先进的技术,最大限度地提高系统的响应速度,以便于快速查询。 (2)、系统良好的可维护行和开放性 系统设计应面向未来的发展,提供各种必要的标准接口,以使用户可以根据需要随时添加必要的设备和系统,扩充系统功能。要充分考虑到家庭自动化的发展趋向以及不断变化。 (3)、充分保证系统的平安性 家庭自动化系统中设备的使用具有平安性要求,因此,必须建立一整套的系统平安保密办法,规定一系列访问系统的不同级别的权限,杜绝非法访问。 (4)、友好的人机界面 系统的用户不可能是专业的计算机技术人员,甚至对计算机了解甚少,所以要提供清楚、友好的系统接口,提高系统的可操作性和人机交互功能,最大限度地方便用户的使用。同时系统应能提供的方便的联机再现帮助功能。 (5)、考虑家庭自动化系统中设备发生变化以后的集成 家庭自动化要实现真正的信息化,必须考虑以后系统的集成新问题,这样才能使系统不至于很快的就被淘汰。
2、家庭自动化系统的功能模块分析
(三)、数据描述 1、静态数据
2、动态数据 系统所采集的各个实体设备的信息流。 (2)、输出数据 经过各个子系统处理后的对应到各种设备的具体操作的信息流。
3、数据词典。 简 述摘要:由系统管理员来负责对连接在系统中的各种家电实施具体动作。 数据条目摘要: 系统管理要求=[用户管理|灯光控制|家电状态监测|环境监测|保安控制 用户管理=登录+用户信息+用户权限 灯管控制=室内灯光+室外灯光 家电状态监测=接入家电数目+家电功能+家电当前状态 环境监测=温度+湿度+调节 保安控制=门窗监控+视频监控 数据文件={用户管理+灯光控制+家电状态监测+环境监测+保安控制+核心子系统+日常报表|文件} 数据量摘要:2000次/天 峰值摘要:天天18摘要:00—20摘要:00有1000次
图4、HAS的层次方框图 四、总体设计 (一)、处理流程 (1)在用户登录时进行检查摘要:控制不同的用户使用系统的权限。 (2)对用户的管理摘要:包括对用户信息的增加、删除和修改。 (3)对指定时间内的操作记录进行管理摘要:包括查看操作记录、手工删除操作记录、记录一次操作以及对失败的操作记录进行自动清除。 (4)查看设备的状态摘要:包括对连接到系统控制器中的所有设备的状态以及是否出现异常现象进行查看。 (5)控制子系统接受主系统发送的信息;以及向子系统设备发送信息;控制子系统将子系统发送的信息发送给指定的设备。 (6)对设备进行监控摘要:包括启动监控设备、停止监控设备、监控设备中。 (7)对系统中的设备进行管理摘要:包括增加新设备以及删除已经连接到系统中的设备。
(二)、总体结构和模块外部设计
(三)、接口设计 1、用户接口 SHAPE \* MERGEFORMAT 图7、 用户登录界面
2、外部接口 (四)、数据结构设计 1、 数据库三级模式结构 数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。 其中模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是和某一应用有关的数据的逻辑表示。内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。数据库的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑的抽象的处理数据,而不必关心数据在计算机中的具体表示方式和存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像摘要:外模式|模式映像和模式|内模式映像。正式这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 影响一个系统性能的主要因素是数据库性能和客户端程序设计,所以进行数据库的设计和整个系统的性能、升级等都息息相关,在数据库设计时,要考虑的主要原则有摘要: (1)、命名的格式规范摘要:为了便于系统适应不同的数据库,数据库中各种对象的命名应采用大小写敏感的形式。 (2)、索引的使用摘要:合理使用索引,如表的规模不大、表需要频繁更新、以及查询字段不确定时,尽量不用索引。 (3)、数据的一致性和完整性摘要:为了提高系统的响应速度,合理的冗余是必要的,所以设计时,要用有效手段保证数据的一致性和完整性。 (4)、数据库性能的调整。
2、 主要表结构 (1)、一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。 (2)、关系的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有三个属性。 (3)、减少表之间的冗余字段。 (4)、映射后的表进行冗余控制调整,使其达到合理的安息范式,一般达到3NF即可。 在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象和表对象是一一对应的。可以将规范化处理后,有一个应用对象映射出来的多个表看成一个数据库对象。因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分,其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义,从而大大减少了工作量,降低了工作难度。 根据对系统所进行的分析,以及对未来系统的扩展考虑,确定数据库中的主要数据表有以下几个摘要: 表1、用户信息表(user –info)
用户代码
用户类型
用户密码
用户名称
用户手机号码 表2、操作日志表(operate-log)
操作内容
录入时间
表3、家电信息表(appliance-info)
家电代码
家电名称
家电通讯地址
家电通讯端口
表4、家电状态表(appliance-state)
家电代码
状态
状态变更时间
(2、用户通过菜单(主菜单main;以及用户菜单user;家电设备管理菜单appliance;操作记录日志管理菜单log)选择要执行的操作。 (3)、用户从子系统传送过来的请求,通过服务器端控制程序HASServer进行解析,并且发送到相应的类,并将处理结果返回给主系统。
(六)、出错处理设计
2、出错处理策略 (2)、数据库处理事务失败自动回滚技术,保证数据库表的数据一致性和完整性。 (3)、重要数据的校验检查。 (4)、各个子系统的操作监控,异常情况报告;并提供报表等跟踪记录。 (5)、提供友好的用户界面和帮助信息及配合严格的检查,减少用户出错机会。 五、具体设计 (一)、软件结构
图9、系统用例图
(二)、程序描述 (1)、面向对象的由来和发展 对象代表着待处理新问题中的一个实体,在处理新问题过程中,一个对象可以以某种形式和其他对象通信。从概念上讲,一个对象是既包含数据又包含处理这些数据操作的一个程序单元。类用来描述特性相同或相近的一组对象的结构和行为。该语言还支持类的继续,可将多个类组成为层次结构,进而答应共享结构和行为。 后来出现的Smalltalk语言是第一个比较成功的面向对象语言,对后来面向对象语言的发展产生过重大影响。该语言丰富了Simula中类和对象的概念,信息也更加隐蔽,程序设计就是向对象发送信息。20世纪80年代以后,面向对象的程序设计语言广泛应用于程序设计,并且有许多新的突破。非凡是随着操作系统和软件项目日益庞大,人们日益需要一种更高效的开发方式,这更加推动了面向对象语言的发展。 (2)、 面向对象的要素 面向对象的系统包含了3个要素摘要:对象、类和继续,这3个要素反映了面向对象的传统观念。面向对象的语言应该支持这3个要素。首先,应该包括对象的概念。对象是状态和操作的封装体,状态是存储操作结果的。满足这一点的语言被认为是基于对象的语言。其次,应该支持类的概念和特征,类是以接口和实现来定义对象行为的样板,对象是由类来创建的。支持对象和类的语言被认为是基于类的语言。最后,应该支持继续,已存在的类具有建立子类的能力,进而建立类的层次。支持上述3个方面的语言称为面向对象的语言。
(三)、功能 灯光控制摘要:实现对室内外所有灯光的时间周期性控制和用户的直接控制;保安控制摘要:实现对室内外所有视频监控设备的周期性工作控制及异常处理,和防盗防火设备的控制及异常处理;环境控制摘要:实现对家庭环境设备(包括花园、阳台、室内温湿度报告)的时间周期性控制以及各设备的异常处理;家电控制摘要:实现对家庭中各个聪明家用电器的人性化控制及各设备的异常处理;用户登录及管理模块摘要:实现用户对各个模块中所用设备的时间周期性定义以及对各个设备的直接管理和控制。 本系统将采用面向对象程序设计的基本思想编写各个模块的程序,实现其应用的各项功能。 (四)、程序逻辑
(五)、接口
(六)、测试要点 六、软件测试 (一)、测试计划 1、测试方案 本系统的最终实现是将各个信号功能于各个实体,即各个家电设备包括照明灯、空调、洒水喷头、门窗监听器、摄像头等具体设备。所以系统测试时,可模拟具体设备的状态信号,将这些模拟的状态信号功能于本系统中,达到测试的目的。
2、测试项目 (二)、测试用例 1、输入 输入各种模拟设备所能出项的所有信号量值,查看系统反馈。
2、输出
3、答应偏差
(三)、评价 七、总结和展望 (一)、总结 针对目前国内的目前状况,房屋的商品化,人民的生活水平日益提高,信息化产业深入到各行各业,智能家具的要求越来越高,人民希望生活在一个以住宅为平台、服务、管理为一体的高效、舒适、平安、便利、环保的居住环境。本系统就是利用先进的计算机技术将和家居生活有关的各种设备、家电有机地结合在一起,通过统筹管理,让家居生活更加舒适、平安、有效。通过该系统可以模拟对空调等家用设备的控制。 本课题创建一个系统控制的家庭自动化系统HAS。是家庭自动化系统的一个原型。该系统能控制、监控和协调家电(如空调、洒水装置),同时该系统能适应变化的。通过识别出HAS中的变化来转变,而且所识别出的变化应该在系统中被实现。本中系统用自动适应变化和手工适应变化两种方式来实现。对于发生了故障的家电,系统通过适当的信息来通知进行故障处理。
(二)、展望
参考文献 |