Title: Project: Rooms And Colloquium System
1Project Rooms And Colloquium System
ROOMS Team CS706, Analysis of Software
Artifacts Fall 2001
2Current Rooms System
3Problem Statement
- Replace current room reservation system
- additional functionality
- better documentation
- better extensibility
- better integration with colloq
4Process
Requirements
Use Cases
System Design
Program Design
Implementation
Testing
5Requirements
Requirements
6Requirements
Requirements
Will Benton
7Requirements
Requirements
Gerry Tutsch
Will Benton
8Requirements
Requirements
Will Benton
Gerry Tutsch
Dave Parter
9Requirements
Faculty
Requirements
Gerry Tutsch
Dave Parter
Will Benton
10Requirements
Faculty
Current Users
Requirements
Gerry Tutsch
Dave Parter
Will Benton
11Requirements
Marv Solomon
Faculty
Current Users
Requirements
Gerry Tutsch
Dave Parter
Will Benton
12Use Cases
13Use Case, for a User
14High Level Design
15High Level Design
User
16High Level Design
Client
User
17High Level Design
Client
Server
User
18High Level Design
Client
Server
Persistence
User
19High Level Design
Client
Server
Persistence
User
20Software Targets
- Tomcat
- Servlet API
- Java
- JSSE
- JavaMail
- JAF
- PostgreSQL
21Refining Design
Browser
Servlet
PostgreSQL
User
22Refining Design
Browser
Servlet
PostgreSQL
User
JDBC
HTTP or HTTPS
23Components
24Focusing
Browser
Servlet
PostgreSQL
User
JDBC
HTTP or HTTPS
25Refining
Servlet
request
Handler
Rooms Servlet
JDBC
HTTP
response
26Refining
request
Rooms Servlet
Handler
JDBC
HTTP
response
Web Page
HTML Form
27Sequence
28Refining
Handler Factory
request
Handler
Rooms Servlet
JDBC
HTTP
response
Web Page
HTML Form
29Refining
Handler Factory
ltltcreategtgt
request
Handler
Rooms Servlet
JDBC
HTTP
response
Web Page
HTML Form
30Refining
Handler Factory
ltltcreategtgt
request
Handler
Rooms Servlet
JDBC
HTTP
response
Web Page
HTML Form
31Refining
ltltabstractgtgt HTMLForm
ltltcreategtgt
request
Rooms Servlet
ltltconcretegtgt Handler
JDBC
HTTP
response
ltltconcretegtgt WebPage
ltltconcretegtgt HTMLForm
32From Design to Implementation
33Program 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) - 4. Related to Colloquium(add, delete, edit)
-
34Program Design
- EventHandler (make SQL, deliver SQL result)
- 1. Reserve Handler
- 2. Room Handler
- 3. User Handler
- 4. Colloquium Handler
35Program Design
SQL
request
Interface (HTML)
Servlet
Event Handler
Database
36(No Transcript)
37Sequence Diagram
- Actor Visitor / Account User / Administrator
- Objects
- HTML
- Servlet
- EventHandler
- Database
- Example (add a room available for reservation)
38Sequence Diagram
39Expansion of Design
- One specific Handler for one specific Event!
- Example
- RoomHandler broken into
- viewRoomHandler,
- addRoomHandler,
- deleteRoomHandler,
40Why so many handlers?
- 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).
41(No Transcript)
42Difference from Design remove old reservation
records
43(No Transcript)
44Implementation 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!
45Walkthrough
46We need this thing to make a reservation.
Talking with Customer
47Make Reservation in Requirements Doc
48Make Reservation in Use Case Document
49Make Reservation in Use Case Diagram
50Make Reservation in Logical Class Diagram
51Make Reservation in DB Schema
52Make Reservation Sequence Diagram
53Make Reservation Class API
54Make Reservation in Help Manual
55Test Plan
56Test Plan
Unit Testing
57Unit Testing
- The system component functions properly.
- The components design requirement is satisfied.
- Unit testing is implemented by code writers.
58Test Plan
Unit Testing
59Code Review
- Code Walkthrough
- Review the code and accompanying documentation
- Code Inspection
- Review codes correctness, efficiency,
performance - Code Walkthrough is implemented in the Room
Reservation System
60Test Plan
Unit Testing
Integration Testing
61Integration Testing
- Verify the system components work together
properly
Tester
Use Case Code Writer
Integration Leader
62Test Plan
Unit Testing
Integration Testing
System Testing
63Test Plan
Unit Testing
Integration Testing
Function Testing
Performance Testing
Interface Testing
Acceptance Testing
System Testing
64System Testing
- Function testing
- the system performs its functions as specified in
the requirement - Performance testing
- security, accuracy, speed and reliability
- Acceptance testing
- the system requested by customers is the system
that was built
65Integration and System Testing Make A
Non-Recurring Reservation
- 1. Requirement
- A User can reserve a given room for a specified
time range. - Each reservation must be associated with a
contact person. - Each reservation has a purpose (a brief piece of
text). - User Account User
66Integration and System Testing Make A
Non-Recurring Reservation
2. Sequence diagram and use case
67Room Reservation System Testing Report Form
68The Product
69Client (basic)
70Client (graphical)
71Summary, Stories and Demo
72People
- Class Professor
- Somesh Jha (jha_at_cs.wisc.edu)
- Group Mentors
- Will Benton (willb_at_cs.wisc.edu),
- Jerry Tutsch (tutsch_at_execpc.com)
- Group Members
- Brian Bowers (blbowers_at_cs.wisc.edu),
- Andrew Palmer (palmeran_at_biostat.wisc.edu),
- Hongwei Zhu (hzhu_at_cs.wisc.edu),
- Ming Li (mingl_at_cs.wisc.edu),
- Minyi Xu (minyi_at_cs.wisc.edu),
- Naijun Zhou (naijun_at_cs.wisc.edu),
- Keith Noto (noto_at_cs.wisc.edu)
73Thank you!
- The Rooms Team would like to thank
- Somesh Jha
- Will Benton
- Jerry Tutsch
- Marvin Solomon
- David Parter
- Everyone who gave input!