System and Software Architecture Description

Document Sample
System and Software Architecture Description Powered By Docstoc
					System and Software Architecture Description (SSAD)                               Version 3.3



            System and Software Architecture
                                       Description


                      California Science Center Volunteer Tracking System

                                                Team #3




         Phongphan Danphitsanuphan                Project Manager
         Charlie Lormanometee                     Project Coordinator / QA
         Deepak Pandey                            Software System Requirements Analyst
         Pongtip Aroonvatanaporn                  System Architect / Programmer
         Natachart Laoteppitak                    Software Architect / Programmer
         Ritesh Kothari                           Tester / Programmer
         Amit Shah                                IV & V
         Jerome Wan                               IV & V
         Jeremy Stoller                           Client
         Raul Pereyra                             User
         Vincent Tsan                             Maintainer




SSAD_LCA_F06a_T03_V3.3.doc                            I                              12/3/06
          System and Software Architecture Description (SSAD)                                         Version 3.3



          Version History
Date           Author       Version     Changes made                                 Rationale

10/8/06        PA, NL       1.0          SSAD for LCA Package                        Initial draft of SSAD

10/10/06       PA           1.1          Added Use-Case 2.3.1.30                     Changes after inspection
                                         Added Use-Case 2.3.1.32
                                         Added Use-Case 2.3.1.33
                                         Added System Class UML Diagram
                                         In Use-Case 2.3.1.30, change from
                                          Automated Award Tracking to
                                          Automated Hour and Award Tracking
10/20/06       PA           2.0          Deleted Figure 2 System Class Diagram       Changes made based on the
                                         Added Section 3.1.3                          suggestions of the ARB.
                                         Added section 3.2                           Section 3.1.3 provides the diagram
                                                                                       for the deployment model.
                                         Added template for the rest of section 3
                                          and 4                                       Section 3.2 provides the diagram for
                                                                                       the information classes
                                         Added Use-case realization
10/23/06       PA           2.1          Changed System Administrator role           Changes made after inspection
                                          from “User” to “Administrator” in
                                          section 2.1.6
                                         Edited role of Volunteer Candidate
                                          Application Form in Section 2.2.1
                                         Rename section 2.2.5 from Notification
                                          to Award Notification
                                         Clarified matching parameters in
                                          Section 2.2.10 Responsibility
                                         Edited UC-17: Scheduling is now only
                                          automatic matching, not automatic
                                          assignment
                                         Edited Purpose of UC-31, added that
                                          the award tracking will also send
                                          notifications to the volunteer
                                          coordinator.
                                         Edited the priority of the use-cases




          SSAD_LCA_F06a_T03_V3.3.doc                             II                                       12/3/06
          System and Software Architecture Description (SSAD)                                         Version 3.3


Date           Author       Version      Changes made                                Rationale

11/19/06       PA, NL       2.2           Changed system structure in section 2.1    Changes made based on graded LCO
                                          Updated the use-cases in section 2.4.1      Package
                                           to better correspond with the new
                                           system structure.
                                          Rename use-cases to have more
                                           standard names.
                                          Added Section 3.1.1 Hardware
                                           Classifier Model
                                          Added Section 3.1.2 Software Classifier
                                           Model
                                          Changed the deployment model in
                                           section 3.1.3 to better correspond with
                                           the hardware classifier model.
                                          Added sections 3.1.4, 3.1.5, 3.1.6, and
                                           3.1.7
                                          Updated use-case realization in section
                                           3.3 to corresponding with the updated
                                           use-cases.
11/20/06       PA           2.3           Update version in header                   Changes after inspection
                            (Released)
                                          Add document versions to the
                                           references.
                                          Edited section 2.3.14 changing the
                                           name to System Error Report for clarity
                                          Edited section 2.2.17 Role. Changed
                                           volunteer to job.
                                          Changed Priority of section 2.3.1.21 to
                                           Should Have
                                          Added Capability and Requirements to
                                           sections 2.3.1.23 and 2.3.1.24
                                          Update UML diagrams
                                          Updated the Use-Case Realization to
                                           correspond correctly to the Use-Cases
                                           realized.
11/29/06       PA           3.0           Updated document for LCA ARB               Prepare document for LCA ARB
                                          Removed Section 4 and replaced
                                           section 3 with Technology Specific
                                           Design instead.
                                          Update all sections of section 3
12/02/06       PA           3.1           Added section 3.3 and 3.4
                                          Updated the document to correct the
                                           IV&V problems
12/03/06       PA           3.2           Removed the artifacts UML model in         No longer needed
                                           section 2.2
12/3/06        PA           3.3           Corrected the defects found from           Changes made after inspection
                            (Released)     inspection




          SSAD_LCA_F06a_T03_V3.3.doc                             III                                      12/3/06
System and Software Architecture Description (SSAD)                                                                   Version 3.3




                                           Table of Contents
System and Software Architecture Description                                                                              I
Version History                                                                                                           II
Table of Contents                                                                                                         IV
Table of Tables                                                                                                           VI
1 ..... Introduction                                                                                                      10
   1.1       Purpose of the SSAD Document................................................................................... 10
   1.2       Standards and Conventions ........................................................................................... 10
   1.3       References ..................................................................................................................... 10
2 ..... System Analysis                                                                                                   11
   2.1       System Analysis Overview ........................................................................................... 11
        2.1.1 Structure .................................................................................................................... 11
        2.1.2 Actors ........................................................................................................................ 11
        2.1.3 Artifacts & Information ............................................................................................ 12
        2.1.4 Behavior .................................................................................................................... 14
          2.1.4.1 Processes ........................................................................................................... 14
          2.1.4.2 Modes of Operation .......................................................................................... 30
   2.2       System Analysis Rationale ........................................................................................... 30
3 ..... Platform/Technology–Specific Model                                                                                30
   3.1       Design Overview .......................................................................................................... 30
        3.1.1 Structure .................................................................................................................... 30
          3.1.1.1 Hardware Classifier Model ............................................................................... 30
          3.1.1.2 Software Classifier Model ................................................................................ 31
          3.1.1.3 Deployment Model ........................................................................................... 32
          3.1.1.4 Hardware Component Classifier ....................................................................... 32
          3.1.1.5 Hardware Connector Classifiers ....................................................................... 34
          3.1.1.6 Software Component Classifiers....................................................................... 34
          3.1.1.7 Hardware Components...................................................................................... 44
          3.1.1.8 Software Components ....................................................................................... 45
          3.1.1.9 Information Classes .......................................................................................... 46
        3.1.2 Behavior .................................................................................................................... 53
          3.1.2.1 Login ................................................................................................................. 55
          3.1.2.2 Logout ............................................................................................................... 56
          3.1.2.3 Clock in ............................................................................................................. 56
          3.1.2.4 Clock out ........................................................................................................... 57
          3.1.2.5 Submit Comment Log ....................................................................................... 57
          3.1.2.6 Submit Application ........................................................................................... 58
          3.1.2.7 View Volunteer Profile ..................................................................................... 59
          3.1.2.8 View Job Requests ............................................................................................ 59
          3.1.2.9 Submit Job Request........................................................................................... 60
          3.1.2.10    Track Hours and Awards .............................................................................. 61
          3.1.2.11    View All Job Requests .................................................................................. 62
          3.1.2.12    Schedule Jobs ................................................................................................ 62
          3.1.2.13    Delete Job Requests ...................................................................................... 63


SSAD_LCA_F06a_T03_V3.3.doc                                            IV                                                   12/3/06
System and Software Architecture Description (SSAD)                                                                Version 3.3


          3.1.2.14     View Volunteer List ...................................................................................... 63
          3.1.2.15     Edit Volunteer Hours .................................................................................... 64
          3.1.2.16     Generate Report ............................................................................................ 64
          3.1.2.17     Generates Certificate ..................................................................................... 65
          3.1.2.18     Specify Award Criteria ................................................................................. 65
          3.1.2.19     Edit Award Criteria ....................................................................................... 65
          3.1.2.20     Delete Award Criteria ................................................................................... 66
          3.1.2.21     Backup System Database .............................................................................. 67
          3.1.2.22     Restore System Database .............................................................................. 67
          3.1.2.23     Report User Error .......................................................................................... 68
          3.1.2.24     Report System Error ..................................................................................... 69
          3.1.2.25     Edit Volunteer Profile ................................................................................... 69
          3.1.2.26     Approve Volunteer Application .................................................................... 70
   3.2       Architectural Styles, Patterns & Framework ................................................................ 71
        3.2.1 Project Artifacts ........................................................................................................ 71
   3.3       Design Rationale ........................................................................................................... 72
4 ..... Glossary                                                                                                      72




SSAD_LCA_F06a_T03_V3.3.doc                                          V                                                   12/3/06
System and Software Architecture Description (SSAD)                                                        Version 3.3




                                           Table of Tables
Table 1 – System Actors Summary .............................................................................................. 12
Table 2 – Artifacts and Information Summary ............................................................................. 14
Table 3 - Use Case Description: Login ......................................................................................... 14
Table 4 - Typical Course of Action: Login ................................................................................... 14
Table 5 - Alternate Course of Action - Login ............................................................................... 14
Table 6 – Use Case Description: Logout ...................................................................................... 15
Table 7 – Typical Course of Action - Logout ............................................................................... 15
Table 8 – Exception Course of Action – Logout .......................................................................... 15
Table 9 – Use Case Description: Clock in .................................................................................... 15
Table 10 – Typical Course of Action: Clock in ............................................................................ 16
Table 11 – Use Case Description: Clock out ................................................................................ 16
Table 12 – Typical Course of Action: Clock out .......................................................................... 16
Table 13 – Use Case Description: Submit Comment Log ............................................................ 16
Table 14 – Typical Course of Action: Submit Comment Log ...................................................... 17
Table 15 – Exceptional Course of Action: Submit comment logs................................................ 17
Table 16 – Use Case Description: Submit Application ................................................................ 17
Table 17 – Typical Course of Action: Submit Application .......................................................... 17
Table 18 – Exceptional Course of Action: Submit Application ................................................... 18
Table 19 – Exceptional Course of Action: Submit Application ................................................... 18
Table 20 – Use Case Description: View volunteer profile ........................................................... 18
Table 21 – Typical Course of Action: View volunteer profile ..................................................... 19
Table 22 – Use Case Description: Supervisor views current tasks requested .............................. 19
Table 23 – Typical Course of Action: View Job Requests ........................................................... 19
Table 24 – Use Case Description: Submit Job Request ................................................................ 19
Table 25 – Typical Course of Action: Submit Job Request.......................................................... 20
Table 26 – Exceptional Course of Action: Submit Job Request................................................... 20
Table 27 – Exceptional Course of Action: Submit Job Request ................................................... 20
Table 28 – Use Case Description: View All Job Requests ........................................................... 20
Table 29 – Typical Course of Action: View All Job Requests ..................................................... 21
Table 30 – Use Case Description: Schedule Jobs ......................................................................... 21
Table 31 – Typical Course of Action: Schedule Jobs ................................................................... 21
Table 32 – Use Case Description: Delete Job Request ................................................................. 21
Table 33 – Typical Course of Action: Delete Job Request ........................................................... 22
Table 34 – Use Case Description: Views Volunteer List ............................................................. 22
Table 35 – Typical Course of Action: Volunteer View Volunteer List ........................................ 22
Table 36 – Use Case Description: Edit Volunteer Hours ............................................................. 23
Table 37 – Typical Course of Action: Edit Volunteer Hours ....................................................... 23
Table 38 – Use Case Description: Generate Report ..................................................................... 23
Table 39 – Typical Course of Action: Generate Report ............................................................... 23
Table 40 – Use Case Description: Generate Certificate ............................................................... 24
Table 41 – Typical Course of Action: Generate Certificate ......................................................... 24
Table 42 – Use Case Description: Specify Award Criteria .......................................................... 24
Table 43 – Typical Course of Action: Specify Award Criteria .................................................... 25
Table 44 – Use Case Description: Edit Award Criteria ................................................................ 25


SSAD_LCA_F06a_T03_V3.3.doc                                     VI                                              12/3/06
System and Software Architecture Description (SSAD)                                                             Version 3.3


