System and Software Architecture Description (SSAD) Version.: 1.1
System and Software Architecture Description (SSAD)
Improving Thai CDC
Establishing a New Client/Donor/Partner Communications & Project Tracking Tool
Team #: 01
Team Members & Roles
Name / Primary/Secondary RoleBrandon Foster / IIV & V/Quality Focal Point
Ding Li / Life Cycle Planner/Software Architect
Yi Li / Feasibility Analyst/Requirements Engineer
Ino Mantaring / Requirements Engineer/Prototyper
Vishal Punjabi / Operational Concept Engineer/Prototyper
Katelyn Swift-Spong / Manager/Operational Concept Engineer
10/14/2011
vii
SSAD_FCP_F11a_T01_V1.1 Version Date: 10/14/2011
System and Software Architecture Description (SSAD) Version.: 1.1
Version History
Date / Author / Version / Changes made / Rationale /10/10/2011 / Ding Li / 1.0 / · First version of SSAD, add description about purpose of SSAD and analysis of proposed system / · To analyze proposed system, identify context, artifact and behavior of proposed system.
10/14/2011 / Ding Li / 1.1 / · Updated UML model and fixed errors / · For Draft FCP
Table of Contents
System and Software Architecture Description (SSAD) i
Version History ii
Table of Contents iii
Table of Tables iv
Table of Figures v
1. Introduction 1
1.1 Purpose of the SSAD 1
1.2 Status of the SSAD 1
2. System Analysis 2
2.1 System Analysis Overview 2
3. NDI/NCS Interoperability Analysis 12
3.1 Introduction 12
3.2 System Structure 12
3.3 Evaluation Summary 12
vii
SSAD_FCP_F11a_T01_V1.1 Version Date: 10/14/2011
System and Software Architecture Description (SSAD) Version.: 1.1
Table of Tables
Table 1: Actors Summary 3
Table 2: Artifacts and Information Summary 3
Table 3: Process Description: login 5
Table 4: Typical Course of Action-login: successfully 6
Table 5: Alternate Course of Action-login: failed 6
Table 6: Process Description: logout 6
Table 7:Typical Course of Action-logout: successfully 6
Table 8: Process Description: change password 7
Table 9: Typical Course of Action-change password: successfully 7
Table 10: Alternate Course of Action-change password: failed 7
Table 11: Exception Course of Action-change password: incorrect e-mail address in database 8
Table 12: Process Description: query contacts information 8
Table 13: Typical Course of Action-query contacts information: report information of all contacts 8
Table 14: Alternate Course of Action-query contacts information: report information of contacts who meet user's criteria 9
Table 15: Alternate Course of Action-query contacts information: failed 9
Table 16: Process Description: add contact 9
Table 17: Typical Course of Action-add contact: successful 10
Table 18: Alternate Course of Action-add contact: failed 10
Table 19: Process Description: delete contacts 10
Table 20: Typical Course of Action-delete contacts: successful 11
Table 21: Alternate Course of Action-delete contact: failed 11
Table 22: Process Description: edit contacts information 11
Table 23: Typical Course of Action-edit contacts information: successful 11
Table 24: Alternate Course of Action-edit contacts information: failed 12
Table 25: Process Description: mass mailing 12
Table 26: Typical Course of Action-mass mailing: successful 12
Table 27: Process Description: create newsletter format 13
Table 28: Typical Course of Action- create newsletter format: successful 13
Table 29: Process Description: synchronize contacts list 13
Table 30: Typical Course of Action-synchronize contacts list: successful 14
Table 31: Process Description: add project 14
Table 32: Typical Course of Action-add project: successful 14
Table 33: Alternate Course of Action-add project: failed 15
Table 34: Process Description: delete project 15
Table 35: Typical Course of Action-delete project: successful 15
Table 36: Alternate Course of Action-delete project: failed 15
Table 37: Process Description: search project information 16
Table 38: Typical Course of Action-search project information: successful 16
Table 39: Alternate Course of Action-search project information: failed 16
Table 40: Process Description: edit project information 17
Table 41: Typical Course of Action-edit project information: successful 17
Table 42: Alternate Course of Action-edit project information: failed 17
Table 43: search donation information 18
Table 44: Typical Course of Action- search donation information: successfully 18
Table 45: Alternate Course of Action- search donation information: failed 18
Table 46: Process Description: add donation 18
Table 47: Typical Course of Action- administrator logout: successfully 19
Table 48: Alternate Course of Action- add donation: failed 19
Table 49: Process Description: add user 19
Table 50: Typical Course of Action-add user: successful 20
Table 51: Process Description: delete user 20
Table 52: Typical Course of Action-add user: successful 20
Table 53: Process Description: edit user information 21
Table 54: Typical Course of Action-edit user information: successful 21
Table 55: Process Description: edit donation 21
Table 56: Typical Course of Action-edit donation: successful 21
Table 57: Alternate Course of Action- edit donation: failed 22
Table 58: Process Description: delete donation 22
Table 59: Typical Course of Action- delete donation: successful 22
Table 60: Alternate Course of Action- delete donation: failed 22
Table 61: NDI Products Listing 25
Table 62: NDI Evaluation 26
Table of Figures
Figure 1: System Context Diagram 2
Figure 2: Artifacts and Information Diagram 3
Figure 3: Process Diagram 4
vii
SSAD_FCP_F11a_T01_V1.1 Version Date: 10/14/2011
System and Software Architecture Description (SSAD) Version.: 1.1
1. Introduction
1.1 Purpose of the SSAD
The System and Software Architecture Description (SSAD) describes the architecture of the entire system by analyzing the system's capability, content, artifacts, and behavior. It also explains/illustrates how NCSs/NDIs interact with one another. Further, it provides guidance for the necessary
1.2 Status of the SSAD
This is the first version of the SSAD document, version number 1.1. In this version, bugs of version 1.0 are fixed. UML diagrams are updated. New user cases are added.
2. System Analysis
2.1 System Analysis Overview
The purpose of the Improving Thai CDC: Client/Donor/Partner Communications and Project Tracking Tool is to unify the contact list of each individual staff in Thai CDC and to provide tool to monitor projects in Thai CDC. The Client/Donor/Partner Communications and Project Tracking Tool will provide a centralized database to manage contact information including contacts' names, addresses, donations and other information (as deemed fit by Thai CDC). The system will provide methods that add, edit, and delete contacts' information in a centralized cloud-based database. The system will also record information about each internal Thai CDC sponsored project, and it will provide tools to view the information about said projects.
2.1.1 System Context
Figure 1: System Context Diagram
Table 1: Actors Summary
Actor / Description / Responsibilities /Staff / Staff of Thai CDC; Staff members are end-users of the proposed system / Communicate with contacts, add contacts information into database. Send emails to contacts.
Manager / Managers are special staff, they are leaders of each project, they are in charge of the whole process of each project / Manage process of project
Administrator / Administrator can be an employee in Thai CDC or an outsourced technical
professional / Maintain the whole system
Worker (User) / User of the proposed system / Work with the system
MS outlook / Email management software / Provide interface of sending email
2.1.2 Artifacts & Information
Figure 2: Artifacts and Information Diagram
Table 2: Artifacts and Information Summary
Artifact / PurposeATF-1:contacts information form / Contain all information of a contact, include contact's name, address, email address donations and other important information. The form will be put into database
ATF-2:contact information profile / A database contains information about all contacts. The contacts' information is saved in a table of database
ATF-3:contact information report / Report information of contacts in database to user (staff of Thai CDC), the report may include information of all contacts or information of some special contacts, i.e. The contacts who have donated more than $1000.
ATF-4: mass mailing template / Send newsletters or emails to a large number of contacts.
ATF-5:project profile / A database table contains all information about all projects in Thai CDC.
ATF-6:project information report / Report information about projects to manager in Thai CDC.
ATF-7: project information form / Contain all information about a project. This form will be put into database
ATF-8: contact list file / Contact list file of MS outlook
ATF-9:donation information form / Contain all information about a donation
ATF-10:staff profile / A database table containing information about all users in proposed system
ATF-11:donation report / Report all donation information in history
ATF-12: donation information profile / A database table to store the donation information
2.1.3 Behavior
Assumption: users are staff in Thai CDC.
UC-01: login
UC-02: logout
UC-03: change password
UC-04: query contacts information
UC-05: add contacts
UC-06: delete contacts
UC-07: edit contacts information
UC-08: mass mailing
UC-09: create newsletter formate
UC-10: synchronize contacts list
UC-11: add project
UC-12: delete project
UC-13: search project information
UC-14: edit project information
UC-15: add user
UC-16: delete user
UC-17: edit user information
UC-18: search donation information
UC-19: add donation
UC-20: edit donation
UC-21: delete donation
UC-22: backup donation
Figure 3: Process Diagram
2.1.3.1 Contacts management
2.1.3.1.1 Login
Table 3: Process Description: login
Identifier / UC-1 loginPurpose / Worker log in the system. Check their password and authority
Requirements / WC_987:support at least 10 users, WC_214 User-friendly
Development Risks / None
Pre-conditions / Database initialized
Post-conditions / Worker log into system if he/she type in user name and password correctly, or he/she will be blocked.
Table 4: Typical Course of Action-login: successfully
Seq# / Actor’s Action / System’s Response1 / [Worker] type in user name
2 / [Worker] type in password
3 / check username and password
4 / Approval user's request
5 / Jump to user's homepage(user interface)
Table 5: Alternate Course of Action-login: failed
Seq# / Actor’s Action / System’s Response1 / [Worker] type in user name
2 / [Worker] type in password
3 / check username and password
4 / Find user name or password are incorrect
5 / Block user's request
2.1.3.1.2 Logout
Table 6: Process Description: logout
Identifier / UC-2 logoutPurpose / Worker log out system
Requirements / WC_987:support at least 10 users, WC_214 User-friendly
Development Risks / None
Pre-conditions / Worker have logged in to system
Post-conditions / User log out system.
Table 7: Typical Course of Action-logout: successfully
Seq# / Actor’s Action / System’s Response1 / [Worker] login system
2 / [Worker] click "logout" button
3 / Worker leave his/her homepage
2.1.3.1.3 Change password
Table 8: Process Description: change password
Identifier / UC-3 change passwordPurpose / Worker change his/her password
Requirements / WC_987:support at least 10 users, WC_214 User-friendly
Development Risks / None
Pre-conditions / Database is initialized.
Post-conditions / User's (staff of Thai CDC) password changed
Table 9: Typical Course of Action-change password: successfully
Seq# / Actor’s Action / System’s Response1 / [Worker] log in system
2 / [Worker] click "change password" button
3 / Send a link to user's e-mail box registered in database
4 / [Worker] Click the link
5 / Ask user type in new password
6 / [Worker] Type in new password
7 / [Worker] Re-type new -password
8 / Change user's password
Table 10: Alternate Course of Action-change password: failed
Seq# / Actor’s Action / System’s Response1 / [Worker] log in system
2 / [Worker] click "change password" button
3 / Send a link to user's e-mail box registered in database
4 / [Worker] Do nothing
5 / Pass word unchanged
Table 11: Exception Course of Action-change password: incorrect e-mail address in database
Seq# / Actor’s Action / System’s Response1 / [Worker] log in system
2 / [Worker] click "change password "button
3 / Send a link to user's e-mail box registered in database
4 / [Worker] Failed to get the link due to incorrect email address
5 / [Worker] Contact with administrator
6 / [administrator] log in system
7 / [administrator] type in user's new email address and password
8 / Set worker’s new password and email address
2.1.3.1.4 query contacts information
Table 12: Process Description: query contacts information
Identifier / UC-4 query contacts informationPurpose / Report contacts information in database to users
Requirements / WC_197:categorize contacts, WC_974:Filter contacts based on donation history, WC_214 User-friendly, WC_959:deal with 4000 contacts
Development Risks / None
Pre-conditions / Staff log in system
Post-conditions / Report contacts information to user
Table 13: Typical Course of Action-query contacts information: report information of all contacts
Seq# / Actor’s Action / System’s Response1 / [Staff] log in system
2 / [Staff] click contact tab in his/her homepage
3 / check user’s authority
4 / user’s authority approved
5 / Report information of all contacts to user
Table 14: Alternate Course of Action-query contacts information: report information of contacts who meet user's criteria
Seq# / Actor’s Action / System’s Response1 / [Staff] log in system
2 / [Staff] click contact tab in his/her homepage
3 / [Staff] click contact tab in his/her homepage
4 / [Staff] type in criteria into filter, i.e. The contacts who donated more than $1000
5 / check user’s authority
6 / user’s authority approved
7 / Report information of all contacts to user
Table 15: Alternate Course of Action-query contacts information: failed
Seq# / Actor’s Action / System’s Response1 / [Staff] log in system
2 / [Staff] click contact tab in his/her homepage
3 / [Staff] click contact tab in his/her homepage
4 / check worker’s authority
5 / request refused due to lack of authority
2.1.3.1.5 Add contacts
Table 16: Process Description: add contact
Identifier / UC-5 add contactsPurpose / Add new contacts into database
Requirements / WC_197:categorize contacts,WC_214:User-friendly ,WC_959:deal with 4000 contacts
Development Risks / None
Pre-conditions / user log in system
Post-conditions / New contacts added into database
Table 17: Typical Course of Action-add contact: successful
Seq# / Actor’s Action / System’s Response1 / [Staff] log in system
2 / [Staff] click contact tab in his/her homepage
3 / [Staff] click "new-contact" button
4 / [Staff] type in information of new contacts(contact id and so on)
5 / check user’s authority
6 / user’s authority approved
7 / add contacts into database
Table 18: Alternate Course of Action-add contact: failed