软件需求分析实战
上QQ阅读APP看书,第一时间看更新

2.6.2 生成报表的触发条件

从业务层面看,报表生成的触发条件一般有如下几种方式。

一是领导有临时要求时,相关责任人根据收集的信息制作,例如领导临时要求统计一下今年的职工离职情况;二是到了某个周期性的时间点时,例如随处可见的日报、周报、月报、季报、年报等;三是发生了某件事时,例如订单完成后,需要给客户出具一个与这个订单相关的分析报表。

对于信息系统而言,报表生成的触发条件一般有如下几种方式。

一是根据用户录入的查询条件(例如日期范围、部门等)生成报表。这种方式是最常用的一种方式,绝大部分报表都是这么制作的。不过需要注意的是,在实际工作中,这个条件有可能隐含在业务过程中,在做报表分析时,一不小心就会忽略。

案例:隐含的报表生成条件

小王在分析收集到的报表时发现,有几种关于材料用途的统计表很类似,一车间有个“一车间材料用途统计表”,二车间有个“二车间材料用途统计表”,辅助车间有个“辅助车间材料用途统计表”,根据对报表信息与统计逻辑的分析,小王认为这其实是同一种报表,它们的信息来源、计算方式都相同,什么一车间、二车间、辅助车间,其实只是这个报表的生成条件之一:部门。

二是到了某时间点时,系统自动生成报表储存在数据库中,这种情况往往是因为需要统计、记录某些业务某时间点的实时状态,因为数据在不断变化,过了这个时间点就很难得到。

三是在空闲时间段运算生成报表储存在数据库中,这往往是因为运算量太大,可以利用系统空闲时间计算生成报表,提高运算效率。

当然,还有一些报表是混合型的,如根据用户录入的查询条件生成报表,但其中有部分(可多可少)数据是系统在某时间段自动计算生成的。

分析当前使用的报表时,需要考虑如何将当前的触发条件转换成信息系统的触发条件。对于信息系统而言,生成报表的触发方式与业务层面的触发方式是完全不一样的。例如,“领导有临时要求”这种触发方式,在业务层面相当普遍,但在信息系统中,根据报表需求,有可能是根据查询条件生成报表,有可能是时间点触发,有可能是空闲时间段生成;对于那种日报、周报、月报之类的报表,首先想到需要在某时间点定时计算,但如果统计的信息不需要实时性,运算量也不大,宁可采用根据查询条件生成的方式,毕竟这种方式做起来最容易,开发成本最低。

报表生成的触发方式,在需求分析时需要仔细考虑,不同的触发方式有不同的优缺点,需要根据需求合理处理。根据查询条件生成报表的方式最普遍,实现最容易,没有特殊情况一般优先考虑这种方式,但缺点是实时生成,对于需要消耗大量资源的大型报表,或需要反应时点状态的报表,就难以处理。