Table 45 – Typical Course of Action: Edit Award Criteria .......................................................... 25
Table 46 – Use Case Description: Delete Award Criteria ............................................................ 25
Table 47 – Typical Course of Action: Delete Award Criteria ...................................................... 26
Table 48 – Use Case Description: Backup System Database ....................................................... 26
Table 49 – Typical Course of Action: Backup System Database ................................................. 26
Table 50 – Use Case Description: Restore System Database ....................................................... 26
Table 51 – Typical Course of Action: Restore System Database ................................................. 27
Table 52 – Alternate Course of Action: System Administrator recovers system database .......... 27
Table 53 – Use Case Description: Track Hours and Awards ....................................................... 27
Table 54 – Typical Course of Action: Track Hours and Awards ................................................. 27
Table 55 – Use Case Description: Track User Error .................................................................... 28
Table 56 – Typical Course of Action: Report User Error ............................................................. 28
Table 57 – Use Case Description: Track System Error ................................................................ 28
Table 58 – Typical Course of Action: Track System Error .......................................................... 28
Table 59 – Use Case Description: Edit Volunteer Profile ............................................................ 29
Table 60 – Typical Course of Action: Edit Volunteer Profile ...................................................... 29
Table 61 – Use Case Description: Approve Volunteer Application ............................................. 29
Table 62 – Typical Course of Action: Approve Volunteer Application ....................................... 29
Table 63 – Level of Service Specification Form: Application Server .......................................... 32
Table 64 – Level of Service Specification Form: Database Server .............................................. 33
Table 65 – Feature Set: Login ....................................................................................................... 34
Table 66 – Feature Set: Check Permission ................................................................................... 34
Table 67 – Feature Set: Send Clock .............................................................................................. 35
Table 68 – Feature Set: Send Comment Log Msg ........................................................................ 35
Table 69 – Feature Set: Logout ..................................................................................................... 35
Table 70 – Process Use Case Description: Login ......................................................................... 36
Table 71 – Process Typical Course of Action: Login ................................................................... 36
Table 72 – Feature: Volunteer Candidate Services....................................................................... 37
Table 73 – Process Use Case Description: Send Application....................................................... 37
Table 74 – Process Typical Course of Action: Send Application ................................................ 37
Table 75 – Feature Set: Send Job Request .................................................................................... 38
Table 76 – Feature Set: View Job Requests.................................................................................. 39
Table 77 – Feature Set: Generate Report ...................................................................................... 39
Table 78 – Feature Set: Schedule.................................................................................................. 39
Table 79 – Feature Set: Backup .................................................................................................... 40
Table 80 – Feature Set: Login ....................................................................................................... 40
Table 81 – Feature: Get Query Statement..................................................................................... 41
Table 82 – Feature: Execute Query Statement ............................................................................. 41
Table 83 – Process Use Case Description: Get Query Statement ................................................. 42
Table 84 – Process Typical Course of Action: Get Query Statement ........................................... 42
Table 85 – Process Use Case Description: Execute Query Statement .......................................... 42
Table 86 – Process Typical Course of Action: Execute Query Statement ................................... 42
Table 87 – Class Attributes: Authenticated User .......................................................................... 46
Table 88 – Operation Description: Login ..................................................................................... 46
Table 89 – Operation Description: Generate User Session .......................................................... 47
Table 90 – Operation Description: Terminate User Session ........................................................ 47



SSAD_LCA_F06a_T03_V3.3.doc                                        VII                                               12/3/06
System and Software Architecture Description (SSAD)                                                            Version 3.3


Table 91 – Class Attributes: Volunteer ......................................................................................... 48
Table 92 – Operation Description: Record Clock In .................................................................... 48
Table 93 – Operation Description: Get Short Profile ................................................................... 49
Table 94 – Operation Description: Modify Profile ....................................................................... 49
Table 95 – Class Attributes: Job ................................................................................................... 50
Table 96 – Operation Description: Record ................................................................................... 50
Table 97 – Class Attributes: Job ................................................................................................... 51
Table 98 – Operation Description: Backup .................................................................................. 52
Table 99 – Operation Description: Restore .................................................................................. 52
Table 100 – Operation Description: Query................................................................................... 53
Table 101 – Operation Description: Execute ................................................................................ 53
Table 102 – Use-Case Realization ................................................................................................ 54
Table 103 – Architectural Styles, Patterns, & Framework ........................................................... 71




SSAD_LCA_F06a_T03_V3.3.doc                                       VIII                                              12/3/06
System and Software Architecture Description (SSAD)                                                          Version 3.3



                                             Table of Figures
Figure 1 – UML Diagram: System Structure ................................................................................ 11
Figure 2 - Hardware Component Classes ..................................................................................... 31
Figure 3 - Software Compoent Classes ......................................................................................... 32
Figure 4 - Deployment Model....................................................................................................... 32




SSAD_LCA_F06a_T03_V3.3.doc                                       IX                                               12/3/06
System and Software Architecture Description (SSAD)                            Version 3.3




1 Introduction
1.1 Purpose of the SSAD Document
      The purpose of the SSAD document is to provide the analysis of the operational
concept, design the architecture, and design the implementation of the California Science
Center Volunteer Tracking System. It serves as a bridge linking between the inception and
the construction phases by providing the in-depth architectural design and implementation of
the proposed system.
      The initial draft of the SSAD document consists of the description of system analysis,
behavior, and modes of operation of the Volunteer Tracking System.


1.2 Standards and Conventions
      The following are the standards followed by this document:
          LeanMBASE Guideline version 1.7
          UML version 2.0


1.3 References
    LeanMBASE Guideline version 1.7
    http://greenbay.usc.edu/csci577/fall2006/site/guidelines/LeanMBASE_Guidelines_V1.7.
    pdf

    LeanMBASE Additional SSAD Guideline version 1.4
    http://greenbay.usc.edu/csci577/fall2006/site/guidelines/LeanMBASE_Additional_SSA
    D_Guideline_v1.4.pdf

    Operational Concept Description (OCD) version 3.7
    http://greenbay.usc.edu/csci577/fall2006/projects/team3/LCA/OCD_LCA_F06a_T03_V
    3.7.pdf

    Easy Win-Win Report version 2.0
    http://greenbay.usc.edu/csci577/fall2006/projects/team3/LCO/EWW_LCO_F06a_T03_
    V2.0.pdf

    Initial Prototyping Results version 1.0
    http://greenbay.usc.edu/csci577/fall2006/projects/team3/LCO/Prototypes/PROTO_LCO
    _F06_T03_V1.0.pdf

    System and Software Requirement Description version 2.2
    http://greenbay.usc.edu/csci577/fall2006/projects/team3/LCA/SSRD_LCA_F06a_T03_
    V2.2.pdf




SSAD_LCA_F06a_T03_V3.3.doc                        10                              12/3/06
System and Software Architecture Description (SSAD)                                Version 3.3



2 System Analysis
2.1 System Analysis Overview
        The primary purpose of the Volunteer Tracking System is to track the performance of
volunteers working at the California Science Center. The Volunteer Tracking System keeps
track of the number of hours each volunteer has completed as well as keeping track of
communications and job requests among volunteers, supervisors, and volunteer coordinator.
Reports and certificates are generated based on the needs and preferences of the volunteer
coordinator and managers. Notifications are sent to the volunteer coordinator once
volunteers’ working hours meet certain requirements.


2.1.1 Structure




                              Figure 1 – UML Diagram: System Structure

        The list of services provided by the system is listed as follows:
            Online application
            User authentication (log in/ log out)
            Track volunteer hours
            Track awards and history
            Generate various reports
            Generate certificates
            Online job requests submissions
            Automated and manual job scheduling
            System back up
            System recovery


2.1.2 Actors


           Actor                                          Responsibilities
Actor 1 – Volunteer                   Clock in at the beginning of work day and out at the end
                                      Write comments to supervisors or volunteer coordinator


SSAD_LCA_F06a_T03_V3.3.doc                        11                                  12/3/06
System and Software Architecture Description (SSAD)                                Version 3.3


                                      via comment log.
Actor 2 – Supervisor                Submit job requests
                                    View current requests status and volunteers assignment
                                    Write comments to volunteers and volunteer coordinator
                                      via comment log
Actor 3 – Volunteer                 Edit volunteers’ hours and profiles
Coordinator                         Review volunteer applications
                                    Generate reports
                                    Generate certificates
                                    Submit job requests
                                    Review, schedule, and approve job requests
                                    Write comments to volunteers and volunteer coordinator
                                      via comment log
Actor 4 – Manager                   Reviews the volunteers performances
                                    Generate reports as needed.
Actor 5 – System                    Assign username, password, and appropriate permissions
Administrator                         to users.
                                    Maintain the well-being of the system.
                                    Performs system backup and restores.
Actor 6 – Volunteer                Potential candidates that apply to CSC for volunteer positions.
Candidate                          The candidate completes the volunteer application online and
                                   submits it to be reviewed later by the volunteer coordinator.
                                  Table 1 – System Actors Summary



2.1.3 Artifacts & Information

           This section of the document describes the artifacts and information created by the
      system. These artifacts can either be used by the end user or reused by the system to
      produce further artifacts. The model of the class diagram and list of artifacts are
      described below.

        Artifact                                             Purpose
ATF-1: Application Form           Provides volunteer candidate profile that needs for the
                                  approval from volunteer coordinator. It contains all
                                  information needed for the volunteer approval process.
ATF-2: Volunteer Profile          Contain all information of each volunteer including volunteer
                                  profile, working hour history, award history, comment logs
                                  etc. Furthermore, the volunteer profile is transferred from
                                  volunteer candidate application (when that application was
                                  approved). These information are data needed for every
                                  processes in the system such as award tracking,
                                  communication tracking (See Related Capability section)
ATF-3: Job Request Form           Contains adequate information for the job scheduling process
                                  including name, description, schedule, responsible staff,
                                  amount of volunteers needed, preferred volunteer’s skill etc.
                                  These are needed during time of volunteer scheduling
                                  assigning volunteers to jobs.
ATF-4: Time Sheet                 The paper time sheet that the volunteer coordinator have to


SSAD_LCA_F06a_T03_V3.3.doc                        12                                   12/3/06
System and Software Architecture Description (SSAD)                                  Version 3.3


                                  input it to the system manually. A time sheet contains all
                                  volunteers’ register time in/out for an individual activity.
                                  Provides information about volunteer clock in/out time for
                                  jobs that do not allow their volunteers to clock in/out online
                                  (e.g. in case of there is no computer at the work site).
ATF-5: Notification               When a volunteer’s working hour meets the award criteria, the
                                  system will automatically generates this artifact to inform the
                                  volunteer coordinator to give the award promotion to that
                                  volunteer. The notification contains the name of the volunteer,
                                  what award s/he got and which date they got the award

ATF-6 :Report                     The volunteer coordinator as well as manager can generate
                                  this report for any purposes such as monthly volunteer
                                  department report, report for executive meeting or simply for
                                  quick review. Contains customized information that the user
                                  needs for his/her report. (The user can tailor his/her reports
                                  arbitrary, see UC- 22 for more details)
ATF-7 : PDF Format Report         The Generate Report function’s output that was generated in
                                  Pdf format (Adobe Acrobat format), so the user (volunteer
                                  coordinator and manager) can exploit it outside the system.
ATF-8 : Certificate               This artifact will be generated according to CSC certificate
                                  format. An example of this artifact is community service
                                  certification letter. Contains information derived from the
                                  system (for example, in community service certification letter
                                  case, the information is the name of the volunteer, the amount
                                  of hours s/he works etc.) which is filled within CSC certificate
                                  template format. Note that the volunteer coordinator can
                                  modify the template arbitrarily
ATF-9 : PDF Format                The Generate Certificate function’s output that was generated
Certificate                       in Pdf format (Adobe Acrobat format), so the user (volunteer
                                  coordinator and manager) can exploit it outside the system
ATF-10: Volunteer/Job             The artifact is the output resulting from the Job Scheduling
Schedule                          process. It contains the matching between job criteria and
                                  volunteer profile.
ATF-11 : Job List                 The list of jobs that require volunteers from the volunteer
                                  coordinator. The volunteer coordinator can view all job
                                  requests via this list as well as can use this list (the new
                                  requests section) as a reference to allocate appropriate
                                  volunteers to every request. Contains all jobs that are currently
                                  active as well as the new requests
ATF-12 : Volunteer List           The list of all CSC volunteers. Contains all volunteers with
                                  their information, for instance name, address, status (active,
                                  non-active), type etc. Furthermore, it includes a link to the full
                                  profile of each volunteer.
ATF-13 : Backup File              This file is used for System Recovering process as well as the
                                  system’s secondary data source. Contains all data that is
                                  stored in the system database.
ATF-14 : Error Report File        Contains as many error messages, which inform about what
                                  happen to the system, as possible.
ATF-15: Comment Log               Contains a comment message, the sender name, the optional


