System and Software Architecture Description (SSAD) Version 2.4

Software System Architecture Document (SSAD)

Healthy Kids Zone Survey App

Team 14

Name / Primary Role / Contact Email
Jessie Kim / Client Representative /
Joseph Martinez / Client Representative /
Malcolm Carson / Client Representative /
Yang Wang / Project Manager /
Qianyu Liao / System Architect /
Chad Honkofsky / IIV&V/QFP /
Xu Zhang / Operational Concept Engineer /
Chenglu Wang / Feasibility Analyst /
Junjun Ji / Prototyper /
Ye Tao / Life Cycle Planner /

Version History

Date / Author / Version / Changes made / Rationale /
10/16/2013 / Qianu Liao / 1.0 / ·  System Context Diagram / ·  Consolidated System Context Diagram to match OCD
10/17/2013 / Qianyu Liao / 1.1 / ·  System Users Behavior / ·  Consolidated System Users Behavior to match OCD
10/17/2013 / Qianyu Liao / 1.2 / ·  System Use Case / ·  Consolidated use cases to match OCD
10/18/2013 / Qianyu Liao / 1.3 / ·  System Use Case / ·  Consolidated use cases to match OCD
10/18/2013 / Qianyu Liao / 1.4 / ·  System Use Case / ·  Consolidated use cases to match OCD
10/18/2013 / Qianyu Liao / 1.5 / ·  System physical architecture / ·  Consolidated use cases to match the clients requirement
10/19/2013 / Qianyu Liao / 1.6 / ·  Add Survey Monkey to System Context Diagram / ·  Added System Context Diagram to match Client Requirement
10/20/2013 / Qianyu Liao / 2.1 / ·  Reduce Use Case / ·  Reduced use cases to match ARB Review
11/20/2013 / Qianyu Liao / 2.2 / ·  Modify use case, physical architecture / ·  Modified use cases and physical architecture to match DCR Review
11/27/2013 / Qianyu Liao / 2.3 / ·  Rewrite the SSAD / ·  Rewrite the SSAD document to match the DCR Review and prepare for the development phase
11/28/2013 / Qianyu Liao / 2.4 / ·  Modify Artifact and Information Diagram / ·  To satisfy the requirement

Table of Contents

