KWIC - Software Architecture & Design Course Project 1...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
Software Architecture & Design Course Project 1 KWIC SOFTWARE ARCHITECTURE FOR WEB-BASED SERACH ENGINE Instructor : Dr. Lawrence Chung Changcheng Li Zhijun Zou Jian Zhu 02/28/2002
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
CS6362 Architecture Design Project I Spring 2002 1 1. INTRODUCTION 2 2. TEAM ORGANIZATION 2 2.1 Role Description 2 2.2 Organization and Work Distribution 3 3. PROCESS DESCRIPTION 3 4. REQUIREMENTS SPECIFICATION 5 4.1 Functional Requirements 5 4.2 Non-Function Requirements 5 5. ARCHITECTURE DESIGN ALTERNATIVES 5 5.1 Shared Data Design 5 5.2 Abstract Data Type Design 7 5.3 Implicit Invocation Design 10 5.4 Pipes-and-Filters Design 13 6. TRADEOFF ANALYSIS 14 6.1 Shared Data 14 6.2 Abstract Data Type 15 6.3 Implicit Invocation 15 6.4 Pipe and Filter 16 6.5 Conclusion 17 7. APPENDIX (UML DESIGN) 18
Background image of page 2
CS6362 Architecture Design Project I Spring 2002 2 1. INTRODUCTION KWIC (Key Word In Context) index system provides a convenient search mechanism for information in a long list of lines, such as book titles, or online documentation entries. It is widely used for a web search engine and the “permuted” index for the Unix Man pages. The system accepts an ordered set of lines, each line is an ordered set of word, and each word is an ordered set of characters. Any line may be ‘circularly shifted’ by repeatedly removing the first word and appending it at the end of line. The output is a listing of all circular shifts of all lines in alphabetical order.” The purpose of this project is to architect and implement a KWIC system, which will be used later for a web search engine. We will first introduce briefly the whole lifecycle and the requirement specification. Then the following four different architectural solutions to KWIC will be described in detail: Shared data style Abstract data type (ADT), or object-oriented style Implicit invocation style Pipes and filters style We will describe the style, components, glue, constraints, pattern of the four alternatives, analyze the advantages and disadvantages of each of them based mainly on non-functional requirements and use finally the object-oriented architecture style for implementation. The resulted java applet and all documentations will be accessible through our web page. 2. TEAM ORGANIZATION With the software complexity increasing, software development becomes a kind of team activity. Moreover, the development procedure can be divided into different stages involved with different groups of people. For example, different group of people may be involved in requirement analysis, system architecture design, implementation, testing, and launching of software system. It is critical to make good organization of the development process and good management of people resources. In order to get desired result, good process architecture is very necessary. 2.1 Role Description
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 19

KWIC - Software Architecture & Design Course Project 1...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online