软件体系结构kwic实验

软件体系结构kwic实验

ID:26598347

大小:178.54 KB

页数:18页

时间:2018-11-27

软件体系结构kwic实验_第1页
软件体系结构kwic实验_第2页
软件体系结构kwic实验_第3页
软件体系结构kwic实验_第4页
软件体系结构kwic实验_第5页
资源描述:

《软件体系结构kwic实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《软件体系结构》实验:软件体系结构风格之应用一、实验目的通过KWIC实例分析,理解和掌握软件体系结构风格设计与实现。二、实验内容多种软件风格设计与实现之KWIC实例:1.采用主/子程序体系结构风格实现KWIC关键词索引系统2.采用面向对象体系架构风格实现KWIC关键词索引系统3.采用管道过滤体系架构风格实现KWIC关键词索引系统4.采用事件过程调用体系架构风格实现KWIC关键词索引系统三、实验要求与实验环境熟练掌握基于主/子程序体系结构风格的KWIC关键词索引系统,在此基础上,完成基于面向对象体系架构风格的KWIC关键词索引系统设计与实现。选做基

2、于管道过滤体系架构风格的KWIC关键词索引系统;选做基于事件过程调用体系架构风格的KWIC关键词索引系统。实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等内容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等内容;每人一台PC机,所需软件Win2003/XP、UML工具(EclipseUML/Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0等。四、实验操作1、采用主/子程序体系结构风格实现KWIC关键词索引系统主程序/子程序风格(MainProgram/Subroutin

3、eStyle)将系统组织成层次结构,包括一个主程序和一系列子程序。主程序是系统的控制器,负责调度各子程序的执行。各子程序又是一个局部的控制器,调度其子程序的执行。设计词汇表:主程序main(),子程序shift(),sort()方法,方法的调用,返回构件和连接件类型:构件:各类子程序,如shift(),sort()连接件:方法的调用基本的计算模型:子程序有shift(),sort()方法,shift()对单词进行移位,sort()方法对单词进行排序风格的基本不变性:主程序有顺序地调用子程序,单线程控制。KWIC的主/子程序体系结构风格示意图如下所

4、示:主程序/子程序风格的重要设计决策与约束有:●基于声明-使用(程序调用)关系建立连接件,以层次分解的方式建立系统部件,共同组成层次结构。●每一个上层部件可以“使用”下层部件,但下层部件不能“使用”上层部件,即不允许逆方向调用。●系统应该是单线程执行。主程序部件拥有最初的执行控制权,并在“使用”中将控制权转移给下层子程序。●子程序只能够通过上层转移来获得控制权,可以在执行中将控制权转交给下层的子子程序,并在自身执行完成之后必须将控制权还交给上层部件。KWIC主程序/子程序风格的Java语言实现见附件。主程序/子程序风格的主要实现机制是模块实现,它

5、将每个子程序都实现为一个模块,主程序实现为整个系统的起始模块。依照抽象规格的层次关系,实现模块也被组织为相应的层次机构,通过导入/导出关系相连接。需要强调的是,虽然主程序/子程序风格非常类似于结构化程序的结构,但是主程序/子程序风格是基于部件与连接件建立的高层结构。它的部件不同于程序,而是更加粗粒度的模块。而且,在部件的实现模块内部,可以使用结构化方法,也可以使用面向对象方法,这并不妨碍整个系统的高层结构符合主程序/子程序风格的约定。主程序/子程序风格的优点有:流程清晰,易于理解。强控制性。严格的层次分解和严格的控制权转移使得主程序/子程序风格对

6、程序的实际执行过程具备很强的控制能力,这带来了一个特点:如果一个子程序所连接的子子程序是正确的,那么就很容易保证该子程序的“正确性”。所以,主程序/子程序风格比其他常见风格更能控制程序的“正确性”。2、采用面向对象体系结构风格实现KWIC关键词索引系统面向对象式风格,需要强调说明的是它的“对象”是部件,属于高层结构的元素,虽然名称相同,但它并不是面向对象方法中所述的“对象”实体。“面向对象式”风格的命名是因为它借鉴了面向对象方法的思想,而不是因为它使用面向对象方法实现体系结构,这也是在该风格名称中有一个“式”字的原因。面向对象式风格的主要实现机制

7、是模块实现,它将每个对象部件实例都实现为一个模块。存在连接的对象部件实例之间会存在模块的导入/导出关系。每个模块内部可以是基于面向对象方法的实现,也可以是基于结构化方法的实现。设计词汇表:(1)input,output,shift,sort,main类(2)shift,sort,output对象(3)对象间的消息传递构件和连接件类型:(1)构件类型:对象(2)连接件的类型:为对象间的消息传递KWIC的面向对象程序体系结构风格示意图如下所示:基本的计算模型:Input模块从文本文件input.txt中一行一行读取单Shift模块用于将单词移位。So

8、rt模块将单词进行排序。Output模块将最终结果写到文本文件output.txt中KWIC面向对象风格的Java语言实现见附件。面向对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。