1The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron Gremmert, Brian Harris, David Henry, Cy Khormaee,
Van Phan, Arina Ramlee, David Rientjes, Alex Zheng
The Collaborative Dynamic Art ProjectLifecycle Architecture
CSE 403 A Spring 2006
2The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
3The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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)
4The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
5The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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.
6The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
7The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
8The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
9The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
10The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
11The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
12The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
13The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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 PlanTest Plan
Agile Development Cycle
Progress Dependent
Proactive and EvolvingTest Cycle
14The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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
15The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron Gremmert, Brian Harris, David Henry, Cy Khormaee,
Van Phan, Arina Ramlee, David Rientjes, Alex Zheng
Project ScheduleWeek 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)
16The Collaborative Dynamic Art Project Lifecycle ArchitectureAaron 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