9.4.2 SAAM 评估实例ppt课件_第1页
9.4.2 SAAM 评估实例ppt课件_第2页
9.4.2 SAAM 评估实例ppt课件_第3页
9.4.2 SAAM 评估实例ppt课件_第4页
9.4.2 SAAM 评估实例ppt课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、9.4.2 SAAM 评估实例,1,SAAM的评估步骤,1.形成场景 2.描述体系结构 3.对场景进行分类和确定优先级 4.对间接场景进行单个评估 5.评估场景的相互作用 6.形成总体评估 7.SAAM评估日程安排(略),2,KWIC系统简介,KWIC(Key Word In Context)系统的基本功能是,输入一些句子,系统把这些句子中的词语重新组合成新的句子,然后按照字母顺序进行输出。 例如,输入: predicting software quality architecture level evaluation 则KWIC的输出为: architeture level evaluati

2、on evaluation architecture level ,3,1定义角色和场景,对KWIC系统感兴趣的角色有两个: 最终用户: (1)修改KWIC程序,使之成为一个增量方式而不是批处理方式。这个程序版本将能一次接受一个句子,产生一个所有置换的字母列表。 (2)修改KWIC程序,使之能删除在句子前段的噪声单词。 开发人员(用户并不了解): (1)变句子的内部表示(例如:压缩与解压)。 (2)改变中间数据结构的内部表示(例如:即可直接存储置换后的句子,也可存储转换后的词语的地址。),4,2描述体系结构,(1)共享内存的解决方案 该体系结构中有一个全局存储区域,被称作Sentences,用

3、来存储所有输入的句子。其执行顺序是:输入例程读入句子 存储句子 循环转换例程转换句子 字母例程按字母顺序排列句子 输出。当需要时,主程序传递控制信息给不同的例程。,5,Master Control 1,Input 1,3,Circular Shift 2,3,4,Alphabetize 1,3,4,Output 3,4,Sentences,Shifted index,Alphabetized Index,计算构件,数据存储,数据流,控制流,共享内存的解决方案示例,6,(2)抽象数据类型解决方案,抽象数据类型(abstract data type,ADT),其中每个功能都隐藏和保护了其内部数据表

4、示,提供专门的存取函数作为唯一的存储、检索和查询数据的方式。ADT Sentencen有两个函数,分别是set和getNext,用来增加和检索句子;ADT Shifted Sentences提供了存取函数setup和getNext,分别用来建立句子的循环置换和检索置换后的句子。,7,ADT Shifted Sentences 使用ADT Sentence的getNext函数来重新存储输入的句子。ADT Alphabetized Sentences 提供了一个setup函数和一个i-th函数,setup函数重复调用Shifted Sentences的getNext函数,以检索已经存储的所有行和进

5、行排序,i-th函数根据参数i,从存储队列中返回第i个句子,8,Master Control 1,Input 1,Set 3,4,GetNext 3,4,Sentences,Setup 4,GetNext 2,4,Shifted Sentences,Setup 1,4,i-th 4,Alphabetized Sentences,Output,计算构件,数据存储,数据流,控制流,抽象数据类型,抽象数据类型解决方案示例,9,3评估体系结构,既然已经把待评估的体系结构用通用的符号标记了出来,接下来就是评估体系结构满足场景的程度。通过依次考虑每个场景来进行评估。我们所选择的用来评估的所有场景都是间接场

6、景,也就是说,这些场景不能被待评估的体系结构直接执行,因此评估依赖于体系结构的某些修改。,10,(1)场景 1,第一个场景是从批处理模式转移到增量模式,也就是说,不是把所有的句子都输入 完后,再进行一次性的处理,而是一次只处理一个句子。,11,对共享内存解决方案而言,这需要修改Input 例程,使之在读入一个句子后让出控制权,同时也要修改Master Control 主控程序,因为子例程不再是按顺序一个只调用一次,而是一个迭代调用的过程。还要修改Alphabetized例程,因为使用增量模式后,牵涉到插入排序的问题。我们假设Circular Shift 例程一次只处理一个句子,且输出函数只要被

7、调用就可以输出。,12,对ADT解决方案而言,Input函数需要修改,使之在被调用时,一次只输入一行。假设Sentence 当存储了输入之后放弃控制权,这无需改变。也假设当 Shifted Sentences 被调用时能请求和转换所有可获得的句子,这样,该例程也无需改变。在共享内存解决方案中Alphabetized Sentences 也必须修改。,13,综上所述,对于第一个场景而言,两个带评估的体系结构受到的影响是均等的,因此,我们判定其为中性,14,注意: 我们所做的假设只是针对共享内存解决方案而言的,一般来说,判断的准确性取决于不同的计算构件的内部工作知识。这也就是为什么要期望评估人员中

8、,既有计算构件一般知识的人,也要有特定构件知识的人。,15,(2)场景 2,第二个场景要求删除句子中的“噪声”单词。无论是在共享内存解决方案还是在ADT解决方案中,这种需求均可通过修改转换函数很容易的实现。(共享内存体系结构中,修改Circular Shift 函数,在ADT体系结构中,修改Shifted Sentences 函数)。因为在两种体系结构中,转换函数都是局部的,且噪声单词的删除不会影响句子的内部表示,所以,对两种体系结构而言,这种修改是等价的。,16,(3)场景 3,第三个场景要求改变句子的内部表示,例如从一个未压缩的表示转换到一个压缩的表示。在共享内存体系结构中,所有函数共享一

9、个公用的表示,因此除了中控函数Master Control 以外,所有函数都受到该场景的影响。在ADT体系结构中,输入句子的内部表示Sentence 提供缓冲。因此。就第三个场景而言,ADT体系结构比共享内存体系结构要好。,17,(4)场景4,第四个场景要求改变中间数据结构的内部表示。对于共享内存体系结构,要修改Circular Shift,Alphabetized和Output三个例程。对于ADT体系结构,需要修改ADT Shifted Sentences和Alphabetized Sentences。因此,ADT体系结构解决方案所受的影响的构件数量要比共享内体系结构解决方案的少。,18,5

10、比较分析,检查待评估的体系结构,看其有多少个构件受场景的影响,每个构件最多受多少个场景的影响。 从这个方面来看,ADT体系结构要比共享内存体系结构要好。 在两种体系结构中,亮着都有四个构件受场景的影响,但是在共享内存体系结构中,有两个构件受三个场景的影响,而在ADT体系结构中,所有构件最多只受两个场景的影响。,19,6评估结果,20,上表概括了评估结果。其中0表示对于该场景而言,两个体系结构是等价的。 在实际的评估中,还需要根据组织的偏好设置场景的优先级。 如果,功能的增加是风险承担者最关心的问题,那么这两个体系结构是不相上下的(例如场景2)。 如果句子的内部表示的修改是风险承担者最关心的问题(如场景3),那么ADT体系结构显然是要首选的。,21,使用SAAM方法评估系统的结果通常是容易理解,容易解释,而且和不同的组织的需求目标联系在一起。开发人员、维护人员、用户和管理人员会找到

温馨提示

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

评论

0/150

提交评论