SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14.

Post on 18-Jan-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM

TEAM: GLOBAL 14

Agenda

1.Problem, Process and Solution2.Progress Report 

o Requirements Analysiso Architectureo Implementationo TO DO list

– Demonstration– Conclusion

Problem Description (QUICK KWIC;-))• Architect a simple KWIC system using OO  Style• Build a web-accessible interface for architected

system• Functional Requirements

o Accept ordered set of lineso "Circularly Shift" each input lineo Output a listing of all "circular shifts" of all lines in

ascending alphabetical order• NFRs

o understandable, portable, enhanceable...o responsive, user-friendly...

Development Process (Software)

Development Process (Team)

Devt. Process (Team Organization)

• Subdivisions o Our Group Size was largeo Coordination was more effective within smaller

groups• Weekly Online Meetings to keep every one abreast

of issues• Use of Google Docs and SVN• HOW TO Wiki for every team member to know what

is being done elsewhere

Our Solution

• A very easily enhanceable architecture based on the OO style

• A .NET application with a Microsoft Silverlight front end

• Why .NET o Exploring new frontiers in available technology

Work Done - Requirements AnalysisIssue: What set of characters are allowable as input into the system, ( ie. %, $, &) ?

Options:O1: All valid ASCII characters.O2: All valid Unicode characters.O3: Various other language characters.

Winner: O1

Work Done - Requirements Analysis (2)Issue: What is “user-friendly”? Does this only refer to GUI?

Options:O1: Provide Progress bar or timer for large inputsO2: GUI design should be simple to allow a user to immediately know what each element is for.O3: Provide a help function to assist usersO4: Provide a pop-up menu to assist users

Solution: O1, O2, O3

Test Plan

How we had to a test plan before development?

We start our test plan before implementation. We come up test plan and test cases with the requirement documents and architecture documents.

• NFRS test cases• FRS test cases

Work Done - Architecture• Software Architecture Analysis Method (SAAM) as a

basis upon which to systematically decide upon the ideal architecture for this project. 

• OO architecture was requested. The need to evaluate other systems is demonstrative rather than selective.

• 6 steps of the SAAM process:  Develop scenarios Describe candidate architecture Classify and prioritize scenarios Perform scenario evaluation Assess scenario interaction Generate overall evaluation

Work Done - Architecture (contd.)

Consideration of alternative  OO architectures - Option A

Diagram for First alternative considered

Work Done - Architecture (contd.)

Consideration of alternative  OO architectures - Option BDiagram for second alternative considered

The major advantage of this architecture is that data replication is eliminated

Work Done - Architecture (contd.)   Rationale for selecting final OO architectures (Option X)

++ = 100% + = 75% +- = 50% - = 25% -- = 0% 1. ADT1 75% 2. ADT2 80% 3. Implicit Invocation 50% 4. Pipe-and-Filter 60%

Work Done - Implementation

• Client• Engine• Server

User Manual

• How to set up the system• How to use/run the system• Required system configuration

Demonstration

http://hypv3355.appliedi.net/G14Kwic/  Computer Might Need Silverlight Installation

Input Text: This is a sample test for the presentation$We hope it convinces you we did our work

TO DO

• NFRs not yet tested• Enhancements of the UI

o "Clear Screen" Buttono Convert the Text Input into a Text Area

• Requirements traceability matrix

Conclusion

Our strenghts:• SAAM• Alternative OO architectures• Test plan built from the  beginning• Team organization to take cognizance of each

member's strengths and for effectiveness• Large number = more work done

??Any Questions??

top related