1、南京邮电大学软件体系结构试验汇报试验题目 软件体系结构风格之应用 姓名 xxx 学号 xxx 院系 计算机、软件学院 指导老师 周国强12月18日一、 试验目标和要求 试验目标:经过KWIC实例分析,了解和掌握软件体系结构风格设计和实现。 试验要求:熟练掌握基于主/子程序体系结构风格KWIC关键词索引系统,在此基础上,完成基于面向对象体系架构风格KWIC关键词索引系统设计和实现。选做基于管道过滤体系架构风格KWIC关键词索引系统;选做基于事件过程调用体系架构风格KWIC关键词索引系统。 试验课前完成试验汇报试验目标、试验环境、试验内容、试验操作过程等内容;试验课中独立/团体操作完成试验汇报试验
2、操作、试验结果及结论等内容;每人一台PC机,所需软件Win/XP、UML工具(EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0等。试验课后完成试验汇报心得体会内容,并立即提交试验汇报。 二、 试验课时:2 三、 试验内容及操作步骤多个软件风格设计和实现之KWIC实例 : 1 采取主/子程序体系结构风格实现KWIC关键词索引系统 public static void input(String inputFile) FileReader fr=null; try fr=new FileReader(inputFile); catc
3、h (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); BufferedReader br=new BufferedReader(fr); textLines=new ArrayList(); try while(br.ready() textLines.add(br.readLine(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); public static void cir
4、cularShift() shiftedLineIndexes=new ArrayList(); for(int i=0;itextLines.size();i+)String orinLine=textLines.get(i);String sarray=orinLine.split( ); for(int j=0;j1)if(j=sarray.length-1)for(int k=0;k(sarray.length-1);k+)newLine=newLine+ +sarrayk;elsefor(int k=j+1;ksarray.length;k+)newLine=newLine+ +sa
5、rrayk;for(int m=0;mj;m+)newLine=newLine+ +sarraym; shiftedLineIndexes.add(newLine); public static void alphabetize() String tmpArray = new StringshiftedLineIndexes.size(); shiftedLineIndexes.toArray(tmpArray); Arrays.sort(tmpArray); sortedLineIndexes=tmpArray; public static void Output(String output
6、Address) FileWriter fw = null;try fw = new FileWriter(outputAddress); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();BufferedWriter bw=new BufferedWriter(fw); for(int i=0;isortedLineIndexes.length;i+) try bw.write(sortedLineIndexesi);bw.newLine(); catch (IOException e) /
7、TODO Auto-generated catch blocke.printStackTrace(); try bw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); 2 采取面向对象体系架构风格实现KWIC关键词索引系统 public void shift()ArrayList shiftedLineIndexes=new ArrayList(); for(int i=0;ils.size();i+)String orinLine=ls.get(i);String sarr
8、ay=orinLine.split( ); for(int j=0;j1)if(j=sarray.length-1)for(int k=0;k(sarray.length-1);k+)newLine=newLine+ +sarrayk;elsefor(int k=j+1;ksarray.length;k+)newLine=newLine+ +sarrayk;for(int m=0;mj;m+)newLine=newLine+ +sarraym; shiftedLineIndexes.add(newLine); ls=shiftedLineIndexes;(具体代码于附件)四、试验环境(试验设备) Windows 7 Microsoft Office visio 五试验小结经过此次试验,首先对软件体系结构有了更真切了解,尤其是对管道过滤器结构,主程序、子程序结构,抽象数据类型结构,隐式调用这四种结构了解愈加透彻了。同时还对KWIC有个一个认知过程。在实现上述两种结构过程中,对增强了数据结构掌握,和对面向对象概念深入了解。编程时,碰到了多种大大小小问题,尤其是数据结构定义方面,深刻体会到了数据结构关键性,同时发觉了自己编写代码移植性和编码风格全部不是很好,期望老师给指点。