SSAD_LCA_F06a_T03_V3.3.doc                        13                                     12/3/06
System and Software Architecture Description (SSAD)                                   Version 3.3


                                  receiver name and the optional flag telling whether the sender
                                  want to expose this comment to the public or not. The
                                  comment log is also used as a mean of communication
                                  between volunteers, supervisors and volunteer coordinator.
ATF-16 : User Error Log           The automatically generated log. The system generates this
                                  log when it detects that some volunteers forgot to clock out
                                  from their working time..
ATF-17: Job Profile               Contains adequate information for the job scheduling process
                                  including name, description, schedule, responsible staff,
                                  amount of volunteers needed, preferred volunteer’s skill etc.
                                  The information in Job Request Form will be transferred to
                                  this artifact, so the job scheduling can use this artifact for
                                  matching between job and volunteer.
                             Table 2 – Artifacts and Information Summary



2.1.4 Behavior

2.1.4.1 Processes
2.1.4.1.1 Login

                                 Table 3 - Use Case Description: Login
Identifier           UC- 1: Login
Purpose              Determine authentication and privilege of the use of system
Capability           OC-3 Security
Requirements         CR-2 Authorization and Authentication
Risks                Hacker may be able to hack into the system via the login page
Pre-conditions       User’s username and password exist on the system database with
                     appropriate authentication status.
                     User uses the computer connected to the CSC network.
Post-conditions      User is authorized to use the system

                               Table 4 - Typical Course of Action: Login
Seq#       Actor Actions                  System Response
1          Send the username and password
2          Click send button
3                                         Validate the username and password
4                                         Redirect the actor to home page based
                                          on the type of user and pre-defined
                                          permissions

                              Table 5 - Alternate Course of Action - Login
Seq#       Actor Actions                              System Response
1          Send the wrong username or
           password
2                                                     Validate the username and password
3                                                     Create user authentication session
4                                                     Display An error message: “username
                                                      or password are wrong” in a dialog box


SSAD_LCA_F06a_T03_V3.3.doc                        14                                     12/3/06
System and Software Architecture Description (SSAD)                                      Version 3.3


5          Click OK button
6                                                     Redirect the actor to the login page

Exceptional Course of Action for Login is not applicable


2.1.4.1.2 Logout

                                Table 6 – Use Case Description: Logout
Identifier           UC- 2 Logout
Purpose              To log out of the system
Capability           OC-3 Security
Requirements         CR-2 Authorization and Authentication
Risks                N/A
Pre-conditions       The user has logged in to the system.
                     The user’s login session still exists
Post-conditions      The user login session is terminated.
                     The user is detached from the system

                              Table 7 – Typical Course of Action - Logout
Seq#       Actor Actions                              System Response
1          Click the “log out” hypertext
2                                                     Display a message: “you have already
                                                      logged out of the system” in a dialog
                                                      box
3          Click OK button
4                                                     Redirect the actor to CSC main page

Alternate Course of Action for Logout is not applicable

                            Table 8 – Exception Course of Action – Logout
Seq#       Actor Actions                              System Response
1          Try to directly enter logout page
2                                                     An error message: “you have not
                                                      logged in yet”.


2.1.4.1.3 Clock in

                               Table 9 – Use Case Description: Clock in
Identifier           UC- 3 Clock in
Purpose              To track volunteers’ working hours
Capability           OC-4 Time tracking:
Requirements         CR-3 Track volunteer hours and performance
Risks                Volunteer may forget to clock in
Pre-conditions       Volunteer has already logged in to the system.
Post-conditions      The volunteer’s beginning time of work was recorded to his/her
                     profile.
                     The work status of the volunteer’s record was noted as “working”



SSAD_LCA_F06a_T03_V3.3.doc                        15                                         12/3/06
System and Software Architecture Description (SSAD)                                    Version 3.3




Table 10 – Typical Course of Action: Clock in
Seq#         Actor Actions                            System Response
1            Click the “Clock in” button
2                                                     Record the clock in time
3                                                     Display a message: “your work’s
                                                      beginning time was recorded to the
                                                      system database”

Alternate Course of Action for Clock in is not applicable
Exceptional Course of Action for Clock in is not applicable


2.1.4.1.4 Clock out

Table 11 – Use Case Description: Clock out
Identifier            UC- 4 Clock out
Purpose               To track volunteers’ working hours
Capability            OC-4 Time tracking:
Requirements          CR-3 Track volunteer hours and performance
Risks                 Actors may forget to clock out when they finish their work.
                      Actors may try to cheat their working time by clocking out long
                      after they finish their work.
Pre-conditions        Volunteer has already clocked in.
Post-conditions       The volunteer’s finishing time of work was recorded to his/her
                      profile.
                      The work status of the volunteer’s record was noted as “finished”

Table 12 – Typical Course of Action: Clock out
Seq#         Actor Actions                            System Response
1            Click the “Clock out” button
2                                                     A message: “you have already clocked
                                                      out and the finishing time has been
                                                      recorded the system database”

Alternate Course of Action for Clock out is not applicable
Exceptional Course of Action for Clock out is not applicable


2.1.4.1.5 Submit Comment Log

                        Table 13 – Use Case Description: Submit Comment Log
Identifier            UC- 5 Submit Comment Log
Purpose               Tracks communications between volunteers, and volunteer
                      coordinator.
Capability            OC-6: Comment log
Requirements          CR-4: Communication Tracking
Risks                 User may send a comment with length longer than the database’s
                      record can contain.
                      User may send a comment with empty message (e.g. inadvertently


SSAD_LCA_F06a_T03_V3.3.doc                        16                                       12/3/06
System and Software Architecture Description (SSAD)                                      Version 3.3


                       click “Send Message” button before writing the message).
Pre-conditions          The user’s information exists on the database.
                        User is logged into the system.
Post-conditions        The written comment log was record to the system database and
                       will show up at the receiver’s comment logs window

                       Table 14 – Typical Course of Action: Submit Comment Log
Seq#         Actor Actions                            System Response
1            Send a comment message
2                                                     A message: “the message has already
                                                      been sent” with a link to redirect the
                                                      actor back to user’s home page

Alternate Course of Action for Clock out is not applicable

                     Table 15 – Exceptional Course of Action: Submit comment logs
Seq#         Actor Actions                            System Response
1            Send a too-long comment
             message
2                                                     An error message: “ the message size
                                                      exceeded the limited length” and a link
                                                      to redirect the actor back to “write a
                                                      comment log” page
1            Send an empty message
2                                                     An error message: “the message is
                                                      empty” with a link to redirect the user
                                                      back to the user’s home page


2.1.4.1.6 Submit Application

                          Table 16 – Use Case Description: Submit Application
Identifier             UC- 6 Submit Application
Purpose                Recruiting new volunteers via web application. Therefore,
                       volunteer candidates do not need to apply the application in
                       person anymore.
Capability             OC-1: Web-based Application
Requirements           CR-1 Online application
Risks                  Existing volunteers may unintentionally apply for volunteer again.
                       Candidates may send empty or unfinished application
                       Candidates may submit the applications twice.
Pre-conditions         The first and last names of the person submitting the application
                       does not exist in the database
Post-conditions        The actor’s status was noted as “pending”.
                       The application was posted in system database waiting the
                       approval from the volunteer coordinator

                        Table 17 – Typical Course of Action: Submit Application
Seq#         Actor Actions                            System Response
1            Fill in appropriate fields


SSAD_LCA_F06a_T03_V3.3.doc                        17                                           12/3/06
System and Software Architecture Description (SSAD)                                      Version 3.3


2            Click submit the form
3                                                     Check the completeness of the form
4                                                     Record the application into the system
                                                      database
5                                                     Display a message: “the application was
                                                      already sent” and a link to redirect the
                                                      actor back to the CSC main page

Alternate Course of Action for Clock out is not applicable

                      Table 18 – Exceptional Course of Action: Submit Application
Seq#         Actor Actions                            System Response
1            Send an empty or incomplete
             application
2                                                     An error message: “the application was
                                                      not complete” and a link to redirect the
                                                      actor back to fill in an application page
1            Send an complete application
             twice (e.g. the actor clicks the
             “Submit” button twice)
2                                                     An error message: “the application was
                                                      sent before” and a link to redirect the
                                                      actor back to CSC main page
1            Send an application that all the
             information belongs to an
             existing volunteer
2                                                     An error message: “the information in
                                                      this application already exist in the
                                                      database” and a link to redirect the actor
                                                      back to CSC main page

                      Table 19 – Exceptional Course of Action: Submit Application
Seq#         Actor Actions                            System Response
1            User send an application that has
             already been submitted once
2                                                     An error message: “the application
                                                      already exists in the database.”


2.1.4.1.7 View Volunteer Profile

                         Table 20 – Use Case Description: View volunteer profile
Identifier             UC- 7 View volunteer profile
Purpose                View information, profiles, history, and skills of volunteers that
                       have been assigned to the job requests.
Capability             OC-10: View Volunteer
Requirements           CR-13: View/Edit Volunteer Profile
Risks                  N/A
Pre-conditions          The volunteer’s information already exists in the system



SSAD_LCA_F06a_T03_V3.3.doc                         18                                        12/3/06
System and Software Architecture Description (SSAD)                                         Version 3.3


                       User is logged into the system
Post-conditions       Displaying the profile of each volunteer on screen.

                       Table 21 – Typical Course of Action: View volunteer profile
Seq#         Actor Actions                            System Response
1            Click on the name of each
             volunteer (the name is a link)
2                                                     The profile of the specific volunteer
                                                      will be displayed in the profile window

Alternate Course of Action for View Volunteer Profile is not applicable
Exceptional Course of Action for Viewing Volunteer Profile is not applicable


2.1.4.1.8 View Job Requests

                Table 22 – Use Case Description: Supervisor views current tasks requested
Identifier            UC- 8 View Job Requests
Purpose               Users have the ability to view jobs that they have been requested
Capability            OC-9: Job Requests
Requirements          CR-8: Job requests
Risks                 None
Pre-conditions        User is logged into the system
Post-conditions       Current tasks is displayed on user’s screen

                         Table 23 – Typical Course of Action: View Job Requests
Seq#         Actor Actions                            System Response
1            Click on “View Current Tasks”
             link
2                                                     Directs to current tasks page
3            Click on the task link
4                                                     Task profile, list of volunteers assigned,
                                                      and status of task are displayed

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.9 Submit Job Request

                          Table 24 – Use Case Description: Submit Job Request
Identifier            UC- 9 Submit Job Request
Purpose               Providing the online ability for users to request volunteers to work
                      for them
Capability            OC-7: Scheduling Tools
Requirements          CR-8 Job Requests
Risks                 User may send an incomplete job request.
                      User may send identical requests.
                      User may need to modify requests that has been sent



SSAD_LCA_F06a_T03_V3.3.doc                         19                                          12/3/06
System and Software Architecture Description (SSAD)                                       Version 3.3


Pre-conditions       The user must be logged in as a supervisor or volunteer
                     coordinator
Post-conditions      The request is recorded to the database

                       Table 25 – Typical Course of Action: Submit Job Request
Seq#       Actor Actions                              System Response
1          Click on “Job Requests” link
2                                                     Directs to the Job Requests page
3          Fill in the appropriate fields
4          Click submit
5                                                     Job request entry is recorded to the
                                                      database
6                                                     Display a message: “the request has
                                                      been sent” with a link to redirect the
                                                      actor back to user’s home page

Alternate Course of Action for Clock out is not applicable

                     Table 26 – Exceptional Course of Action: Submit Job Request
Seq#       Actor Actions                              System Response
1          Click on “Job Requests” link
2                                                     Directs to the Job Requests page
3          Fill in the appropriate fields, but
           in complete
4          Click submit
5                                                     Display an error message: “The job
                                                      request cannot be sent because of its
                                                      incompleteness” and a link to redirect
                                                      the actor back to fill in the job request
                                                      form page

                     Table 27 – Exceptional Course of Action: Submit Job Request
Seq#       Actor Actions                              System Response
1          Click on “Job Requests” link
2                                                     Directs to the Job Requests page
3          Fill in the appropriate fields, but
           in complete
4          Click submit
1                                                     Display an error message: “The job
                                                      already exists in the database. The
                                                      request is identical.”



2.1.4.1.10      View All Job Requests

                        Table 28 – Use Case Description: View All Job Requests
Identifier           UC- 10 View All Job Requests
Purpose              Shows all job requests submitted by the users
Capability           OC-9: Job Requests


SSAD_LCA_F06a_T03_V3.3.doc                        20                                           12/3/06
System and Software Architecture Description (SSAD)                                      Version 3.3


Requirements          CR-8: Job requests
Risks                 N/A
Pre-conditions        User is logged in as volunteer coordinator
Post-conditions       All job requests are retrieved from the database and displayed on
                      the user’s screen.

                      Table 29 – Typical Course of Action: View All Job Requests
