Florida International University
School of Computing and Information Sciences
CEN 5064 Software Design
Section U01 - Spring 2008
Professor: Peter Clarke
April 15, 2008
Final Deliverable
Rapid Realization of Communication Service Systems
RRComSSys
Team # 1
Mark Alison
Drake
Campbell
Roberto
Espinoza
Yinet
Gonzalez
Relmer Perez
Sandeep Varry
On
On On the web courtesy of:
CP CPC Computer Consultants, Inc. www.cpccci.com
Abstract
In this document we
present a Rapid Realization of Communication Services System (RRCommSSys).
RRCommSSys will be created using model driven software development techniques
in an easy to use graphical modeling framework, which will eventually allow us
to deploy a communications application employing the features already present
in the Skype and Smack API's. In particular we aim to provide audio
conversations including conference calling, real time texting and video
streaming within the education domain.
We present the
architecture, models and testing documentation of our system which includes a
User Communication Interface, a Synthesis Engine and a Network Communications
Broker. Using a Domain Specific Language (G-CML) we allow the user to create
their own communication schema instances by simply dragging and dropping
communication objects into a canvas. The system transforms this into executable
Java Function calls which delegate the details of the specific case to the
appropriate communications platform API.
Table of Contents________________________________________________________ 3
1. Introduction__________________________________________________________ 6
1.1 Purpose of the
System________________________________________________ 6
1.2 Scope of System_____________________________________________________ 6
1.3 Limitations of
Current Systems________________________________________ 7
1.4 Design Methodology_________________________________________________ 7
1.5 Definitions,
Acronyms, and Abbreviations________________________________ 8
1.6 Overview of Document_______________________________________________ 9
2. Project Plan_________________________________________________________ 11
2.1 Project Organization_______________________________________________ 11
2.2 Hardware/Software
Requirements_____________________________________ 12
2.3 Work Breakdown__________________________________________________ 12
3. Requirement
Elicitation and Analysis_____________________________________ 14
3.1 Overview_________________________________________________________ 14
3.2 Functional
Requirements____________________________________________ 14
3.2.1 Functional
Requirements______________________________________________________ 14
3.3 Non-Functional
Requirements________________________________________ 16
3.3.1 Non Functional
Requirements__________________________________________________ 16
3.4 System Models_____________________________________________________ 17
3.4.1 Use Case Model_____________________________________________________________ 17
3.4.2 Object
Model______________________________________________________________ 17
3.4.3 Dynamic Model_____________________________________________________________ 19
3.4.4 User Interfaces_______________________________________________________________ 20
3.5 Validation
of the Analysis Model_____________________________________ 22
3.5.1 Test Cases__________________________________________________________________ 22
3.5.2 Checklist___________________________________________________________________ 37
3.5.3 Structure Use Case
Walkthroughs_______________________________________________ 38
4. Proposed Software
Architecture_________________________________________ 40
4.1 Package Diagram__________________________________________________ 40
Overview of the
Subsystems Used in the Rapid Realization of Communication Services System__ 40
4.1.1 Package Diagram____________________________________________________________ 42
4.2 Metamodel for the
DSL______________________________________________ 43
4.3 UML Profile______________________________________________________ 44
4.4 Generative
Architecture_____________________________________________ 45
4.5 Subsystems
Decomposition___________________________________________ 45
4.6 Validation of the
System Model_______________________________________ 48
4.6.1 Check List_________________________________________________________________ 48
4.6.2 Structure
Walkthrough________________________________________________________ 49
5. Object Design________________________________________________________ 51
5.1 Minimal Diagrams__________________________________________________ 51
5.1.1 Model
Transformation Class Diagram____________________________________________ 55
5.1.2 Synthesis Engine
Class Diagram________________________________________________ 56
5.1.3 NCB Class Diagram__________________________________________________________ 57
5.2 Object Interaction__________________________________________________ 58
5.2.1 Sequence Diagrams___________________________________________________________ 58
5.2.2 Statechart for one
control object_________________________________________________ 63
5.3 Detailed Class
Design__________________________________________________________ 64
5.4 Validation of the
Detailed Design Model________________________________ 68
5.4.1 Check List_________________________________________________________________ 68
5.4.2 Structure Walkthrough________________________________________________________ 69