20
SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

Embed Size (px)

Citation preview

Page 1: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM

TEAM: GLOBAL 14

Page 2: 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

Page 3: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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...

Page 4: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

Development Process (Software)

Page 5: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

Development Process (Team)

Page 6: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 7: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 8: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 9: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 10: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 11: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 12: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

Work Done - Architecture (contd.)

Consideration of alternative  OO architectures - Option A

Diagram for First alternative considered

Page 13: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 14: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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%

Page 15: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

Work Done - Implementation

• Client• Engine• Server

Page 16: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

User Manual

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

Page 17: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 18: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 19: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

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

Page 20: SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14

??Any Questions??