需求分析ppt课件_第1页
需求分析ppt课件_第2页
需求分析ppt课件_第3页
需求分析ppt课件_第4页
需求分析ppt课件_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章需求确定,1,教学目的及要求,了解问题框定和问题框架的概念;深刻理解域的概念建立和框架图的画法;熟练掌握5个问题框架和多框架问题。,2,教学内容,3.1问题框定3.2五个问题框架3.3多问题框架,3,3.1问题框定,3.1.1域3.1.2共享现象3.1.3连接域3.1.4现实域3.1.5框架图3.1.6从图到文档,4,3.1问题框定,马的遍历:马开始于棋盘的中央如图3-1所示。问题是找到一系列的移动步骤,使马走完每个方框,而落入任何一个方框仅一次。,图3-1马的遍历,5,3.1问题框定,书写软件需求最重要的步骤是框定问题:把问题的特定部分,以及部分间特定的关系,放入一个特定的形式中。问题框定方法应该使问题的细节(不管如何复杂)适合一个简单连贯的框架,以便使人们能够系统地分析他们而不会被问题所压倒。在马的遍历中,方块上的数字是潜在的压倒性细节。虽然框架中包含了链图所有信息,让我们了解方框与方框之间有一个适当的关系。如图3-2所示。,6,13,3.1问题框定,图3-2马的遍历,重构,1,12,11,19,8,10,3,22,2,9,20,6,17,24,15,4,7,23,16,5,14,25,18,21,7,3.1.1域,图3-3分解成域,8,从图中我们可以看出,每个域包含一组个体即我们想要陈述的显著事情。问题域的个体就是:卡车、城市、货物、司机、客户和用户等等客观世界的物理实体。用来定义需求。机器域中的个体是所有的子程序和数据结构,它们组成了机器的程序,以及机器的输入/输出。注意:个体的唯一准则是你总能区分每个个体没有一个个体同时是另一个个体。,3.1.1域,9,3.1.1域,在每个域中也包含我们想讨论这些个体的每件事情,想肯定或者否定一个或多个个体的每一件事,叫做断言。机器域包含一组不同的断言:一个子例程占据一定的内存位置,一个子例程调用另一个等等。,10,域也就是一组个体以及伴随它们的断言。个体不是现在或过去已存在的个体;它们是软件必须能够应付的潜在的个体。例如在卡车这个实例中,所有潜在的客户是问题域的一部分。当定义一个域时,我们不需要知道域中现在或将来要包含的所有实际个体;但我们要详细指定将要用于他们的所有断言。,3.1.1域,11,域描述通常占据需求文档的大部分篇幅,甚至比需求列表还要多。为了解域来设计和实现软件,必须根据问题类型提供一个或更多表3-1的需求列表。表3-1域信息,3.1.1域,12,当框定问题时,你不需要知道哪个事件将要发生,但必须知道事件所拥有的所有可能属性以及它们之间重要的关系。一个事件的属性就是参与在事件中的实体;或事件可能发生的时间和继续的时间;所为事件间的关系就是之前或之后这样的事情。,3.1.1域,13,提议:断言和细节,即确定的实体拥有确定的属性或相互之间具有的特定关系。提议来自于理解的表3-1中所描述的信息。属性和关系可以识别一个个体来为自己产生一个提议,或者他们可以为断言这些个体进行服务。一般软件项目,要知道的全部东西是描述每个域中的东西,根据这些描述,必须解释全部词汇以及根据词汇框定你的所有描述。,3.1.1域,14,有关如何选择“什么去调用一个个体”和“什么去调用一个断言”往往依赖于你感兴趣断言和询问什么。并不是说每一个物理对象一定是个体,而无形的东西像名称和号码等一定是断言。唯一的规则是无论域的哪个部分都不可能立刻成为两个个体,而且你必须已经知道所有你想对个体下的断言。,3.1.1域,15,例子:为一个公共汽车从一地到另一地计算路程编写需求。我们感兴趣的提议是什么?,3.1.1域,16,3.1.2共享现象,分解成域是框定问题最重要的技巧。我们分解域有两个主要原因。第一,如果我们明智地选择个体和断言,可以限制我们所关注的范围。第二,我们可以讨论贯穿于两个域中的因果关系,或域之间的其他关系,为了使一个域能够实现一定的效果或能够与其他域交流信息,它必须与其他域有重叠部分。,17,3.1.2共享现象,域中的重叠部分为共享现象。共享现象是两个域之间所共有的状态、事件和对象。如:规格说明书中描述的输入/输出设备的行为就是一类型的共享现象。如果你把卡车和司机作为两个不同的域,那么司机驾驶卡车就同时发生在两个域中,也就是这个事件使他们两个都从同一个地方移动到另一个地方。,18,3.1.2共享现象,共享实例:用户敲击的键也是软件接收的键。每个软件在监视器上所显示的像素也是用户所看见的像素。计算机中的两个正在运行的进程共享一块内存,保持着一个信号量,一个进程通过它来告诉另一个进程它本身是否安全地运行一个操作。,19,氧传感器传送给轿车内微处理器的信号。由同一个微处理器给轿车燃料喷射器传送信号。一个目录,程序在其中存放文件供另一个程序以后恢复使用,或一个邮件夹,用来接收存放新邮件,以后供邮件阅读者翻阅。职员打出勤卡也是电子出勤卡记录事件。,3.1.2共享现象,20,图3-4是一个气象分析研究系统,问题域:温度、气象站和研究员。,3.1.3连接域,图3-4四个域中的软件问题,温度,气象站,计算机,研究员,21,软件需求是要在研究员和地区的温度之间创建一个联系:研究员必须能够按照要求查询温度。因此气象站组成了一个特殊的域类型:连接域。连接域:一个域同我们希望有直接联接的域产生共享现象。,3.1.3连接域,22,先来看一个例子:药房和医疗保险公司之间存在计算机进行交互。当病人提供给药房一个处方时,药房计算机要向保险公司的计算机发送许可申请。如果此事物符合保险公司所承诺的规则,保险公司计算机返还回由病人支付的一笔共付款项金额。药剂师就收取共付款项,并且保险公司欠药房药价减去共付款项后的一笔金额。,3.1.4实现域,23,为了设计包含两套计算机的系统,我们必须知道这个债权在哪里,因为要想去控制它们或报告它们,我们必须知道系统如何访问它们。债权必须存在系统之中,系统可以无条件地控制它们。系统要为它们内部的债权创建一个代理。药房和保险公司承认当某一特定的比特位模式在计算机中存在时,保险公司将欠药房相应的一笔金额,要根据一定的规则,这个比特位模式就被创建。,3.1.4实现域,24,这个规则就是:在系统中设置一个授权能创建一个债权。这时我们就说系统在他内部实现了债权,债权就是一个实现域。为真实债权创建一个实现域作为代理,系统就可以控制债权。没有保险公司和药房的协定,就没有任何点去乱动计算机内部的比特位。没有哪一方将付钱给另一方。,3.1.4实现域,25,对于人们之间任何类型的承诺,如果一个计算机想要去操作它,在需求文档中就必须以实现域来表示。这包括大多是债权、账目、运行任务的责任、约定的相见时间、在某一时间有权使用会议室等等。,3.1.4实现域,26,用图形符号来描述软件问题的所有基本部分,我们把用这种符号绘制的图称为框架图。每个域用一个矩形来表示,两个域之间的共享现象用一根连接两个矩形的线来表示。要编程的机器用双边框矩形来表示。写在双边框内的词语表示编程后的计算机是什么类型的机器。,3.1.5框架图,27,图3-5温度信息系统部分框架图:仅仅是域,3.1.5框架图,28,如果一个域完全包含在另一个域当中,如果一组文档就完全包含在计算机中,框架图用一个大实黑点来表示它。,3.1.5框架图,文档,字处理系统,图3-6大实黑点显示一个域完全包含在另一个域中,29,大实黑点还表示那种共享于三个或多个域之间现象的极少情况。,3.1.5框架图,卡车驾驶事件,货物,图3-6大实黑点表示多个域,卡车,司机,地点,30,3.1.5框架图,用椭圆表示需求,用一根或者多根连线来连接需求所述的域。机器M在域D内产生效果R,需求总是断定一个域或者域之间的关系,在椭圆内,我们要么用一个简单的断言来概括需求,或者一个名词表示软件提供的一件事情类型,如一个域的查询或者域间的映射,如下图3-7,31,3.1.5框架图,图3-7温度信息系统的完整框架图,R,D,M,32,图3-8温度信息系统的完整框架图,3.1.5框架图,一个处理数字图像的部分软件框架图如图3-8所示。问题域包含两个数据集合:输入图像和相应的输出图像。需求根据一定的图像处理算法从输入图像产生输出图像。,输入图像,过滤器,输出图像,图像处理算法,R,D,M,D,33,3.1.5框架图,阅读框架图的方法所遵循的原则:一是椭圆属于哪个域。这是我们感兴趣的主要域。问题就是创建域间的关系,能使用户产生有关温度(图3-7),或者对相应的输入图像产生相应的输出图像(图3-8)。,R,D,M,M,34,3.1.5框架图,阅读框架图的方法所遵循的原则:二是机器域与感兴趣的域的联系。也就是你从机器开始追踪到所感兴趣的主域。机器不直接访问温度(图3-7),它们通过气象站间接地与温度通讯。因此气象站给问题增加了一个重要的负杂元素。而图3-8中两个所关心的主域直接与机器相连,因为机器可以直接读写图像文件。所以没有连接域使这个问题复杂化。,35,图3-7温度信息系统的完整框架图,3.1.5框架图,例如:查询是需求,机器M与我们所感兴趣的温度域间接相连。机器不能直接访问温度,需要通过气象站间接与温度通讯。,R,D,M,36,已经框定了温度信息系统所解决的问题,就可以根据框架图的每一个元素文档化相应的细节。需求文档要包含的足够信息:用户能初始化的所有查询列表(如有关温度的所有问题)。温度的描述。气象站如何与温度交互的描述(记录温度参数的过程方法等)。,3.1.6从图到文档,37,气象站如何与计算机交互的描述。研究员和计算机之间联系的描述。如果研究员可能有一些不同寻常的行为能影响用户接口设计,要对研究员进行描述。,3.1.6从图到文档,38,3.2五个问题框架,3.2.1概要3.2.2信息问题3.2.3控制问题3.2.4变换问题3.2.5工件问题3.2.6连接问题,39,五个不同的问题框架与表3-2种所呈现的五种需求类型相对应。表3-2五种不同的问题框架,3.2.1概要,40,大多数软件问题同时包含上述几种需求类型。这里我们总结如下:框定问题的目的不是强行使它们适应已经存在的问题类型;相反,当你遇到这些问题时,通过识别熟悉的问题并通过熟悉的问题,来着手解决不熟悉的问题。,3.2.1概要,41,为信息问题书写需求,必须描述客观世界的相关部分、查询以及发起(初始化)查询的人或事物。,3.2.2信息问题,图3-9信息问题,42,注意:只有需求满足查询,而因果关系不是信息问题的一部分。如,系统报告状态,但不对影响状态的行为负责,因为这是两种类型的需求。因果关系是另一种需求将在控制问题中讨论。下面是解决信息问题的软件实例:存货清单控制系统的一部分:显示所有项库存数量,打印有关库存数量少得项目报表,打印每日、每周、每月和每年结束时的销售报表。,3.2.2信息问题,43,一个网页搜索引擎:在万维网上搜索与用户指定主题相关的网页。图书馆目录系统:通知用户图书馆内有什么书籍,它们的书号和其他一些属性,以及该书是否被借出。图书馆目录系统的一小部分:登陆图书馆查询细节、发起查询来自于哪个终端以及有多少匹配项,帮助人们搜索用于提高上述查询系统的方法。在这种情况下软件解决另一个信息问题部分是真实世界部分。,3.2.2信息问题,44,1.连接域几乎所有的信息域都包含一个连接域,从真实世界到将要制作的软件之间传递信息。一般情况下,这个连接域是人手工输入数据。数据采集设备可能是另外一个连接域,气象站是一个例子。一个列出计算机内目录下的所有文件的程序,就没有连接域,但这是个例外。,3.2.2信息问题,45,2.静态和动态信息系统报告一个持续变化的真实世界的状态或者历史,比如账目余额、目前的股票价格、目前的仓库货物变化情况等。这些我们称其为动态信息系统。信息系统报告一个变化很小甚至根本没有变化的真实世界,比如药片的相互属性、材料的长度等。这些我们称其为静态信息系统。,3.2.2信息问题,46,书写一个动态信息问题,你要说明软件如何访问那些可能改变查询结果的每一个事件。书写一个静态信息问题,你要说明的不是软件如何访问真实世界的相关部分,而是软件开发人员如何访问。,3.2.2信息问题,47,3.被动与主动用户发出的查询:用户输入有关X的查询,系统显示有关X的被请求信息。这样的信息系统对用户的输入做出被动的反应。一些信息系统在用户没有请求信息时也发出信息给他们。这样的信息系统对用户来说系统做出主动的反应。,3.2.2信息问题,48,4.解决信息问题通常信息问题的解决方案是在计算机内构造一个真实世界的模型。模型有计算机内的比特位组成,它们根据规则改变状态,而把比特位映射到真实世界的活动需要遵循这些规则。描述信息问题解决方案的规格说明书区域描述由软件所维护的模型,也能够改变一些查询结果的真实世界的每一事件,以及改变模型的相应的接口事件。,3.2.2信息问题,49,涉及用户的事件响应有两部分:用户负责执行的行为和更新模型。用户行为是软件的一个操作规程。静态信息系统的规格说明书不包含任何事件的响应,因为没有事件发生在问题域。如果问题域偶尔改变,或者它的知识改变(如药物学家有关药物相互作用的知识),那么规格说明书必须描述这些事件如何导致对模型的修改。,3.2.2信息问题,50,5.检查清单表3-3和3-4列举了书写一个信息问题的需求和规格说明书所需要的信息。表3-3信息问题:需求文档,3.2.2信息问题,51,表3-4信息问题:规格说明书,3.2.2信息问题,52,书写一个控制问题,需要描述三件事情:1)客观世界相关部分的因果属性和其中的对象根据它们自身的本质而不是软件所应遵循的规则;2)我们想让它们遵循的规则;3)计算机和问题域所共享的现象,通过它们软件控制问题域并发起动作,从而产生必须遵守的2)中的规则。如图3-10所示。,3.2.3控制问题,53,一个控制问题惟一关注的是因果关系。,3.2.3控制问题,图3-10控制问题,54,1.连接域有些控制问题需要指导人们执行各种活动,计算机起到指导人们行为的作用,但不能完全控制他们,这就在控制问题中出现了连接域。,3.2.3控制问题,图3-11控制问题种的连接域,55,当接收或者根据订单发送货物给客户时,行为规则仅说明在仓库内移动货物。存货控制系统必须依赖于职员告诉它什么时候收到货物或新的订单。存货控制系统能使货物移动的唯一方法是指导人们去移动它。失真和延迟:有时发生了错误的货物移动,错误地输入订单数据等。系统给出一个指示和职员移动货物之间有一个时间延迟在订货部门接受一个订单和职员把订单输入到系统之间也有一个延迟,软件不能告诉什么时候或是否货物已经真正装运了等。,3.2.3控制问题,56,3.检查清单表3-5和表3-6例举了完整书写一个控制问题需要和规格说明书所需要的信息。表3-5控制问题:需求文档,3.2.3控制问题,57,表3-6控制问题:规格说明书,3.2.3控制问题,58,根据特定的规格产生影射到输入数据的输出数据。它的问题框架如图3-11所示。,3.2.4变换问题,图3-11变换问题,59,输入数据和输出数据是来自于两个集合的元素。书写一个变换问题由描述以下内容组成:所有可能输入的集合,所有可能输出的集合,有关每一个可能输入到它相应输出的规则。规则,在框架图中表示为映射,是惟一的需求。一个变换问题能够简单地叫做计算或映射问题。计算是根据一个规则简单地输入数字映射到输出数字。,3.2.4变换问题,60,解决变换问题的例子:在两个不同字处理器之间转换文件格式的程序。把条形码转换成数字的子例程。在大学的一个学期中,为学生、教师、课程分配教室的程序。图形处理软件,执行一些操作,如从数字图像上除去杂质。,3.2.4变换问题,61,一个程序,告诉一个公共汽车司机驾驶哪辆汽车从一个地方到另一个地方,并在指定时间到达。一个根据气象资料产生天气图的程序。打印机驱动程序:把来自操作系统的打印控制命令转换成等价的控制特定打印机的命令。根据卫星资料帮助考古学家发现沉没村庄的软件,这种软件运用复杂的规则把有关地球表面如何反射可见光的信息转换成为对地表下面存在什么的猜想。,3.2.4变换问题,62,1.解决变换问题解决变换问题的最主要工作是编程,而不是接口设计。如果软件要被其它程序访问,规格说明必须向需求中添加的所有东西就是接口设计,或者一个API(ApplicationProgrammingInterface,应用程序编程接口)。2.检查清单表3-7和表3-8例举了完整书写一个变换问题需求和规格说明书所需要的信息。,3.2.4变换问题,63,表3-7变换问题:需求文档,表3-8信息问题:规格说明书,3.2.4变换问题,64,在工件问题中,软件的任务是能使用户创建对象,如文档和需求,就如车床帮助一个木匠创造木质工件一样。工件是无形的、仅存在于实现域中的软件对象,虽然软件可能产生它们有形的版本,如打印的文档等。有两种需求:使用户能在工件上执行指定的操作,在软件内实现工件。书写一个工件问题大部分工作是描述工件。,3.2.5工件问题,65,它的问题框架如图3-12。,图3-12工件问题,3.2.5工件问题,66,解决工件问题软件的例子如下:一个字处理器:在计算机内创建文档。文档包含章节、页、段落、字符、图形等等。所有这些都具有软件设计人员所创造的属性和行为。常见交易图的程序。一个设计有限电视网络的程序。用户在邻居间放置各种电缆和设备去接受服务。,3.2.5工件问题,67,一个用于创建和显示有机分子模型的程序。音乐编辑器。产生警察猜想的犯罪嫌疑人和成草图的程序。选取下巴、嘴、眼睛、头发、颧骨等的证据,去创建一个他们所见到人物的准确画像。一个食谱文件。,3.2.5工件问题,68,1.解决工件问题解决工件问题的主要工作通常是用户接口设计,剩下的是编写程序:陈述工件和执行操作(我们不涉及这些)。2.检查清单表3-9和表3-10例举了书写一个完整的工件问题需求和规格说明书所需要的信息。,3.2.5工件问题,69,表3-9工件问题:需求文档,表3-10工件问题:规格说明书,3.2.5工件问题,70,在连接问题中,存在许多不直接共享现象的域,相反在它们之间通过其他域进行连接连接域。问题是使两个不直接相连的域在运行时就像它们直接相连一样,在某种程度上这是可能的。,3.2.6连接问题,71,2020/6/14,72,图3-13显示了连接域的两个基本类型。在类型a中,系统需要与所关心的域相互作用,但必须处理连接域所带来的从所关心的域到系统的信息延迟,或者执行由系统发出的命令。,3.2.6连接问题,a)通过间接连接进行,图3-13连接问题,72,3.2.6连接问题,b)创建间接连接,图3-13连接问题,在类型b中,所要创建的系统是连接域,当系统A变化时,它根据系统A目前的状态负责改变系统B的状态(反之亦然)。在这两种情况下,需要仅是可以获得状态通信,不是一个完整的通信,因为一个完美通信是不可能得到的。,73,一些连接问题的例子如下:支持一个信息系统的数据录入人员。人工数据录入会引入失真,通常以排版错误的形式出现,由该错误引起的延迟经常会在人们真正输入正确数据之前。数据仓库根据大量的可操作数据存储的数据来答复查询数据库中的数据,如订购录入系统、库存系统等,每个都是按照支持日常需求这个特定任务来订做的。,3.2.6连接问题,74,3.2.6连接问题,书写一个像图3-13a中的连接问题要包括描述共享现象之间的映射,这些共享现象包括链接连接域和所关心的域之间的共享现象,以及系统和连接域之间的共享现象,这个映射应包括失真类型和由连接域所引入的延迟。记录系统用于检测连接域是否正常工作所使用的方法是很有价值的。气象站例子中:如果有共享现象,系统可以利用它来检测气象站不工作或需要校正的情况,这些应当在需求文档中进行描述。在所关心的域中什么类型的行为是可能的和不可能的,这些信息可使系统检测错误。,75,图3-14所示。如果有多个连接域连接相同的所关心的域,那么每个连接域的可靠性就认为与其它域相关联。例如,如果有三个不同的数据库包含人员姓名、地址、电话号码等信息,需求文档可这样陈述:对于名称,数据库A比数据库B可靠,B比C可靠,但是对于地址,B和C的可靠性是相同的,都比A要好。需求文档应该说明,这样规格说明书就可以利用它。,3.2.6连接问题,76,图3-14相同所关心的域的多重连接,3.2.6连接问题,77,书写一个如图3-13b所示的连接问题要包含:在状态或事件之间相同类型的映射,除非它已是所期望的映射,并具有所期望的失真和延迟特征。在类型b的连接问题中,问题域经常包括其它连接域,如图3-15所示。,3.2.6连接问题,78,一个错误校正协议在由通信媒介分离的两个不同系统中同时运行。媒质的失真特征要在需求文档中描述,正如类型a中连接问题。通信媒介,如铜芯线,对于不同的数据传输、不同的无线电频率等有不同的失真特性,在不同的时间有不同的失真特性。,3.2.6连接问题,79,通信系统,系统A,查询,通信媒介,通信B,图3-15创建跨通信媒介的连接,通信系统,3.2.6连接问题,一个错误校正协议在由通信媒介分离的两个不同系统中同时运行。媒质的失真特征要在需求文档中描述,正如类型a中连接问题。通信媒介,如铜芯线,对于不同的数据传输、不同的无线电频率等有不同的失真特性,在不同的时间有不同的失真特性。,80,1.解决连接问题解决连接问题主要是利用问题域中的冗余,在连接问题类型b中,为此需要创建冗余。在类型b的连接问题中,通常的解决方案是为数据添加各种校验。这些依次称为如类型a问题中相同的可用冗余。求和校验与数据一起传输,通过一个精确的数学规则与数据相关。接收者就可以抛弃那些经过校验与数据不匹配的数据块。,3.2.6连接问题,81,2.检查清单表3-11和3-12列举了书写一个连接问题的需求和规格说明书所需要的信息。表3-11连接问题:需求文档,3.2.6连接问题,82,表3-12连接问题:规格说明书,3.2.6连接问题,83,3.3多框架问题,3.3.1组合问题框架3.3.2库存控制系统3.3.3统计包3.3.4数字应答机3.3.5编译器3.3.6电子邮件3.3.7卫星勘测,84,3.3.1组合问题框架,理论上,当你遇到一个复杂的软件问题,你可以把它分解成不同的问题框架,这些问题框架只通过类似于一个狭窄的逻辑通道来相互作用,而这些通道适合一个框架的问题部分很少涉及另一个框架的问题部分。把一个总的问题框定成为一组重叠很少的小问题仅共享一个或几个域是你在需求文档中对付复杂性问题的最重要的武器。,85,3.3.2库存控制系统,库存控制系统的主要工作是指导运输货物进出一个仓库:当进货时,指导雇员存储货物,而当订单到达时,指导雇员找到货物并装运给客户。然而,填写订单要遵循一定的规则:如果客户远没有能力付款,他们的订单是不能填写的,不同的订单有不同的优先权等。库存控制系统的另一个任务是汇报仓库的活动:它现在的状态和过去的资金和货物流动。所以需要两个问题框架,控制框架和信息框架。,86,3.3.2库存控制系统,它们如框架图3-16和3-17所示。,图3-16库存问题“从仓库中搬移货物”部分,87,3.3.2库存控制系统,雇员是惟一直接与系统相联系的。业务规则:即根据订单定义货物从仓库中流动的业务规则,属于货物、仓库和订单,但不属于雇员。雇员是由控制系统调用来执行业务规则的简单手段。因为这是一个控制框架,它要求书写雇员的因果动因:他们可以做什么和库存控制系统如何叫他们去做这些。雇员可以影响货物、仓库和订单,所以在它(他)们之间有一根线连接着。,88,3.3.2库存控制系统,图3-17库存问题“打印报表”部分,图3-17显示了信息问题:根据雇员的需求产生有关货物、仓库和订单的报表,雇员再次成为一个连接域。,89,3.3.2库存控制系统,把两种类型的需求放在同一个图中,如图3-18所示。,雇员,库存控制系统,报表,图3-18一副图中库存问题的控制和信息方面,业务规则,90,3.3.2库存控制系统,对于用户来说一个很常见的需求是能够修改系统运行所依赖的规则。管理人员修改业务规则,这就意味着我们必须有一个工件问题:管理人员必须能够定义业务规则。图3-19种的框架图同时显示三种类型的需求。把业务规则作为一个域来处理,实际上所有的需求集合都是域。可以用同一组概念讨论的任何事情都是一个域。甚至报表也能成为一个实现域。,91,3.3.2库存控制系统,图3-19库存控制系统的复合框架图,92,3.3.2库存控制系统,所以从“管理人员定义规则”问题(工件问题)的观点来看,业务规则是在系统内实现的工件。从“仓库移动货物”问题(控制问题)的观点来看业务规则(可变的)是需求。在这里问题框架中是非常典型的重叠。在更复杂的问题中,如果没有仔细分解成小的问题框架,这种重叠是非常麻烦的。,93,3.3.2库存控制系统,业务规则可能很复杂,但你要明白如何书写它们。用一节来说明它们是什么以及它们和货物进出仓库的关系。另一节描述管理人员可对业务规则执行的操作。在移动货物中,不同的雇员任务可能相当复杂,这些不要与业务规则同时讨论。不管问题多么复杂你必须把它分解成为人们可以理解的子问题,否则没有人能够把它作为一个整体来理解。,94,一个用于执行用户定义的复杂的统计计算的程序合并了变换框架和工件框架。当然变换框架包含了计算。工件框架包含了用户定义的,用于计算中的公式。两个子问题都同时呈现在图3-20中。,3.3.3统计包,95,3.3.3统计包,图3-20统计包框架图,结合了变换框架和工件框架,96,应答机存储着数字化信息而不是音频磁带上的信息,它内部的软件合并了控制框架和一个变换框架。控制框架说明记录和播放信息以对控制方和电话线上的活动进行响应。变换框架说明声音和其在内存中表示之间的映射。,3.3.4数字应答机,97,3.3.4数字应答机,图3-21数字应答机框架图,结合了变换框架和控制框架,98,3.3.5编译器,图3-23编辑器被错误地框定为变换问题,编译器经常被认为是一个变换问题,如图3-23所示。在源代码和目标文件之间有一个映射,编译器的任务就是根据映射产生目标文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论