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 Role
Brandon 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 / Purpose
ATF-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 login
Purpose / 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 Response
1 / [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 Response
1 / [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 logout
Purpose / 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 Response
1 / [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 password
Purpose / 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 Response
1 / [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 Response
1 / [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 Response
1 / [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 information
Purpose / 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 Response
1 / [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 Response
1 / [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 Response
1 / [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 contacts
Purpose / 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 Response
1 / [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