Escolar Documentos
Profissional Documentos
Cultura Documentos
ROOMS Team
CS706, Analysis of Software Artifacts Fall 2001
Problem Statement
additional functionality better documentation better extensibility better integration with colloq
Process
Requirements Use Cases
Program Design
System Design
Implementation
Testing
Requirements
Requirements
Requirements
Requirements
Will Benton
Requirements
Requirements
Will Benton
Gerry Tutsch
Requirements
Requirements
Will Benton
Gerry Tutsch
Dave Parter
Requirements
Faculty
Requirements
Will Benton
Gerry Tutsch
Dave Parter
Requirements
Current Users Faculty
Requirements
Will Benton
Gerry Tutsch
Dave Parter
Requirements
Marv Solomon Current Users Faculty
Requirements
Will Benton
Gerry Tutsch
Dave Parter
Use Cases
User
Client User
Client User
Server
Client User
Server
Persistence
Client User
Server
Persistence
Software Targets
/
/
Tomcat
Servlet API
/
/ / /
Java
JSSE JavaMail JAF
PostgreSQL
Refining Design
Browser User
Servlet
PostgreSQL
Refining Design
Browser User
Servlet
PostgreSQL
HTTP or HTTPS
JDBC
Components
Focusing
Browser User
Servlet
PostgreSQL
HTTP or HTTPS
JDBC
Refining
Servlet
Handler
JDBC
Refining
Rooms Servlet
HTML Form
Handler
Web Page
JDBC
Sequence
Refining
Handler Factory request HTTP response Rooms Servlet HTML Form
Handler
Web Page
JDBC
Refining
Handler Factory request HTTP response Rooms Servlet HTML Form
Handler
Web Page
JDBC
Refining
Handler Factory request HTTP response Rooms Servlet HTML Form
Handler
Web Page
JDBC
Refining
<<abstract>> HTMLForm request HTTP response Rooms Servlet <<concrete>> HTMLForm <<concrete>> Handler <<concrete>> WebPage JDBC
Program Design
Event EventHandler Database
Event:
1. Related to Reservation (view, make, cancel, delete) 2. Related to Room (view, add, delete,edit) 3. Related to User(add, delete, change privilege)
Program Design
/
EventHandler (make SQL, deliver SQL result): 1. Reserve Handler 2. Room Handler 3. User Handler 4. Colloquium Handler
Program Design
Class interaction
Interface (HTML)
request
Servlet
Event Handler
SQL
Database
Sequence Diagram
Actor: Visitor / Account User / Administrator
Objects:
/ / / /
Sequence Diagram
Expansion of Design
One specific Handler for one specific Event! Example:
/ / / / /
deleteRoomHandler,
Better to implement: Each handler processes specific request, generate specific response web-page. Better to distribute implementation tasks. Redundancy?
Just repeat of some headers, the functional part is different for different handlers (no repeat).
ReservHandler
no generator of response Webpage no generator of
DelOldReservHandler
DelOldReservWebpage (generate response) HTMLForm
Handler
Implementation Observations
/
Diagrams in design phase can not predict the exact number of classes, objects used in implementation. BUT really make clear the logics of the project (logic components, interactions). Really helps in implementation!
Walkthrough
Make Reservation
Test Plan
Test Plan
Unit Testing
Unit Testing
The system component functions properly. The components design requirement is satisfied.
Test Plan
Unit Testing Code Review
Code Review
/
Code Walkthrough
/
Code Inspection
/
Test Plan
Unit Testing Code Review Integration Testing
Integration Testing
/
Tester
Integration Leader
Test Plan
Unit Testing
Code Review
Integration Testing
System Testing
Test Plan
Unit Testing Code Review Integration Testing
Function Testing
Acceptance Testing
System Testing
System Testing
/
Function testing
/
Performance testing
/
Acceptance testing
/
Sequence Diagram
MakeNonRecurReservation
Use Case
Reserve a room
Name of the Module: Make a NonRecurring Reservation Function of the Module: an account user makes a non recurring reservation Testing Procedure: Click the link for Create Reservation and fill in the form, and click the submit button Input Data: mingl(username), ROOMS meeting(event), CS2310(room), 12/10/2001(date), 12:00(start time), 13:00(end time) Output: Schedule table of that date, a color bar with a link to that reservation Test Result: correct function Security Checking: Ok, you must at least be a user to make a reservation Performance Evaluation: OK. The start time only have :00, :15, :30, :45 choices. User Interface Evaluation: OK. However, if there is too many different event description, there will be too many color bar links and they will make the output messy. Does this module implement the requirements?(please underline one) Yes No If no, your comments:
The Product
Client (basic)
Client (graphical)
People
Class Professor
Group Mentors
Group Members
Thank you!
/
Somesh Jha Will Benton Jerry Tutsch Marvin Solomon David Parter Everyone who gave input!