# 3.3 需求分析 需求分析需要细致的进行,例如甲方提出红外感应水龙头的需求。我们先要分析红外感应水龙头的工作过程。经过分析,我们给出下列流程:红外检测器检测到人体红外信号后,开启电磁阀出水,经过一段时间后关闭电池阀,即关闭水龙头。 接下来,从软件角度,需要确认“经过一段时间”到底是经过多长时间。也许用户告诉我们是 30s ,因此我们的需求变为“30s 后关闭电磁阀”。 接着,需要确认红外检测器的链接方式,也许电气上是我们的合作伙伴单位完成的,因此我们要与合作方进行沟通。假设沟通结果是“红外检测器以 DI 的形式通知主控制器。”,此时我们需要继续确认这个 DI 在电气上是如何接入到控制器的,还要确认常态下其信号是 0 还是 1,感应到人体时信号是 0 还是 1。 另外,需要确认电磁阀的链接方式,也许有多个电磁阀和多个红外检测器,我们需要知道他们之间的配对关系和控制方法。例如 红外检测器3 与 电磁阀9 是配对的,而 红外检测器3 对应了 DI5,电磁阀9 对应的 DQ6。 如果我们还能够对需求提出以为,需求分析就应该继续下去,直到所有需求上的问题都得到解决为止。最后,关于红外检测水龙头的需求分析如下:“DI5 平时为低电平,当感应到人体后 DI5 变为高电平,此时程序置位 DQ6,延时 30s 后,清除 DQ6。” 这样,才能够根据最后的分析结果,完成设计工作,并编写和测试程序。