多语言展示
当前在线:145今日阅读:167今日分享:16

需求分析第二课:需求模型的分类

需求分析第二课:需求模型的分类
方法/步骤
1

几天后,大牛和小白又开始了第二课。在讲课之前,大牛首先回顾了上一课的内容:“前面一节课,了解了什么是需求建模以及建模的重要性。需求建模就是用文字、图形、表格等形式来描述将要开发的系统,设计人员可以根据需求模型设计系统,其他相关人员可以通过这些模型了解系统的组成和结构。”大牛问小白:“对上一节课的内容,还有什么疑问吗?”小白回答道:“确实有一个疑惑,在上节课建立的案例模型,只是简单用文字对功能进行了描述,我以前也阅读过一些需求规格说明书,里面大量的内容都是文字、图形和表格,这些也都属于模型吧?”大牛回答道:“没错,需求规格说明书是对系统需求整体进行描述的文档资料,文档资料里面有功能、业务流程、数据流、数据字典等模型,不同模型的信息特性决定了使用什么类型的模型,这节课我们就重点讲述模型的类型”。大牛在黑板上写下了本节课的学习内容。● 数学模型● 描述模型● 图形模型大牛对小白说:“在开发系统时要用到许多类型的模型,分别从功能需求、业务流程、数据需求等方面进行描述,所要描述的信息特性决定了使用的模型类型。模型的类型包括数学模型、描述模型和图形模型”。“在讲述模型类型之前呢,我们先看一个案例,案例还是第一课的案例,但需求有所改动”,大牛边说边把上节课补充的案例内容写在黑板上。快餐店的老板对电话在线订餐系统又提出了新的要求,要求能够对打入电话订餐的人按照订餐内容自动分类,例如:订汉堡包的归一类,订三明治的归一类等。你能否帮他建立一个自动分类模型呢?小白看到黑板上的内容,对大牛说道:“自动分类要用到数学算法吧,看来需要建立一个数学模型,对打进电话的人,依据订餐内容自动归并到一个类别”。大牛说:“说的很对,其实这个模型很容易建立,应用非常广泛的贝叶斯分类算法就是很成熟的自动分类数学模型,贝叶斯分类算法通过计算订餐内容属于每个类别的概率,并选取最大的概率为这个订餐内容的类别”。大牛边说边把贝叶斯分类算法公式写在黑板上。

2