Seq#         Actor Actions                            System Response
1            Click on “View All Requests”
             link
2                                                     Displays all job requests in list view on
                                                      user’s screen

Alternate Course of Action is not applicable
Exceptional Course of Action not applicable


2.1.4.1.11       Schedule Jobs

                            Table 30 – Use Case Description: Schedule Jobs
Identifier            UC- 11 Schedule jobs
Purpose               Schedule volunteers with job requests based on criteria and skills
Capability            OC-9: Job Requests, OC-7: Job Scheduling
Requirements          CR-9: Volunteer scheduling
Risks                 N/A
Pre-conditions        a. User is logged in as volunteer coordinator
                      b. Job requests available in the database
                      c. Volunteers available to match with jobs
Post-conditions       Volunteers with matching criteria and skills are assigned to jobs
                      and recorded into the database

                          Table 31 – Typical Course of Action: Schedule Jobs
Seq#         Actor Actions                            System Response
1            Click on “Schedule jobs” button
2                                                     Match volunteers with jobs based on
                                                      criteria and skills, and displays them on
                                                      the screen
3            Assign volunteers to each job
4            Click “Submit”
5                                                     Record results to the database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.12       Delete Job Request

                          Table 32 – Use Case Description: Delete Job Request
Identifier            UC- 12 Delete Job Request



SSAD_LCA_F06a_T03_V3.3.doc                        21                                         12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3


Purpose               Allows volunteer coordinator to delete job requests that have been
                      previously requested by supervisors and the volunteer coordinator
Capability            OC-9: Job Requests
Requirements          CR-8: Job requests
Risks                 Database record reference may cause problems
Pre-conditions         User is logged in as volunteer coordinator
                       Job request entry exists on the database.
Post-conditions       Job request is deleted from the database.

                        Table 33 – Typical Course of Action: Delete Job Request
Seq#         Actor Actions                            System Response
1            Click on “View All Requests”
             link
2                                                     Directs to the View All Job Request
                                                      page
3            Click on task link
4            Click Delete
5                                                     Deletes the task from the database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.13       Views Volunteer List

                         Table 34 – Use Case Description: Views Volunteer List
Identifier            UC- 13 View Volunteer List
Purpose               Allows the volunteer coordinator to view the list of volunteers
                      based on different searching and sorting algorithms
Capability            OC-10: View Volunteers
Requirements          CR-13: View/Edit Volunteer Profile
Risks                 Retrieving large list of volunteers from the database may put
                      stress on the network system as well as slowing down
                      performance significantly.
Pre-conditions        a. User is logged in as volunteer coordinator
                      b. Searching and sorting preferences entered
Post-conditions       List of volunteers is displayed on the user’s screen

                   Table 35 – Typical Course of Action: Volunteer View Volunteer List
Seq#         Actor Actions                            System Response
1            Click on “View Volunteers” link
2                                                     Directs to volunteer listing page with
                                                      pull down menus to choose searching
                                                      and sorting preferences
3            Choose the appropriate menus
             from the pull down menu
4            Click “Submit”
5                                                     List of volunteers displayed on the
                                                      screen


SSAD_LCA_F06a_T03_V3.3.doc                        22                                        12/3/06
System and Software Architecture Description (SSAD)                                      Version 3.3




Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.14       Edit Volunteer Hours
                         Table 36 – Use Case Description: Edit Volunteer Hours
Identifier            UC- 14 Edit Volunteer Hours
Purpose               Allows the volunteer coordinator to edit the volunteer’s hours and
                      clock in/out entries if they happen to forget.
Capability            OC-10: View Volunteers
Requirements          CR-3: Track volunteer hours and performance
Risks                 N/A
Pre-conditions        a. User is logged in as volunteer coordinator
                      b. Volunteer forgets to clock in/out
Post-conditions       New volunteer hour is recorded to the database

                       Table 37 – Typical Course of Action: Edit Volunteer Hours
Seq#         Actor Actions                            System Response
1            Click on “Edit volunteer’s
             hours” link
2                                                     Directs to page with list of volunteers
                                                      that have problems on their accounts
                                                      (missing clock in/out entry)
3            Edit the volunteer’s hours entries
4            Click “Submit”
5                                                     Volunteer’s hours updated on the
                                                      database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.15       Generate Report

                           Table 38 – Use Case Description: Generate Report
Identifier            UC- 15 Generate Report
Purpose               Users have the ability to generate reports that include information
                      specified by him/her.
Capability            OC-4: Time tracking, OC-8: Performance Analysis
Requirements          CR-6: Generate Reports
Risks                 N/A
Pre-conditions        a. User is logged in as volunteer coordinator or manager
                      b. Volunteers’ data exists in the database
Post-conditions       Report is generated

                         Table 39 – Typical Course of Action: Generate Report
Seq#         Actor Actions                    System Response
1            Click on “Generate Reports” link



SSAD_LCA_F06a_T03_V3.3.doc                        23                                        12/3/06
System and Software Architecture Description (SSAD)                                      Version 3.3


2                                                     Directs to report generator page
3            Select which information to be
             generated
4            Click “Submit”
5                                                     Report is generated on user’s screen
                                                      and/or in PDF format

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.16       Generate Certificate

                         Table 40 – Use Case Description: Generate Certificate
Identifier            UC- 16 Generate Certificate
Purpose               Volunteer coordinator has the ability to generate certificates
Capability            OC-12: Generate Certificates
Requirements          CR-7: Generate Certificates
Risks                 N/A
Pre-conditions         User is logged in as volunteer coordinator
                       Certificates template exists on the database
Post-conditions       Certificate is generated

                        Table 41 – Typical Course of Action: Generate Certificate
Seq#         Actor Actions                            System Response
1            Click on “Generate Certificates”
             link
2                                                     Directs to certificates generator page
3            Select which type of certificate
             to be generated
4            Click “Submit”
5                                                     Certificate is generated on user’s screen
                                                      and/or in PDF format

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.17       Specify Award Criteria

                        Table 42 – Use Case Description: Specify Award Criteria
Identifier            UC- 17 Specify Award Criteria
Purpose               Specifies the specific criteria for volunteer rewards such as the
                      number of hours.
Capability            OC-5: Awards Tracking
Requirements          CR-5: Award Tracking
Risks                 N/A
Pre-conditions         User is logged in as volunteer coordinator
                       Award criteria data table exists in the database


SSAD_LCA_F06a_T03_V3.3.doc                         24                                          12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3


Post-conditions        Award criteria is updated in the system database

                       Table 43 – Typical Course of Action: Specify Award Criteria
Seq#         Actor Actions                            System Response
1            Click on “Award Criteria” link
2                                                     Direct to Award Criteria page
3            Fill in the award criteria in the
             appropriate fields
4            Click Submit
5                                                     Award criteria is recorded in the system
                                                      database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.18       Edit Award Criteria

                          Table 44 – Use Case Description: Edit Award Criteria
Identifier             UC- 18 Edit Award Criteria
Purpose                Edit the criteria for volunteer rewards such as the number of
                       hours.
Capability             OC-5: Awards Tracking
Requirements           CR-5: Award Tracking
Risks                  N/A
Pre-conditions          User is logged in as volunteer coordinator
                        Award criteria data table exists in the database
                        Award criteria data exists in the database
Post-conditions        Award criteria is updated in the system database

                        Table 45 – Typical Course of Action: Edit Award Criteria
Seq#         Actor Actions                            System Response
1            Click on “Award Criteria” link
2                                                     Direct to Award Criteria page
3            Edit the award criteria in the
             appropriate fields
4            Click Submit
5                                                     Award criteria is updated in the system
                                                      database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.19       Delete Award Criteria

                         Table 46 – Use Case Description: Delete Award Criteria
Identifier             UC- 19 Delete Award Criteria
Purpose                Deleting the award criteria from the database



SSAD_LCA_F06a_T03_V3.3.doc                         25                                      12/3/06
System and Software Architecture Description (SSAD)                                        Version 3.3


Capability            OC-5: Awards Tracking
Requirements          CR-5: Award Tracking
Risks                 Deleting awards when it is being referenced by others may pose
                      problems
Pre-conditions         User is logged in as volunteer coordinator
                       Award criteria data table exists in the database
                       Award criteria data exists in the database
Post-conditions       Award criteria is deleted from the system database

                      Table 47 – Typical Course of Action: Delete Award Criteria
Seq#         Actor Actions                            System Response
1            Click on “Award Criteria” link
2                                                     Direct to Award Criteria page
3            Click “Delete”
4                                                     Award criteria is deleted from the
                                                      system database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.20       Backup System Database

                       Table 48 – Use Case Description: Backup System Database
Identifier            UC- 20 Backup System Database
Purpose               The database is to be backed up for restoring purposes incase of
                      system or network failure.
Capability            OC-11: Database backup/restoring
Requirements          CR-10: Application recovery, CR-11: Database backup
Risks                 Data may be corrupted during back up
Pre-conditions        User has administrative rights to system.
Post-conditions       System database is backed up to a file

                     Table 49 – Typical Course of Action: Backup System Database
Seq#         Actor Actions                            System Response
1            Click “Back Up” button
2                                                     System database is backed up

Alternate course of action not applicable
Exceptional Course of Action not applicable

2.1.4.1.21       Restore System Database

                       Table 50 – Use Case Description: Restore System Database
Identifier            UC- 21 Restore System Database
Purpose               Recovers the system from the failure by using the database
                      backup file as a data source
Capability            OC-11: Database backup/restoring
Requirements          CR-10: System recovery


SSAD_LCA_F06a_T03_V3.3.doc                        26                                          12/3/06
System and Software Architecture Description (SSAD)                                    Version 3.3


Risks                 Data may be corrupted during restore
                      System administrator may use the wrong version of the backup
                      file
Pre-conditions        User has administrative rights to system.
Post-conditions       System database is restored from the backup file

                     Table 51 – Typical Course of Action: Restore System Database
Seq#         Actor Actions                            System Response
1            Click “Restore” button
2                                                     Check whether the backup file is
                                                      corrupted or not.
3                                                     System database is restored
4                                                     Display a message “System database
                                                      has already restored”

         Table 52 – Alternate Course of Action: System Administrator recovers system database
Seq#         Actor Actions                            System Response
1            Click “Restore” button
2                                                     Check whether the backup file is
                                                      corrupted or not.
3                                                     Display an error message “The backup
                                                      file doesn’t exist or not usable”

Exceptional Course of Action not applicable


2.1.4.1.22       Track Hours and Awards

                       Table 53 – Use Case Description: Track Hours and Awards
Identifier            UC- 22 Track Hours and Awards
Purpose               Automatically track volunteers’ hours as well as determine which
                      volunteer meet the award criteria and sends award notifications to
                      the volunteer coordinator as appropriate.
Capability            OC-5: Awards Tracking, OC-4: Time Tracking
Requirements          CR-5: Award Tracking, CR-3: Track volunteer hours and
                      performance
Risks                 Hours tracking not be continuous if system is down.
Pre-conditions        Volunteers’ working hours meet awards requirements
Post-conditions       Names of volunteers that meets the requirements is recorded to
                      the system database and notification is sent to the volunteer
                      coordinator.

                     Table 54 – Typical Course of Action: Track Hours and Awards
Seq#         Actor Actions                            System Response
1            System identifies volunteers that
             meet award requirements
2                                                     Update award notification
3                                                     Update volunteer award history

Alternate course of action not applicable


SSAD_LCA_F06a_T03_V3.3.doc                        27                                       12/3/06
System and Software Architecture Description (SSAD)                                    Version 3.3


Exceptional Course of Action not applicable

2.1.4.1.23       Track User Error

                           Table 55 – Use Case Description: Track User Error
Identifier            UC- 23 Track User Error
Purpose               Automatically track the errors or mistakes that are caused by
                      users.
Capability            OC-13: Error Detection
Requirements          CR-10: Application recovery
Risks                 N/A
Pre-conditions        Volunteer forgets to clock out by 11 pm
Post-conditions       Notification sent to volunteer coordinator

                         Table 56 – Typical Course of Action: Report User Error
Seq#         Actor Actions                            System Response
1            System identifies that the user is
             still clocked in at 11 pm
2                                                     Generate notification and update system
                                                      to notify volunteer coordinator

Alternate course of action not applicable
Exceptional Course of Action not applicable

2.1.4.1.24       Track System Error

                          Table 57 – Use Case Description: Track System Error
Identifier            UC- 24 Track System Error
Purpose               Automatically track the errors encounters by the system which
                      causes malfunction.
