技术开发 频道

软件工程需求分析之七种武器(上)

    编者按:我们在以前的文章中,向读者介绍了如何做业务需求访谈(《业务需求访谈求生法则 》,http://tech.it168.com/m/p/2007-03-05/200703050848786.shtml),以及如何成为一名优秀的系统分析师(《怎样做一个优秀的系统分析师》,http://tech.it168.com/m/p/2007-03-14/200703140849392.shtml)。那么,需求访谈做完了,我们也知道了一名优秀系统分析师的职责,如何做好业务需求分析呢,本文作者给您介绍了 软件工程需求分析的“七种武器”中的前三种。


【IT168 管理分析】今天, 作为一名企业专职的软件系统分析师, 其主要职责是为企业做需求分析。然而, 系统分析师是否已经熟练掌握了需求分析方法呢?"今日长缨在手,明日缚住苍龙"。 



    背景介绍 

    人物:“我” 

    角色:IT部门系统分析师 

    公司介绍:勤缘电子贸易公司(化名), 年营业额达2亿,主要由销售部门、资材部和IT部门等组成。其中,销售部门负责业务, 资材部负责供应商的开发和采购电子元器件产品,IT部门则负责公司的订单管理系统的开发与实施。 

    系统目的: 该公司本年度把商机管理纳入日程。所谓“商机”是指能为公司带来业绩和利润的客户需求信息。商机一旦提交,公司的销售部、资材部等会就需求完成一些针对该商机而 进行业务的任务。本系统的目的是管理追综该商机及其任务。 

    现状描述: 前段时间经过业务访谈,已经完成了系统的需求捕获工作,确定了商机管理的范围和目标。 

    任务描述:商机追踪系统需求分析。 



    第一种武器: 长生剑——建模法 

    需求分析常常从建立模型开始,建模的原因主要在于:通过抽象降低复杂度,有助于回忆所有细节,有帮助于与开发者以及系统相关者交流,正所谓一图胜千言。同时,模型本身还可作为系统维护文档。 

    图形模型是图表和系统某些方面的示意性表示,多用一些符号表示较抽象的东西,诸如实体、处理过程、数据、对象、信息和连接等。需求分析阶段的重点是集中在系统需求高度抽象的问题上。 

    在建立模型之前,我们必须搞清楚两个关键概念,即事件和事物。“事件”指可以描述的、值得记录的,在某一特定时间和地点发生的事情。“事物”类似与系统交互的外部实体或参与者,同时,事物构成了系统存储信息的相关数据。 

    参照前面所描述的任务,在分析阶段我们为商机管理建立了事件列表、实体—联系图以及类图等模型数据流图等。而在设计阶段,我们创建的模型有界面设计、流程图、数据库设计、结构图等。 

    商机追踪系统的事件如下:

  • 收到商机信息时
  •  发布商机时
  •  收到任务信息时
  •  任务跟进时
  •  任务处理完毕时
  •  商机结案时
  •  商机达成时

    我们对现实世界中事件的认识有助于理解现代编程语言中的事件概念,更让我们认识到编程语言在发展过程中产生了诸多思想和种类,其目的都是为了更好地解决现实问题。 

    让我们列出商机追踪系统基于名词的事物的部分清单,其中包括:商机任务、BOM表、责任人、主题、内容、执行人、任务询价、议价、特价申请、评估、索样,等等。还有吗?也许还有,如果没有了,那么恭喜,你的需求已经提炼完毕。 

    我们把事物列出来本身已经构成需求分析的符号系统。我们可以看到事物之间自然发生的的关系是很清楚的。商机和任务是一对多关系, 即一个商机至少引发一个任务,也可以引发多个任务。 

    我们看到,准确地定义系统的概念、事件、事物、流程是建立模型的基石。甚至可以说是一切需求分析方法的基础。 

    我们需要重点关注的模型图有实体类图和实体关系图(Entity Relation Diagram,ERD)。实体类图描述了实体和实体之间关系的一种图解方式。它可以通过多种Case工具制作,如Visio或Rose。它本身也是UML适用于需求分析的抽象层中的一种模型。实体关系图是一种数据模型,可以帮助我们分析和理解业务或系统的数据组件。 

    实体用单名称来命名,在ERD中用矩形框来表示。实体关系图用菱形框代表关系,它确定了一对实体之间在逻辑上和数量上的连系。关系的命名则要能描述关系的本质。例如“BOM商机”和“任务”之间是“被执行”关系,用语言表达为“ BOM商机被任务执行”或“任务执行BOM商机” 。 

    请客户评审ERD时,要让他们检查图中所显示的关系是否全部正确、合适和全面。 

    下图给出商机追踪的ER图。


图1: 商机追踪E-R图


0
相关文章