- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.4.2 SAAM 评估实例.ppt
9.4.2 SAAM 评估实例 SAAM的评估步骤 1.形成场景 2.描述体系结构 3.对场景进行分类和确定优先级 4.对间接场景进行单个评估 5.评估场景的相互作用 6.形成总体评估 7.SAAM评估日程安排(略) KWIC系统简介 KWIC(Key Word In Context)系统的基本功能是,输入一些句子,系统把这些句子中的词语重新组合成新的句子,然后按照字母顺序进行输出。 例如,输入: predicting software quality architecture level evaluation 则KWIC的输出为: architeture level evaluation evaluation architecture level ··· ··· 1·定义角色和场景 对KWIC系统感兴趣的角色有两个: 最终用户: (1)修改KWIC程序,使之成为一个增量方式而不是批处理方式。这个程序版本将能一次接受一个句子,产生一个所有置换的字母列表。 (2)修改KWIC程序,使之能删除在句子前段的噪声单词。 开发人员(用户并不了解): (1)变句子的内部表示(例如:压缩与解压)。 (2)改变中间数据结构的内部表示(例如:即可直接存储置换后的句子,也可存储转换后的词语的地址。) 2·描述体系结构 (1)共享内存的解决方案 该体系结构中有一个全局存储区域,被称作Sentences,用来存储所有输入的句子。其执行顺序是:输入例程读入句子 存储句子 循环转换例程转换句子 字母例程按字母顺序排列句子 输出。当需要时,主程序传递控制信息给不同的例程。 (2)抽象数据类型解决方案 抽象数据类型(abstract data type,ADT),其中每个功能都隐藏和保护了其内部数据表示,提供专门的存取函数作为唯一的存储、检索和查询数据的方式。ADT Sentencen有两个函数,分别是set和getNext,用来增加和检索句子;ADT Shifted Sentences提供了存取函数setup和getNext,分别用来建立句子的循环置换和检索置换后的句子。 ADT Shifted Sentences 使用ADT Sentence的getNext函数来重新存储输入的句子。ADT Alphabetized Sentences 提供了一个setup函数和一个i-th函数,setup函数重复调用Shifted Sentences的getNext函数,以检索已经存储的所有行和进行排序,i-th函数根据参数i,从存储队列中返回第i个句子 3·评估体系结构 既然已经把待评估的体系结构用通用的符号标记了出来,接下来就是评估体系结构满足场景的程度。通过依次考虑每个场景来进行评估。我们所选择的用来评估的所有场景都是间接场景,也就是说,这些场景不能被待评估的体系结构直接执行,因此评估依赖于体系结构的某些修改。 (1)场景 1 第一个场景是从批处理模式转移到增量模式,也就是说,不是把所有的句子都输入 完后,再进行一次性的处理,而是一次只处理一个句子。 对共享内存解决方案而言,这需要修改Input 例程,使之在读入一个句子后让出控制权,同时也要修改Master Control 主控程序,因为子例程不再是按顺序一个只调用一次,而是一个迭代调用的过程。还要修改Alphabetized例程,因为使用增量模式后,牵涉到插入排序的问题。我们假设Circular Shift 例程一次只处理一个句子,且输出函数只要被调用就可以输出。 对ADT解决方案而言,Input函数需要修改,使之在被调用时,一次只输入一行。假设Sentence 当存储了输入之后放弃控制权,这无需改变。也假设当 Shifted Sentences 被调用时能请求和转换所有可获得的句子,这样,该例程也无需改变。在共享内存解决方案中Alphabetized Sentences 也必须修改。 综上所述,对于第一个场景而言,两个带评估的体系结构受到的影响是均等的,因此,我们判定其为中性 注意: 我们所做的假设只是针对共享内存解决方案而言的,一般来说,判断的准确性取决于不同的计算构件的内部工作知识。这也就是为什么要期望评估人员中,既有计算构件一般知识的人,也要有特定构件知识的人。 (2)场景 2 第二个场景要求删除句子中的“噪声”单词。无论是在共享内存解决方案还是在ADT解决方案中,这种需求均可通过修改转换函数很容易的实现。(共享内存体系结构中,修改Circular Shift 函数,在ADT体系结构中,修改Shifted Sentences 函数)。因为在两种体系结构中,转换函数都是局部的,且噪声单词的删除不会影响句子的内部表示,所以,对两种体系结构而言,这种修改是等价的。
文档评论(0)