HaveFunWithEmbeddedSystem/Chapter3_项目管理与团队协作/3.3_需求分析.md

1.6 KiB
Raw Blame History

3.3 需求分析

需求分析需要细致的进行,例如甲方提出红外感应水龙头的需求。我们先要分析红外感应水龙头的工作过程。经过分析,我们给出下列流程:红外检测器检测到人体红外信号后,开启电磁阀出水,经过一段时间后关闭电池阀,即关闭水龙头。

接下来,从软件角度,需要确认“经过一段时间”到底是经过多长时间。也许用户告诉我们是 30s 因此我们的需求变为“30s 后关闭电磁阀”。

接着,需要确认红外检测器的链接方式,也许电气上是我们的合作伙伴单位完成的,因此我们要与合作方进行沟通。假设沟通结果是“红外检测器以 DI 的形式通知主控制器。”,此时我们需要继续确认这个 DI 在电气上是如何接入到控制器的,还要确认常态下其信号是 0 还是 1感应到人体时信号是 0 还是 1。

另外,需要确认电磁阀的链接方式,也许有多个电磁阀和多个红外检测器,我们需要知道他们之间的配对关系和控制方法。例如 红外检测器3 与 电磁阀9 是配对的,而 红外检测器3 对应了 DI5电磁阀9 对应的 DQ6。

如果我们还能够对需求提出以为需求分析就应该继续下去直到所有需求上的问题都得到解决为止。最后关于红外检测水龙头的需求分析如下“DI5 平时为低电平,当感应到人体后 DI5 变为高电平,此时程序置位 DQ6延时 30s 后,清除 DQ6。”

这样,才能够根据最后的分析结果,完成设计工作,并编写和测试程序。