Top Banner
SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14
20
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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??