Team Everest Architectural Design Review September 15, 2011

36
Team Everest Architectural Design Review September 15, 2011 From: http://www.flickr.com/photos/troyismad/89419822/

description

Team Everest Architectural Design Review September 15, 2011. From: http://www.flickr.com/photos/troyismad/89419822/. Team Members. Larry Battle (CSE). Chris Brown (SE). Erica Llaca (SE). Bikash Acharya (CS). * Product Summary * Requirements * Layers / Sub-layers * Testing - PowerPoint PPT Presentation

Transcript of Team Everest Architectural Design Review September 15, 2011

Page 1: Team Everest  Architectural Design Review September 15, 2011

Team Everest Architectural Design Review

September 15, 2011

From: http://www.flickr.com/photos/troyismad/89419822/

Page 2: Team Everest  Architectural Design Review September 15, 2011

Team Members

Larry Battle (CSE) Chris Brown (SE)

Bikash Acharya (CS) Erica Llaca (SE)

Page 3: Team Everest  Architectural Design Review September 15, 2011

Overview

7/7/11

1. * Product Summary2. * Requirements

* Layers / Sub-layers* Testing

1. * Motivation2. * Flexibility3. * Feasibility

Page 4: Team Everest  Architectural Design Review September 15, 2011

Product Summary

Page 5: Team Everest  Architectural Design Review September 15, 2011

Customer Requirements1) The product will run in real time and have the results without lag.

2) The software shall process little response time

Page 6: Team Everest  Architectural Design Review September 15, 2011

Customer Requirements

3) The product shall have minimally invasive hardware

http://www.blogcdn.com/www.engadget.com/media/2010/09/neurosky-mindwave-01-top.jpg

Page 7: Team Everest  Architectural Design Review September 15, 2011

Customer Requirements

4) The product shall track all ranges of concentration

http://static.guim.co.uk/sys-images/Guardian/About/General/2009/6/30/1246373469711/Customers-use-computers-a-001.jpg

Page 8: Team Everest  Architectural Design Review September 15, 2011

Customer Requirements5) The product shall have little to no notification of concentration awareness

http://www.remove-virtumonde.com/wp-content/uploads/2009/04/virtumonde-pop-ups1.jpg

Page 9: Team Everest  Architectural Design Review September 15, 2011

Customer Requirements6) Must run on an average computer system.

http://media.photobucket.com/image/cpu%20magazine%20mods/jordan23james/100_4271.jpg

Page 10: Team Everest  Architectural Design Review September 15, 2011

7/7/11

Question: What are specs for an average computer system in 2011?

Image from: http://exonome.com/fj/phkl/open.jpg

Page 11: Team Everest  Architectural Design Review September 15, 2011

Answer:

CPU: 2.0GHz dual-core or betterRAM: 2-4GBHard drive: 160GB+Video: 512MB - 1GBOS: Windows XP or better

http://au.answers.yahoo.com/question/index?qid=20100218213650AAFr5vA

7/7/11

Question: What are specs for an average computer system in 2011?

Image from: http://exonome.com/fj/phkl/open.jpg

Page 12: Team Everest  Architectural Design Review September 15, 2011

http://hacknmod.com/wp-content/uploads/2009/04/messy-cables.jpg

Page 13: Team Everest  Architectural Design Review September 15, 2011

ADS History

Page 14: Team Everest  Architectural Design Review September 15, 2011

ADS History

Page 15: Team Everest  Architectural Design Review September 15, 2011

ADS History

Page 16: Team Everest  Architectural Design Review September 15, 2011

Overview of Layers

Page 17: Team Everest  Architectural Design Review September 15, 2011

Server Image from: http://www.instablogsimages.com/images/2007/01/08/hp-mediasmart-server_48.jpg

Page 18: Team Everest  Architectural Design Review September 15, 2011

Sub Layers

Page 19: Team Everest  Architectural Design Review September 15, 2011

Input Sub-layer

Tasks* Communicate with the external devices* Simply the input data into categories.* Compress all the input into one object.

Page 20: Team Everest  Architectural Design Review September 15, 2011

Database Sub-layer

Tasks* Allow our program to communicate with the database.

Page 21: Team Everest  Architectural Design Review September 15, 2011

Manager Sub-layer

Tasks* Provide an API for interfacing with our program.

Page 22: Team Everest  Architectural Design Review September 15, 2011

Event Handler Sub-layer

Tasks* Coordinate sub-layers communicate.

Page 23: Team Everest  Architectural Design Review September 15, 2011

Analyzer Sub-layer

Tasks* Analyzes the user state and action history to determine if the an attention getter should be launched.

Page 24: Team Everest  Architectural Design Review September 15, 2011

Check Sub-layer

Tasks* Does error checking for the sub-layers.* Calibrates the EEG.* Reports errors to the Manager sub-layers.

Page 25: Team Everest  Architectural Design Review September 15, 2011

Browser Sub-layer

Tasks* Communicate with the web browser.* Controls when our program should be on and off.

Page 26: Team Everest  Architectural Design Review September 15, 2011

7/7/11http://one7.files.wordpress.com/2010/06/browsers.jpg

Question: Which browser do you prefer?

Page 27: Team Everest  Architectural Design Review September 15, 2011

Testing Driven Development

“Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle” – wikipedia.org

4 main stages of TDD.

1) Write a test case.2) Watch it fail.3) Program it to pass.4) Refactor

Page 28: Team Everest  Architectural Design Review September 15, 2011

Testing for I/O Layer

1) Can the input sub-layer process the input from the external devices within a reasonable amount of time?

2) Can the database sub-layer add, update, deletedata from the database?

3) Does the input and database sub-layers sent data to the appropriate location?

4) Does the input simplify the data correctly?

Page 29: Team Everest  Architectural Design Review September 15, 2011

Testing Logic Layer

1) Can the Check Sub-Layer find and report errors?

2) Does the Event Handler send data to the function of the assigned Destination?

3) Do all the sub-layers communicate with the Event Handler correctly?

4) Does the Analyzer sub-layer launch an attention getter event when the user isn’t concentrated for a certain time period?

Page 30: Team Everest  Architectural Design Review September 15, 2011

Testing Controls

1) Can the Browser Sub-Layer communicate with the browser?

2) Are the attention getters appearing on the screen forthe designated time?

3) Can the Browser Sub-Layer turn off our program when the browser is closed?

Page 31: Team Everest  Architectural Design Review September 15, 2011

Motivation/ Flexibility

Possible Changes:- Event Handler helps abstracts the functions calls to the sub-layers.- Any changes to the inputs devices is handled by the Input Sub-Layer

Page 32: Team Everest  Architectural Design Review September 15, 2011

Alternative Architecture 1

Changes:- Move the Manager Sub-Layer to the Controls Layer- Integrate the Check sub-layer into the Event Handler sub-layer.

Page 33: Team Everest  Architectural Design Review September 15, 2011

Alternative Architecture 2

Changes:- Try to make each sub-layer connect to only one sub-layer.- Eliminate the Check and Event Handler sub-layers.

Page 34: Team Everest  Architectural Design Review September 15, 2011

Feasibility

http://tamsconcretecanvas.files.wordpress.com/2008/11/obama_yes_we_can.jpg

Page 35: Team Everest  Architectural Design Review September 15, 2011

Possible Hardware alternative

+ =+

Page 36: Team Everest  Architectural Design Review September 15, 2011

Any Questions?

http://committeeofpublicsafety.files.wordpress.com/2010/02/cute-sad-kitten06.jpg