16
1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng The Collaborative Dynamic Art Project Lifecycle Architecture CSE 403 A Spring 2006

1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

Embed Size (px)

Citation preview

Page 1: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

1The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

The Collaborative Dynamic Art Project

Lifecycle Architecture

CSE 403 A Spring 2006

Page 2: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

2The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Features

• Processing Compiler

• Art Node Display• Tagging/Search• Message Board

• Server Platform

• User Info

• Bug Reporting System

• Test Infrastructure

• Documentation

Database (SQL Server) Processing Compiler

Art Node Display Generator

Search/Tagging System

Message Board Generator

Home Page (Initial Art Node Display)

Bug ReportsMessage Board Node Edit Page

User Authentication (login) Custom Node Displays (from user search criteria or the tree descending of a selected node)

Server Modules

Client Modules

Page 3: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

3The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

User Flow Diagram

Processing Compiler

Home Page Initial Art Node Display

Note: Search Functions and Links to other pages will be embedded in the masthead of all reachable pages

Bug Reports Message Board Node Edit Page

User Authentication (login)

Custom Node Displays (from user search criteria or the tree descending of a selected node)

Page 4: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

4The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

System Architecture View

Web Clients (JavaScript, Java Applets, and HTML)

Web Server (IIS or Apache)

Server Applications (ASP.NET/Pearl)

Server Machine (Windows Server)

Database (SQL Server)

Processing Compiler

Art Node Display Generator

Art Node Display

Search/Tagging System

Bug Reporting System Input Message Board Display

Message Board Generator

Page 5: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

5The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Processing Compiler

• Given a source file and location for a jar file, it preprocesses and compiles the source and outputs a jar at the specified location ready to be embedded in a webpage.

• We are taking the processing source code and redesigning it with

everything unnecessary ripped out.

Page 6: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

6The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Server Platform

• Create an ASP.NET interface capable of catching calls from HTML/JavaScript.

• Create a database capable of conducting data transactions with the SQL Server

Page 7: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

7The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Art Node Display• Provide an easy way for users to create sample images (integrate into client)

• Display them in the directed graph in the constrained space of a browser window

Page 8: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

8The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Tagging/Search

• Create a way to attach and search project metadata

Page 9: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

9The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Message Board

• Develop a locally (our server) managed message board

Page 10: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

10The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

User Information

• Keep track of users, their activity, passwords, bug reporting etc

user manager

add_user(username, password)get_user(username, password)user_exists(username)verify_user(username, password)update_user(user_info, old_password)remove_user(username, password)

user

usernamepasswordprivilegenamestreetcitystatezipcodeemailcareerhomepagedescription

Page 11: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

11The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Bug Reporting System

• A way to aggregate, search, and respond to bug reports/feature requests

bug manager

add_bug(section, description, username, priority)update_bug(bug_info)find_num(bug_number)find_section(section)find_topic(keyword)

numbersectiondescriptionstatusdiscussionpriorityuser

bug

Page 12: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

12The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Test Infrastructure

• Create a test infrastructure capable of supporting the interface of all of the project features

• Conduct regular integration testing (when necessary)

– Note: all groups are expected to do independent unit testing of their features

Integration testing

Recovery testing

Functionality testing

Page 13: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

13The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Documentation

• Create deployment and client user manuals

• Develop requisite class documentation

User Requirements

Specifications

Constraints and Design Decisions

ArchitectureTeam-based

ImplementationDecisions

ScheduleEstimated

DevelopmentTime

Class Requirements

AndDeliverables

Design Requirements

Resources

Team and Team Assignment

Team Schedules

Development Plan

Test Plan

Agile Development Cycle

Progress Dependent

Proactive and EvolvingTest Cycle

Page 14: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

14The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Team Roles/Responsibilities

• Cy K - Team Lead/Architecture

• Alex Z - Documentation

• Brian H - Processing Client

• Aaron G - Processing Client

• Van P - Server Platform

• Arina R - Test Infrastructure

• David V - User Info and Bug Reporting System

• David R Art Node Display, Tagging/Search, and Message Board

Page 15: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

15The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Project Schedule

Week 3 • All teams complete/confirm architecture, specification, and risk analysis • Complete in house specification (Cy) • Complete LCA (Cy/Alex)

Week 4 – LCA Due • All teams develop Betas (feature complete) of individual releases

Week 5 • Integrate Betas (Core Release should be complete)

Week 6 • Test Integration/Work out Integration Errors

Week 7 – Beta Release Due (May 9) • Add any additional optional features (feature freeze this week)

Week 8 • Test/Write Documentation'

Week 9 • Release Engineering (deployment, packaging etc)

Week 10 – Final Release (May 30)

Page 16: 1 The Collaborative Dynamic Art Project Lifecycle Architecture Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes,

16The Collaborative Dynamic Art Project Lifecycle Architecture

Aaron Gremmert, Brian Harris, David Henry, Cy Khormaee, Van Phan, Arina Ramlee, David Rientjes, Alex Zheng

Project Risk Assessment

• Processing Compiler Server Mount

– Compatibility

• Module Integration

– Module Communications

– Consistent APIs

• Usability

– Organization

– Ease of Use

– Aesthetic Qualities

• Node Display

– Fits on the screen

– Creates palatable displays for large trees

• Documentation

– Readability

– Instructive