Capability            OC-13: Error Detection
Requirements          CR-10: Application recovery
Risks                  Slow response from database may appear as no response and
                         cause system error
                       Network traffic may slow performance appearing as system
                         error
Pre-conditions        System encounters an error
Post-conditions       Notification sent to system administrator

                        Table 58 – Typical Course of Action: Track System Error
Seq#         Actor Actions                            System Response
1            System identifies that there is an
             error occurred
2                                                     Generate notification and e-mail system
                                                      administrator

Alternate course of action not applicable
Exceptional Course of Action not applicable




SSAD_LCA_F06a_T03_V3.3.doc                        28                                      12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3




2.1.4.1.25       Edit Volunteer Profile

                         Table 59 – Use Case Description: Edit Volunteer Profile
Identifier            UC- 25 Edit Volunteer Profile
Purpose               Allows the user to edit the volunteer profiles
Capability            OC-10: View Volunteers
Requirements          CR-13: View/Edit Volunteer Profile
Risks                 N/A
Pre-conditions            User is logged in as volunteer coordinator
                          Volunteer’s data exists in the database
Post-conditions       Volunteer’s profile is updated in the database

                       Table 60 – Typical Course of Action: Edit Volunteer Profile
Seq#         Actor Actions                            System Response
1            User clicks on the volunteer
             name (hyperlink)
2            User clicks “edit profile”
3                                                     Loads the volunteer profile page with
                                                      editable fields
4            Edit appropriate fields
5            Click “submit”
6                                                     Volunteer’s profile is updated in the
                                                      database

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.1.26       Approve Volunteer Application

                    Table 61 – Use Case Description: Approve Volunteer Application
Identifier            UC- 26 Approve Volunteer Application
Purpose               Allows the user to approve the volunteer application that have
                      been submitted
Capability            OC-1: Web-based Application
Requirements          CR-1: Online Application
Risks                 N/A
Pre-conditions             User is logged in as volunteer coordinator
                           Volunteer’s application exists in the database
Post-conditions       Volunteer application is approved and update status as a volunteer
                      in the database.

                  Table 62 – Typical Course of Action: Approve Volunteer Application
Seq#         Actor Actions                            System Response
1            User clicks on “View
             Application”
2            User clicks “Approve”


SSAD_LCA_F06a_T03_V3.3.doc                         29                                         12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3


3                                                     Update the status of the application
4                                                     Display message “Approved”

Alternate course of action not applicable
Exceptional Course of Action not applicable


2.1.4.2 Modes of Operation

        The system does not require change of modes in operation; therefore, system operates
    only in a single mode which is the execution mode with the standard configuration. For
    this, diagram representation of the modes of operation can be neglected.


2.2 System Analysis Rationale
         The system analysis was done based on the knowledge of the current volunteer
    working process and management done at the California Science Center. These existing
    processes as well as new ones were translated into use-cases, which represent the
    capabilities of the system being developed.

         ***** ADK Started here *****

3 Platform/Technology–Specific Model
3.1 Design Overview
3.1.1 Structure

3.1.1.1 Hardware Classifier Model
        The Hardware Classifier Model defines the different hardware components that will
    be used to run the Volunteer Tracking System. The Non-CSC Workstations are the
    personal computers that are accessing the system from outside the California Science
    Center. The workstations are connected to the Web Server (UNIX) via the Internet. On
    the other hand, the CSC Workstations are the local computers within the Science Center
    which are connected to the Intranet Server (UNIX) via local network connection. Both the
    Web Server and the Intranet Server are connected to a common Database Server (UNIX)
    through local network connection. Refer to the Hardware Component Classes package in
    RSA for detailed model.




SSAD_LCA_F06a_T03_V3.3.doc                        30                                         12/3/06
System and Software Architecture Description (SSAD)                            Version 3.3




                               Figure 2 - Hardware Component Classes

3.1.1.2 Software Classifier Model
        The Software Classifier Model shows the architecture of the software components for
    the Volunteer Tracking System. The different user interface components – CSC Staff
    User Interface, Volunteer User Interface, and Non-CSC Staff User Interface – are used by
    the Browser which is the web browsers from the workstations. The UI components use
    the Business Logic components to perform certain tasks and operations, which then
    communicates with the RDBMS database as appropriate.

        Each component communicates with each other through specific interfaces which are
    defined and shown in the Interfaces package. The interfaces allow for requests and
    operations to be done between components. The CSC Staff User Interface communicates
    with the Business Logic component through SupervisorServices,
    VolunteerCoordinatorServices, ManagerServices, and LiveUserServices interfaces. The
    Volunteer User Interface communicates with the Business Logic component through the
    VolunteerServices interface. The Non-CSC Staff User Interface uses the
    VolunteerCandidateServices to communicate. The Business Logic uses the
    DatabaseManagementServices interface to interact with the RDBMS database. The user
    interface components as well as the business logic component are constructed with PHP,
    PEAR, and AJAX technology. MySQL will be used for RDBMS for all database
    management. Finally, an Email interface is used by the Business Logic component to
    communicate with the other system (Newsletter System) to send emails.

        Please refer to the Software Classes package for further detail on the UML model.




SSAD_LCA_F06a_T03_V3.3.doc                        31                               12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3




                                 Figure 3 - Software Compoent Classes

3.1.1.3 Deployment Model

        This section provides the detail on the design of the deployment model of the system
    with a standard configuration. The model illustrates how each devices and nodes
    communicate with each other. The model also specifies where the software components
    reside within the different hardware components. All the server are UNIX servers where
    the workstations are the personal computers. Please refer to the Deployment Model
    package for detailed UML model.




                                     Figure 4 - Deployment Model



3.1.1.4 Hardware Component Classifier
3.1.1.4.1 Application Server (HCC-01)
3.1.1.4.1.1   Purpose
        Application server is the host of the system.

3.1.1.4.1.2 L.O.S. Characteristic Goals
                   Table 63 – Level of Service Specification Form: Application Server
Level of Service     LSR-5: Performance


SSAD_LCA_F06a_T03_V3.3.doc                        32                                       12/3/06
System and Software Architecture Description (SSAD)                                   Version 3.3


Description          Less than 1 second desired, 1 second acceptable
Measurable           Time between the user sent request to the server and the server
                     send the response back to the user (Sever/web connection
                     dependent)
Relevant             The delay on all process than the acceptable level may cause the
                     user frustration
Specific             N/A


3.1.1.4.2        Database Server (HCC-02)
3.1.1.4.2.1   Purpose
        The database server is the host of RDBMS component and the database

3.1.1.4.2.2 L.O.S. Characteristic Goals
                    Table 64 – Level of Service Specification Form: Database Server
Level of Service     LSR-5: Performance
Description          3 seconds desired, 3 seconds acceptable
Measurable           Time between the application server sending the query to the
                     database server and the database server send the response
