290 likes | 538 Vues
KWIC SYSTEM by Hestia. Hestia: Aarthi Giridharan Govindarajan Panneerselvam Nirmal Chander Shesha Chandrika Moka Sriram Rajendran Suryanarayanan Ganesh Melarkode Vignesh Swaminathan Vinod Myll Mylsamy. What are we going to talk about?. Introduction to Context and KWIC ( nirmal ) //
E N D
KWIC SYSTEMby Hestia Hestia: • AarthiGiridharan • GovindarajanPanneerselvam • NirmalChander • Shesha Chandrika Moka • SriramRajendran • Suryanarayanan Ganesh Melarkode • VigneshSwaminathan • Vinod Myll Mylsamy
What are we going to talk about? • Introduction to Context and KWIC (nirmal) // • Functional Requirements (vinod) // • Non-functional Requirements (chandrika) // • Architectural Specification (Aarthi & sriram) // • Demo (vignesh) // • Traceability Matrix (govind) // • What is special about us? (surya) ** • References //
Keyword is : GAS How important is CONTEXT?
Why is CONTEXT important? • As information architect Peter Morville stated in his User Experience Design article years ago,”…we must strike a unique balance on each project between business goals and CONTEXT, user needs and behavior, and the available mix of content.”
The KWIC System • Key Word In Context: The index is formed by sorting and aligning words within a sentence. This allows each word to be searchable alphabetically in the index. • Input: An ordered set of lines • Method: Any line is circularly shifted (repeatedly remove the first word and append it to the end) • Output: All circular shifts of the line in alphabetically ascending order
Functional Requirements • Accept an ordered set of lines. • Output all circular shifts in a sorted manner. • Allow users to select the mode of search (AND/OR/NOT).
FR 1: Accept an ordered set of lines Define Delimiter Use Return Key
FR 2: Output all circular shifts in a sorted manner Random Order Alphabetical Order Based on Frequency
FR 3: Allow user to select mode of search (AND/OR/NOT) Radio Buttons Individual Textboxes Enter Keywords (+/-/!)
Non Functional Requirements Understandability Enhance-able Portability
NF 1: Understandability Understandability Any user can easily navigate and use the system. Resolution: Buttons and other UI items are properly labeled. In addition, proper instructions are included on the web page.
NF 2: Enhance-able Enhance-able: Enhance-able can lead to mean the system is modularized and independent Resolution: The system is developed using OO concepts. Addition of new features doesn’t affect other modules.
NF 3: Portability Portability: This feature enables the codebase to be reused instead of rewriting the code when moved to a new environment Resolution: Used Object Oriented Style which allows modifiability and adaptability without affecting the other modules
Architecture Specification • Available Options: • Shared Data Architecture • Implicit Invocation Architecture • Pipe & Filter Architecture • Abstract Data Type Architecture • Our choice: Abstract Data Type (ADT) Architecture
Shared Data Architecture • Data is communicated between the components through shared storage Advantages- • Performance, space and time • Efficient data representation as same storage is shared • No copying of data Disadvantages- • Modifiability • Enhanceability • Reusability
Implicit Invocation • Component integration based on shared data • Interface to the data is more abstract than in shared data (like in ADT) • Computations are invoked implicitly as data is modified based on active data model Drawback- Difficult to control the order of processing
Pipe and Filter • Each filter processes the input data and output data • Each filter can run whenever it has data on which to compute • Data sharing between filters is strictly limited to that transmitted on pipes Drawback- Difficult to support on interactive system
Why ADT? • Complex systems can be built as a collection of small autonomous interacting agents • More flexible for changes
Why ADT? • Changes to the data can be easily accommodated (the object using that data maintains the same input and output formats) • Supports the reusability of existing classes and objects
Disadvantages of ADT • Objects should know the identity of other objects • It is difficult to control the exact ordering of modules called internally by these objects • When the identity of the object changes it is necessary to modify all objects that invokes it • Advantages > Disadvantages = Optimal Solution
Why did we still choose ADT? • The style is suited for cases where the data representation is likely to change during the lifetime of the system • Class concept allows us to relate similar objects and reuse code through the inheritance mechanism
Demo Click Here!
Our Future Enchantments (- Why we are better) Depending on context of time and resources we may choose to implement the following: • Sorting based on user relevance (Example IMDB), • Method 1: Specifying the rules in the program (hard-coded), • Method 2: Specifying the rules in a Dashboard. • Update our website to a better design
References • Lecture Notes • Class Discussions • Sample project files on Class Webpage • Wikipedia: KWIC System • UTD Wiki
Thank you Questions