五、应用情景
下面描述了一个未来网络化家庭的生活景象 。
室外的灯可在设定的时间内自动关闭 。住户出门时,可将安全程序设定为"离开"方式 。控制系统自动将不必要的灯以及危险设备关闭;恒温器自动进行调整以节省能源;如果天晴,系统自动灌溉草坪 。
住户给家中控制系统打一个电话,控制系统通知住户,孩子在下午四点回到了家里,他们输入了正确的开门号码并打开了洗碗机 。
住户回到家中,汽车道传感器自动进行100%的照明,车库门打开,车库中照明灯开启,五分钟之后灯关闭 。
住户进入书房,控制系统自动将电脑连入Internet. 住户选择"娱乐"按钮,控制系统将百叶窗关闭,灯光变暗,屏幕开始播放电影 。
入睡时,住户按"睡眠"模式键,整个房间电源关闭并锁牢 。
住户外出度假,打开安全报警装置 。
住户通过在宾馆上网的电脑给家中控制系统发出一个信号,确认房间处于"休假"状态,一切正常;天黑的时候,家中音乐、电视、灯光照常,就像有人在家一样 。人们对未来网络化家庭环境的要求是:安全舒适、轻松方便、节约能源、随心所欲 。
3. 如何写详细设计文档 在大多数软件项目中,要末不作详细设计,要么开发完成后再补详细设计文档,质量也不容乐观,文档与系统往往不能同步,使详细设计文档完全流于形式,对工作没有起到实际的帮助 。
·
详细设计是相对概要设计而言的,是瀑布开发流程的一个重要环节,在概要设计的高层设计的基础上,从逻辑上实现了每一模块的功能,是编码阶段的主要参考资料,是从高层到低层、逐步精化思想的具体实现 。
详细设计文档的内容包括各个模块的算法设计,
接口设计,
数据结构设计,交互设计等 。必须写清楚各个模块/接口/公共对象的定义,列明各个模块程序的
各种执行条件与期望的运行效果,还要正确处理各种可能的异常 。
·
在开发过程中,由需求及设计不正确、不完整所导致的问题是项目进度拖延、失败的一个主要因素,而软件系统的一个重要特性就是需求和设计的不断构建和改进,在写详细设计文档过程中,
详细设计实际上是对系统的一次逻辑构建,可以有效验证需求的完整性及正确性 。
如果不写详细设计文档,一般就从概设直接进入编码阶段,这时开发人员所能参考的资料就是需求规格说明书及页面原型、数据库设计等,不能直接进行开发,需要进行信息的沟通,把页面原型不能体现的设计讲清楚,这样既容易遗忘,也容易发生问题,详细设计文档可以作为需求人员、总体设计人员与开发人员的沟通工具,把静态页面无法体现的设计体现出来,包含整体设计对模块设计的规范,体现对设计上的一些决策,例如选用的算法,对一些关键问题的设计考虑等等,使开发人员能快速进入开发,提高沟通效率,减少沟通问题 。
对于系统功能的调整,后期的维护,详设文档提供了模块设计上的考虑、决策,包括模块与整体设计的关系、模块所引用的数据库设计、重要操作的处理流程、重要的业务规则实现设计等等信息,提供了对模块设计的概述性信息,阐明了模块设计上的决策,配合代码注释,可以相对轻松读懂原有设计 。
·存在的问题要由专门的人写,是比较麻烦的,也是很需要时间的,会对进度造成压力,也容易形成工作瓶颈,使设计人员负担过重,而开发人员无事可作 。对于现在一般的以数据库为中心的管理系统而言,这个工作始终是要作的,区别只不过是不是形成专门文档,形成文档可能会多花一两周时间,但相对于规避的风险和问题来说,也是值得的,另外由于现在高级语言的流行,所以更详细的设计应该直接体现在代码的设计上,而文档则只体现设计上的一些决策,协调整体设计与模块设计的关系,把页面原型所不能体现的设计情况文档化,所以所花费的时间是有限的 。