版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章软件系统需求获取、分析及描述2023/2/62教学内容4.1软件需求基础4.2需求过程
4.3需求获取4.4需求分析4.5需求确定4.6需求规格说明书2023/2/634.5.1问题框定4.5.2五个问题框架4.5.3多问题框架§4.5问题确定
2023/2/64域共享现象连接域现实域框架图从图到文档§4.5问题确定
4.5.1问题框定2023/2/65马的遍历:马开始于棋盘的中央如图3-1所示。问题是找到一系列的移动步骤,使马走完每个方框,而落入任何一个方框仅一次。图4-3马的遍历§4.5问题确定
2023/2/66§4.5问题确定
书写软件需求最重要的步骤是框定问题:把问题的特定部分,以及部分间特定的关系,放入一个特定的形式中。问题框定方法应该使问题得细节(不管如何复杂)适合一个简单连贯的框架,以便使人们能够系统地分析他们而不会被问题所压倒。在马的遍历中,方块上的数字是潜在的压倒性细节。如图3-2所示。2023/2/6713§4.5问题确定
图4-4马的遍历,重构123456789101112131415161718192021222324251121119810322292061724154723165142518212023/2/68§4.5问题确定
图4-5分解成域两个世界取货
送货到目的地
打印报表数据库方案接口子程序问题域机器域需求程序规格说明书4.5.1问题框定1.域2023/2/69从图中我们可以看出,每个域包含一组个体即我们想要陈述的显著事情。如图3-3中问题域的个体就是:卡车、城市、货物、司机、客户和用户等等——客观世界的物理实体。注意:个体的唯一准则是你总能区分每个个体——没有一个个体同时是另一个个体。§4.5问题确定
4.5.1问题框定1.域2023/2/610在每个域中也包含我们想讨论这些个体的每件事情,想肯定或者否定一个或多个个体的每一件事,叫做断言。机器域包含一组不同的断言:一个子例程占据一定的内存位置,一个子例程调用另一个等等。
§4.5问题确定
4.5.1问题框定1.域2023/2/611域也就是一组个体以及伴随它们的断言。个体不是现在或过去已存在的个体;它们是软件必须能够应付的潜在的个体。所以潜在的客户是问题域的一部分。当定义一个域时,我们不需要知道域中现在或将来要包含的所有实际个体;但我们要详细指定将要用于他们的所有断言。§4.5问题确定
4.5.1问题框定1.域2023/2/612信息类型
域中存在是实体种类——例如:人、车、音乐作品、燃料、道路名称等实体具有的属性种类——例如:颜色、状态、支付日期、账户上有多少钱等实体之间的关系——例如:司机拥有一辆汽车、诉讼中的拉辨双方等
域中发生的事件类型——例如:轿车可以被卖掉、滚筒可以传动等实体行为所遵循的因果法则——例如:当切仅当I/O端口0xf00的bit7为高时,伺服电机A启动,当伺服电机A启动时,滚筒RJ顺时钟传动表4-2域信息4.5.1问题框定1.域§4.5问题确定
2023/2/613当框定问题时,你不需要知道哪个事件将要发生,但必须知道事件所拥有的所有可能属性以及它们之间重要的关系。一个事件的属性就是参与在事件中的实体;或事件可能发生的时间和继续的时间;事件间的关系就是之前或之后这样的事情。§4.5问题确定
4.5.1问题框定1.域2023/2/614提议:确定的实体拥有确定的属性或相互之间具有的特定关系。属性和关系可以识别一个个体来为自己产生一个提议,或者他们可以为断言个体进行服务。一般软件项目,要知道的全部东西是描述每个域中的东西,根据这些描述,必须解释全部词汇以及根据词汇框定你的所有描述。§4.5问题确定
4.5.1问题框定1.域2023/2/615有关如何选择“什么去调用一个个体”和“什么去调用一个断言”往往依赖于你感兴趣断言和询问什么。并不是说每一个物理对象一定是个体,而无形的东西像名称和号码等一定是断言。唯一的规则是无论域的哪个部分都不可立刻成为两个个体,而且你必须已经知道所有你想对个体下的断言。§4.5问题确定
4.5.1问题框定1.域2023/2/616例子:为一个公共汽车从一地到另一地计算路程编写需求。我们感兴趣的提议是什么?§4.5问题确定
4.5.1问题框定1.域2023/2/617分解成域是框定问题最重要的技巧。我们分解域有两个主要原因。第一,如果我们明智地选择个体和断言,可以限制我们所关注的范围。第二,我们可以讨论贯穿于两个域中的因果关系,或域之间的其他关系,为了使一个域能够实现一定的效果或能够与其他域交流信息,它必须与其他域有重叠部分。4.5.1问题框定2.共享现象§4.5问题确定
2023/2/618域中的重叠部分为共享现象。共享现象是两个域之间所共有的状态、事件和对象。如:规格说明书中描述的输入/输出设备的行为就是一类型的共享现象。如果你把卡车和司机作为两个不同的域,那么司机驾驶卡车就同时发生在两个域中,也就是这个事件使他们两个都从同一个地方移动到另一个地方。4.5.1问题框定2.共享现象§4.5问题确定
2023/2/619共享实例:用户敲击的键也是软件接收的键。每个软件在监视器上所显示的像素也是用户所看见的像素。计算机中的两个正在运行的进程共享一块内存,保持着一个信号量,一个进程通过它来告诉另一个进程它本身是否安全地运行一个操作。4.5.1问题框定2.共享现象§4.5问题确定
2023/2/620氧传感器传送给轿车内微处理器的信号。由同一个微处理器给轿车燃料喷射器传送信号。一个目录,程序在其中存放文件供另一个程序以后恢复使用,或一个邮件夹,用来接收存放新邮件,以后供邮件阅读者翻阅。职员打出勤卡也是电子出勤卡记录事件。4.5.1问题框定2.共享现象§4.5问题确定
2023/2/621图4-6是一个气象分析研究系统,问题域:温度、气象站和研究员。图4-6四个域中的软件问题温度气象站计算机研究员4.5.1问题框定3.连接域§4.5问题确定
2023/2/622软件需求是要在研究员和地区的温度之间创建一个联系:研究员必须能够按照要求查询温度。因此气象站组成了一个特殊的域类型:连接域。连接域:一个域同我们希望有直接联接的域产生共享现象。4.5.1问题框定3.连接域§4.5问题确定
2023/2/623先来看一个例子:药房和医疗保险公司之间存在计算机进行交互。当病人提供给药房一个处方时,药房计算机要向保险公司的计算机发送许可申请。如果此事物符合保险公司所承诺的规则,保险公司计算机返还回由病人支付的一笔共付款项金额。药剂师就收取共付款项,并且保险公司欠药房药价减去共付款项后的一笔金额。4.5.1问题框定4.实现域§4.5问题确定
2023/2/624为了设计包含两套计算机的系统,我们必须知道这个债权在哪里,因为要想去控制它们或报告它们,我们必须知道系统如何访问它们。
债权必须存在系统之中,系统可以无条件地控制它们。系统要为它们内部的债权创建一个代理。药房和保险公司承认当某一特定的比特位模式在计算机中存在时,保险公司将欠药房相应的一笔金额,要根据一定的规则,这个比特位模式就被创建。4.5.1问题框定4.实现域§4.5问题确定
2023/2/625这个规则就是:在系统中设置一个授权能创建一个债权。这时我们就说系统在他内部实现了债权,债权就是一个实现域。为真实债权创建一个实现域作为代理,系统就可以控制债权。没有保险公司和药房的协定,就没有任何点去乱动计算机内部的比特位。没有哪一方将付钱给另一方。4.5.1问题框定4.实现域§4.5问题确定
2023/2/626对于人们之间任何类型的承诺,如果一个计算机想要去操作它,在需求文档中就必须以实现域来表示。这包括大多是债权、账目、运行任务的责任、约定的相见时间、在某一时间有权使用会议室等等。4.5.1问题框定4.实现域§4.5问题确定
2023/2/627用图形符号来描述软件问题的所有基本部分,我们把用这种符号绘制的图称为框架图。每个域用一个矩形来表示,两个域之间的共享现象用一根连接两个矩形的线来表示。要编程的机器用双边框矩形来表示。写在双边框内的词语表示编程后的计算机是什么类型的机器。4.5.1问题框定5.框架图§4.5问题确定
2023/2/628温度气象站信息系统研究员图4-7温度信息系统部分框架图:仅仅是域4.5.1问题框定5.框架图§4.5问题确定
2023/2/629如果一个域完全包含在另一个域当中,如果一组文档就完全包含在计算机中,框架图用一个大实黑点来表示它。文档字处理系统图4-8大实黑点显示一个域完全包含在另一个域中4.5.1问题框定5.框架图§4.5问题确定
2023/2/630大实黑点还表示那种共享于三个或多个域之间现象的极少情况。卡车驾驶事件货物图4-9大实黑点表示多个域卡车司机地点4.5.1问题框定5.框架图§4.5问题确定
2023/2/631图4-10温度信息系统的完整框架图用椭圆表示需求,用一根或者多根连线来连接需求所述的域。机器M在域D内产生效果R温度气象站信息系统研究员查询RDM4.5.1问题框定5.框架图§4.5问题确定
2023/2/632图4-11温度信息系统的完整框架图一个处理数字图像的部分软件框架图如图4-11所示。阅读框架图的方法所遵循的原则:椭圆属于哪个域;机器域与感兴趣的域的联系。输入图像过滤器输出图像图像处理算法RDMD4.5.1问题框定5.框架图§4.5问题确定
2023/2/633图4-12温度信息系统的完整框架图例如:查询是需求,机器M与我们所感兴趣的温度域间接相连。机器不能直接访问温度,需要通过气象站间接与温度通讯。温度气象站信息系统研究员查询RDM4.5.1问题框定5.框架图§4.5问题确定
2023/2/634已经框定了温度信息系统所解决的问题,就可以根据框架图的每一个元素文档化相应的细节。需求文档要包含的足够信息:用户能初始化的所有查询列表(如有关温度的所有问题)。温度的描述。气象站如何与温度交互的描述(记录温度参数的过程方法等)。4.5.1问题框定6.从图到文档§4.5问题确定
2023/2/635气象站如何与计算机交互的描述。研究员和计算机之间联系的描述。如果研究员可能有一些不同寻常的行为能影响用户接口设计,要对研究员进行描述。4.5.1问题框定6.从图到文档§4.5问题确定
2023/2/6364.5.2五个问题框架1.概要2.信息问题
3.控制问题4.变换问题5.工件问题6.连接问题§4.5问题确定
2023/2/637需求类型描述问题框架
查询对有关部分问题域的信息的请求信息行为规则问题域实施行为所依据的规则控制映射输入数据和输出数据之间的映射变换实现域上的操作
用户对仅存在于软件内的对象所执行的操作工件域间一致性使没有共享现象的域保持相同的状态连接五个不同的问题框架与表4-3种所呈现的五种需求类型相对应。4.5.2五个问题框架1.概要表4-3五种不同的问题框架§4.5问题确定
2023/2/638大多数软件问题同时包含上述几种需求类型。这里我们总结如下:
框定问题的目的不是强行使它们适应已经存在的问题类型;相反,当你遇到这些问题时,通过识别熟悉的问题并通过熟悉的问题,来着手解决不熟悉的问题。§4.5问题确定
4.5.2五个问题框架1.概要2023/2/639为信息问题书写需求,必须描述客观世界的相关部分、查询以及发起(初始化)查询的人或事物。真实世界信息系统信息请求者查询图4-13信息问题4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/640注意:只有需求满足查询,而因果关系不是信息问题的一部分。如,系统报告状态,但不对影响状态的行为负责,因为这是两种类型的需求。因果关系是另一种需求将在控制问题中讨论。下面是解决信息问题的软件实例:存货清单控制系统的一部分:显示所有项库存数量,打印有关库存数量少得项目报表,打印每日、每周、每月和每年结束时的销售报表。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/641一个网页搜索引擎:在万维网上搜索与用户指定主题相关的网页。图书馆目录系统:通知用户图书馆内有什么书籍,它们的书号和其他一些属性,以及该书是否被借出。图书馆目录系统的一小部分:登陆图书馆查询细节、发起查询来自于哪个终端以及有多少匹配项,帮助人们搜索用于提高上述查询系统的方法。在这种情况下软件解决另一个信息问题部分是真实世界部分。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/6421)连接域几乎所有的信息域都包含一个连接域,从真实世界到将要制作的软件之间传递信息。一般情况下,这个连接域是人手工输入数据。数据采集设备可能是另外一个连接域,气象站是一个例子。一个列出计算机内目录下的所有文件的程序,就没有连接域,但这是个例外。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/6432)静态和动态信息系统报告一个持续变化的真实世界的状态或者历史,比如账目余额、目前的股票价格、目前的仓库货物变化情况等。这些我们称其为动态信息系统。信息系统报告一个变化很小甚至根本没有变化的真实世界,比如药片的相互属性、材料的长度等。这些我们称其为静态信息系统。§3.2.2
信息问题
4.5.2五个问题框架2.信息问题
2023/2/644书写一个动态信息问题,你要说明软件如何访问那些可能改变查询结果的每一个事件。书写一个静态信息问题,你要说明的不是软件如何访问真实世界的相关部分,而是软件开发人员如何访问。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/6453)被动与主动用户发出的查询:用户输入有关X的查询,系统显示有关X的被请求信息。这样的信息系统对用户的输入做出被动的反应。一些信息系统在用户没有请求信息时也发出信息给他们。这样的信息系统对用户来说系统做出主动的反应。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/6464)解决信息问题通常信息问题的解决方案是在计算机内构造一个真实世界的模型。模型有计算机内的比特位组成,它们根据规则改变状态,而把比特位映射到真实世界的活动需要遵循这些规则。描述信息问题解决方案的规格说明书区域描述由软件所维护的模型,也能够改变一些查询结果的真实世界的每一事件,以及改变模型的相应的接口事件。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/647涉及用户的事件响应有两部分:用户负责执行的行为和更新模型。用户行为是软件的一个操作规程。静态信息系统的规格说明书不包含任何事件的响应,因为没有事件发生在问题域。如果问题域偶尔改变,或者它的知识改变(如药物学家有关药物相互作用的知识),那么规格说明书必须描述这些事件如何导致对模型的修改。4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/6485)检查清单
表4-4和4-5列举了书写一个信息问题的需求和规格说明书所需要的信息。表4-4信息问题:需求文档主题现实世界中的对象和他们的属性以及关系存储有关对象的数据改变查询结果的所有真实世界的事件,及这些事件发生的所有可能顺序查询系统如何访问对象和事件?(或在静态信息问题中,软件如何访问它们?)
系统需要访问的现存文件的文件格式(或者引用现存文档)
由连接域引入的失真和延迟§4.5问题确定
2023/2/649表4-5信息问题:规格说明书主题事件响应有效性规则用户接口,用户接口所需要的数据模型附加物,如优先原则操作规程4.5.2五个问题框架2.信息问题
§4.5问题确定
2023/2/650书写一个控制问题,需要描述三件事情:(1)客观世界相关部分的因果属性和其中的对象根据它们自身的本质而不是软件所应遵循的规则;(2)我们想让它们遵循的规则;(3)计算机和问题域所共享的现象,通过它们软件控制问题域并发起动作,从而产生必须遵守的2)中的规则。如图3-10所示。4.5.2五个问题框架3.控制问题
§4.5问题确定
2023/2/651一个控制问题惟一关注的是因果关系。控制器受控域行为规则图4-14控制问题4.5.2五个问题框架3.控制问题
§4.5问题确定
2023/2/6521)连接域有些控制问题需要指导人们执行各种活动,计算机起到指导人们行为的作用,但不能完全控制他们,这就在控制问题中出现了连接域。库存控制系统业务规则雇员仓库订单图4-15控制问题种的连接域4.5.2五个问题框架3.控制问题
§4.5问题确定
2023/2/653当接收或者根据订单发送货物给客户时,行为规则仅说明在仓库内移动货物。存货控制系统必须依赖于职员告诉它什么时候收到货物或新的订单。存货控制系统能使货物移动的唯一方法是指导人们去移动它。失真和延迟:有时发生了错误的货物移动,错误地输入订单数据等。系统给出一个指示和职员移动货物之间有一个时间延迟在订货部门接受一个订单和职员把订单输入到系统之间也有一个延迟,软件不能告诉什么时候或是否货物已经真正装运了等。4.5.2五个问题框架3.控制问题
§4.5问题确定
2023/2/6543)检查清单表4-6和表4-7例举了完整书写一个控制问题需要和规格说明书所需要的信息。表4-6信息问题:需求文档主题控制域中的对象:数据模型(如果有)控制域的因果法则,包括对象可能发生的事件行为规则计算机在问题域发起的行为计算机用于监视控制域的共享现象
任何连接域§4.5问题确定
2023/2/655表4-7信息问题:规格说明书主题触发规格或状态表,有计算机初始化的用于监控问题域活动的相关行为如果系统维护一个数据模型,它的事件响应用户接口和操作规程(如果有)4.5.2五个问题框架3.控制问题
§4.5问题确定
2023/2/656根据特定的规格产生影射到输入数据的输出数据。它的问题框架如图4-16所示。
图4-16变换问题输入数据过滤器输出数据映射4.5.2五个问题框架4.变换问题
§4.5问题确定
2023/2/657输入数据和输出数据是来自于两个集合的元素。书写一个变换问题由描述以下内容组成:所有可能输入的集合,所有可能输出的集合,有关每一个可能输入到它相应输出的规则。规则,在框架图中表示为映射,是惟一的需求。一个变换问题能够简单地叫做计算或映射问题。计算是根据一个规则简单地输入数字映射到输出数字。4.5.2五个问题框架4.变换问题
§4.5问题确定
2023/2/658解决变换问题的例子:在两个不同字处理器之间转换文件格式的程序。把条形码转换成数字的子例程。在大学的一个学期中,为学生、教师、课程分配教室的程序。图形处理软件,执行一些操作,如从数字图像上除去杂质。4.5.2五个问题框架4.变换问题
§4.5问题确定
2023/2/659一个程序,告诉一个公共汽车司机驾驶哪辆汽车从一个地方到另一个地方,并在指定时间到达。一个根据气象资料产生天气图的程序。打印机驱动程序:把来自操作系统的打印控制命令转换成等价的控制特定打印机的命令。根据卫星资料帮助考古学家发现沉没村庄的软件,这种软件运用复杂的规则把有关地球表面如何反射可见光的信息转换成为对地表下面存在什么的猜想。4.5.2五个问题框架4.变换问题
§4.5问题确定
2023/2/6601)解决变换问题解决变换问题的最主要工作是编程,而不是接口设计。如果软件要被其它程序访问,规格说明必须向需求中添加的所有东西就是接口设计,或者一个API(ApplicationProgrammingInterface,应用程序编程接口)
。2)检查清单表4-8和表4-9例举了完整书写一个变换问题需求和规格说明书所需要的信息。4.5.2五个问题框架4.变换问题
§4.5问题确定
2023/2/661表4-8变换问题:需求文档表4-9信息问题:规格说明书主题输入和输出集合数据源和目的地输入输出集合之间的映射主题用户接口和操作规程(如果有)API(如果有)4.5.2五个问题框架4.变换问题
§4.5问题确定
2023/2/662在工件问题中,软件的任务是能使用户创建对象,如文档和需求,就如车床帮助一个木匠创造木质工件一样。工件是无形的、仅存在于实现域中的软件对象,虽然软件可能产生它们有形的版本,如打印的文档等。有两种需求:使用户能在工件上执行指定的操作,在软件内实现工件。书写一个工件问题大部分工作是描述工件。4.5.2五个问题框架5.工件问题
§4.5问题确定
2023/2/663它的问题框架如图4-17。图4-17工件问题用户工具工件操作4.5.2五个问题框架5.工件问题
§4.5问题确定
2023/2/664解决工件问题软件的例子如下:一个字处理器:在计算机内创建文档。文档包含章节、页、段落、字符、图形等等。所有这些都具有软件设计人员所创造的属性和行为。常见交易图的程序。一个设计有限电视网络的程序。用户在邻居间放置各种电缆和设备去接受服务。4.5.2五个问题框架5.工件问题
§4.5问题确定
2023/2/665一个用于创建和显示有机分子模型的程序。音乐编辑器。产生警察猜想的犯罪嫌疑人和成草图的程序。选取下巴、嘴、眼睛、头发、颧骨等的证据,去创建一个他们所见到人物的准确画像。一个食谱文件。4.5.2五个问题框架5.工件问题
§4.5问题确定
2023/2/6661)解决工件问题解决工件问题的主要工作通常是用户接口设计,剩下的是编写程序:陈述工件和执行操作(我们不涉及这些)。2)检查清单表3-9和表3-10例举了书写一个完整的工件问题需求和规格说明书所需要的信息。4.5.2五个问题框架5.工件问题
§4.5问题确定
2023/2/667表4-10工件问题:需求文档表4-11工件问题:规格说明书主题工件操作主题用户接口和操作规程4.5.2五个问题框架5.工件问题
§4.5问题确定
2023/2/668在连接问题中,存在许多不直接共享现象的域,相反在它们之间通过其他域进行连接——连接域。问题是使两个不直接相连的域在运行时就像它们直接相连一样,在某种程度上这是可能的。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/669图4-18显示了连接域的两个基本类型。在类型a中,系统需要与所关心的域相互作用,但必须处理连接域所带来的从所关心的域到系统的信息延迟,或者执行由系统发出的命令。系统连接域所关心的域成功通信图4-18连接问题a)通过间接连接进行4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/670系统A通信系统系统B成功通信图4-18连接问题b)创建间接连接在类型b中,所要创建的系统是连接域,当系统A变化时,它根据系统A目前的状态负责改变系统B的状态(反之亦然)。在这两种情况下,需要仅是可以获得状态通信,不是一个完整的通信,因为一个完美通信是不可能得到的。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/671一些连接问题的例子如下:支持一个信息系统的数据录入人员。人工数据录入会引入失真,通常以排版错误的形式出现,由该错误引起的延迟经常会在人们真正输入正确数据之前。数据仓库根据大量的可操作数据存储的数据来答复查询——数据库中的数据,如订购录入系统、库存系统等,每个都是按照支持日常需求这个特定任务来订做的。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/672书写一个像图4-18a中的连接问题要包括描述共享现象之间的映射,这些共享现象包括链接连接域和所关心的域之间的共享现象,以及系统和连接域之间的共享现象,这个映射应包括失真类型和由连接域所引入的延迟。记录系统用于检测连接域是否正常工作所使用的方法是很有价值的。气象站例子中:如果有共享现象,系统可以利用它来检测气象站不工作或需要校正的情况,这些应当在需求文档中进行描述。在所关心的域中什么类型的行为是可能的和不可能的,这些信息可使系统检测错误。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/673
图4-19所示。如果有多个连接域连接相同的所关心的域,那么每个连接域的可靠性就认为与其它域相关联。例如,如果有三个不同的数据库包含人员姓名、地址、电话号码等信息,需求文档可这样陈述:对于名称,数据库A比数据库B可靠,B比C可靠,但是对于地址,B和C的可靠性是相同的,都比A要好。需求文档应该说明,这样规格说明书就可以利用它。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/674所关心的域通信系统用户查询数据库C数据库B数据库A图4-19相同所关心的域的多重连接4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/675书写一个如图4-18b所示的连接问题要包含:在状态或事件之间相同类型的映射,除非它已是所期望的映射,并具有所期望的失真和延迟特征。在类型b的连接问题中,问题域经常包括其它连接域,如图4-20所示。一个错误校正协议在由通信媒介分离的两个不同系统中同时运行。媒质的失真特征要在需求文档中描述,正如类型a中连接问题。
通信媒介,如铜芯线,对于不同的数据传输、不同的无线电频率等有不同的失真特性,在不同的时间有不同的失真特性。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/676通信系统系统A查询通信媒介通信B图4-20创建跨通信媒介的连接通信系统4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/6771)解决连接问题解决连接问题主要是利用问题域中的冗余,在连接问题类型b中,为此需要创建冗余。
在类型b的连接问题中,通常的解决方案是为数据添加各种校验。这些依次称为如类型a问题中相同的可用冗余。求和校验与数据一起传输,通过一个精确的数学规则与数据相关。接收者就可以抛弃那些经过校验与数据不匹配的数据块。4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/6782)检查清单
表4-12和4-13列举了书写一个连接问题的需求和规格说明书所需要的信息。表4-12连接问题:需求文档主题所关心域中的状态和事件所关系域中的冗余不同域的状态和事件之间的真实或期望的映射真是或期望的由连接域引入的失真或延迟用于说明哪个连接域中存在最可靠数据的规则4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/679表4-13连接问题:规格说明书主题有效性规则;当违反了有效性规则时系统所采取的行动增加冗余的操作规程通信协议猜测规则4.5.2五个问题框架6.连接问题
§4.5问题确定
2023/2/6804.5.3多框架问题1.组合问题框架2.库存控制系统3.统计包4.数字应答机
5.编译器6.电子邮件7.卫星勘测§4.5问题确定
2023/2/681理论上,当你遇到一个复杂的软件问题,你可以把它分解成不同的问题框架,这些问题框架只通过类似与一个狭窄的逻辑通道来相互作用,而这些通道适合一个框架的问题部分很少涉及另一个框架的问题部分。
把一个总的问题框定成为一组重叠很少的小问题—仅共享一个或几个域——是你在需求文档中对付复杂性问题的最重要的武器。4.5.3多框架问题1.组合问题框架
§4.5问题确定
2023/2/682库存控制系统的主要工作是指导运输货物进出一个仓库:当进货时,指导雇员存储货物,而当订单到达时,指导雇员找到货物并装运给客户。然而,填写订单要遵循一定的规则:如果客户远没有能力付款,他们的订单是不能填写的,不同的订单有不同的优先权等。库存控制系统的另一个任务是汇报仓库的活动:它现在的状态和过去的资金和货物流动。所以需要两个问题框架,控制框架和信息框架。4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/683
它们如框架图4-21和4-22所示。雇员库存控制系统业务规则订单仓库货物图4-21库存问题“从仓库中搬移货物”部分4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/684雇员是惟一直接与系统相联系的。业务规则:即根据订单定义货物从仓库中流动的业务规则,属于货物、仓库和订单,但不属于雇员。雇员是由控制系统调用来执行业务规则的简单手段。因为这是一个控制框架,它要求书写雇员的因果动因:他们可以做什么和库存控制系统如何叫他们去做这些。雇员可以影响货物、仓库和订单,所以在它(他)们之间有一根线连接着。4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/685图4-22库存问题“打印报表”部分雇员库存控制系统报表订单仓库货物图4-22显示了信息问题:根据雇员的需求产生有关货物、仓库和订单的报表,雇员再次成为一个连接域。4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/686
把两种类型的需求放在同一个图中,如图4-23所示。雇员库存控制系统报表订单仓库货物图4-23一副图中库存问题的控制和信息方面业务规则4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/687对于用户来说一个很常见的需求是能够修改系统运行所依赖的规则。管理人员修改业务规则,这就意味着我们必须有一个工件问题:管理人员必须能够定义业务规则。
图3-19种的框架图同时显示三种类型的需求。
把业务规则作为一个域来处理,实际上所有的需求集合都是域。可以用同一组概念讨论的任何事情都是一个域。甚至报表也能成为一个实现域。4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/688图4-24库存控制系统的复合框架图雇员库存控制系统报表订单仓库货物管理人员业务规则管理人员定义规则4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/689所以从“管理人员定义规则”问题(工件问题)的观点来看,业务规则是在系统内实现的工件。从“仓库移动货物”问题(控制问题)的观点来看业务规则(可变的)是需求。在这里问题框架中是非常典型的重叠。在更复杂的问题中,如果没有仔细分解成小的问题框架,这种重叠是非常麻烦的。4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/690业务规则可能很复杂,但你要明白如何书写它们。用一节来说明它们是什么以及它们和货物进出仓库的关系。另一节描述管理人员可对业务规则执行的操作。在移动货物中,不同的雇员任务可能相当复杂,这些不要与业务规则同时讨论。不管问题多么复杂你必须把它分解成为人们可以理解的子问题,否则没有人能够把它作为一个整体来理解。4.5.3多框架问题2.库存控制系统
§4.5问题确定
2023/2/691一个用于执行用户定义的复杂的统计计算的程序合并了变换框架和工件框架。当然变换框架包含了计算。工件框架包含了用户定义的,用于计算中的公式。两个子问题都同时呈现在图4-25中。4.5.3多框架问题3.统计包
§4.5问题确定
2023/2/692图4-25统计包框架图,结合了变换框架和工件框架公式统计包计算规则输入数据输出数据用户创建和编辑公式4.5.3多框架问题3.统计包
§4.5问题确定
2023/2/693应答机存储着数字化信息而不是音频磁带上的信息,它内部的软件合并了控制框架和一个变换框架。控制框架说明记录和播放信息以对控制方和电话线上的活动进行响应。变换框架说明声音和其在内存中表示之间的映射。4.5.3多框架问题4.数字应答机
§4.5问题确定
2023/2/694图4-26数字应答机框架图,结合了变换框架和控制框架内存软件语音数字化规则语音电话线扬声器/麦克风录音/回放控件4.5.3多框架问题4.数字应答机
§4.5问题确定
2023/2/695源文件编译器目标文件语言语义图4-27编辑器被错误地框定为变换问题编译器经常被认为是一个变换问题,如图4-27所示。在源代码和目标文件之间有一个映射,编译器的任务就是根据映射产生目标文件。4.5.3多框架问题5.编译器
§4.5问题确定
2023/2/696事实上创建映射是编译器涉及的真正主要工作。其规则是映射必须是这样:当被编译程序运行时,目标机器要按照原文件的语义来运行。所以在这里,对问题框架组合的通用方法做一些修改。部分解决方案是去定义变换问题,解决它的同时也可以解决一个控制问题。变换问题是从源语句到机器指令的映射。控制问题是使目标机器按照源文件指定的方式运行。正确的问题框架如图4-28所示。4.5.3多框架问题5.编译器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康养护与康复管理合同
- 互动式授课服务合同
- 车辆抵押保证协议
- 建筑材料销售合同
- 钢筋栏杆采购协议
- 铁路项目合同协议书
- 拖车服务合同书范本
- 公路施工项目劳务协议
- 双方门面转让协议范本
- 《食品良好操作规范》课件
- 网球运动损伤与防护课件
- 2022-203学年(中职)《餐饮服务与管理》试题3试卷带答案
- 小学综合实践二年级上册第三单元《神奇的影子》教材分析及全部教案
- 紧急抢救非同型输注管理制度
- TSG-R0005-2022《移动式压力容器安全技术监察规程》(2022版)
- 四年级下册综合实践 四年级下册综合实践活动教案
- 国有企业管理制度汇编
- 畜禽养殖档案记录
- 设计服务质量承诺及保证措施
- 剪映考试试题及答案
- 生物中考复习识图部分
评论
0/150
提交评论