final presentation
DESCRIPTION
CVM GUI Team #1. Final Presentation. Project Roles. Purpose of the System and Scope. Implement a GUI for the CVM. Allow end-users to execute communication services specified in X-CML. Load and store X-CML Communication Schemas in a Local Repository. Interface with the Synthesis Engine. - PowerPoint PPT PresentationTRANSCRIPT
Final Presentation
CVM GUITEAM #1
Barbara Espinoza
Jorge Guerra
Eddie IncerDavid Martinez
Ricardo Koller
Hong Ming SoongNathanael Van Vorst
Project Roles
Project Roles
Phase I Phase II Phase III
System Analyst
All Members
Document Editor
Barbara David, Hong Barbara, Ricardo
Minute Taker Barbara David JorgeTime Keeper Jorge Ricardo Eddie
Designer All MembersDeveloper Jorge, Ricardo,
Hong, NathanaelAll Members All Members
Architect NathanaelTest Analyst All MembersTeam Lead Eddie Barbara Nate
Purpose of the System and Scope Implement a GUI for the CVM. Allow end-users to execute
communication services specified in X-CML.
Load and store X-CML Communication Schemas in a Local Repository.
Interface with the Synthesis Engine.
Use Case Diagrams
Communication
Create Communication
Load Communication
Save Communication
Add Participant
Join Connection
Leave Communication
Update Communication
UserSynthesis Engine
<<system>>
Use Case Diagrams
Media
User
Enable Live Audio/ Video Medium
Disable Live Audio/ Video Medium
Share File
Start Live Audio/ Video
Share Media
Send Chat Message
Synthesis Engine<<system>>
Functional Requirement: The system shall allow users to load and execute
X-CML communication schemas from the local repository.
Constraints: A user without experience shall be able to load a
communication in less than 2 minutes. The system shall gracefully recover 100% of the
times a communication schema is invalid. The system shall finish loading a communication
schema in less than 1 second.
Use Case: Load Communication
Functional Requirement: The system shall allow users to add participants
from their contact list to active connections in a communication.
Constraints: A user without experience shall be able to add a
participant within 30 seconds. The system shall finish adding the participant in
less than 3 seconds.
Use Case: Add Participant
Software Architecture
UCIGUI
Synthesis Engine<<system>>
Local Repository
uses uses
uses
Layers Pattern
Repository Pattern
UCI Model Class Diagram
ActionTypeBuiltInType
FormType
UCIComponent<<interface>>
Participant<<interface>>
MediumType<<interface>>
Medium<<interface>>
MediaType<<interface>>
Media<<interface>>
Connection<<interface>>
Communication<<interface>>
Form<<interface>>
Sequence Diagram for Add Participant
: User
: ParticipantsPanel : GUIController : UCI request : AddParticipant events : BlockingQueue : UCIEventHandler
1 : addParticipant(p)2 : addParticipant(c,p)
3 : addParticipant(c,p)4 : new(c,p)
5 : put(request)
6 : take()
7 : execute()
GUI Controller State Machine
No Communication
Communication Initiated
Communication Finalized
default [ panel closed ]
CreateCommunication() [ true ] / showCommunicationPanel()
UpdateCommunication() [ isUserUpdate() ] / notifyUCI()
Communication Maintained
LeaveCommunication() [ true ] / closeCommunicationPanel()
UpdateCommunication() [ isUCIUpdate() ] / UpdateCommunicationPanel()
LoadCommunication() [valid] showCommunicationPanel()
closeApplication()
Add Participant Test Case
Test Case Id
CVMGUI_COM_006_UCI_001
Purpose Verify that when a user adds a participant, it is reflected on the GUI and the communication schema is updated.
Pre Condition
1. Peter has an active communication with 1 connection.
2. John is in the same connection.3. William has logged into the system.4. William is in Peter’s contact list.
Input 1. Peter drags William avatar from the contact list and drops it into the participant’s panel of the open connection.
Expected Output
1. William appears on the participant’s panel.2. The Synthesis Engine has received the updated
communication schema (not shown)
Add Participant Test Case
Test Case Id
CVMGUI_COM_006_UCI_001
Purpose Verify that when a user adds a participant, it is reflected on the GUI and the communication schema is updated.
Pre Condition
1. Peter has an active communication with 1 connection.
2. John and William are in the same connection.3. Ana has logged into the system.4. Ana is in Peter’s contact list.
Input 1. Peter drags Ana’s avatar from the contact list and drops it into the participant’s panel of the open connection.
Expected Output
1. Anna appears on the participant’s panel.2. The Synthesis Engine has received the updated
communication schema (not shown)