从需求分析看软件开发的挑战

从需求分析看软件开发的挑战

前言

我们小组的题目是《轨道信号灯系统》,经过领域分析之后,我们组对这个题目有了一些理解。在需求分析的时候,经过我们多次的线下讨论,我们发现了一些问题,其中最大的问题是系统定位(或者说系统边界)的问题。经过上次的需求分析答辩,我们组发现的问题是对类图的抽象不够,有些类没有抽象出来,同时,系统安全,故障处理这方面还不够系统。

需求分析

需求分析阶段,我觉得主要需要明确的是系统的核心业务。对我们组的题目来说,就是对信号灯的控制。这当然包括很多方面:传感器数据的采集,数据的处理,信号灯的控制逻辑等。除此之外,还有安全分析(或者叫故障分析?)这是老师反复提醒我们的点。对于我们的系统来说,安全性是极重要的一点,但我们组好像一直分析的不是很透彻。究其原因,可能是我们分析故障,安全性的时候,没有用系统的方法。需求分析时我们另一个问题可能是,我们一直都只是在讨论,而没有去查看一些文献或者资料,虽然领域分析时查阅了很多资料,但是似乎安全性,故障分析这一部分的资料并不够多,可能十导致我们分析的不太好的原因。

软件开发

从需求分析的角度来看软件开发的挑战的话,我觉得主要是需要明确软件的定位,核心业务,以及进行好故障/安全性/鲁棒性的分析。软件的定位,或者说软件的边界问题,比如我们组一开始遇到的问题是,我们的信号灯控制系统是否需要有控制信号灯的逻辑,还是我们只需要接收来自上级列控系统的信号,然后对信号机进行控制即可。软件的定位决定了软件的核心业务是什么,需要实现哪些功能。明确核心业务应该是软件开发中很重要的一部分,需要在需求分析的阶段就完成核心业务的逻辑,有哪些类参与等等。故障分析,是对安全性要求高的系统来说相对更重要一些,比如我们的系统,是宁可牺牲一些效率也要保证安全的系统,所以故障分析应该是我们应该仔细考虑的部分,但很可惜我们领域分析和需求分析中这部分都做得不太好,希望在后面的设计中我们能够完善这部分。

展望

我们组需求分析部分其实已经相当认真了,也花费了相当多的时间一起讨论,但是最后还是有许多没有考虑周全的地方。我觉得可能是因为缺乏调查,比如故障分析,我们分析的不系统,解决措施也不够有针对性。可能就是因为我们只是埋头讨论,局限在我们自己的知识领域之中,导致了分析故障不全面,不系统。所以希望我们组后面的设计建模中,一方面继续保持多讨论的好习惯,另一方面也不能局限于讨论的内容,还应该多查阅资料。

 

posted on 2020-12-13 16:39  没心的先生懒  阅读(130)  评论(1编辑  收藏  举报