大牛指着黑板上的公式说:“这就是贝叶斯分类算法的概率判定公式,也是贝叶斯分类算法的数学模型”。小白说:“哦,数学模型其实就是数学公式啊”。大牛走到黑板前,把数学模型的相关定义及内容写到了黑板上。数学模型—描述系统技术方面的一系列公式。数学模型用来描述系统在数学方面的运用,特别是在人工智能、大数据、科学和工程应用中,往往使用精准的数学算法。数学模型是表示这些功能需求的最好方式。大牛又说道:“数学模型有的会比较复杂,如贝叶斯算法,有的会比较简单。例如,在工资管理系统中,使用一个总工资等于标准工资加加班费的计算模型就很合理。再如,在库存管理系统中,库存清单记录、产品价格折扣或者升职加薪,都可以用简单的公式来建模”。小白说:“关于数学模型我明白一些了。举个简单的例子,如果要设计一个求圆面积的程序,那么圆面积公式就是该程序的数学模型了”。大牛点了点头。小白指着黑板又说:“数学模型算是弄明白了,该讲描述模型了吧,前面关于快餐店电话在线订餐系统的功能列表是不是描述模型呢?”大牛:“对的,很正确。描述模型就是用文字、列表、备忘录、报表等方式记录系统分析员的调研信息、和用户的调查谈话、以及调研过程中所做的工作等,系统分析员在编写需求规格说明书时,可以把这些描述型的叙述转化成描述模型”。小白对大牛笑了笑说:“描述模型很容易理解,就是用简朴的文字把想说的内容写出来,就上个案例来说,功能列表就是一个描述模型,这么看来,描述模型的应用范围很广呢”。大牛笑道:“厉害了,小白,分析的很透彻。其实,在需求分析中,有时叙述性描述是记录信息的最好方式,很多有用的信息系统模型都包括简单的列表。例如:特征列表、输入列表、输出列表、事件列表和用户列表等等。列表是一种准确、详尽、有效的描述或叙述性模型”。大牛走到黑板前,把描述模型的相关定义及内容写到了黑板上。描述模型—描述系统某一方面的描述性的文字、列表、备忘录或报表。大牛指着黑板上刚写的内容,对小白说:“在编程过程中,涉及到很多算法的处理过程和步骤,这些过程和步骤通常通过结构化列表或伪代码来描述,两种方法都可以得到相同的结果,因此,这种算法是非常精确的处理过程模型”。大牛又说道:“举个例子,这个案例内容以一种精确的方式叙述处理过程或程序步骤”。思考一个计算长方形面积的简单问题,要解决这个问题,需执行哪些步骤?问题的解决可分为下面几个步骤:1)   设置num1和num2两个变量,用于存储用户输入的长度和宽度,设置result变量用来存储num1和num2的乘积。变量用于存储值,程序可修改这个值,后面Java语法会详细讲解;2)   接受用户输入的长度和宽度,并存储到num1和num2两个变量;3)   判断num1和num2是否大于0,如果大于0,继续下一个步骤,否则提示用户输入错误,程序结束;4)   计算num1和num2的乘积,并将乘积结果存储到result变量;5)   显示result变量的值到屏幕。小白:“够精确的,按照步骤基本可以编写程序了。步骤是不是也可以用流程图来表示呢”大牛:“上面案例的步骤当然可以用流程图来表示了,这也是我们将要说到的图形模型,图形模型就是用图形化的方式描述系统的某一方面,图形模型也有助于理解那些很难用文字来描述的复杂关系”。大牛将一张图片投影到屏幕上。大牛:“这张图是前面案例步骤的图形化描述(流程图),图中有椭圆框、菱形框、平行四边形、长方形以及带线的箭头符号,这些符号表示一些抽象的概念,例如菱形符号在流程图中表示判断,矩形符号在流程图中表示处理过程等”。小白:“还是图形模型好,一目了然。唯一的问题是要看懂图,首先要懂得图中符号所表示的意义”。大牛:“是的,理想情况下,每一类模型图应该使用唯一的、标准的符号来表示一条信息。这样的好处是无论什么人都能看的懂模型,然而,模型图中可供使用的符号很少——椭圆、矩形、菱形、线等。因此,在实际中,你会发现每种模型使用的符号略有差别”。大牛:“小白,前面我们谈了模型的类型,结合电话在线订餐系统案例,你说说数学模型、描述模型、图形模型在需求分析阶段如何灵活运用呢?”小白:“数学模型可用于电话在线订餐系统的订餐统计、订餐人员自动归类建模,因为这些需求的实现需要用到数学方面的知识,需要建立统计公式和贝叶斯分类算法公式;描述模型可用于系统的功能需求列表及功能需求说明、以及客户管理、录音管理等子系统的功能列表及说明;图形模型可用于业务流程建模,例如接电话的流程、电话录音的流程等,用图形模型给业务流程建模,可以一目了然”。大牛赞道:“归纳的不错,很好!”大牛:“在一些情况下,描述模型也可以用图形模型来替代。例如,电话在线订餐系统功能需求列表就可以用UML建模语言的用例图来替代,功能说明在用例图中可以用描述模型进行补充。总的来说,在描述系统某一方面时,可以混合使用这三类模型,只要是能把需求说清楚,让他人能够理解、看懂就可以了”。小白理解了模型的分类及运用,不过心中还是存在一些疑惑,在需求分析阶段要用到哪些具体模型呢(模型类型还是太抽象了,没有落地),有没有已经标准化的模型可以使用呢?

推荐信息