Software System Architecture Document (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 10

3.1 Introduction 10

3.2 System Structure 10

4. Class Design 14

4.1 Interface Classes 14

4.2 Process Realization 16

5. Architectural Styles, Patterns and Framework 18

Table of Tables

Table 1: Context Summary 3

Table 2: Artifact and Information Summary 4

Table 3: Process Description 5

Table 4: Typical Course of Action – import survey 6

Table 5: Alternate Course of Action - delete survey 6

Table 6: Exceptional Course of Action - Retrieve survey detail 6

Table 7: Process Description 6

Table 8: Typical Course of Action – add school/path and configure the connection between school, path and survey 6

Table 9: Alternate Course of Action – modify/delete school/path/survey and disconnect connection 7

Table 10: Exceptional Course of Action – break the data integrity in database 7

Table 11: Process Description 7

Table 12: Typical Course of Action – export survey results 7

Table 13: Process Description 8

Table 14: Typical Course of Action – take survey 8

Table 15: Alternate Course of Action – open google map 8

Table 16: Exceptional Course of Action – internet inaccessible 8

Table 17: Process Description 8

Table 18: Typical Course of Action – submit the completed survey 9

Table 19: Exceptional Course of Action – submit failed 9

Table 20: NDI/NCS Product List 10

Table 21: Hardware Component Description 11

Table 22: Software Component Description 12

Table 23: Design Class Description 14

Table 24: Architectural Styles, Patterns, and Frameworks 18

Table of Figures

Figure 1: System Context Diagram 2

Figure 2: Artifacts and Information Diagram 4

Figure 3: Process Diagram 5

Figure 4: Hardware Component Diagram 11

Figure 5: Software Component Diagram 12

Figure 6: Deployment Diagram 13

Figure 7: Design Class Diagram 14

Figure 8: Render Survey Import Page Class Diagram 15

Figure 9: Survey Import Class Diagram 16

Figure 10: Render Survey Import Page Sequence Diagram 17

Figure 11: Survey Import Sequence Diagram 17

ii

1.  Introduction

1.1  Purpose of the SSAD

The purpose of the SSAD is to document the results of the object-oriented analysis and design (OOA&D) of the website being developed. The SSAD is used by the developer as reference to the system architecture. The website being developed should be faithful to the architecture specified in the SSAD. Furthermore, the SSAD is used by the maintainer and clients to help understand the structure of the systemonce the proposed website is delivered.

1.2  Status of the SSAD

The current version of the SSAD is 2.3 and it is at the end of the Foundation phase. At this point, all sections of the document are filled out with system context diagram, system behavior diagram, use case diagram, component diagram, deployment diagram, class diagram and sequence diagram. Team is actively exploring NDI, NCS and the selected architecture (3-tier architecture) and prototyping the system using it. Thus this document reflects current understanding of the developing system and the high risk features, and is an agreement with current prototype.

2.  System Analysis

2.1  System Analysis Overview

The primary purpose of Healthy Kids Zone Survey App is to map and assess physical assets and detriments to health as part of our initiative to reduce rates of obesity and hypertension in South Los Angeles. The Healthy Kids Zone Survey App System allows administrator to import the survey from survey monkey application (the administrator should create the survey on the survey monkey first), configure the connection between school, path and survey, and then the administrator could export the survey results. The Healthy Kids Zone Survey App System allows user take survey on their mobile app easily. Figure 1 is the System Context Diagram. Table 1 is the diagram summary.

2.1.1  System Context

Figure 1: System Context Diagram

Table 1: Context Summary

Actor / Description / Responsibilities /
Healthy Kids Zone Survey System / The new system our team will build / ·  The website system will be used by administrator to import survey, configure the connection between schools, paths and surveys, and export survey results
·  The mobile app system will be used by uses to take survey easily
Administrator / People who use the Healthy Kids Zone website system and manage the system. / ·  Import survey from survey monkey
·  Configure the connection between school, path and survey
·  Export the survey results
Users / People who use the Healthy Kids Zone survey app to take survey / ·  Take survey
Survey monkey / An application that the administrator could create survey
An API that the website system could retrieve the surveys list and details / ·  Create survey
·  Retrieve survey details
Google map / An API that the administrator could draw the path coordinates
An API that the users could add markers and comments / ·  Draw path coordinates
·  Add markers and comments
2.1.2  Artifacts and information

Figure 2 illustrates the data structure of our system.

Figure 2: Artifact and Information Diagram

Table 2: Artifact and Information Summary

Artifact / Purpose
ATF-1: user / A structured description of the website user(administrator)
ATF-2: school / School information the administrator adds through the website
ATF-3: path / Path coordinates the administrator selects on the google map
ATF-4: survey / The general information about survey which is retrieved from survey monkey API
ATF-5: association / Based on our requirements, one survey can be used in many paths; one path can contain many surveys. They are many-to-many relationship, so we generate a new table to store the relations.
ATF-6: page / The page information in the survey which is retrieved from survey monkey
ATF-7: question / The question information in the survey which is retrieved from survey monkey
ATF-8: answer / The answer information in the survey which is retrieved from survey monkey
ATF-9: marker / To store the markers that our app system provide
ATF-10: surveyMarkers / To store the markers and comments that users add to map when they take survey
2.1.3  Behavior

Figure 3 illustrates the system behaviors.

Figure 3: Process Diagram

2.1.3.1  Administrator manage survey

Table 3: Process Description

Identifier / UC-1: Administrator import the surveys
Purpose / Administrator can import the surveys which was created on survey monkey before
Requirements / Administrator need to have accounts and log in the website system
Development Risks / None
Pre-conditions / Administrator need to create surveys on the survey monkey application
Post-conditions / Administrator can not retrieve the survey list from survey monkey and import the survey if he did not create surveys on the survey monkey at first

Table 4: Typical Course of Action – import survey

Seq# / Actor’s Action / System’s Response
1 / User clicks survey import page / Load survey list from API and DB and display the survey import page
2 / User select one or more survey items and click the import button / Retrieve the survey detail from API and update the data to database

Table 5: Alternate Course of Action - delete survey

Seq# / Actor’s Action / System’s Response
1 / User select one or more survey items / Retrieve the selected survey id, if it exist in the database, then disable the import button
2 / User click the delete button / The selected survey will be deleted in the database first and removed from the webpage

Table 6: Exceptional Course of Action - Retrieve survey detail

Seq# / Actor’s Action / System’s Response
1 / User clicks the survey import page / The survey detail is null

Table 7: Process Description

Identifier / UC-2: Administrator configure the school, path and survey
Purpose / Administrator set up the connections between them and complete the survey creation process
Requirements / Administrator need to have accounts and log in the website system
Development Risks / None
Pre-conditions / Administrator need import the survey to the database
Post-conditions / Administrator can not configure the connection between school, path and survey if he did not import the survey from survey monkey firsts

Table 8: Typical Course of Action – add school/path and configure the connection between school, path and survey

Seq# / Actor’s Action / System’s Response
1 / User clicks add button on survey configuration page / update the school/path data to the tables
2 / User select the school/path/survey, then click connect button / Set up the connections in the database tables of school, path and survey

Table 9: Alternate Course of Action – modify/delete school/path/survey and disconnect connection

Seq# / Actor’s Action / System’s Response
1 / User select the school/path/survey and click the modify/delete/disconnect button / Delete the school/path/survey relative rows from database

Table 10: Exceptional Course of Action – break the data integrity in database

Seq# / Actor’s Action / System’s Response
1 / User modify/delete/disconnect the school/path/survey / School/path/survey/pathSurvey table may occur data integrity broken

Table 11: Process Description

Identifier / UC-3: Administrator export the survey results
Purpose / Administrator can export the survey results for analyzing
Requirements / Administrator need to have accounts and log in the website system
Development Risks / None
Pre-conditions / Administrator need to complete the survey creation process
Post-conditions / Administrator can not export the survey results if they did not complete the survey creation process or nobody take the survey

Table 12: Typical Course of Action – export survey results

Seq# / Actor’s Action / System’s Response
1 / User clicks survey export page / Load all the available surveys
2 / User select one or more surveys and click the export button / Retrieve all the selected surveys’ results from database, then pop up a dialog to save the csv file
2.1.3.2  Users take survey

Table 13: Process Description

Identifier / UC-4: user takes survey
Purpose / user can open mobile app and take survey
Requirements / Internet accessible
Development Risks / None
Pre-conditions / Internet accessible
Post-conditions

Table 14: Typical Course of Action – take survey

Seq# / Actor’s Action / System’s Response
1 / User open the HKZ survey app / Load the school list
2 / User select one school / Load all the paths related to the school in the database
3 / User select one path / Load all the surveys related to the path in the database
4 / User select one survey / Load all the questions categorized by blocks and question types related to the survey in the database

Table 15: Alternate Course of Action – open google map

Seq# / Actor’s Action / System’s Response
1 / User can open embedded google map to add markers and comments to the map / Persistent the data to the surveyMarkers table in the database

Table 16: Exceptional Course of Action – internet inaccessible

Seq# / Actor’s Action / System’s Response
1 / User can not see the survey / Friendly error warning and pop up a dialog to redirect user to manage their internet

Table 17: Process Description

Identifier / UC-5: user submit the completed survey
Purpose / user can open mobile app and take survey
Requirements / Internet accessible
Development Risks / None
Pre-conditions / Internet accessible
Post-conditions / Users can not submit the survey if they did not answer all the required questions

Table 18: Typical Course of Action – submit the completed survey

Seq# / Actor’s Action / System’s Response
1 / User click the submit button / Retrieve all the answers to the answer table in the database, then pop up a success dialog

Table 19: Exceptional Course of Action – submit failed

Seq# / Actor’s Action / System’s Response
1 / User can not submit the survey may be caused by internet / Pop up a warning dialog to require users to finish all the questions, then submit, or generate a backup file in the local file. When the user opens the app next time, he/she will see the info about the backup.

3.  NDI/NCS Interoperability Analysis

3.1  Introduction

In this project, Healthy Kids Zone Survey App will retrieve the survey detail info from survey monkey API and use Google map to define the path for the survey.