Relevant             The delay occurred on the database server’s transaction cause the
                     additional delay in all depending processes that can also cause the
                     user frustration. (Those processes include all processes except
                     UC-23: Report User Error and UC-24: Report System Error
Specific             N/A


3.1.1.4.3        Non-CSC Workstation (HCC-04)
3.1.1.4.3.1 Purpose
        Workstations that volunteer candidate used to submit the volunteer application.

3.1.1.4.3.2 L.O.S. Characteristic Goals
        No LOS Characteristics have been defined for this hardware component.

3.1.1.4.4        CSC Workstation (HCC-05)
3.1.1.4.4.1 Purpose
       Workstations that are parts of the CSC system and all CSC staff, who involve in CSC
volunteer tracking system (including volunteers, supervisors, volunteer coordinator,
managers and system administrators), use to utilize CSC volunteer tracking system function

3.1.1.4.4.2 L.O.S. Characteristic Goals
        No LOS Characteristics have been defined for this hardware components.

3.1.1.4.5        Printer (HCC-06)
3.1.1.4.5.1   Purpose
        Printer is connected with other hardware via network connection. It is used to print
the reports and certificates generated by the CSC volunteer tracking system


SSAD_LCA_F06a_T03_V3.3.doc                        33                                     12/3/06
System and Software Architecture Description (SSAD)                              Version 3.3


3.1.1.4.5.2 L.O.S. Characteristic Goals
        No LOS Characteristics have been defined for this hardware components.

3.1.1.5 Hardware Connector Classifiers
3.1.1.5.1 Network (HCO-01)
3.1.1.5.1.1 Purpose
        All the servers and the workstations are connected to one another via the network.

3.1.1.5.1.2 L.O.S. Goals
        No LOS Characteristics have been defined for this hardware component.



3.1.1.6 Software Component Classifiers
3.1.1.6.1 Volunteer User Interface (SCC-01)
3.1.1.6.1.1 Purpose

        This particular component contains the user interfaces for the volunteer to use. This
        component resides on the CSC workstations, which are connected locally to the
        system.

3.1.1.6.1.2 Interface(s)
        The component uses the VolunteerServices and the AuthenticationServices interfaces
        to communicate with other component and perform specific tasks.

3.1.1.6.1.2.1 Feature: Login
                                     Table 65 – Feature Set: Login
Operations           login(username: String, password: String): boolean
Purpose              This operation provides the authentication for CSC staffs
Signature            Parameters
                          username: the username of the staff that want to log into
                            the system
                          password: the password of the staff that want to log into
                            the system
                     Result
                           boolean: the return value indicates whether that staff has
                             the authority to get into the system.
Pre-Conditions       N/A
Post-Conditions      N/A

3.1.1.6.1.2.2 Feature: Check Permission
                               Table 66 – Feature Set: Check Permission
Operations                 checkPermission(username: String): String
Purpose              This operation provides the authorization process for CSC staffs
Signature            Parameters



SSAD_LCA_F06a_T03_V3.3.doc                        34                                 12/3/06
System and Software Architecture Description (SSAD)                                  Version 3.3


                               username: the username of the staff that want to get the
                                right from the system
                     Result
                          String: the return value indicates what right the staff gets
                             from the system
Pre-Conditions       The staff authentication and authorization data must exist in the
                     system’s database
Post-Conditions      The authorized staff has the right to utilize the system



3.1.1.6.1.2.3 Feature: Send Clock
                                    Table 67 – Feature Set: Send Clock
Operations                sendClock( clockData: DateTime): void
Purpose              This operation will update the volunteer working hours in the
                     system database
Signature            Parameters
                          clockData: the date and time that the volunteer clock
                            in/out from work
Pre-Conditions       The volunteer needs to log into the system
Post-Conditions      The system will update the volunteer working hours


3.1.1.6.1.2.4 Feature: Send Comment Log Msg
                              Table 68 – Feature Set: Send Comment Log Msg
Operations                 sendCommentLogMsg(msg : String, recipient:
                            AuthenticatedUser): void
Purpose              This operation will store the volunteer comment into the system’s
                     database
Signature            Parameters
                          msg: the comment message
                          recipient: the instance of AuthenticatedUser class
                            represent the receiver of this comment
Pre-Conditions       The volunteer needs to log into the system
                     The volunteer have the authorization to comment the specify staff
Post-Conditions      The system will record the comment log into the system’s
                     database


3.1.1.6.1.2.5 Feature: Logout
                                      Table 69 – Feature Set: Logout
Operations                logout() : void
Purpose              This operation will detach the volunteer from the system
Signature            N/A
Pre-Conditions       The volunteer needs to log into the system
Post-Conditions      The authentication and authorization session of the volunteer will
                     be terminated




SSAD_LCA_F06a_T03_V3.3.doc                         35                                      12/3/06
System and Software Architecture Description (SSAD)                                       Version 3.3


3.1.1.6.1.3 Parameters
        No parameters applicable.

3.1.1.6.1.4 Behavior

3.1.1.6.1.4.1 Processes

3.1.1.6.1.4.1.1 Process 1 – Login

                            Table 70 – Process Use Case Description: Login
Identifier           Process 1 Login
Purpose              Creates a login instance for the user.
Capability           OC-1: Web-based Application
Requirements         CR-2: Authorization and Authentication
Risks                N/A
Pre-conditions       GUI element invokes the process.
Post-conditions      Authentication and authorization instance is populated

                          Table 71 – Process Typical Course of Action: Login
Seq#       Actor Actions                              System Response
1          User interacts with the GUI
           components.
2                                                     login() is invoked
3                                                     Login instance is populated to be
                                                      authenticated with the database.

Alternate course of action not applicable
Exceptional Course of Action not applicable

3.1.1.6.1.4.2 Modes of Operation

        The system has no modes of operation

3.1.1.6.1.5 Constraints

        There are no constraints identified.

3.1.1.6.1.6 Internal Architecture

        No detailed internal architecture identified as of this phase. Further details may be
        identified in the implementation phase.



3.1.1.6.2 Non CSC Staff User Interface (SCC-02)
3.1.1.6.2.1 Purpose




SSAD_LCA_F06a_T03_V3.3.doc                        36                                         12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3


        This particular component contains the user interfaces provided for the Non CSC
        Staff workstation accessing the system. This is primarily made for the volunteer
        candidates that are applying to become a volunteer at the California Science Center.

3.1.1.6.2.2 Interface(s)
        The component uses the VolunteerCandidateServices interface to communicate with
        other component and perform specific tasks.

3.1.1.6.2.2.1 Feature 1: Volunteer Candidate Services

                           Table 72 – Feature: Volunteer Candidate Services
        Operations              sendApplication( form : String ) : void
        Purpose                 The operation is used when the volunteer candidate
                                submits an online application to the system.
        Signature               Parameters
                                    form : String – the actual application form passed
                                       as parameter
                                Result
                                    void
        Pre-conditions          The application form is complete
        Post-conditions         Application form is sent to the business logic layer for
                                evaluation

3.1.1.6.2.3 Parameters
        No parameters applicable.

3.1.1.6.2.4 Behavior

3.1.1.6.2.4.1 Processes

3.1.1.6.2.4.1.1 Process 1 - Send Application

                       Table 73 – Process Use Case Description: Send Application
Identifier            Process 1 Send Application
Purpose               Sends the online application submitted by the volunteer candidate
                      to be evaluated by the business logic
Capability            OC-1 Web-based Application
Requirements          CR-1 Online application
Risks                 N/A
Pre-conditions        Application is complete
Post-conditions       The application is populated to the business logic level

                     Table 74 – Process Typical Course of Action: Send Application
Seq#         Actor Actions                            System Response
1            Volunteer Candidate interacts
             with the GUI on the application
             page
2                                                     sendApplication() is invoked
3                                                     Application instance is created



SSAD_LCA_F06a_T03_V3.3.doc                        37                                       12/3/06
System and Software Architecture Description (SSAD)                                Version 3.3


Alternate course of action not applicable
Exceptional Course of Action not applicable


3.1.1.6.2.4.2 Modes of Operation

        The system has no modes of operation

3.1.1.6.2.5 Constraints

        There are no constraints identified.

3.1.1.6.2.6 Internal Architecture

        No detailed internal architecture identified as of this phase. Further details may be
        identified in the implementation phase.


3.1.1.6.3 CSC Staff User Interface (SCC-03)
3.1.1.6.3.1 Purpose

        The CSC Staff User Interface component provides the different user interfaces
        corresponding to different services for the CSC Staff accessing the system.

3.1.1.6.3.2 Interface(s)
        The CSC Staff User Interface Component uses different interfaces to communicate
        with the Business Logic component. The different interfaces are used by different
        types of user accessing the system. The different interfaces used are as follows:
               o AuthenticationServices
               o SupervisorServices
               o VolunteerCoordinatorServices
               o ManagerServices
               o SystemAdminServices

3.1.1.6.3.2.1 Feature: Login
        This feature is identical to that mentioned in the Volunteer User Interface Component

3.1.1.6.3.2.2 Feature: Check Permission
        This feature is identical to that mentioned in the Volunteer User Interface Component

3.1.1.6.3.2.3 Feature: Logout
        This feature is identical to that mentioned in the Volunteer User Interface Component

3.1.1.6.3.2.4 Feature: Send Comment Log Msg
        This feature work in the same way as feature 3.1.6.2.2.4 Send Comment Log Msg.
Therefore, for the description of this feature, please refer the above feature.

3.1.1.6.3.2.5 Feature: Send Job Request
                               Table 75 – Feature Set: Send Job Request


SSAD_LCA_F06a_T03_V3.3.doc                        38                                  12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3


Operations                  sendJobRequest(jobName: String, jobDescription: String,
                             schedule: DateTime): void
Purpose              This operation will record the job request from the supervisor into
                     the system’s database
Signature            Parameters
                          jobName: the name of the requested job
                          jobDescription: the brief description of the requested job
                          schedule: the schedule of the requested job
Pre-Conditions       The supervisor needs to log into the system
Post-Conditions      The requested job will be recorded in the system’s database
                     waiting for the scheduling process from volunteer coordinator


3.1.1.6.3.2.6 Feature: View Job Requests
                              Table 76 – Feature Set: View Job Requests
Operations                viewJobRequests() : List <Jobs>
Purpose              This operation will retrieve all requested job that exist in the
                     system’s database
Signature            N/A
Pre-Conditions       The volunteer coordinator needs to log into the system
                     The requested jobs exist in the system’database.
Post-Conditions      N/A


3.1.1.6.3.2.7 Feature: Generate Report
                               Table 77 – Feature Set: Generate Report
Operations                generateReport(reportType: int, range: DateTime) : String
Purpose              This operation will create the report from the data as specified by
                     the report type
Signature            Parameters
                          reportType: the type of the report that want to create
                          range: the range of time for the report
                     Return
                          String: the content of the created report
Pre-Conditions       The volunteer coordinator needs to log into the system
Post-Conditions      The specified type of report is generated

3.1.1.6.3.2.8 Feature: Generate Certificate
        Due to low importance of the requirement on this feature, the feature’s description is
deferred to the later iterations of SSAD.

3.1.1.6.3.2.9 Feature: Edit Volunteer Profile
        Due to low importance of the requirement on this feature, the feature’s description is
deferred to the later iterations of SSAD.

3.1.1.6.3.2.10 Feature: Schedule
                                   Table 78 – Feature Set: Schedule
Operations               schedule(volunteer: Volunteer, job: String): void
Purpose              This operation will record the matching between a volunteer and a


SSAD_LCA_F06a_T03_V3.3.doc                        39                                       12/3/06
System and Software Architecture Description (SSAD)                               Version 3.3


                     requested job
Signature            Parameters
                         volunteer: the instance of Volunteer class indicated the
                            volunteer to be matched
                         job: the name of the requested job to be matched
Pre-Conditions       The volunteer data have to exist in the system’s database
                     The requested job have to exist in the system’s database
                     The volunteer coordinator needs to log into the system
Post-Conditions      The volunteer will be matched with the requested job

3.1.1.6.3.2.11 Feature: Backup
                                    Table 79 – Feature Set: Backup
Operations               backup(fileLocation: String, range: DateTime): boolean
Purpose              This operation will backup the system’s database into a single file.
Signature            Parameters
                         fileLocation: the location of the destination file.
                         range: the range of time used to specify the period of data
                            in the database that the system admininstrator need to
                            backup
                     Return
                         boolean: indicate whether the backup process successes or
                            not
Pre-Conditions       The system administrator need to log into the system
Post-Conditions      The backup file will be generated


3.1.1.6.3.2.12 Feature: Restore
                                     Table 80 – Feature Set: Login
Operations                 restore(fileLocation: String): boolean
Purpose              This operation will restore the database using the specified backup
                     file
Signature            Parameters
                           fileLocation: the location of the source file.
                     Return
                           boolean: indicate whether the restore process successes or
                            not
Pre-Conditions       The system administrator need to log into the system
Post-Conditions      The system’s database will be retrieved from the backup file


3.1.1.6.3.3 Parameters

        There is no parameter applicable for this component.

3.1.1.6.3.4 Behavior

3.1.1.6.3.4.1 Processes
        Due to low importance of the requirement on these processes, the processes’ behavior
is deferred to the later iterations of SSAD.


SSAD_LCA_F06a_T03_V3.3.doc                        40                                  12/3/06
System and Software Architecture Description (SSAD)                                Version 3.3


3.1.1.6.3.4.2 Modes of Operation
        There is no modes of operation applicable for this component

3.1.1.6.3.5 Constraints
        There are no constraints identified at this stage.

3.1.1.6.3.6 Internal Architecture
        No detailed internal architecture identified as of this phase. Further details may be
        identified in the implementation phase.


3.1.1.6.4 Business Logic (SCC-04)
3.1.1.6.4.1 Purpose

        The Business Logic components are the key components of the system itself. The
        subcomponents provide all the functionality of the system and all the required
        services to perform different tasks. All other components such as the user interfaces
        and the database communicate with each other through the Business Logic component.

3.1.1.6.4.2 Interface(s)
        The Business Logic component uses the DatabaseManagementServices interface as a
        connector to the database. The interface allows the component to query and execute
        SQL statements with the database.

3.1.1.6.4.2.1 Feature 1 – Get Query Statement

                               Table 81 – Feature: Get Query Statement
        Operations              getQueryStmt() : String
        Purpose                 The operation is used to get the SQL query statement
                                instance generated by the business logic level, which
                                will be executed in this operation.
        Signature               Parameters
                                    None
                                Result
                                    String – returns the SQL query statement.
        Pre-conditions              The SQL query statement instance has been
                                       populated.
        Post-conditions         The database is queried and return resulting query.

3.1.1.6.4.2.2 Feature 2 – Execute Query Statement

                             Table 82 – Feature: Execute Query Statement
        Operations              executeQuery ( sqlStmt : String ) : Boolean
        Purpose                 The operation is used to execute the query statement
        Signature               Parameters
                                    sqlStmt : String – the SQL statement to be
                                       executed
                                Result



SSAD_LCA_F06a_T03_V3.3.doc                        41                                    12/3/06
System and Software Architecture Description (SSAD)                                     Version 3.3


                                     Boolean – returns TRUE is execution is
                                      successful
        Pre-conditions              The SQL query statement instance has been
                                      populated.
                                    Database exists.
        Post-conditions              SQL statement executed
                                     Returns TRUE if success

3.1.1.6.4.3 Parameters

        There are no parameters applicable.

3.1.1.6.4.4 Behavior

3.1.1.6.4.4.1 Processes

3.1.1.6.4.4.1.1 Process 1 – Get Query Statement

                     Table 83 – Process Use Case Description: Get Query Statement
Identifier           Process 1 Get Query Statement
Purpose              Get the SQL query statement generated by the business logic.
Capability           All capability goals
Requirements         All capability requirements
Risks                N/A
Pre-conditions       SQL Statement instance has been populated
Post-conditions      SQL statement instance returned

                   Table 84 – Process Typical Course of Action: Get Query Statement
Seq#       Actor Actions                              System Response
1          System invokes the operation
2                                                     getQueryStmt() is invoked
3                                                     SQL query statement is returned

Alternate course of action not applicable
Exceptional Course of Action not applicable


3.1.1.6.4.4.1.2 Process 2 – Execute Query Statement

                  Table 85 – Process Use Case Description: Execute Query Statement
Identifier           Process 2 Execute Query Statement
Purpose              Execute the SQL query statement retrieved
Capability           All capability goals
Requirements         All capability requirements
Risks                N/A
Pre-conditions            SQL Statement instance exists
                          Database exists
Post-conditions      TRUE or FALSE is returned

                Table 86 – Process Typical Course of Action: Execute Query Statement


SSAD_LCA_F06a_T03_V3.3.doc                        42                                       12/3/06
System and Software Architecture Description (SSAD)                                   Version 3.3


Seq#       Actor Actions                              System Response
1          System invokes the operation
2                                                     executeQueryStmt() is invoked
3                                                     System database is updated.
4                                                     TRUE or FALSE is returned

Alternate course of action not applicable
Exceptional Course of Action not applicable


3.1.1.6.4.5 Modes of Operation

        The system has no modes of operation.

3.1.1.6.4.6 Constraints

        There are no constraints identified in this stage.

3.1.1.6.4.7 Internal Architecture

        No detailed internal architecture identified as of this phase. Further details may be
        identified in the implementation phase.


3.1.1.6.5 RDBMS (SCC-05)
3.1.1.6.5.1 Purpose

        The RDBMS component is the actual database management system.

3.1.1.6.5.2 Interface(s)
        N/A – the interface is done by the interface used by the Business Logic component

3.1.1.6.5.3 Parameters

        There are no parameters applicable.

3.1.1.6.5.4 Behavior
        N/A

3.1.1.6.5.5 Modes of Operation

        The system has no modes of operation.

3.1.1.6.5.6 Constraints

        N/A

3.1.1.6.5.7 Internal Architecture




SSAD_LCA_F06a_T03_V3.3.doc                        43                                     12/3/06
System and Software Architecture Description (SSAD)                                Version 3.3


        No detailed internal architecture identified as of this phase. Further details may be
        identified in the implementation phase.



3.1.1.7 Hardware Components
3.1.1.7.1 UNIX Web Server (HC-01)
3.1.1.7.1.1 Purpose
        Web server is the host of the Non-CSC staff user interface software component.

3.1.1.7.1.2 Classifier
        HCC-01: Application server

3.1.1.7.2 UNIX Intranet Server (HC-02)
3.1.1.7.2.1 Purpose
      Intranet server is the host of CSC staff user interface and all other software
components.

3.1.1.7.2.2 Classifier
        HCC-01: Application server

3.1.1.7.3 UNIX Database Server (HC-04)
3.1.1.7.3.1 Purpose
        The database server is the host of RDBMS component and the database

3.1.1.7.3.2 Classifier
        HCC-02: Database server

3.1.1.7.4 Non-CSC Workstation (HC-04)
3.1.1.7.4.1 Purpose
        Workstations that volunteer candidate used to submit the volunteer application.

3.1.1.7.4.2 Classifier
        HCC-04: Non-CSC Workstation

3.1.1.7.5 CSC Workstation (HC-06)
3.1.1.7.5.1 Purpose
       Workstations that are parts of the CSC system and all CSC staff, who involve in CSC
volunteer tracking system (including volunteers, supervisors, volunteer coordinator,
managers and system administrators), use to utilize CSC volunteer tracking system function

3.1.1.7.5.2 Classifier
        HCC-05: CSC Workstation




SSAD_LCA_F06a_T03_V3.3.doc                        44                                   12/3/06
System and Software Architecture Description (SSAD)                               Version 3.3



3.1.1.8 Software Components
3.1.1.8.1 Volunteer User Interface
3.1.1.8.1.1 Purpose
        The Volunteer User Interface component provides all the necessary user interfaces as
        well as the services available for the volunteers accessing the system.

3.1.1.8.1.2 Classifier
      SCC-01: Volunteer User Interface

3.1.1.8.2 Non CSC Staff User Interface
3.1.1.8.2.1 Purpose
        This particular component provides the necessary user interfaces and services for the
        non-CSC staffs (volunteer candidates). The main purpose of the component is to
        provide the online application and allows for volunteer candidates to submit
        applications through online services.

3.1.1.8.2.2 Classifier
      SCC-02: Non-CSC Staff User Interface

3.1.1.8.3 CSC Staff User Interface
3.1.1.8.3.1 Purpose
        This particular component provides the necessary user interfaces and services for the
        CSC staff accessing the system. All the different types of users that are considered to
        be a CSC staff will access the system through this component.

3.1.1.8.3.2 Classifier
      SCC-03: CSC Staff User Interface


3.1.1.8.4 Business Logic
3.1.1.8.4.1 Purpose
        This component provides all the logical services to perform all the tasks for the
        Volunteer Tracking System.

3.1.1.8.4.2 Classifier
      SCC-04: Business Logic


3.1.1.8.5 RDBMS
3.1.1.8.5.1 Purpose
        The component is the actual database management system for the Volunteer Tracking
        System. It contains all the database tables necessary to perform all tasks and
        operations at the business logic level.



SSAD_LCA_F06a_T03_V3.3.doc                        45                                 12/3/06
   System and Software Architecture Description (SSAD)                                    Version 3.3


   3.1.1.8.5.2 Classifier
         SCC-05: RDBMS


   3.1.1.9 Information Classes
            This section provides the details of the information classes that are used by the system.
            These are either artifacts or information needed by the system. They are defined in the
            entities of the system (stereotyped as <<entity>>).

   3.1.1.9.1 Information Class 1: Authenticated User
   3.1.1.9.1.1 Purpose
            This class provides the authentication information and permissions of the users
            accessing the system. It also provide services for login and logout.

   3.1.1.9.1.2 Defined In: Business Logic

   3.1.1.9.1.3 Interface(s)
            N/A

   3.1.1.9.1.4 Parameters
            Initialization of parameters is not applicable.

   3.1.1.9.1.5 Attributes
                               Table 87 – Class Attributes: Authenticated User
   Name        Type       Multiplicity     Ordering       Initial Value      Visibility        Purpose
 username     String           1             N/A             NULL             Private     The username of
                                                                                          the user
 password     String           1              N/A             NULL            Private     The password of
                                                                                          the user

   3.1.1.9.1.6 Operations

   3.1.1.9.1.6.1 Operation 1: Login
                                   Table 88 – Operation Description: Login
Identifier:            OP-1
Operation Name:        login
Parameters:                Kind          Name             Type                  Default Value
                             in        username          String                      Null
                             in        password          String                      Null
Result:                userID: Integer
Purpose:               Checks the username and password entered by the user with the database.
Pre-Conditions:        Username and password parameters are not null.
Post-Conditions:       Returns user ID is username and password exists, false otherwise.
Visibility:            Public
Abstract:              No
Method:                     Obtain the username and password entered by the user
                            Invoke the login function to check with the database if the user exists.

   3.1.1.9.1.7 Operation 2: Generate User Session


   SSAD_LCA_F06a_T03_V3.3.doc                        46                                      12/3/06
   System and Software Architecture Description (SSAD)                               Version 3.3


                          Table 89 – Operation Description: Generate User Session
Identifier:          OP-2
Operation Name:      generateUserSession
Parameters:              Kind           Name             Type                   Default Value
                           in           userID          Integer                     Null
Result:              N/A
Purpose:             Generate usage session for the user after successful login.
Pre-Conditions:      userID is not null
Post-Conditions:     User session is generated
Visibility:          Public
Abstract:            No
Method:                  Obtain the user id from the login function.
                         Generate user session by PHP.

   3.1.1.9.1.7.1 Operation 3: Terminate User Session
                          Table 90 – Operation Description: Terminate User Session
Identifier:          OP-3
Operation Name:      terminateUserSession
Parameters:              Kind           Name              Type             Default Value
                           in           userID           Integer               Null
Result:              N/A
Purpose:             Terminates the user session after logout.
Pre-Conditions:      Username and password parameters are not null.
Post-Conditions:     User session is terminated
Visibility:          Public
Abstract:            No
Method:                   Retrieve the user id
                          Terminate user session by invoking PHP function



   3.1.1.9.1.8 State Behavior
           Behavior of class does not change

   3.1.1.9.1.9 Constraints
           No constraints identified.


   3.1.1.9.2 Information Class 2: Volunteer
   3.1.1.9.2.1 Purpose
           This class provides the services necessary for volunteer management.

   3.1.1.9.2.2 Defined In: Business Logic

   3.1.1.9.2.3 Interface(s)
           N/A

   3.1.1.9.2.4 Parameters



   SSAD_LCA_F06a_T03_V3.3.doc                        47                                 12/3/06
      System and Software Architecture Description (SSAD)                                       Version 3.3


              Initialization of parameters is not applicable.

      3.1.1.9.2.5 Attributes
                                        Table 91 – Class Attributes: Volunteer
          Name           Type       Multiplicity      Ordering        Initial     Visibility         Purpose
                                                                      Value
 firstname              String             1             N/A           Null           Private    The first name
                                                                                                 of the volunteer
 lastname               String             1             N/A           Null           Private    The last name
                                                                                                 of the volunteer
 address                String             1             N/A           Null           Private    The address of
                                                                                                 the volunteer
 phoneNumber            String             1             N/A           Null           Private    The phone
                                                                                                 number of the
                                                                                                 volunteer
 email                  String             1             N/A           Null           Private    The email
                                                                                                 address of the
                                                                                                 volunteer
 status                 String             1             N/A           Null           Private    The current
                                                                                                 status of the
                                                                                                 volunteer
 lastStatusUpdated Date                    1             N/A           Null           Private    The last date
                                                                                                 that the
                                                                                                 volunteer status
                                                                                                 was updated
 id                     Integer            1             N/A           Null           Private    The
                                                                                                 identification
                                                                                                 number of the
                                                                                                 volunteer

      3.1.1.9.2.6 Operations

      3.1.1.9.2.6.1 Operation 1: Record Clock In
                                  Table 92 – Operation Description: Record Clock In
Identifier:             OP-1
Operation Name:         recordLogin
Parameters:                 Kind          Name              Type                          Default Value
                              in            time            Date                              Null
Result:                 N/A
Purpose:                Records the clock in time of the user
Pre-Conditions:         User session exists
Post-Conditions:        Retrieves the clock in time.
Visibility:             Public
Abstract:               No
Method:                      Obtain the clock in time
                             Send to the database to be recorded

      3.1.1.9.2.6.2 Operation 2: Record Clock Out

              Omitted because the operation is done in a similar manner with the Record Clock In operation.


      SSAD_LCA_F06a_T03_V3.3.doc                         48                                        12/3/06
   System and Software Architecture Description (SSAD)                                 Version 3.3


   3.1.1.9.2.6.3 Operation 3: Get Short Profile
                             Table 93 – Operation Description: Get Short Profile
Identifier:          OP-3
Operation Name:      getShortProfile
Parameters:              Kind           Name               Type                Default Value
                           in           userID            Integer                   Null
Result:              Array of string containing the profile information
Purpose:             To retrieve the short version of the volunteer profile
Pre-Conditions:      userID and profile information exists in the database.
Post-Conditions:     The user profile is retrieved
Visibility:          Public
Abstract:            No
Method:                   Retrieve the user id
                          Invoke the getShortProfile() function to retrieve the data.

   3.1.1.9.2.6.4 Operation 4: Modify Profile
                              Table 94 – Operation Description: Modify Profile
Identifier:          OP-3
Operation Name:      modifyProfile
Parameters:              Kind           Name              Type                     Default Value
                           in           field             String                       Null
                           In            data             String                       Null
Result:              N/A
Purpose:             To modify the profile of the volunteer
Pre-Conditions:      Field: String and data: String are not null
Post-Conditions:     Data is updated in the database
Visibility:          Public
Abstract:            No
Method:                   Retrieve field and data
                          Invoke the modifyProfile() function.
                          Data is sent to the database to be updated.

   3.1.1.9.2.6.5 Operation 5: Get Short Profile
           Omitted due to the similarity in functionality with the Get Short Profile operation.

   3.1.1.9.2.7 State Behavior
           Behavior of class does not change

   3.1.1.9.2.8 Constraints
           No constraints identified.


   3.1.1.9.3 Information Class 3: Job
   3.1.1.9.3.1 Purpose
           This class provides the information needed for job management.

   3.1.1.9.3.2 Defined In: Business Logic




   SSAD_LCA_F06a_T03_V3.3.doc                        49                                   12/3/06
     System and Software Architecture Description (SSAD)                                      Version 3.3


     3.1.1.9.3.3 Interface(s)
             N/A

     3.1.1.9.3.4 Parameters
             Initialization of parameters is not applicable.

     3.1.1.9.3.5 Attributes
                                         Table 95 – Class Attributes: Job
       Name             Type      Multiplicity      Ordering        Initial      Visibility        Purpose
                                                                    Value
id                     Integer           1             N/A           Null         Private      The id of the
                                                                                               job
name                   String            1             N/A           Null         Private      The name of
                                                                                               the job
description            String            1             N/A           Null         Private      The job
                                                                                               description
schedule               Date              1             N/A           Null         Private      The schedule of
                                                                                               the job
volunteerNeeded        Integer           1             N/A           Null         Private      The number of
                                                                                               volunteers
                                                                                               needed for the
                                                                                               job

     3.1.1.9.3.6 Operations

     3.1.1.9.3.6.1 Operation 1: Get Profile

             Omitted due to the similarity in functionality with the Get Profile operation of Volunteer.

     3.1.1.9.3.6.2 Operation 2: Record
                                    Table 96 – Operation Description: Record
Identifier:            OP-2
Operation Name:        record
Parameters:            The operation takes no parameters
Result:                N/A
Purpose:               To record the job to the database
Pre-Conditions:        The job parameters are not null
Post-Conditions:       The job record is recorded to the database
Visibility:            Public
Abstract:              No
Method:                     Retrieve the job parameters
                            Invoke the record() function to send the data to the database to be
                              updated

     3.1.1.9.3.7 State Behavior
             Behavior of class does not change

     3.1.1.9.3.8 Constraints
             No constraints identified.



     SSAD_LCA_F06a_T03_V3.3.doc                        50                                        12/3/06
      System and Software Architecture Description (SSAD)                                        Version 3.3


      3.1.1.9.4 Information Class 4: Comment Log
      3.1.1.9.4.1 Purpose
              This class provides the information needed for comment log management. The
              comment log is the means of communication among staff and the volunteer.

      3.1.1.9.4.2 Defined In: Business Logic

      3.1.1.9.4.3 Interface(s)
              N/A

      3.1.1.9.4.4 Parameters
              Initialization of parameters is not applicable.

      3.1.1.9.4.5 Attributes
                                          Table 97 – Class Attributes: Job
     Name               Type            Multiplicity        Ordering     Initial    Visibility          Purpose
                                                                         Value
id            Integer                         1               N/A         Null       Private        The id of the
                                                                                                    comment
                                                                                                    record
recipient     AuthenticatedUser               1               N/A            Null    Private        The recipient
                                                                                                    of the
                                                                                                    comment
sender        AuthenticatedUser               1               N/A            Null    Private        The sender of
                                                                                                    the comment
message       String                          1               N/A            Null    Private        The message
                                                                                                    body
sendDate      Date                            1               N/A            Null    Private        The date the
                                                                                                    comment was
                                                                                                    submitted
isPublic      Boolean                         1               N/A            Null    Private        Determines if
                                                                                                    the comment
                                                                                                    is available to
                                                                                                    volunteer or
                                                                                                    not.

      3.1.1.9.4.6 Operations

      3.1.1.9.4.6.1 Operation 1: Record

              Omitted due to the similarity in functionality with the Record operation of Job.

      3.1.1.9.4.6.2 Operation 2: Get Comment Log
              Omitted due to the similarity of functionality with the Get Profile operation of
              Volunteer.

      3.1.1.9.4.7 State Behavior
              Behavior of class does not change

      3.1.1.9.4.8 Constraints


      SSAD_LCA_F06a_T03_V3.3.doc                        51                                          12/3/06
   System and Software Architecture Description (SSAD)                            Version 3.3


           No constraints identified.


   3.1.1.9.5 Information Class 5: Database Management
   3.1.1.9.5.1 Purpose
           This class provides the information needed for database management.

   3.1.1.9.5.2 Defined In: Business Logic

   3.1.1.9.5.3 Interface(s)
           N/A

   3.1.1.9.5.4 Parameters
           Initialization of parameters is not applicable.

   3.1.1.9.5.5 Attributes
           No attributes applicable.

   3.1.1.9.5.6 Operations

   3.1.1.9.5.6.1 Operation 1: Backup
                                  Table 98 – Operation Description: Backup
Identifier:          OP-1
Operation Name:      backUp
Parameters:              Kind         Name             Type                   Default Value
                           in       Start_time          Date                      Null
                           In        End_time           Date                      Null
Result:              N/A
Purpose:             To backup the database to a file
Pre-Conditions:      N/A
Post-Conditions:     Database is backed up to a file
Visibility:          Public
Abstract:            No
Method:                  Retrieve the start and end time parameters
                         Invoke the backUp() function.

   3.1.1.9.5.6.2 Operation 2: Restore
                                  Table 99 – Operation Description: Restore
Identifier:          OP-2
Operation Name:      restore
Parameters:               Kind          Name                 Type             Default Value
                           in           srcFile              String               Null
Result:              N/A
Purpose:             To restore the system database
Pre-Conditions:      The srcFile : String is not null
                     The backup file exists.
Post-Conditions:     Database is restored.
Visibility:          Public
Abstract:            No


   SSAD_LCA_F06a_T03_V3.3.doc                        52                              12/3/06
   System and Software Architecture Description (SSAD)                             Version 3.3


Method:                      Retrieve the srcFile parameter
                             Invoke the restore() function
                             Database is restored to earlier stage.

   3.1.1.9.5.6.3 Operation 3: Query
                                  Table 100 – Operation Description: Query
Identifier:          OP-3
Operation Name:      query
Parameters:              Kind            Name             Type                Default Value
                            in          sqlStmt           String                  Null
Result:              result : ResultSet
Purpose:             To query the database
Pre-Conditions:      The sqlStmt : String is not null
Post-Conditions:     Data is retrieved from the database.
Visibility:          Public
Abstract:            No
Method:                   Retrieve the sqlStmt parameter
                          Invoke the query() function
                          Data is retrieved.

   3.1.1.9.5.6.4 Operation 4: Execute
                                 Table 101 – Operation Description: Execute
Identifier:          OP-4
Operation Name:      execute
Parameters:              Kind           Name            Type                  Default Value
                           in          sqlStmt         String                     Null
Result:              N/A
Purpose:             Executes the SQL command on the database
Pre-Conditions:      The sqlStmt : String is not null
                     The database exists
Post-Conditions:     SQL command is executed
Visibility:          Public
Abstract:            No
Method:                  Retrieve the sqlStmt parameter
                         Invoke the execute() function
                         Database is restored to earlier stage.

   3.1.1.9.5.7 State Behavior
           Behavior of class does not change

   3.1.1.9.5.8 Constraints
           No constraints identified.


   3.1.2 Behavior
           This section provides the detail on the use-case realization for each use-case. The
     realization is shows through the sequence diagrams for each use-use. The diagrams can be
     tracked to show the realization through the corresponding information classes. Refer to the



   SSAD_LCA_F06a_T03_V3.3.doc                        53                                12/3/06
System and Software Architecture Description (SSAD)                                Version 3.3


  Process (Use-Case) Realization package in RSA for detailed UML model of the sequence
  diagram.
                                   Table 102 – Use-Case Realization
         Identifier     Use-Case Realization Name                     Use-Case Realized
         UCR-1          Login                                         UC-1
         UCR-2          Logout                                        UC-2
         UCR-3          Clock in                                      UC-3
         UCR-4          Clock out                                     UC-4
         UCR-5          Submit Comment Log                            UC-5
         UCR-6          Submit Application                            UC-6
         UCR-7          View Volunteer Profile                        UC-7
         UCR-8          View Job Requests                             UC-8
         UCR-9          Submit Job Request                            UC-9
         UCR-10         Track Hours and Awards                        UC-22
         UCR-11         View All Job Requests                         UC-10
         UCR-12         Schedule Jobs                                 UC-11
         UCR-13         Delete Job Requests                           UC-12
         UCR-14         View Volunteer List                           UC-13
         UCR-15         Edit Volunteer Hours                          UC-14
         UCR-16         Generate Report                               UC-15
         UCR-17         Generate Certificate                          UC-16
         UCR-18         Specify Award Criteria                        UC-17
         UCR-19         Edit Award Criteria                           UC-18
         UCR-20         Delete Award Criteria                         UC-19
         UCR-21         Backup System Database                        UC-20
         UCR-22         Restore System Database                       UC-21
         UCR-23         Report User Error                             UC-24
         UCR-24         Report System Error                           UC-23
         UCR-25         Edit Volunteer Profile                        UC-25
         UCR-26         Approve Volunteer Application                 UC-26




SSAD_LCA_F06a_T03_V3.3.doc                        54                                  12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.1 Login




SSAD_LCA_F06a_T03_V3.3.doc                        55      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.2 Logout




3.1.2.3 Clock in




SSAD_LCA_F06a_T03_V3.3.doc                        56      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.4 Clock out




3.1.2.5 Submit Comment Log




SSAD_LCA_F06a_T03_V3.3.doc                        57      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.6 Submit Application




SSAD_LCA_F06a_T03_V3.3.doc                        58      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.7 View Volunteer Profile




3.1.2.8 View Job Requests




SSAD_LCA_F06a_T03_V3.3.doc                        59      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.9 Submit Job Request




SSAD_LCA_F06a_T03_V3.3.doc                        60      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.10        Track Hours and Awards




SSAD_LCA_F06a_T03_V3.3.doc                        61      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.11        View All Job Requests




3.1.2.12        Schedule Jobs




SSAD_LCA_F06a_T03_V3.3.doc                        62      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.13        Delete Job Requests




3.1.2.14        View Volunteer List




SSAD_LCA_F06a_T03_V3.3.doc                        63      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.15        Edit Volunteer Hours




3.1.2.16        Generate Report




SSAD_LCA_F06a_T03_V3.3.doc                        64      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.17        Generates Certificate




3.1.2.18        Specify Award Criteria




3.1.2.19        Edit Award Criteria




SSAD_LCA_F06a_T03_V3.3.doc                        65      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3




3.1.2.20        Delete Award Criteria




SSAD_LCA_F06a_T03_V3.3.doc                        66      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.21        Backup System Database




3.1.2.22        Restore System Database




SSAD_LCA_F06a_T03_V3.3.doc                        67      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.23        Report User Error




SSAD_LCA_F06a_T03_V3.3.doc                        68      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.24        Report System Error




3.1.2.25        Edit Volunteer Profile




SSAD_LCA_F06a_T03_V3.3.doc                        69      12/3/06
System and Software Architecture Description (SSAD)    Version 3.3



3.1.2.26        Approve Volunteer Application




SSAD_LCA_F06a_T03_V3.3.doc                        70      12/3/06
  System and Software Architecture Description (SSAD)                                Version 3.3



  3.2 Architectural Styles, Patterns & Framework
                         Table 103 – Architectural Styles, Patterns, & Framework
     Name                         Description                     Benefits, Costs, and Limitations
ASPF-1: Model-       The MVC separates the application         The use of MVC allows for increased
View-Controller      into four different layers: user          abstraction between the layers of
(MVC) Pattern        interface, controller, domain, and        components. Since our application is a
                     data access. This means that the          3-tier application, the MVC is suitable
                     model disassociates the data              since the domain and data access are
                     controller and access from the user       considered to be one component. The
                     interface. The communication              MVC also allows for single model to
                     between the visual and logic              have multiple views meaning that the
                     components are done via the               control and the UI mechanisms are
                     controller.                               flexible and adaptive for future
                                                               changes. However, adopting the MVC
                                                               may increase complexity as well as the
                                                               size of the application due to the
                                                               separation of data, process,
                                                               visualization, and display components.
ASPF-2:              Scriptaculous is an AJAX                  AJAX frameworks allow for web-
Scriptaculous        framework built on top of the             application to communicate with the
Framework            famous framework, Prototype. The          database and update the fields without
                     framework provides dynamism in            reloading the pages. Since
                     visual effects and user interface.        Scriptaculous is built on top of
                     This is done through the use of           Prototype, it provides all the
                     Javascript and XML.                       functionality of Prototype and more.
                                                               The use of AJAX enables the web
                                                               pages to be dynamic with enhanced UI
                                                               for better user experiences. However,
                                                               using AJAX framework increases the
                                                               complexity in developing and
                                                               designing the web-pages.


  3.2.1 Project Artifacts

       This section provides the detail information about the artifacts created and used by the
       system. The following directory tree will represent the way that the artifacts will be
       stored with the relevant component classifiers.

          <DIR> Volunteer and Candidate Page
               VolunteerPage.php
                    Volunteer User Interface (SCC-01)
               ApplicationPage.php
                    Non-CSC Staff User Interface (SCC-02)

          <DIR> CSC Staff Page
               SupervisorPage.php
                    CSC Staff User Interface (SCC-03)
               VolunteerCoordinatorPage.php
                    CSC Staff User Interface (SCC-03)


  SSAD_LCA_F06a_T03_V3.3.doc                        71                                   12/3/06
System and Software Architecture Description (SSAD)                                            Version 3.3


                 ManagerPage.php
                      CSC Staff User Interface (SCC-03)

        <DIR> Administrator
             SystemAdminPage.php
                  CSC Staff User Interface (SCC-03)
             Backup.bak
                  RDBMS (SCC-05)

        <DIR> Business Logic
             Authentication.php
                  Business Logic (SCC-04)
             JobScheduler.php
                  Business Logic (SCC-04)
             ReportGenerator.php
                  Business Logic (SCC-04)
             SupervisorOperations.php
                  Business Logic (SCC-04)
             SystemAdminOperations.php
                  Business Logic (SCC-04)
             VolunteerCandidateOperations.php
                  Business Logic (SCC-04)
             VolunteerCoordinatorOperations.php
                  Business Logic (SCC-04)
             VolunteerManagement.php
                  Business Logic (SCC-04)

* Note: UML model of the project artifacts is not available because it is not shown in the UML template.


3.3 Design Rationale
         In order to conform to the requirements of ER-3 and ER-5 which state that the
    system logics and graphical user interfaces are to be separated and that the system is to
    have a modular design, we have chosen a 3-tier, or more specifically, the Model-View-
    Controller architectural pattern, for the system architecture.


4 Glossary
     PHP – Hypertext Processor

     MySQL - SQL Database Management System

     AJAX - Asynchronous JavaScript and XML

     UNIX – a computer operating system

     Please refer to Supporting Information Document (SID) for more glossaries at:



SSAD_LCA_F06a_T03_V3.3.doc                            72                                           12/3/06
System and Software Architecture Description (SSAD)                     Version 3.3


    http://greenbay.usc.edu/csci577/fall2006/projects/team3/LCA/SID_LCA_F06a_T03_V2.
    0.pdf




SSAD_LCA_F06a_T03_V3.3.doc                        73                       12/3/06