176 Pages

SSAD_RLCA_S06b_T10_V3.2

Course: CSCI 577, Fall 2009
School: USC
Rating:
 
 
 
 
 

Word Count: 23341

Document Preview

and System Software Architecture Description (SSAD) Code Generator Template based Team #10 Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-Kee Sohn Sonal Mane Armen Donigian Project Manager & Life Cycle Planner Operational Concept Description Engineer Requirements Analyst System Architect System Architect System Architect IV & V IV & V 2/25/2006...

Register Now

Unformatted Document Excerpt

Coursehero >> California >> USC >> CSCI 577

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
and System Software Architecture Description (SSAD) Code Generator Template based Team #10 Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-Kee Sohn Sonal Mane Armen Donigian Project Manager & Life Cycle Planner Operational Concept Description Engineer Requirements Analyst System Architect System Architect System Architect IV & V IV & V 2/25/2006 SSAD_RLCA_S06b_T10_V3.2.doc Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version no 3.2 Version History Date 09/30/05 Author Jiajing Liu KaiChen Huang Jiajing Liu KaiChen Huang Jiajing Liu KaiChen Huang Jiajing Liu KaiChen Huang Jiajing Liu KaiChen Huang 11/17/05 Jiajing Liu KaiChen Huang Hung-Fu Chang Chi-Hsien Chiu Jiajing Liu KaiChen Huang Chi-Hsien Chiu Jiajing Liu KaiChen Huang Chi-Hsien Chiu 12/04/05 Jiajing Liu KaiChen Huang Chi-Hsien Chiu Pei-Hua Lu 2.0 1.08 Version 1.02 Changes made SSAD Sections 1 and 2 completed according to LeanMBASE Guidelines, Version 1.2. SSAD Sections 2 and 3 updated according to LeanMBASE Guidelines, Version 1.3 SSAD Sections 2 and 3 updated according to LeanMBASE Guidelines, Version 1.4 SSAD Sections 2 and 3 updated according to LeanMBASE Guidelines, Version 1.4 Greatly updated in Section 2 according to LeanMBASE Guideline and Additional SSAD Guideline, Version 1.4 Greatly updated in Section 3, initial works in Section 4 according to LeanMBASE Guideline and Additional SSAD Guideline, Version 1.4 Rationale Minimum Exit criteria for LCO core SSAD Completed for LCO Draft 10/11/05 1.03 10/18/05 1.04 Completed for LCO ARB. 10/24/05 1.06 Completed for LCO package. 11/02/05 1.07 Complete for internal review of team 10 before LCA Draft. Completed for Agile Internal Review. 11/21/05 1.09 Fixed problems and defects found in Agile Internal Review Completed for LCA Draft. 11/28/05 1.10 Completed many design and documentation which was To-BeDefine in last version. Rework on the Interfaces and Internal Architecture Design in section 3 and part of the section 4. Completed system design and description in Section 4. Revised defects distributed in the entire document according to IV&V review and internal review. Completed for LCA ARB. Completed for LCA Package. SSAD_RLCA_S06b_T10_V3.2.doc ii Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Date 2/9/06 Author Chi-Hsien Chiu Woen-kee Sohn Version 3.01 Changes made Update services on Section 2.1.1 Minor changes on Section 1 and Section 2 3.05 Refine interface(s) and internal architecture on every software component classifier on Section 3 Minor changes on Section 3 and Section 4 Update glossary 2/11/06 Chi-Hsien Chiu Woen-kee Sohn Chi-Hsien, Chiu Woen-kee Shon 3.1 Refine interface(s) and internal architecture on every software component classifier on Section 4 Refine the capability diagram in section 2 Updated the reference section in section 1.3 Separated the purposes and the responsibilities into different rows at section 2.2.1. Added comments at section 6 Rationale Refinement Version no 3.2 2/10/06 Chi-Hsien Chiu Woen-kee Sohn All modifications made on the basis of LCA Package and evaluation from IV&Vs All modifications made on the basis of LCA Package and evaluation from IV&Vs Advisements from Prof. Ed. Feedbacks from IV&Vers 2/25/06 3.2 SSAD_RLCA_S06b_T10_V3.2.doc iii Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version no 3.2 Table of Contents SYSTEM AND SOFTWARE ARCHITECTURE DESCRIPTION (SSAD) ........................ I VERSION HISTORY ....................................................................................................... II TABLE OF CONTENTS.................................................................................................IV TABLE OF TABLES ......................................................................................................VI TABLE OF FIGURES ...................................................................................................XII 1. Introduction..................................................................................................................... 1 1.1 Purpose of the SSAD Document............................................................................. 1 1.2 Standards and Conventions..................................................................................... 1 1.3 References............................................................................................................... 1 1.4 Change Summary.................................................................................................... 2 2. System Analysis.............................................................................................................. 4 2.1 Structure.................................................................................................................. 4 2.1.1 System............................................................................................ 5 2.1.2 Actor 1 System Operator ............................................................ 6 2.1.3 Actor 2 User................................................................................ 7 2.1.4 Actor 3 - Maintainer....................................................................... 7 2.2 Artifacts & Information .......................................................................................... 8 2.2.1 Artifact Class Artifact-01 XML File.............................................. 9 2.2.2 Artifact Class Artifact-02 XSD File .............................................. 9 2.2.3 Artifact Class Artifact-03 Template File ....................................... 9 2.2.4 Artifact Class Artifact-04 Script .................................................... 9 2.2.5 Artifact Class Artifact-05 Error Log............................................ 10 2.2.6 Artifact Class Artifact-06 WinRunner Script .............................. 10 2.2.7 Artifact Class Artifact-07 LoadRunner Script ............................. 11 2.2.8 Artifact Class Artifact-08 Template File Error............................ 11 2.2.9 Artifact Class Artifact-09 Input File Error................................... 11 2.2.10 Artifact Class Artifact-10 Process Exception .............................. 12 2.3 Behavior................................................................................................................ 12 2.3.1 Processes ...................................................................................... 12 2.3.2 Modes of Operation ..................................................................... 21 3. Platform/TechnologyIndependent Model ................................................................... 23 3.1 Structure................................................................................................................ 23 3.1.1 Hardware Classifier Model .......................................................... 23 3.1.2 Software Classifier Model ........................................................... 24 3.1.3 Deployment Model ...................................................................... 25 3.1.4 Hardware Component Classifiers ................................................ 26 3.1.5 Hardware Connector Classifiers .................................................. 27 iv Version Date: 2/25/2006 SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Version no 3.2 3.1.6 Software Component Classifiers.................................................. 27 3.1.7 Hardware Components................................................................. 70 3.1.8 Software Components.................................................................. 71 3.2 Information Class.................................................................................................. 73 3.2.1 Information Class 1 IC-3.1 XML Source File .......................... 73 3.2.2 Information Class 2 IC-3.2 XML Wrapper............................... 74 3.2.3 Information Class 3 IC-3.3 XML_Value_Objs ........................ 74 3.2.4 Information Class 4 IC-3.4 XML_Value_Obj .......................... 75 3.2.5 Information Class 5 IC-3.5 XML_Parameter ........................... 75 3.2.6 Information Class 6 IC-3.6 XSD Source File ........................... 75 3.2.7 Information Class 7 IC-3.7 XSD Wrapper ............................... 75 3.2.8 Information Class 8 IC-3.8 XSD_Value_Objs ......................... 76 3.2.9 Information Class 9 IC-3.9 XSD_Value_Obj........................... 76 3.2.10 Information Class 10 IC-3.10 XSD_Element ........................... 76 3.2.11 Information Class 11 IC-3.11 Template Source File ................ 77 3.2.12 Information Class 12 IC-3.12 Template Parsing Result ........... 77 3.2.13 Information Class 13 IC-3.13 Error Log................................... 77 3.2.14 Information Class 14 IC-3.14 Error .......................................... 78 3.2.15 Information Class 15 IC-3.15 LoadRunner Script.................... 78 3.2.16 Information Class 16 IC-3.16 WinRunner Script ..................... 78 3.3 Behavior................................................................................................................ 79 3.3.1 Build Code UCR-3.1................................................................. 79 3.3.2 View Error Log UCR-3.2 ......................................................... 85 3.4 Architectural Styles, Patterns & Frameworks....................................................... 87 4. Platform/TechnologySpecific Model.......................................................................... 89 4.1 Structure................................................................................................................ 89 4.1.1 Hardware Classifier Model .......................................................... 89 4.1.2 Software Classifier Model ........................................................... 89 4.1.3 Deployment Model ...................................................................... 91 4.1.4 Hardware Component Classifiers ................................................ 92 4.1.5 Hardware Connector Classifiers .................................................. 93 4.1.6 Software Component Classifiers.................................................. 93 4.1.7 Hardware Components............................................................... 110 4.1.8 Software Components................................................................ 110 4.1.9 Information Classes ................................................................... 110 4.1.10 Objects ....................................................................................... 149 4.2 Behavior.............................................................................................................. 150 4.2.1 Build Code UCR-4.1............................................................... 150 4.2.2 View Error Log UCR-4.2 ....................................................... 154 4.3 Patterns & Frameworks....................................................................................... 157 4.4 Project Artifacts .................................................................................................. 158 5. Glossary for System Analysis and Design.................................................................. 159 6. Appendices.................................................................................................................. 161 SSAD_RLCA_S06b_T10_V3.2.doc v Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Table of Tables Table 1 Change Summary...........................................................................................................................................2 Table 2 Actor 1 System Operator ...............................................................................................................................6 Table 3 Actor 2 User ..................................................................................................................................................7 Table 4 Actor 3 - Maintainer .........................................................................................................................................7 Table 5 Artifact-01 XML File ........................................................................................................................................9 Table 6 Artifact-02 XSD File.........................................................................................................................................9 Table 7 Artifact-03 Template File ..............................................................................................................................9 Table 8 - Artifact-04 Script..........................................................................................................................................10 Table 9 - Artifact-05 Error Log ...................................................................................................................................10 Table 10 - Artifact-06 WinRunner Script.....................................................................................................................10 Table 11 - Artifact-07 LoadRunner Script ...................................................................................................................11 Table 12 Artifact-08 Template File Error ...................................................................................................................11 Table 13 Artifact-09 Input File Error..........................................................................................................................11 Table 14 Artifact-10 Process Exception ......................................................................................................................12 Table 15 Use Case 1 Build Code Description .......................................................................................................14 Table 16 Use Case 1.1 - Log Error Description..........................................................................................................15 Table 17 Use Case 1.2 - Select Input File Description................................................................................................15 Table 18 - Use Case 1 Course of Action...................................................................................................................17 Table 19 - Use Case 2 View Error Log ....................................................................................................................18 Table 20 - Use Case 2 Course of Action...................................................................................................................19 Table 21 Waiting State .............................................................................................................................................22 Table 22 Attribute Setting State ................................................................................................................................22 Table 23 Generating State ........................................................................................................................................22 Table 24 Output State ...............................................................................................................................................22 SSAD_RLCA_S06b_T10_V3.2.doc vi Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Table 25 User_Interface Feature Set 01...................................................................................................................28 Table 26 Process 1.1.1 Use Case Description.............................................................................................................29 Table 27 Process 1.1.2 Use Case Description.............................................................................................................30 Table 28 Process 1.1.1 Typical Course of Actions ......................................................................................................31 Table 29 Process 1.1.2 Typical Course of Actions ......................................................................................................32 Table 30 Process 1.2 Use Case Description................................................................................................................35 Table 31 Process 1.2 Typical Course of Actions .........................................................................................................36 Table 32 Process 1.3 Use Case Description................................................................................................................37 Table 33 Process 1.3 Typical Course of Actions .........................................................................................................38 Table 34 Mode 1.1 Waiting .........................................................................................................................................41 Table 35 Mode 1.2 Parameter Choosing.....................................................................................................................41 Table 36 Mode 1.3 Parameter setting .........................................................................................................................42 Table 37 Mode 1.5 Script Building..............................................................................................................................42 Table 38 Mode 1.7 Displaying Error...........................................................................................................................42 Table 39 Source_File_Parser Feature Set 01 ..........................................................................................................44 Table 40 - Source File Parser - Parameters................................................................................................................45 Table 41 Process 2.1 Use Case Description................................................................................................................45 Table 42 Process 2.1 Typical Course of Actions .........................................................................................................46 Table 43 Mode 2.1 Parsing File ..................................................................................................................................48 Table 44 Mode 2.3 XSD File Parsing..........................................................................................................................48 Table 45 Mode 2.4 Logging.........................................................................................................................................49 Table 46 Template_Handler Feature Set 01.............................................................................................................50 Table 47 - Template Handler - Parameters.................................................................................................................51 Table 48 Process 3.1 Use Case Description................................................................................................................51 Table 49 Process 3.1 Typical Course of Actions .........................................................................................................52 SSAD_RLCA_S06b_T10_V3.2.doc vii Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Table 50 3.1 Parsing ...................................................................................................................................................54 Table 51 Mode 3.3 Constructing .................................................................................................................................55 Table 52 Mode 3.4 Logging.........................................................................................................................................55 Table 53 Script Builder Feature Set 01 ....................................................................................................................57 Table 54 - Script Builder - Parameters .......................................................................................................................58 Table 55 Process 4.1 Use Case Description................................................................................................................59 Table 56 Process 4.1 Typical Course of Actions .........................................................................................................60 Table 57 Mode 4.1 Initializing.....................................................................................................................................62 Table 58 Mode 4.2 Parsing and Constructing.............................................................................................................63 Table 59 Mode 4.3 Building ........................................................................................................................................63 Table 60 Mode 4.4 Logging.........................................................................................................................................63 Table 61 Mode 4.5 Output ...........................................................................................................................................63 Table 62 Error_Handler Feature Set 01 ..................................................................................................................65 Table 63 - Error Handler - Parameters.......................................................................................................................66 Table 64 Process 5.1 Use Case Description................................................................................................................66 Table 65 Process 5.1 Typical Course of Actions .........................................................................................................67 Table 66 Mode 5.1 Rendering .....................................................................................................................................69 Table 67 Mode 5.2 Logging.........................................................................................................................................69 Table 68 IC-3.1 XML Source File ...............................................................................................................................73 Table 69 IC-3.2 XML Wrapper....................................................................................................................................74 Table 70 IC-3.3 XML_Value_Objs ..............................................................................................................................74 Table 71 IC-3.4 XML_Value_Obj................................................................................................................................75 Table 72 IC-3.5 XML_Parameter................................................................................................................................75 Table 73 IC-3.1 XSD Source File ................................................................................................................................75 Table 74 IC-3.7 XSD Wrapper ....................................................................................................................................75 SSAD_RLCA_S06b_T10_V3.2.doc viii Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Table 75 IC-3.8 XSD_Value_Objs...............................................................................................................................76 Table 76 IC-3.9 XSD_Value_Obj ................................................................................................................................76 Table 77 IC-3.10 XSD_Element ..................................................................................................................................76 Table 78 IC-3.11 Template Source File.......................................................................................................................77 Table 79 IC-3.12 Template Parsing Result .................................................................................................................77 Table 80 IC-3.13 Error Log.........................................................................................................................................77 Table 81 IC-3.14 Error................................................................................................................................................78 Table 82 IC-3.15 LoadRunner Script ..........................................................................................................................78 Table 83 IC-3.16 WinRunner Script ............................................................................................................................78 Table 84 Build Code UCR-3.1..................................................................................................................................80 Table 85 Log Error UCR-3.1.1.................................................................................................................................80 Table 86 View Error Log UCR-3.2...........................................................................................................................86 Table 87 Architectural Styles....................................................................................................................................88 Table 88 UserInterface Feature Set 01.....................................................................................................................94 Table 90 ParsingService Feature Set 01 ................................................................................................................100 Table 91 - Source File Parser - Parameters..............................................................................................................101 Table 94 CodeGenerator Feature Set 01................................................................................................................104 Table 95 Component Classifier 4 - Script Builder - Parameters...............................................................................105 Table 97 ErrorLogger Feature Set 01 ....................................................................................................................108 Table 98 Component Classifier 5 - Error Handler - Parameters..............................................................................109 Table 99 Information Class IC-4.1 XSDElement Attributes ...................................................................................111 Table 100 Operation OP-4.1.1.1 ...............................................................................................................................112 Table 101 Operation OP-4.1.1.2 ...............................................................................................................................112 Table 102 Operation OP-4.1.1.3 ...............................................................................................................................113 Table 103 Operation OP-4.1.1.4 ...............................................................................................................................113 SSAD_RLCA_S06b_T10_V3.2.doc ix Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Table 104 Information Class IC-4.2 XSDValueObject Attributes ..........................................................................115 Table 105 Operation OP-4.2.1.1 ...............................................................................................................................115 Table 106 Operation OP-4.2.1.2 ...............................................................................................................................116 Table 107 Operation OP-4.2.1.3 ...............................................................................................................................116 Table 108 Operation OP-4.2.1.4 ...............................................................................................................................117 Table 109 Information Class IC-4.3 XSDValueObjects Attributes.........................................................................118 Table 110 Operation OP-4.3.1.1 ...............................................................................................................................119 Table 111 Operation OP-4.3.1.2 ...............................................................................................................................119 Table 112 Operation OP-4.3.1.3 ...............................................................................................................................120 Table 113 Operation OP-4.3.1.4 ...............................................................................................................................120 Table 114 Information Class IC-4.4 XMLParameterVO Attributes .....................................................................122 Table 115 Operation OP-4.4.1.1 ...............................................................................................................................123 Table 116 Operation OP-4.4.1.2 ...............................................................................................................................123 Table 117 Operation OP-4.4.1.3 ...............................................................................................................................124 Table 118 Operation OP-4.4.1.4 ...............................................................................................................................124 Table 119 Operation OP-4.4.1.5 ...............................................................................................................................125 Table 120 Operation OP-4.4.1.6 ...............................................................................................................................125 Table 121 Information Class IC-4.5 XMLValueObjects Attributes .......................................................................127 Table 122 Operation OP-4.5.1.1 ...............................................................................................................................127 Table 123 Operation OP-4.5.1.2 ...............................................................................................................................128 Table 124 Operation OP-4.5.1.3 ...............................................................................................................................128 Table 125 Operation OP-4.5.1.4 ...............................................................................................................................129 Table 126 Operation OP-4.6.1.6 ...............................................................................................................................134 Table 127 Operation OP-4.7.1.1 ...............................................................................................................................136 Table 128 Operation OP-4.7.1.2 ...............................................................................................................................137 SSAD_RLCA_S06b_T10_V3.2.doc x Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Table 129 Operation OP-4.7.1.3 ...............................................................................................................................137 Table 130 Operation OP-4.7.1.4 ...............................................................................................................................138 Table 131 Operation OP-4.8.1.1 ...............................................................................................................................140 Table 132 Operation OP-4.8.1.2 ...............................................................................................................................140 Table 133 Operation OP-4.8.1.3 ...............................................................................................................................141 Table 134 Operation OP-4.8.1.4 ...............................................................................................................................141 Table 135 Information Class IC-4.5 XMLValueObjects Attributes .......................................................................143 Table 136 Operation OP-4.9.1.1 ...............................................................................................................................143 Table 137 Operation OP-4.9.1.2 ...............................................................................................................................144 Table 138 Operation OP-4.9.1.3 ...............................................................................................................................144 Table 139 Operation OP-4.9.1.4 ...............................................................................................................................145 Table 140 Operation OP-4.10.1.1 .............................................................................................................................147 Table 141 Operation OP-4.10.1.2 .............................................................................................................................147 Table 142 Operation OP-4.10.1.3 .............................................................................................................................148 Table 143 Operation OP-4.10.1.4 .............................................................................................................................148 Table 144 Build Code UCR-4.1..............................................................................................................................151 Table 145 Log Error UCR-4.1.1.............................................................................................................................151 Table 146 View Error Log UCR-4.2.......................................................................................................................155 Table 147 Patterns & Frameworks ...........................................................................................................................157 SSAD_RLCA_S06b_T10_V3.2.doc xi Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Table of Figures Figure 1 System Analysis............................................................................................................................................4 Figure 2 System Structure - Static-Structure Diagram..................................................................................................4 Figure 3 System Structure - Collaboration Diagram ....................................................................................................5 Figure 4 Artifacts & Information ...............................................................................................................................8 Figure 5 Use Case Model: Capability Realization...................................................................................................12 Figure 6 Use Case 1Build Code............................................................................................................................13 Figure 7 Use Case 1 Activity diagram...................................................................................................................17 Figure 8 - Use Case 2View Error Log .....................................................................................................................18 Figure 9 - Use Case 2 - Activity ..................................................................................................................................20 Figure 10 Models of Operations.................................................................................................................................21 Figure 11 Hardware Classifier Model .....................................................................................................................23 Figure 12 Software Classifier Model...........................................................................................................................24 Figure 13 Deployment Model for Generating WinRunner script ................................................................................25 Figure 14 Deployment Model for Generating LoadRunner script ..............................................................................26 Figure 15 Interface(s) -- User Interface ...................................................................................................................28 Figure 16 Process 1.1 Select Input File Use Case Diagram .......................................................................................29 Figure 17 Process 1.1.1 Select Input File (Generating LoadRunner Script) Activity Diagram ..................................33 Figure 18 Process 1.1.2 Select Input File (Generating WinRunner Script) Activity Diagram....................................34 Figure 19 Process 1.2 Select Output Destination Use Case Diagram ........................................................................35 Figure 20 Process 1.2 Select Output Destination Activity Diagram ...........................................................................37 Figure 21 Process 1.3 View Error Log Use Case Diagram ........................................................................................37 Figure 22 Process 1.3 View Error Log Activity Diagram ...........................................................................................39 Figure 23 User Interface Modes of Operation Parameter setting ........................................................................40 SSAD_RLCA_S06b_T10_V3.2.doc xii Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Figure 24 User Interface Modes of Operation View Error Log ............................................................................41 Figure 25 Component Classifier 1 User Interface Internal Architecture ..................................................................43 Figure 26 - Source File Parser Interfaces................................................................................................................44 Figure 27 Process 2.1 Parse Source File Use Case Diagram.....................................................................................45 Figure 28 Process 2.1 Parse Source File Activity Diagram........................................................................................47 Figure 29 - Source File Parser - StateMode ...............................................................................................................48 Figure 30 Component Classifier 2 Source File Parser Internal Architecture....................................................49 Figure 31 Template Handler Interfaces ...................................................................................................................50 Figure 32 Process 3.1 Parse Template File Use Case Diagram.................................................................................51 Figure 33 Process 3.1 Parse Template File Activity Diagram....................................................................................53 Figure 34 - Template Handler - StateMode.................................................................................................................54 Figure 35 Component Classifier 3 Template Handler Internal Architecture ........................................................56 Figure 36 Script Builder Interfaces ..........................................................................................................................57 Figure 37 Process 4.1 Build Script Use Case Diagram ..............................................................................................59 Figure 38 Process 4.1 Build Script Activity Diagram .................................................................................................61 Figure 39 Script Builder - StateMode..........................................................................................................................62 Figure 40 Component Classifier 5 Script Builder Internal Architecture...............................................................64 Figure 41 - Error Handler Interfaces.......................................................................................................................65 Figure 42 Process 5.1 Log Error Use Case Diagram .................................................................................................66 Figure 43 Process 5.1 Log Error Activity Diagram ....................................................................................................68 Figure 44 - Error Handler - StateMode ......................................................................................................................69 Figure 45 Component Classifier 5 - Error Handler - Internal Architecture ...............................................................70 Figure 46 Hardware Classifier Component 1 - WorkStation ......................................................................................71 Figure 47 Information Class .......................................................................................................................................73 Figure 48 Build Code UCR-3.1 Use Case Diagram.................................................................................................79 SSAD_RLCA_S06b_T10_V3.2.doc xiii Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Figure 49 Build Code UCR-3.1 Build Script Sequence Diagram for LoadRunner ..................................................82 Figure 50 Build Code UCR-3.1 Build Script Sequence Diagram for WinRunner ....................................................83 Figure 51 View Error Log UCR-3.2 Use Case Diagram .........................................................................................85 Figure 52 View Error Log UCR-3.2 Sequence Diagram..........................................................................................87 Figure 53 Software Classifier Model...........................................................................................................................90 Figure 54 Deployment Model (for WinRunner Script generation)..............................................................................91 Figure 55 Deployment Model (for LoadRunner Script generation) ............................................................................91 Figure 56 Hardware Component Classifiers...............................................................................................................92 Figure 57 Component Classifier 1 User Interface - Interfaces ...................................................................................93 Figure 58 Process 1.1.1 Select Input Files (Generating LoadRunner Script) Activity Diagram ................................95 Figure 59 Process 1.1.2 Select Input Files (Generating WinRunner Script) Activity Diagram ..................................96 Figure 60 Process 1.2 Select Output Destination........................................................................................................97 Figure 61 Process 1.3 View Error Log........................................................................................................................98 Figure 62 Component Classifier 1 User Interface Internal Architecture .................................................................99 Figure 63 Component Classifier 2 Source File Parser - Interfaces ............................................................................99 Figure 64 Process 2.1 ParsingService Activity Diagram ..........................................................................................102 Figure 65 Component Classifier 2 ParsingService Internal Architecture..............................................................103 Figure 66 Component Classifier 4 Script Builder Interface Details ...................................................................104 Figure 67 Process 4.1 CodeGenerator Activity Diagram .........................................................................................106 Figure 68 Component Classifier 4 - CodeGenerator Internal Architecture..............................................................107 Figure 69 Component Classifier 5 - ErrorLogger Interfaces....................................................................................108 Figure 70: ErrorLogger internal architecture ..........................................................................................................110 Figure 71 Information Class IC-4.1 XSDElement ..................................................................................................111 Figure 72 Interface 1 ICI-4.1.1 .................................................................................................................................111 Figure 73 Information Class IC-4.2 XSDValueObject ...........................................................................................114 SSAD_RLCA_S06b_T10_V3.2.doc xiv Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table of Contents Figure 74 Interface 1 ICI-4.2.1 .................................................................................................................................115 Figure 75 Interfaces ICI-4.3.1...................................................................................................................................118 Figure 76 Information Class IC-4.4 XSDWrapperVO..........................................................................................121 Figure 77 Interfaces ICI-4.4.1...................................................................................................................................122 Figure 78 Information Class IC-4.5 XMLValueObjects........................................................................................126 Figure 79 Interfaces ICI-4.5.1...................................................................................................................................127 Figure 80 Information Class XMLWrapperVO ......................................................................................................130 Figure 81 Interfaces ICI-4.6.1...................................................................................................................................130 Figure 82 Information Class TemplateParsingResult ............................................................................................135 Figure 83 Interfaces ICI-4.7.1...................................................................................................................................135 Figure 84 Information Class XMLParameterVO ...................................................................................................138 Figure 85 Interfaces ICI-4.8.1...................................................................................................................................139 Figure 86 Information Class IC-4.5 XMLValueObject .........................................................................................142 Figure 87 Interfaces ICI-4.9.1...................................................................................................................................143 Figure 88 Information Class ErrorVO ...................................................................................................................146 Figure 89 Interfaces ICI-4.8.1...................................................................................................................................146 Figure 90 Build Code UCR-4.1 Use Case Diagram...............................................................................................150 Figure 91 Build Code UCR-4.1 Build Script Sequence Diagram for LoadRunner ................................................152 Figure 92 Build Code UCR-4.1 Build Script Sequence Diagram for WinRunner ..................................................153 Figure 93 View Error Log UCR-4.2 Use Case Diagram .......................................................................................154 Figure 94 View Error Log UCR-4.2 Sequence Diagram........................................................................................156 SSAD_RLCA_S06b_T10_V3.2.doc xv Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 1. Introduction 1.1 Purpose of the SSAD Document This document contains the System and Software Architecture Description of the Template Based Code Generator that is under development by 577B Team 10 for Sophoi Inc. Team 10 members will be completely involved in design and development of the Template Based Code Generator for Sophoi Inc. Aditya Mandavilli, the engineer of Sophoi Inc, would attend the project as the companys representative. This is the SSAD document in the RLCA stage. System built to the architecture would support the operational concept described in OCD, satisfy the requirements in SSRD, be faithful to the initial prototype, and be built within the budgets and schedules in the Life Cycle Plan. In this document, proposed choice of architecture that expected to last the life of system is designed and described, and precise modeling and descriptions for each architectural component are presented. . 1.2 Standards and Conventions Standards: UML: Unified Modeling Language Version 1.4 Rational Rose Version 2003.06.15.734.00 LeanMBASE Guidelines Version 1.5 LeanMBASE Additional SSAD Guidelines Version 1.4 1.3 References The project is essentially associated with the template-based code generator; hence, related information is provided below. The following are some URLs of code generator template based LeanMBASE Guidelines version 1.5 http://greenbay.usc.edu/csci577/spring2006/site/guidelines/LeanMBASE_Guideli nes_V1.5.pdf LeanMBASE Additional_SSAD Guidelines Version 1.4 http://greenbay.usc.edu/csci577/spring2006/site/guidelines/LeanMBASE_Additio nal_SSAD_Guideline_v1.4.pdf SSAD_RLCA_S06b_T10_V3.2.doc 1 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) LeanMBASE Version 1.3 Templates for SSAD Version 3.2 http://greenbay.usc.edu/csci577/spring2006/site/guidelines/LeanMBASEtemplate s/LeanMBASE_v1.3_templates_for_SSAD.doc Team 10 website http://greenbay.usc.edu/csci577/spring2006/projects/team10/index.html Operational Concept Description 3.2 http://greenbay.usc.edu/csci577/spring2006/projects/team10/RLCA/OCD_RLCA _S06b_T10_V3.2.doc System and Software Requirement Description 3.2 http://greenbay.usc.edu/csci577/spring2006/projects/team10/RLCA/SSRD_RLCA _S06b_T10_V3.2.doc Rational Rose Model File 3.2 http://greenbay.usc.edu/csci577/spring2006/projects/team10/RLCA/UML_Model _RLCA_S06b_T10_V3.2.mdl Velocity Java based code generating engine: http://www.jajakarta.org/velocity/velocity-1.2/docs/ COTS Code Generators: http://codegenerator.sourceforge.net/ References for WinRunner and LoadRunner: http://www.mercury.com/us/products/quality-center/functional-testing/winrunner/ http://www.mercury.com/us/products/performance-center/loadrunner/ Client Meeting Notes: http://greenbay.usc.edu/csci577/spring2006/projects/team10/CMN/index.html 1.4 Change Summary Table 1 Change Summary SSAD Version 1.02 1.03 1.04 Changes Made SSAD Sections 1 and 2 completed according to LeanMBASE Guidelines, Version 1.2. SSAD Sections 2 and 3 updated according to LeanMBASE Guidelines, Version 1.3 SSAD Sections 2 and 3 updated according to LeanMBASE Guidelines, Version 1.4 SSAD_RLCA_S06b_T10_V3.2.doc 2 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 1.06 1.07 1.08 Version 3.2 SSAD Sections 2 and 3 updated according to LeanMBASE Guidelines, Version 1.4 Greatly updated in Section 2 according to LeanMBASE Guideline and Additional SSAD Guideline, Version 1.4 Greatly updated in Section 3, initial works in Section 4 according to LeanMBASE Guideline and Additional SSAD Guideline, Version 1.4 Fixed problems and defects found in Agile Internal Review Completed many design and documentation which was To-BeDefine in last version. Rework on the Interfaces and Internal Architecture Design in section 3 and part of the section 4. Completed system design and description in Section 4. Revised defects distributed in the entire document according to IV&V review and internal review. Update services on Section 2.1.1 Minor changes on Section 1 and Section 2 Refine interface(s) and internal architecture on every software component classifier on Section 3 Minor changes on Section 3 and Section 4 Update glossary 1.09 1.10 2.0 3.01 3.05 3.1 Refine interface(s) and internal architecture on every software component classifier on Section 4 SSAD_RLCA_S06b_T10_V3.2.doc 3 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2. System Analysis Figure 1 System Analysis <<System>> Code Generator 2.1 Structure Template Based Code Generator is a stand-alone application. It would be interacted with the System Operator, which consists of system User and Maintainer. The following Static-Structure and Collaboration Diagrams describe the structure of the Template Based Code Generator: Figure 2 System Structure - Static-Structure Diagram <<System>> Code Generator (from SSAD 2 System Analysi s) <<communication>> User System Operator Maintainer SSAD_RLCA_S06b_T10_V3.2.doc 4 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 3 System Structure - Collaboration Diagram 2. getScripts() : Code Generator 1. input(source file, template) : User 3. genErrorLogs() Version 3.2 : Maintainer 2.1.1 System The proposed Template Based Code Generating System is constructed to generate testing scripts (WinRunner and LoadRunner scripts) automatically in order to reduce the complexity and testing workload in software product developments for Sophoi Inc. The services provided by the system are listed as below: 1. Provide both drag-and-drop and browsing methods for selecting input files 2. Parse and process source data files (XML and XSD Files) 3. Parse and process the template files 4. Error logging and reporting for exceptional operations 5. Script codes generation (in WinRunner or LoadRunner format, based on inputted template file) 6. Multiple input files concession 7. Provide process status indicator SSAD_RLCA_S06b_T10_V3.2.doc 5 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.1.2 Actor 1 System Operator Table 2 Actor 1 System Operator Actor Role Purpose System Operator Base users who interact with this system. Use the system Responsibilities Please refer to system operator (Actor 2) and system maintainer (Actor 3) for details. Processes Collect source data file and template file from Maintainer Input source data file and template file to Template Based Code Generator Generate WinRunner and LoadRunner scripts with Template Based Code Generator View error log, then report to System Maintainer Create and modify template files based on appointed template format and structure Create and modify source data files (XML and XSD files) Check error log provided by System User, then revise relevant input files. Maintain the Template Based Code Generator SSAD_RLCA_S06b_T10_V3.2.doc 6 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.1.3 Actor 2 User Table 3 Actor 2 User Actor Role Purpose User Sophoi employees Generate WinRunner and LoadRunner scripts for further testing activities in Sophoi Inc.s software development. Use the Template Based Code Generator to generate testing scripts (WinRunner and LoadRunner scripts) with pre-written source files and template files. View and check error log. Collect source data file and template file from Maintainer Input source data file and template file to Template Based Code Generator Generate WinRunner and LoadRunner scripts with Template Based Code Generator View error log, then report to System Maintainer Responsibilities Processes 2.1.4 Actor 3 - Maintainer Table 4 Actor 3 - Maintainer Actor Role Purpose Maintainer Sophoi programmers and testers Provide maintenance and running supports for the delivered system Maintain the Template Based Code Generator. Write and modify template files based on appointed format and structure. Based on the error logs, fixing errors in input files. Provide source data files (XML and XSD files). Create and modify template files based on appointed template format and structure Create and modify source data files (XML and XSD files) Check error log provided by System User, then revise relevant Responsibilities Processes SSAD_RLCA_S06b_T10_V3.2.doc 7 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) input files. Maintain the Template Based Code Generator Version 3.2 2.2 Artifacts & Information Figure 4 Artifacts & Information XML File wrapper valueObjects valueObject 1 +data source ^extract +data source <extract 0..1 XSD wrapper valueObjects valueObjecs Script +result 1 1 1 +result identify> 1 Template File Error errorCode errorMsg Input File Error errorCode errorMsg Process Exception errorCode errorMsg Template File scriptParam eter keys Error Log LoadRunner Script WinRunner Script This diagram shows all artifacts that will be used or generated during the code generation process. The XML, XSD and template file are the input files that will be used to generate a script, and there are two types of script file: WinRunner script and LoadRunner script. During the code generation process, the system will produce an error log if there are some exception happened in the processing. SSAD_RLCA_S06b_T10_V3.2.doc 8 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.2.1 Artifact Class Artifact-01 XML File Table 5 Artifact-01 XML File Identifier Role Purpose Artifact-01 Input File Key source file, containing all data elements required for constructing a script file, which is described in standard XML format. The system will use this xml file as an input to generate an output script file. OC-1, OC-2 Responsibilities Relevant Capabilities/Level of Service 2.2.2 Artifact Class Artifact-02 XSD File Table 6 Artifact-02 XSD File Identifier Role Purpose Artifact-02 Input File Definition of all data entries must be matched with the relevant XML file (Artifact-01) while generating WinRunner script. Optional source file, which is not required for generation of LoadRunner script but only required for generation of WinRunner script. OC-1, OC-2, OC-3 Responsibilities Relevant Capabilities/Level of Service 2.2.3 Artifact Class Artifact-03 Template File Table 7 Artifact-03 Template File Identifier 0Role Purpose Artifact-03 Input File Input file, written in format appointed between Team10 and Sophoi Inc., describing the file structure (WinRunner or LoadRunner) of the script file It provides the skeleton of an output script. OC-1 Responsibilities Relevant Capabilities/Level of Service 2.2.4 Artifact Class Artifact-04 Script 9 Version Date: 2/25/2006 SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Table 8 - Artifact-04 Script Version 3.2 Identifier Role Purpose Artifact-04 Output File Output file, in WinRunner or LoadRunner format, utilized directly by WinRunner or LoadRunner for software testing Used by user to run a test case in WinRunner or Loadrunner. OC-1, OC-3, OC-4 Responsibilities Relevant Capabilities/Level of Service 2.2.5 Artifact Class Artifact-05 Error Log Table 9 - Artifact-05 Error Log Identifier Role Purpose Artifact-05 Error Log This file will be used by the system maintainer (Actor 2) to fix errors in input files or conversion process. Log file, recording error in input files or conversion process. OC-1, OC-2, OC-3 Responsibilities Relevant Capabilities/Level of Service 2.2.6 Artifact Class Artifact-06 WinRunner Script Table 10 - Artifact-06 WinRunner Script Identifier Role Purpose Artifact-06 Output File The output file of the system that is proposed to be run on WinRunner in the testing process of some Sophois projects. N/A OC-1, OC-4 Responsibilities Relevant Capabilities/Level of Service SSAD_RLCA_S06b_T10_V3.2.doc 10 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.2.7 Artifact Class Artifact-07 LoadRunner Script Table 11 - Artifact-07 LoadRunner Script Identifier Role Purpose Artifact-07 Output File The output file of the system that is proposed to be run on LoadRunner in the testing process of some Sophois projects. N/A OC-1, OC-4 Responsibilities Relevant Capabilities/Level of Service 2.2.8 Artifact Class Artifact-08 Template File Error Table 12 Artifact-08 Template File Error Identifier Role Purpose Responsibilities Relevant Capabilities/Level of Service Artifact-08 Error Log Entry Storing the syntax error of a template file that will be used to generate a error log (Artifact 05) Provide information about errors that happened during the parsing process of a template file. OC-3 2.2.9 Artifact Class Artifact-09 Input File Error Table 13 Artifact-09 Input File Error Identifier Role Purpose Responsibilities Relevant Capabilities/Level of Service Artifact-09 Error Log Entry Storing the syntax error of a input file that will be used to generate a error log (Artifact 05) Provide information about errors that happened during the parsing process of input files. OC-3 SSAD_RLCA_S06b_T10_V3.2.doc 11 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.2.10 Artifact Class Artifact-10 Process Exception Table 14 Artifact-10 Process Exception Identifier Role Purpose Artifact-10 Error Log Entry Storing the exceptions happened during the code generation process and it will be used to generate a error log (Artifact 05) Provide information about errors happened in the generating process. OC-3 Responsibilities Relevant Capabilities/Level of Service 2.3 Behavior 2.3.1 Processes In this section, we are going to describe two main processes of the system. Section 2.3.1.1 describes Build Code process which generates the WinRunner and LoadRunner script. Section 2.3.1.2 describes View Error Log process which allows users to view error logs. Figure 5 Use Case Model: Capability Realization <<capability>> Generating W inRunner Script <<include>> Build Code (fro m Use Ca se s) Log Error (from Use Ca se s) <<capability>> Generating Load Runner Scripts <<capability>> Viewing Errors View Error Log (fro m Use Ca se s) SSAD_RLCA_S06b_T10_V3.2.doc 12 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.3.1.1 Use Case 1 Build Code Figure 6 Use Case 1Build Code Select Input Files (from Use Cases) <<include>> <<include>> User (from SSAD 2.1 System Context) Build Code (from Use Cases) Log Error (from Use Cases) SSAD_RLCA_S06b_T10_V3.2.doc 13 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 15 Use Case 1 Build Code Description Version 3.2 Identifier UseCase Name Abstract Purpose Actors Priority Capability Requirements Risks UC-1 Build Code No Generate the WinRunner and LoadRunner scripts based on input files specified by System Operator User M OC-1 CR-1, CR-2, CR-4, CR-6, CR-7, IR-1, IR-3 If there are some errors in input files (XML, XSD files) and template file, such as syntax errors, the system will not be able to generate appropriated output script. Yes Yes LCA Based on the input file and template, the Winrunner and Loadrunner scripts are generated. The user use browser to input template, xml and xsd file to start the code generation. System Operator selected source files (XML & XSD files) and template file in the User Interface of the system Errors occurred in file parsing and script generating process are logged and displayed; scripts are generated and stored in user specified output directory None Select Input File, Log Error None None HighRisk? Architecturally Significant? Development Status Overview User Interface Preconditions Post-conditions Specializes Includes Extends Extension Points SSAD_RLCA_S06b_T10_V3.2.doc 14 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 16 Use Case 1.1 - Log Error Description Version 3.2 Identifier Use-Case Name Abstract Purpose UC-1.1 Log Error No When exceptions occurred in the file parsing or code building process, the Error Handler records the errors which would be displayed through the User Interface after the code generation ended. Must Have NONE High OC-1, OC-3 CR-2, CR-4, CR-5, IR-5 None No Yes LCA Record errors occurred in file parsing and script generating process. NONE File parsing or code generating process started and system encounters exceptions Errors are recorded in relevant data structures; error information is transferred to User Interface and displayed None None None None Table 17 Use Case 1.2 - Select Input File Description Priority Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points Identifier Use-Case Name Abstract UC-1.2 Select Input File No 15 Version Date: 2/25/2006 SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Purpose Version 3.2 Provide the System Operator with a control panel in which the operator could select input files relevant to the script generation process Must Have System Operator High OC-2, OC-6 CR-3, IR-1 NONE No Yes LCA System Operator can select XML and template files (and XSD file if generating WinRunner Script) Prototype v.01.04 System successfully initialized Template Handler and Source File Handler are ready to process selected XML and Template files (and XSD file if generating WinRunner Script) None None None None Priority Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points SSAD_RLCA_S06b_T10_V3.2.doc 16 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 18 - Use Case 1 Course of Action Version 3.2 Seq. Actor Actions 1 Select Template 2 3 4 Typical Course of Action System Response Display the complete path of the template file in the GUI mode Select Input Files (XML and Display the complete path of the input files in XSD files) the GUI mode Generate WinRunner and LoadRunner scripts and log errors Display Error Log Figure 7 Use Case 1 Activity diagram : User : System Start build script [ generating WinRunner script ] [ generating LoadRunner script ] Select XSD file Select XML Files Select Template File Select XML Files Select Template File Create Scripts Show progress Output WinRunner or LoadRunner script [ no error happen ] [ error happen ] Log error SSAD_RLCA_S06b_T10_V3.2.doc 17 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.3.1.2 Use Case 2 View Error Log Figure 8 - Use Case 2View Error Log View Error Log User (from SSAD 2.1 System Context) (from Use Cases) Table 19 - Use Case 2 View Error Log Identifier UseCase Name Abstract Purpose Actors Priority Capability Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Preconditions Post-conditions Specializes Includes Extends Extension Points UC-2 View Error Log No Based on exceptions recorded in the source file, template file parsing and code generating process, the error log will display on the message box after the generation. User M OC-3 IR-5 NONE No Yes LCA When the system catches any exceptions during the operation, the error log will be displayed. Error log is stored in the user-specified location and users can view the logs if any error occurred. Error logs were stored if they happened. User can view the logs when the error logs are displayed. NONE NONE NONE NONE SSAD_RLCA_S06b_T10_V3.2.doc 18 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 20 - Use Case 2 Course of Action Version 3.2 Seq. Actor Actions 1 Build code 2 3 View error log Typical Course of Action System Response Display errors in template and input file, as well as operational exceptions SSAD_RLCA_S06b_T10_V3.2.doc 19 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 9 - Use Case 2 - Activity Version 3.2 : User : System Code generation process [ has no errors ] [ has errors ] Log Error Popup Error Confirm Dialog [ user click view error button ] [ click cancel button ] Display Error Log SSAD_RLCA_S06b_T10_V3.2.doc 20 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.3.2 Modes of Operation This section defines the modes of the system, and the mode defines a set of states that the system can be in and another that it cannot. It also defines the event that causes a mode change. The system includes the following states: 1. Waiting: The system starts, waiting for users action. 2. Attribute setting: User set the input (XML, XSD, template file and output destination). 3. Generating: The system is generating the output script. 4. Output: Output script and error logs. Figure 10 Models of Operations Waiting new code generation request Attribute setting attributes setted Generating [ User click ok button ] generation process completed including output script and error logs Outputing output completed [ User click exit button ] SSAD_RLCA_S06b_T10_V3.2.doc 21 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 2.3.2.1 Waiting State Table 21 Waiting State Capability OC-1 Process UC-1 Mode Impact The system is waiting for user to input source file 2.3.2.2 Attribute Setting State Table 22 Attribute Setting State Capability OC-2 Process UC-1 Mode Impact User input the attributes that required generating script. 2.3.2.3 Generating State Table 23 Generating State Capability OC-1 Process UC -01 Mode Impact The system starts generate the script to 2.3.2.4 Output State Table 24 Output State Capability OC-3 Process UC-1, UC-2 Mode Impact Output error logs and the generated script. SSAD_RLCA_S06b_T10_V3.2.doc 22 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3. Platform/TechnologyIndependent Model 3.1 Structure This section describes the hardware and software components, the actors, layering of the components, and the connections among the components and actors for code generator. The code generator is a simple system- it is typically a system that is implemented as a single software executable running on a single computer or device. 3.1.1 Hardware Classifier Model The following diagram indicates the hardware classifier model: Figure 11 Hardware Classifier Model <<node>> WorkStation (f rom SSAD 3.1, Architecture) System Operator (from SSAD 2.1 System Context) Maintainer (from SSAD 2.1 System Context) User (from SSAD 2.1 System Context) The Template Based Code Generator is a stand-alone application which would be run in independent WorkStation. The System Operator would directly operate and interact with the system on the WorkStation. SSAD_RLCA_S06b_T10_V3.2.doc 23 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.1.2 Software Classifier Model This section shows the kinds of software components, the interfaces, the relations, and the classes and objects that reside on the component. The software classifier model shows the interaction between components and actors. Figure 12 Software Classifier Model User (from SSAD 2.1 System Context) User_Interface 1 <<use>> 1 1 <<use>> 1 1 <<use>> 1 Template_Handler 1 <<log errors>> <<log errors>> <<log errors>> Source_File_Parser 1 Script_Builder Error_Handler GOF Singleton pattern User would operate and get responses from the system through the User_Interface component, which is the only interface connecting other internal components of the system. The internal components include Error Handler, Source File Parser, Template Handler and Script Builder, all of which are transparent to the system users. SSAD_RLCA_S06b_T10_V3.2.doc 24 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Details of the Software Classifiers would be described in the Software Classifiers section. 3.1.3 Deployment Model 3.1.3.1 Deployment Model for Generating WinRunner script This deployment model shows hardware components, the software components that reside on each hardware component, and dependency relations between software components. Figure 13 Deployment Model for Generating WinRunner script <<node>> /Sophoi WorkStation : WorkStation <<log errors>> (from SSAD 3.1.1 Hardware Classifier Model) <<log errors>> <<Component>> winRunnerErrorHandler:Error_Handler <<log errors>> 1 <<Component>> winRunnerSourceFilesParser: Source_File_Parser 1 <<use>> 1 1 <<Component>> winRunnerTemplateHandler:Template_Handler 1 1 <<Component>> winRunnerScriptBuilder:Script_Builder 1 1 <<use>> <<use>> 1 <<Component>> winRunnerModeUI : User_Interface SSAD_RLCA_S06b_T10_V3.2.doc 25 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.1.3.2 Deployment Model for Generating LoadRunner script Figure 14 Deployment Model for Generating LoadRunner script <<node>> /Sophoi WorkStation : WorkStation (from SSAD 3.1.1 Hardware Classifier M odel) <<Component>> loadRunnerUI:User_Interface 1 <<use>> <<use>> 1 1 <<Component>> loadRunnerScriptBuilder:Script_Builder 1 <<use>> 1 1 <<Component>> loadRunnerSourceFilesParser: Source_File_Parser 1 <<log errors>> <<log errors>> 1 <<Component>> loadRunnerTemplateHandler: Template_Handler 1 <<Component>> loadRunnerErrorHandler:Error_Handler <<log errors>> GOF singleton pattern Because the Template Based Code Generator is a stand-alone application, all the software components would run upon independent WorkStation, which is the only hardware component in the system. The generation for WinRunner and LoadRunner scripts will base on different source file, template file and generate different error log. Also, the generating process and relevant user-dependent UI operation will be different. Therefore, we have two separated Deployment Models for each generating process. 3.1.4 Hardware Component Classifiers 3.1.4.1 Component Classifier 1 - Workstation SSAD_RLCA_S06b_T10_V3.2.doc 26 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.4.1.1 Purpose Version 3.2 This stand alone system will be deployed at independent WorkStation; it provides the environment to let the system to be executed. 3.1.4.1.2 L.O.S. Characteristics Goals The L.O.S characteristics goal is not applicable for this hardware component classifier as no level of service goal for the System is dependent on the WorkStation. 3.1.5 Hardware Connector Classifiers 3.1.5.1 Connector Classifier 3.1.5.1.1 Purpose Not Available. There is no connector in the hardware component classifiers because the system is a stand alone application; it does not need to communicate with other hardware. 3.1.5.1.2 L.O.S. Characteristics Goals No LOS Characteristics are defined for this connector. 3.1.6 Software Component Classifiers This section shows the software components that composed of system spreading over different layers. It covers the high level component classifiers without getting into the details of the subsections such as parameters and interfaces, which will be described in Software Component Section. 3.1.6.1 Component Classifier 1 User_Interface 3.1.6.1.1 Purpose Provide system operators with a graphical user interface, including application dialogs/forms which enable users to interact (ex: input/output) with the system. SSAD_RLCA_S06b_T10_V3.2.doc 27 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.1.2 Interface(s) Figure 15 Interface(s) -- User Interface <<Interface>> User_Interface (from SSAD 3.1.2 Software Cl assifi ers Model) Version 3.2 getFileManagement() : File_Manager getXMLFileChooser() : XML_Files_Chooser getProgressIndicator() : Progress_Indicator getLogViewer() : Error_Log_Viewer buildCode(type : int) 3.1.6.1.2.1 Feature Set 01 : User_Interface Table 25 User_Interface Feature Set 01 Operations getFileManagement() : File_Manager getXMLFileChooser() : XML_Files_Chooser getProgressIndicator() : Progress_Indicator getLogViewer() : Error_Log_Viewer buildCode( type : int ) Purpose Signature These operations are used to provide User Interface to user. Parameters Results File_Manager A UI component that help user to select XSD, template files and the output destination. XML_File_Chooser A UI component that help user to select XML files. Progress_Indicator A UI component that show the operating status. Error_Log_Viewer A UI component that display the error log to user. Type to indicate the system is generating WinRunner or LoadRunner. Pre-conditions N/A, because no parameter need to be set or required to the User_Interface. SSAD_RLCA_S06b_T10_V3.2.doc 28 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) The user interface is shown. Version 3.2 Post-conditions 3.1.6.1.3 Parameters No parameters are needed when the component is created. 3.1.6.1.4 Behavior User Interface is the only component classifier through which the System User would interact with the Template Based Code Generator. Such interactions include: browsing paths of the input files (XML and XSD files), template file and the proposed output files; examining error log generated in the code generating process 3.1.6.1.4.1 Processes 3.1.6.1.4.1.1 Process 1.1 Select Input File Figure 16 Process 1.1 Select Input File Use Case Diagram Select XML File (from System Processes) <<include>> <<include>> User (from SSAD 2.1 Syste...) (from System Processes) Select Template File Select Input Files <<include>> Select XSD File (from System Processes) Table 26 Process 1.1.1 Use Case Description Identifier Process 1.1.1 SSAD_RLCA_S06b_T10_V3.2.doc 29 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Use-Case Name Abstract Purpose Select Input File (for generating LoadRunner script) No Version 3.2 Provide the System Operator with a control panel in which the operator could select input files relevant to the LoadRunner script generation process Must Have System Operator High OC-2, OC-6 CR-3, IR-1 NONE No Yes LCA System Operator can select XML and template files Prototype v.01.04 System successfully initialized Template Handler and Source File Handler are ready to process selected XML and Template files) None Select XML File, Select Template File None None Table 27 Process 1.1.2 Use Case Description Priority Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points Identifier Use-Case Name Abstract Purpose Process 1.1.2 Select Input File (for generating WinRunner script) No Provide the System Operator with a control panel in which the operator could select input files relevant to the WinRunner script generation process Must Have Priority SSAD_RLCA_S06b_T10_V3.2.doc 30 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points System Operator High OC-2, OC-6 CR-3, IR-1 NONE No Yes LCA Version 3.2 System Operator can select XML, XSD and template files Prototype v.01.04 System successfully initialized Template Handler and Source File Handler are ready to process selected XML, XSD and Template files None Select XML File, Select XSD File, Select Template File None None Table 28 Process 1.1.1 Typical Course of Actions Seq. # 1. Actor Actions System Operator select LoadRunner Script Generation in the User Interface System Operator push relevant browse button for selecting XML, Template files System Response 2. 3. System pop out a File Chooser dialogs and wait for users operation System Operator select XML, Template files in the pop-out dialogs 4. SSAD_RLCA_S06b_T10_V3.2.doc 31 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 29 Process 1.1.2 Typical Course of Actions Version 3.2 Seq. # 1. Actor Actions System Operator select WinRunner Script Generation in the User Interface System Operator push relevant browse button for selecting XML, XSD and Template files System Response 2. 3. System pop out File Chooser dialogs and wait for users operation System Operator select XML, XSD and Template files in the pop-out dialogs 4. SSAD_RLCA_S06b_T10_V3.2.doc 32 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Figure 17 Process 1.1.1 Select Input File (Generating LoadRunner Script) Activity Diagram : User LoadRunner User Interface : User_Interface request to select input files for generating LoadRunner script Popup Template File Chooser Select Template template file has been selected Set template file Popup XML File Chooser Select XML Files all XML files have selected Set Selected XML files SSAD_RLCA_S06b_T10_V3.2.doc 33 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Figure 18 Process 1.1.2 Select Input File (Generating WinRunner Script) Activity Diagram : User W inRunner User Interface : User_Interface request to select input files for generating Wi nRunner Popup XML Fi le Chooser all XML files have selected Select XML Files Set Selected XM L files Popup XSD Fi le Chooser Select XSD XSD file has been selected Set XSD file Popup Template File Chooser Select Template templ ate file has been selected Set template fil e SSAD_RLCA_S06b_T10_V3.2.doc 34 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.1.4.1.2 Process 1.2 Select output destination Figure 19 Process 1.2 Select Output Destination Use Case Diagram Version 3.2 Select Output Dest (from System Processes) User (from SSAD 2.1 Sys ...) Table 30 Process 1.2 Use Case Description Identifier Use-Case Name Abstract Purpose Priority Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Process 1.2 Select Output Destination No Provide the System Operator with controls through which the operator could select output directory for generated scripts Must Have System Operator High OC-5, OC-6 CR-1, IR-3 NONE No Yes LCA System Operator can select output directory Prototype v.01.04 System successfully initialized Path of output directory is recorded by the User Interface component None None None SSAD_RLCA_S06b_T10_V3.2.doc 35 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Extension Points None Version 3.2 Table 31 Process 1.2 Typical Course of Actions Seq. # 1. 2. Actor Actions System Operator push the browse button System Response System pop out a File Chooser dialog and wait for users operation System Operator select output directory with the pop-out dialog 3. SSAD_RLCA_S06b_T10_V3.2.doc 36 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 20 Process 1.2 Select Output Destination Activity Diagram Version 3.2 : User : User_Interface request to select output file destination Does Not Select Output Dest Popup Output Destination FileChooser Select Output Destination output destination has been selected Set output destination 3.1.6.1.4.1.3 Process 1.3 View error log Figure 21 Process 1.3 View Error Log Use Case Diagram View Error Log User (from SSAD 2.1 Syste...) (from Use Cases) Table 32 Process 1.3 Use Case Description Identifier Use-Case Name Process 1.3 View Error Log SSAD_RLCA_S06b_T10_V3.2.doc 37 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Abstract Purpose Priority Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points No Version 3.2 Provide the System Operator with a dialog displaying the error log generated in the code generation process Must Have System Operator High OC-3, OC-6 CR-2, CR-4, IR-5 NONE No Yes LCA System Operator can view error log after code generation Prototype v.01.04 All relevant input files selected; output directory selected; code generation process ended None None None None None Table 33 Process 1.3 Typical Course of Actions Seq. # 1. 2. 3. Actor Actions System Operator push the generate button System Response Code generation process start Display the status of code generation along the process; record errors occurred during the generation SSAD_RLCA_S06b_T10_V3.2.doc 38 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4. 5. System Operator view the displayed Error Log Version 3.2 Code generation process end; render and display the error log Figure 22 Process 1.3 View Error Log Activity Diagram : User : User_Interface : Script_Builder : Error_Handler Request to generate scripts Initialize IScript_Builder Generating Script has more errors [ has no errors ] Popup finished confirm dialog [ has errors ] Log Errors Popout Error confirm dialog all errors have been logged [ user clicks view button ] Create Error Log viewer Get all errors [ user clicks cancel button ] Render Error Log Display Error Log SSAD_RLCA_S06b_T10_V3.2.doc 39 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.1.4.2 Modes of Operation Figure 23 User Interface Modes of Operation Parameter setting Version 3.2 Waiting request to chossing parameters chooseing XSD, XML, template, and output destination Parameters Choosing parameters choosed more parameters need to be setted Parameters setting parameters setted all parameters have setted SSAD_RLCA_S06b_T10_V3.2.doc 40 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 24 User Interface Modes of Operation View Error Log Version 3.2 request to build script Script Building scripts built [ has errors ] Displaying errors [ no errors ] 3.1.6.1.4.2.1 Mode 1.1 Waiting Table 34 Mode 1.1 Waiting Process N/A Mode Impact Wait for users operations of selecting any input files 3.1.6.1.4.2.2 Mode 1.2 Parameter Choosing Table 35 Mode 1.2 Parameter Choosing Process Mode Impact Process 1.1 Select Input File Let the system to allow user to input/choose input parameters (XML, XSD, template file and output destination). SSAD_RLCA_S06b_T10_V3.2.doc 41 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.1.4.2.3 Mode 1.3 Parameter setting Table 36 Mode 1.3 Parameter setting Version 3.2 Process Mode Impact Process 1.1 Select Input File Let the system to set user inputted parameter into memory. 3.1.6.1.4.2.4 Mode 1.5 Script Building Table 37 Mode 1.5 Script Building Process Process 1.3 View error log Mode Impact Let the system user generate scripts and store in appointed output directory based on the input files. 3.1.6.1.4.2.5 Mode 1.7 Displaying Log Table 38 Mode 1.7 Displaying Error Process Process 1.3 View error log Mode Impact Error Log would be displayed after the generation completed. When exception occurs in the generating process, user would be notified through the View Error Log process. 3.1.6.1.5 NONE Constraints SSAD_RLCA_S06b_T10_V3.2.doc 42 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.1.6 Internal Architecture Version 3.2 Figure 25 Component Classifier 1 User Interface Internal Architecture Error_Log_Viewer Progress_Indicator 1 1 <<composed of>> <<composed of>> XML_Selection_List_View 1 Singleton 1 1 <<composed of>> 1 <<composed of>> 1 1 XML_Files_Chooser 1 <<Component>> User_InterfaceImpl getInstance() : User_InterfaceImpl 1 <<composed of>> <<composed of>> 1 1 <<constructs>> 1 File_System_Tree_View File_Chooser File_Manager 3.1.6.2 Component Classifier 2 Source File Parser 3.1.6.2.1 Purpose Parse input files (XML and XSD files) provided by User Interface component and generate relevant data structures which would store necessary parameters for the code generation. SSAD_RLCA_S06b_T10_V3.2.doc 43 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.2.2 Interface(s) Figure 26 - Source File Parser Interfaces <<Interface>> Source_File_Parser (from SSAD 3.1.2 Software Classifi ers Model ) Version 3.2 getXMLFileHandler() : XML_File_Handler getXSDFileHandler() : XSD_File_Handler getTemplateHandler() : Template_Handler 3.1.6.2.2.1 Feature Set 01 : Source_File_Parser Table 39 Source_File_Parser Feature Set 01 Operations getXMLFileHandler() : XML_File_Handler getXSDFileHandler() : XSD_File_Handler getTemplateHandler() : Template_Handler Purpose Signature This component is to provide different file handler for different type of files. No Parameters Result XML_File_Handler : This is the component to parse the XML file and generating a list of XML wrappers. XSD_File_Hanlder : This is the component to parse the XSD file to generate a list of XSD wrappers. Template_Handler : This is the component to parse the template file and generating the template file parsing result. Pre-conditions Post-conditions XML, XSD and Template must existed. Handlers will be returned to the code generator for parsing all input files. SSAD_RLCA_S06b_T10_V3.2.doc 44 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.2.3 Parameters Table 40 - Source File Parser - Parameters Version 3.2 Parameter Name XML Source File Type/Signature Default Value FileStream NULL Purpose The file includes all necessary data which would be served as attributes for Script Builder component in order to generate both LoadRunner and WinRunner Scripts. The file includes part of data which would be served as attributes for Script Builder component in order to generate WinRunner Scripts. XSD Source File FileStream NULL 3.1.6.2.4 Behavior This is an internal component of the Template Based Code Generator and it is transparent to the System Operator. This component classifier will parse the source files specified in User Interface component, and then convert the data to system recognizable data structures which would be attributes for Script Builder component in order to generate the scripts. 3.1.6.2.4.1 Processes 3.1.6.2.4.1.1 Process 2.1 Parse Source File Figure 27 Process 2.1 Parse Source File Use Case Diagram <<extend>> Parse XML file Parse File <<extend>> Parse XSD file System Table 41 Process 2.1 Use Case Description Identifier Use-Case Name Process 2.1 Parse File (for XML and XSD files) 45 SSAD_RLCA_S06b_T10_V3.2.doc Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Abstract Purpose No Version 3.2 Parse the source files specified in User Interface component, and then convert the data to system recognizable data structures (XMLValue Container, XSDValue Container) which would be attributes for Script Builder component in order to generate the scripts. Must Have NONE High OC-1, OC-2 CR-5, IR-6 NONE Yes Yes LCA Parse source files and convert the data to specific data structures NONE All relevant input files selected in the User Interface Data structure has been provided which is ready for gernerating codes. None None Parse XML File; Parse XSD File None Priority Actors Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points Table 42 Process 2.1 Typical Course of Actions Seq. # 1. 2. Actor Actions System Operator push the generate button System Response Open and load source files (XML and XSD files) SSAD_RLCA_S06b_T10_V3.2.doc 46 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3. Version 3.2 Parse files and fill the data structures (XMLValue Container, XSDValue Container) that serve as parameters for Script Builder component Log errors occurred in the parsing process 4. Figure 28 Process 2.1 Parse Source File Activity Diagram : Script_Builder : Source_File_Parser : Error_Handler request to parse file Init Parsers Parse XML file [ has errors ] [ has no error ] Generate XML Wrapper Object Log Error [ is generating LoadRunner script ] [ is generating LoadRunner Script ] Parse XSD file [ has errors ] Log Error [ has no errors ] Generate XSD Wrapper Object SSAD_RLCA_S06b_T10_V3.2.doc 47 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.2.4.2 Modes of Operation Figure 29 - Source File Parser - StateMode Version 3.2 new parsing request Parsing parsing completed constructing VOs, such as XMLVO, XSDVO...etc Constructing value objects constructed [ has errors ] Logging [ has no errors ] all logs have been logged 3.1.6.2.4.2.1 Mode 2.1 Getting Source File Table 43 Mode 2.1 Parsing File Process Process 2.1 Parse Source File Mode Impact Check the structure and syntax of XML, XSD and template file stream and extract data 3.1.6.2.4.2.2 Mode 2.3 Constructing Table 44 Mode 2.3 XSD File Parsing Process Process 2.1 Parse Source File Mode Impact Constructing value objects according to the input files. SSAD_RLCA_S06b_T10_V3.2.doc 48 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.2.4.2.3 Mode 2.4 Logging Table 45 Mode 2.4 Logging Version 3.2 Process Process 2.1 Parse Source File Mode Impact Record errors occurred in the file parsing process 3.1.6.2.5 NONE 3.1.6.2.6 Constraints Internal Architecture Figure 30 Component Classifier 2 Source File Parser Internal Architecture XSD_Wrapper 1 1..* <<constructs>> 1 XSD_Source_File 1 <<parse>> 1 <<realize>> XML_Source_File 1..* <<parse>> 1 <<realize>> 1 <<entity>> XML_Value_Objects 1..* <<constructs>> 1 0..* containedValue_Object : List name : String addXML_Value_Object(vo : XML_Value_Object) getContained_XML_Value_Object:List() : List getName() : String setName(name : String) 1 <<entity>> XSD_Value_Objects contained_ValueObject : List name : String 0..* 1 addXSD_Value_Object(vo : XSD_Value_Object) getContained_XSD_Value_Object() : List getName() : String setName(name : String) 1 I_Parser XSD_File_Handler 1..* XML_File_Handler XML_Wrapper 1 <<use>> 1 1..* Source_File_Parser 1..* 1..* <<entity>> XML_Value_Object paras : List name : String addXML_Parameter(para : XML_Parameter) getXML_Parameters() : List getName() : String setName(name : String) 1 1..* <<entity>> XSD_Value_Object (from SSAD 3.1.2 Softwa ...) xsdElements : List name : String addXSD_Element(element : XSD_Element) getXSD_Elements() : List getName() : String setName(name : String) 1 getXMLFileHandler() : XML_File_Handler getXSDFileHandler() : XSD_File_Handler getTemplateHandler() : Template_Handler realize <<log errors>> <<Component>> Source_File_ParserImpl SourceFileParserImpl() : Source_File_Parser 1..* <<entity>> XSD_Element name : String type : String getName() : String setName(name : String) getType() : String setType(type : String) 1..* <<log errors>> <<log errors>> <<entity>> XML_Parameter name : String value : String getName() : String setName(name : String) getValue() : String setValue(value : String) Error_Handler (from SSAD 3.1.2..) . hasError() : Boolean logError(error : Error) getErrors() : List getInstance() : Error_Handler SSAD_RLCA_S06b_T10_V3.2.doc 49 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.1.6.3 Component Classifier 3 Template Handler 3.1.6.3.1 Purpose Template Handler will first check syntax errors which would be recorded in Error Log. While the template file contains a parameter definition field and script structure definition field, the Template Handler will parse the template file in two different ways, which are: 1. Abstracts parameters and have them stored in special data structures which would serve as attributes for Script Builder component; 2. Validate the script structure definition. 3.1.6.3.2 Interface(s) Figure 31 Template Handler Interfaces <<Interface>> Template_Handler (from SSAD 3.1.2 Software Cl assi fi ers Model) getParseResult() : Template_Parsing_Result 3.1.6.3.2.1 Feature Set 01 : Template_Handler Table 46 Template_Handler Feature Set 01 Operations Purpose Signature getParseResult() : Template_Parsing_Result Perform parsing a template file which contains parameter definitions and scrip structure definitions. No Parameters Result Template_Parsing_Result : This contains constant parameters and keys. Pre-conditions Post-conditions Template File must existed ValueObjects for a Template file is generated. SSAD_RLCA_S06b_T10_V3.2.doc 50 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.3.3 Parameters Table 47 - Template Handler - Parameters Version 3.2 Parameter Name Template File Type/Signature FileStream Default Value NULL Purpose Provide script structure and necessary parameters for the Script Builder component. 3.1.6.3.4 Behavior This is an internal component of the Template Based Code Generator and it is transparent to the System Operator. This component classifier will parse the template files specified in User Interface component by: 1. Abstracts parameters and have them stored in special data structures (ParameterMap) which would serve as attributes for Script Builder component; 2. Validate the script structure definition. 3.1.6.3.4.1 Processes 3.1.6.3.4.1.1 Process 3.1 Parse Template File Figure 32 Process 3.1 Parse Template File Use Case Diagram <<extend>> Parse Template File Parse File (from Source Fil e Parser) System Table 48 Process 3.1 Use Case Description Identifier Use-Case Name Abstract Purpose Process 3.1 Parse File (for Template file) No Parse the template files specified in User Interface component, and then convert the contained parameters to system recognizable data structures (ParameterMap). Must Have NONE 51 Version Date: 2/25/2006 Priority Actors SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points High OC-1, OC-2, OC-6 CR-3, CR-4 NONE No Yes LCA Version 3.2 Parse template files and convert the data to specific data structures (ParameterMap) NONE Template file selected in the User Interface Script Builder component is ready to generate codes based on data structures provided by this component None None Parse Template File None Table 49 Process 3.1 Typical Course of Actions Seq. # 1. 2. 3. Actor Actions System Operator push the generate button System Response Open and load template file Parse files and create relevant data structures (ParameterMap) that serve as parameters for Script Builder component Log errors occurred in the parsing process 4. SSAD_RLCA_S06b_T10_V3.2.doc 52 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 33 Process 3.1 Parse Template File Activity Diagram Version 3.2 : Script_Builder : Source_File_Parser : Template_Handler : Error_Handler request to parse template file Init template file handler Parse Template File [ has errors ] Log Error [ has no error ] Contruct Template parse result object SSAD_RLCA_S06b_T10_V3.2.doc 53 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.3.4.2 Modes of Operation Figure 34 - Template Handler - StateMode Version 3.2 Parsing Creating Template Parsing Result Objects Constructing [ has errors ] Logging [ has no errors ] 3.1.6.3.4.2.1 Mode 3.1 Parsing Table 50 3.1 Parsing Process Process 3.1 Parse Template File Mode Impact Load template file stream and check the structure and syntax of template file stream and extract data SSAD_RLCA_S06b_T10_V3.2.doc 54 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.1.6.3.4.2.2 Mode 3.3 Constructing Table 51 Mode 3.3 Constructing Process Process 3.1 Parse Template File 3.1.6.3.4.2.3 Mode 3.4 Logging Mode Impact Create special data structures and fill them with data extracted from the template file Table 52 Mode 3.4 Logging Process Process 3.1 Parse Template File Mode Impact Call the Error Handler component in order to record errors occurred in the template file parsing process 3.1.6.3.5 NONE Constraints SSAD_RLCA_S06b_T10_V3.2.doc 55 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.3.6 Internal Architecture Version 3.2 Figure 35 Component Classifier 3 Template Handler Internal Architecture 1 <<use>> 1..* I_Parser Source_File_Parser (from SSAD 3.1.2 Softw ...) (from Interface of Source Fil e Parser T IM) getXMLFileHandler() : XML_File_Handler getXSDFileHandler() : XSD_File_Handler getTemplateHandler() : Template_Handler realize Template_Handler (from SSAD 3.1.2 So...) realize <<log errors>> Template_HandlerImpl Template_HandlerImpl() : Template_HandlerImpl() 1 <<constructs>> <<parse>> Error_Handler (from SSAD 3.1.2 Software Cl assi f...) Template_Source_File hasError() : Boolean logError(error : Error) getErrors() : List getInstance() : Error_Handler 1..* Template_Parsing_Result 3.1.6.4 Component Classifier 4 Script Builder 3.1.6.4.1 Purpose Build and output LoadRunner or WinRunner scripts based on data structures created by Source File Parser and Template File Parse components; record errors occurred in the script building process. SSAD_RLCA_S06b_T10_V3.2.doc 56 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.4.2 Interface(s) Figure 36 Script Builder Interfaces Version 3.2 type=1 for generating WinRunner script; type=2 for generating LoadRunner script <<Interface>> Script_Builder (from SSAD 3.1.2 Software Classifiers Model) generateCode(type : int) 3.1.6.4.2.1 Feature Set 01 : Scrip_Builder Table 53 Script Builder Feature Set 01 Operations Purpose Signature generateCode(int type) This operation generates LoadRunner or WinRunner scripts. Parameters Type : 1 for Winnner, 2 for LoadRunner No Result returns. Result will be stored on the disk as files. Pre-conditions Post-conditions XML, XSD, Template files must exist and has been parsed as Objects. Script will be generated and if has some errors, error logs will be generated. SSAD_RLCA_S06b_T10_V3.2.doc 57 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.4.3 Parameters Table 54 - Script Builder - Parameters Version 3.2 Parameter Name XML Value Container Type/Signature Hash Table Default Value NULL Purpose Provide the Script Builder component with parameters that are necessary for both LoadRunner and WinRunner scripts generation process. Provide the Script Builder component with parameters that are necessary for the WinRunner script generation. Provide variables, which were extracted from Parameter Definition Field in template file, for Script Builder component to generate script files Provide script and structure necessary parameters for the Script Builder component. XSD Value Container ParameterMap (from template file) Script structure definition (from template file) Hash Table NULL Hash Table NULL String/Stream NULL 3.1.6.4.4 Behavior This Script Builder component classifier use script structure definition, which is defined in the template file, as well as parameters parsed from XML and XSD file, to build script codes in either LoadRunner or WinRunner format. This is an internal component of the Template Based Code Generator and it is transparent to the System Operator. SSAD_RLCA_S06b_T10_V3.2.doc 58 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.4.4.1 Processes 3.1.6.4.4.1.1 Process 4.1 Build Script Figure 37 Process 4.1 Build Script Use Case Diagram Version 3.2 System <<include>> Parse File (from Source Fil e Parser) Build Script <<include>> Log Error (from Use Cases) Table 55 Process 4.1 Use Case Description Identifier Use-Case Name Abstract Purpose Process 4.1 Build Script No Use relevant data structure that has been parsed from template file (Script structure definition) and source files (XML Value Container and XSD Value Container) to generate LoadRunner or WinRunner scripts Must Have NONE High OC-1, OC-2, OC-6 CR-3, CR-5, IR-4, IR-6 59 Version Date: 2/25/2006 Priority Actors Importance Capabilities Requirements SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points NONE No Yes LCA Version 3.2 Build script codes with parameters from source files and template file NONE Source Files (XML and XSD files) and template file are successfully parsed; relevant data structures are created LoadRunner or WinRunner script(s) is/are generated and outputted to user-specified output directory None Parse File None None Table 56 Process 4.1 Typical Course of Actions Seq. # 1. 2. 3. Actor Actions System Operator push the generate button System Response Parse relevant input files and create necessary data structures Build script codes with relevant data structures from Source File Parser and Template File Parser components Log errors occurred in the parsing process 4. SSAD_RLCA_S06b_T10_V3.2.doc 60 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 38 Process 4.1 Build Script Activity Diagram Version 3.2 : User : User_Interface : Script_Builder : Source_File_Parser : Error_Handler request to generate script Start to build code Including choosing XML, XSD, Template Files and output destination. Refer to 3.1.6.1 for more detail Parameters setting including parsing XSD, XML and tempalte files. Refer to 3.1.6.2, 3.1.6.3 for more detail Parsing Files [ without exception ] [ have exceptions ] Log Error Build Script [ have exceptions ] Log Error [ without exceptions ] Generate Output Script SSAD_RLCA_S06b_T10_V3.2.doc 61 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.4.4.2 Modes of Operation Figure 39 Script Builder - StateMode Version 3.2 build script request init parsers, gathering all parameters initializing initialization completed parsing XSD, XML, and template files. See 3.1.6.2 and 3.1.6 .3 for more details Parsing and Constructing parsing and constructing completed Building script built [ has errors ] has no errors Logging all errors have been logged Output script outputted 3.1.6.4.4.2.1 Mode 4.1 Initializing Table 57 Mode 4.1 Initializing Process Process 4.1 Build Script Mode Impact Prepare all necessary data structures and all parameters. 62 Version Date: 2/25/2006 SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Version 3.2 3.1.6.4.4.2.2 Mode 4.2 Parsing and Constructing Table 58 Mode 4.2 Parsing and Constructing Process Process 4.1 Build Script Mode Impact Using different handler to parsing source files and generating value objects. 3.1.6.4.4.2.3 Mode 4.3 Building Table 59 Mode 4.3 Building Process Process 4.1 Build Script Mode Impact Generate LoadRunner or WinRunner scripts based on given data structures 3.1.6.4.4.2.4 Mode 4.4 Logging Table 60 Mode 4.4 Logging Process Process 4.1 Build Script Mode Impact Record errors occurred in the code building process 3.1.6.4.4.2.5 Mode 4.5 Output Table 61 Mode 4.5 Output Process Process 4.1 Build Script Mode Impact Output generated script to selected destination. 3.1.6.4.5 NONE Constraints SSAD_RLCA_S06b_T10_V3.2.doc 63 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.4.6 Internal Architecture Version 3.2 Figure 40 Component Classifier 5 Script Builder Internal Architecture use it to get selected XML files, XSD, Template file, output destination File_Manager (from Interface of User Interf...) <<use>> 1 Script_Builder (from SSAD 3.1.2 Software Classifiers Model) <<use>> 1 1 Source_File_Parser (from SSAD 3.1.2 Softwa ...) 1..* I_Parser (from Interface of Source File Parser TIM) <<use>> XML_Files_Chooser (from Interface of User_Interface TIM) <<realize>> <<use>> generateCode(type : int) realizes <<generate>> Script_BuilderImpl realize Script_BuilderImpl() : Script_Builder Script (from SSAD 2.2 System Arti. ..) <<realize>> XSD_File_Handler (from Interface of Source File Parser TIM) XML_File_Handler (from Interface of Source File Parser ...) <<log errors>> Template_Handler WinRunner Script (from SSAD 2.2 System Artifacts) LoadRunner Script (from SSAD 2.2 System Artifacts) <<log errors>> <<log errors>> (from SSAD 3.1.2 Soft...) <<log errors>> Error_Handler (from SSAD 3.1.2 Software Classifiers..) . hasError() : Boolean logError(error : Error) getErrors() : List getInstance() : Error_Handler 3.1.6.5 Component Classifier 5 Error Handler 3.1.6.5.1 Purpose Record the errors that occurred in source files, template file parsing and code building process. The recorded error would be displayed to the System Operator when the generation ended. SSAD_RLCA_S06b_T10_V3.2.doc 64 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.5.2 Interface(s) Figure 41 - Error Handler Interfaces <<Interface>> Error_Handler (from SSAD 3.1.2 Software Cl assi fiers M odel) Version 3.2 hasError() : Boolean logError(error : Error) getErrors() : List getInstance() : Error_Handler 3.1.6.5.2.1 Feature Set 01 : Error_Handler Table 62 Error_Handler Feature Set 01 Operations hasError() : Boolean logError(error : Error) getErrors() : List getInstance() : IError_Handler Purpose Signature These operations are used to manage errors from template file parsing and code building process. Parameters error : This contains error code and message. Result Boolean : Whether there is error or not List : A Sries of errors Error_Handler : The one and only instance of Error_Hanler type. Pre-conditions Post-conditions Some errors happened. Errors been recorded. SSAD_RLCA_S06b_T10_V3.2.doc 65 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.5.3 Parameters Table 63 - Error Handler - Parameters Version 3.2 Parameter Name Error log entry Type/Signature object Default Value NULL Purpose The minimum data structure processed by Error Handler that records errors occurred in the code generation process 3.1.6.5.4 Behavior The error handler will record errors occurred in file parsing and script generating process. The errors recorded by this component classifier would be transferred to the User Interface to display after the completion of code generation. 3.1.6.5.4.1 Processes 3.1.6.5.4.1.1 Process 5.1 Log Error Figure 42 Process 5.1 Log Error Use Case Diagram View Error Log System (from Source Fil e Parser) (from Use Cases) Table 64 Process 5.1 Use Case Description Identifier Use-Case Name Abstract Purpose Process 5.1 Log Error No When exceptions occurred in the file parsing or code building process, the Error Handler records the errors which would be displayed through the User Interface after the code generation ended. Must Have NONE Priority Actors SSAD_RLCA_S06b_T10_V3.2.doc 66 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Importance Capabilities Requirements Risks HighRisk? Architecturally Significant? Development Status Overview User Interface Pre-conditions Post-conditions Specializes Includes Extends Extension Points High OC-1, OC-3 CR-2, CR-4, CR-5, IR-5 None No Yes LCA Version 3.2 Record errors occurred in file parsing and script generating process. NONE File parsing or code generating process started and system encounters exceptions Errors are recorded in relevant data structures; error information is transferred to User Interface and displayed None None None None Table 65 Process 5.1 Typical Course of Actions Seq. # 1. 2. 3. 4. Actor Actions System Operator push the generate button System Response Parse relevant input files and generate output scripts Record all errors encountered in Seq.#2 Transfer recorded errors to User Interface and display SSAD_RLCA_S06b_T10_V3.2.doc 67 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 43 Process 5.1 Log Error Activity Diagram Version 3.2 : Script_Builder : Error_Handler Errors happened during the code generating process has more errors Log Error all errors have been logged SSAD_RLCA_S06b_T10_V3.2.doc 68 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.5.4.2 Modes of Operation Figure 44 - Error Handler - StateMode Version 3.2 new error occured Rendering errors has been rendered as an understandable message Logging errors outputted 3.1.6.5.4.2.1 Mode 5.1 Rendering Table 66 Mode 5.1 Rendering Process Process 5.1 Log Error Mode Impact Rendering errors to understandable messages. 3.1.6.5.4.2.2 Mode 5.2 Logging Table 67 Mode 5.2 Logging Process Process 5.1 Log Error Mode Impact Output errors to error log. 3.1.6.5.5 NONE Constraints SSAD_RLCA_S06b_T10_V3.2.doc 69 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.6.5.6 Internal Architecture Version 3.2 Figure 45 Component Classifier 5 - Error Handler - Internal Architecture GOF singleton pattern Error_Handler (from SSAD 3.1.2 Software Classif...) hasError() : Boolean logError(error : Error) getErrors() : List getInstance() : Error_Handler realize <<contains>> Error_HandlerImpl getInstance() : Error_Handler 1 0..n Error 3.1.7 Hardware Components 3.1.7.1 Component 1 - WorkStation 3.1.7.1.1 Purpose The Template Based Code Generator will be executed in stand-alone WorkStation, which is the only hardware component in our system structure. SSAD_RLCA_S06b_T10_V3.2.doc 70 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.7.1.2 Classifier Figure 46 Hardware Classifier Component 1 - WorkStation <<node>> W orkStation Version 3.2 3.1.8 Software Components 3.1.8.1 Component 1 User_Interface 3.1.8.1.1 Purpose Provide system operators with a graphical user interface, including application dialogs/forms which enable users to interact (input/output) with the system. 3.1.8.1.2 Classifier This component belongs to Component Classifier - 1. 3.1.8.2 Component 2 Source File Parser 3.1.8.2.1 Purpose Parse input files (XML and XSD files) provided by User Interface component and generate relevant data structures which would store necessary parameters for the code generation. 3.1.8.2.2 Classifier This component belongs to Component Classifier - 2. 3.1.8.3 Component 3 Template Handler SSAD_RLCA_S06b_T10_V3.2.doc 71 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 3.1.8.3.1 Purpose Version 3.2 Template Handler will first check syntax errors which would be recorded in Error Log. While the template file contains a parameter definition field and script structure definition field, the Template Handler will parse the template file in two different ways, which are: 1. Abstracts parameters and have them stored in special data structures which would serve as attributes for Script Builder component; 2. Validate the script structure definition. 3.1.8.3.2 Classifier This component belongs to Component Classifier - 3. 3.1.8.4 Component 4 Script Builder 3.1.8.4.1 Purpose Build and output LoadRunner or WinRunner scripts based on data structures created by Source File Parser and Template File Parse components; record errors occurred in the script building process. 3.1.8.4.2 Classifier This component belongs to Component Classifier - 4. 3.1.8.5 Component 5 Error Handler 3.1.8.5.1 Purpose Record the errors that occurred in source files, template file parsing and code building process. The recorded error would be displayed to the System Operator when the generation ended. 3.1.8.5.2 Classifier This component belongs to Component Classifier - 5. SSAD_RLCA_S06b_T10_V3.2.doc 72 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.2 Information Class Figure 47 Information Class 1 XSD_Value_Object (from Interfac e of Sourc e File Pars er ... 1..* 1..* XSD_Element (from Interfac e of Sourc e File Pars er ... 1 XML_Value_Object (from Interfac e of Sourc e File Pars er ... XML_Parameter (from Interfac e of Sourc e File Pars er ... xsdElements : List name : String addXSD_Element(element : XSD_Element) getXSD_Elements() : List getName() : String setName(name : String) 1..* 1..* name : String type : String getName() : String setName(name : String) getType() : String setType(type : String) name : String value : String getName() : String setName(name : String) getValue() : String setValue(value : String) paras : List name : String addXML_Parameter(para : XML_Parameter) getXML_Parameters() : List getName() : String setName(name : String) 1..* 1 1 1..* XSD_Value_Objects (from Interfac e of Sourc e File Pars er ... XML_Value_Objects (from Interfac e of Sourc e File Pars er ... contained_ValueObject : List name : String addXSD_Value_Object(vo : XSD_Value_Object) getContained_XSD_Value_Object() : List XSD_Source_File getName() : String (from Interfac e of Sourc e File Pars er ... setName(name : String) 1 0..* extract containedValue_Object : List name : String addXML_Value_Object(vo : XML_Value_Object) getContained_XML_Value_Object:List() : List getName() : String setName(name : String) 0..* extract (from Interfac e of Sourc e File Pars er ... XML_Source_File 1 1..* 1 1 1 1 XML_Wrapper (from Interfac e of Sourc e File Pars er ... 1..* 1 Error Log 1 1 XSD_Wrapper (from Interface of Sourc e File Pars er ... listOf_XSD_Value_Object : List listOf_XSD_Value_Objects : List name : String Template_Source_File getListOf_XSD_Value_Object() : List (from Interfac e of Template Hand... getListOf_XSD_Value_Objects() : List addXSD_Value_Object(vo : XSD_Value_Object) 1 addXSD_Value_Objects(vos : XSD_Value_Objects) getName() : String setName(name : String) 1 listOf_XML_Value_Object : List listOf_XML_Value_Objects : List name : String addXML_Value_Object(vo : XML_Value_Object) addXML_Value_Objects(vos : XML_Value_Objects) getListOf_XML_Value_Object() : List getListOf_XML_Value_Objects() : List getName() : String setName(name : String) 0..* extract Error (from Interfac e of Error Hand... errorCode : int errorMessage : String getErrorMessage() : String getErrorCode() : int setErrorMessage(errMsg : String) setErrorCode(code : int) 1 1 Template_Parsing_Result (from Interfac e of Template Hand... constantParametersMap : Map keys : List WinRunner Script LoadRunner Script addConstantPatameter(name : String, value : String) addKey(key : String) getConstantParameters() : Map getKeys() : List 3.2.1 Information Class 1 IC-3.1 XML Source File Table 68 IC-3.1 XML Source File Identifier Role Purpose Responsibility IC-3.1 XML File Store data that serve as variables to generate both LoadRunner and WinRunner scripts. Provide necessary parameters for both LoadRunner and WinRunner script generation. SSAD_RLCA_S06b_T10_V3.2.doc 73 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.2.2 Information Class 2 IC-3.2 XML Wrapper Table 69 IC-3.2 XML Wrapper Identifier Role Purpose IC-3.2 Internal Data Structure (Hash Table) Store data extracted from XML Source File (IC-3.1) as a map that serve as a container for XML_Value_Objs (IC-3.3) and XML_Value_Obj (IC-3.4). Store necessary parameters for both LoadRunner and WinRunner script generation. Responsibility 3.2.3 Information Class 3 IC-3.3 XML_Value_Objs Table 70 IC-3.3 XML_Value_Objs Identifier Role Purpose Responsibility IC-3.3 Internal Data Structure (Hash Table) Store data extracted from XML Source File (IC-3.1) as a map that serve as a container for XML_Value_Obj (IC-3.4). Sub-element of XML Wrapper (IC-3.2). Store necessary parameters for both LoadRunner and WinRunner script generation. SSAD_RLCA_S06b_T10_V3.2.doc 74 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.2.4 Information Class 4 IC-3.4 XML_Value_Obj Table 71 IC-3.4 XML_Value_Obj Identifier Role Purpose Responsibility IC-3.4 Internal Data Structure (Hash Table) Store data extracted from XML Source File (IC-3.1) as a map that serve as a container for XML_Element (IC-3.5). Sub-element of XML Wrapper (IC-3.2) or XML_Value_Objs (IC3.3). Storing necessary parameters for both LoadRunner and WinRunner script generation. 3.2.5 Information Class 5 IC-3.5 XML_Parameter Table 72 IC-3.5 XML_Parameter Identifier Role Purpose Responsibility IC-3.5 Internal Data Structure (Hash Table) Store data extracted from XML Source File (IC-3.1) as a map that contains parameter keys and values. Minimum data structure storing necessary parameters for both LoadRunner and WinRunner script generation. 3.2.6 Information Class 6 IC-3.6 XSD Source File Table 73 IC-3.1 XSD Source File Identifier Role Purpose Responsibility IC-3.6 XSD File Store data that serve as variables to generate WinRunner script. Provide necessary parameters for WinRunner script generation. 3.2.7 Information Class 7 IC-3.7 XSD Wrapper Table 74 IC-3.7 XSD Wrapper Identifier IC-3.7 SSAD_RLCA_S06b_T10_V3.2.doc 75 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Role Purpose Version 3.2 Internal Data Structure (Hash Table) Store data extracted from XSD_Source File (IC-3.6) as a map that serve as a container for XSD_Value_Objs (IC-3.8) and XSD_Value_Obj (IC-3.9). Store necessary parameters for WinRunner script generation. Responsibility 3.2.8 Information Class 8 IC-3.8 XSD_Value_Objs Table 75 IC-3.8 XSD_Value_Objs Identifier Role Purpose Responsibility IC-3.8 Internal Data Structure (Hash Table) Store data extracted from XSD Source File (IC-3.6) as a map that serve as a container for XSD_Value_Obj (IC-3.9). Sub-element of XSD Wrapper (IC-3.7). Store necessary parameters for WinRunner script generation. 3.2.9 Information Class 9 IC-3.9 XSD_Value_Obj Table 76 IC-3.9 XSD_Value_Obj Identifier Role Purpose Responsibility IC-3.9 Internal Data Structure (Hash Table) Store data extracted from XSD Source File (IC-3.6) as a map that serve as a container for XSD_Element (IC-3.10). Sub-element of XSD Wrapper (IC-3.7) or XSD_Value_Objs (IC3.8). Storing necessary parameters for WinRunner script generation. 3.2.10 Information Class 10 IC-3.10 XSD_Element Table 77 IC-3.10 XSD_Element Identifier Role Purpose IC-3.10 Internal Data Structure (Hash Table) Store data extracted from XSD Source File (IC-3.6) as a map that SSAD_RLCA_S06b_T10_V3.2.doc 76 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 contains parameter keys and values. Responsibility Minimum data structure storing necessary parameters for WinRunner script generation. 3.2.11 Information Class 11 IC-3.11 Template Source File Table 78 IC-3.11 Template Source File Identifier Role Purpose Responsibility IC-3.11 Template File Provide variables and script structure to generate LoadRunner and WinRunner script. 1. Provide Parameter Definition that serve as variables of generating script files 2. Provide Script Structure Definition that serve as framework of output script 3.2.12 Information Class 12 IC-3.12 Template Parsing Result Table 79 IC-3.12 Template Parsing Result Identifier Role Purpose IC-3.12 Internal Data Structure (Object) Store Parameters (as Hash Table) and Script Structure (as Stream) extracted from Template Source File (IC-3.11) which are necessary to generate LoadRunner and WinRunner script. 1. Store Parameter keys and values that serve as variables for generating script files 2. Store Script Structure that serve as framework of output script Responsibility 3.2.13 Information Class 13 IC-3.13 Error Log Table 80 IC-3.13 Error Log SSAD_RLCA_S06b_T10_V3.2.doc 77 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Identifier Role Purpose Version 3.2 IC-3.13 Error Log Container of Errors (IC-3.14). Interface for error logging and exceptional text rendering. 1. Record exception information in its internal data structures 2. Render error text from relevant data structures Responsibility 3.2.14 Information Class 14 IC-3.14 Error Table 81 IC-3.14 Error Identifier Role Purpose Responsibility IC-3.14 Error Log Entry Store single visible error information occurred in the file parsing and code generating process. The minimum data structure storing single error information occurred in the file parsing and code generating process. 3.2.15 Information Class 15 IC-3.15 LoadRunner Script Table 82 IC-3.15 LoadRunner Script Identifier Role Purpose IC-3.15 LoadRunner Script File Output file in standard LoadRunner format, generated from variables and parameters extracted from source file and template file. Will be used as test automation artifact of Sophoi Inc. Responsibility 3.2.16 Information Class 16 IC-3.16 WinRunner Script Table 83 IC-3.16 WinRunner Script Identifier IC-3.16 SSAD_RLCA_S06b_T10_V3.2.doc 78 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Role Purpose Version 3.2 WinRunner Script Output file in standard WinRunner format, generated from variables and parameters extracted from source file and template file. Will be used as test automation artifact of Sophoi Inc. Responsibility 3.3 Behavior 3.3.1 Build Code UCR-3.1 Figure 48 Build Code UCR-3.1 Use Case Diagram <<include>> User (f rom SSAD 2.1 Sys...) Build Code (from Use Cases) Log Error (from Use Cases) Build Script Error Logging SSAD_RLCA_S06b_T10_V3.2.doc 79 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 84 Build Code UCR-3.1 Version 3.2 Identifier UseCase Realization Name Use-case Realized Purpose Requirements Risks Development Status User Interface Preconditions UCR-3.1 Build Script Build Code Generate the WinRunner or LoadRunner scripts based on input files specified by System Operator CR-1, CR-2, CR-4, CR-6, CR-7, IR-1, IR-3 If there are some errors in input files (XML, XSD files) and template file, such as syntax errors, the system will not be able to generate appropriated output script. LCA Prototype v.01.04. System Operator selected source files (XML & XSD files) and template file in the User Interface of the system Errors occurred in file parsing and script generating process are logged and displayed; scripts are generated and stored in user specified output directory Must Have Table 85 Log Error UCR-3.1.1 Post-conditions Priority Identifier UseCase Realization Name Use-case Realized Purpose Requirements Risks Development Status UCR-3.1.1 Error Logging Log Error When exceptions occurred in the file parsing or code building process, the Error Handler records the errors which would be displayed through the User Interface after the code generation ended. CR-2, CR-4, CR-5, IR-5 None LCA SSAD_RLCA_S06b_T10_V3.2.doc 80 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) User Interface Pre-conditions Post-conditions Extension Points Priority NONE Version 3.2 File parsing or code generating process started and system encounters exceptions Errors are recorded in relevant data structures; error information is transferred to User Interface and displayed None Must Have SSAD_RLCA_S06b_T10_V3.2.doc 81 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Figure 49 Build Code UCR-3.1 Build Script Sequence Diagram for LoadRunner : User : User_Interface getXMLFileChooser( ) create : XML_Files_Chooser addXMLfiles(List) getFileManagement( ) create : File_Manager openTempalteFileChooser( ) create Template File Chooser : File_Chooser setSelectedFile(File) set selected template openOutputDestChooser( ) create Output Destination Chooser : File_Chooser setSelectedFile(File) set selected output destination buildCode(int) create LoadRunner script builder : Script_Builder getSelectedXMLFiles( ) getSelectedTemplateFile( ) getSelectedOutputDestFolderPath( ) create : Source_File_Parser getXMLFileHandler( ) create : XML_File_Handler : Error_Handler parse(File) getInstance( ) logError(Error) getTemplateHandler( ) create : Template_Handler getXMLParsingResult( ) parse(File) getInstance( ) logError(Error) getParseResult( ) generateCode(int) getInstance( ) logError(Error) SSAD_RLCA_S06b_T10_V3.2.doc 82 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 50 Build Code UCR-3.1 Build Script Sequence Diagram for WinRunner Version 3.2 SSAD_RLCA_S06b_T10_V3.2.doc 83 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 : User : User_Interf ace getXMLFileChooser( ) create : XML_Files_Chooser addXMLf iles(List) getFileManagement( ) create : File_Manager openTempalteFileChooser( ) create Template File Chooser : File_Chooser setSelectedFile(File) set selected template openOutputDestChooser( ) create Output Destination Chooser : File_Chooser setSelectedFile(File) set selected output destination openXSDFileChooser( ) create XSD File Chooser : File_Chooser setSelectedFile(File) set selected XSD f ile buildCode(int) create WinRunner script builder : Script_Builder getSelectedXMLFiles( ) getSelectedTemplateFile( ) getSelectedOutputDestFolderPath( ) getSelectedXSDFile( ) create : Error_Handler : Source_File_Parser getXMLFileHandler( ) create : XML_File_Handler parse(File) getInstance( ) logError(Error) getXMLParsingResult( ) getTemplateHandler( ) create : Template_Handler parse(File) getInstance( ) logError(Error) getParseResult( ) getXSDFileHandler( ) create : XSD_File_Handler parse(File) getInstance( ) getErrors( ) getXSDParsingResult( ) generateCode(int) getInstance( ) logError(Error) SSAD_RLCA_S06b_T10_V3.2.doc 84 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 3.3.2 View Error Log UCR-3.2 Figure 51 View Error Log UCR-3.2 Use Case Diagram User (from SSAD 2.1 System ...) View Error Log Realization View Error Log (from Use Cases) SSAD_RLCA_S06b_T10_V3.2.doc 85 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 86 View Error Log UCR-3.2 Version 3.2 Identifier UseCase Realization Name Use-case Realized Purpose Requirements Risks Development Status User Interface Preconditions Post-conditions Priority UCR-3.2 View Error Log Realization View Error Log The tool shall have an error logging capability and the log file will be stored in the location specified by the user. The system should record error logs. None LCA Error log is stored in the user-specified location and users can view the logs. There is an error occurred in the file parsing or code generating process. Error is stored and System Operator can view the logs when the code generation complete. M SSAD_RLCA_S06b_T10_V3.2.doc 86 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 52 View Error Log UCR-3.2 Sequence Diagram Version 3.2 : System : User : Error_Handler build script has error getInstance( ) logError(Error) display confirm dialog to user click view log button create viewErrorLog( ) getErrors( ) : Error_Log_Viewer display logs to user 3.4 Architectural Styles, Patterns & Frameworks SSAD_RLCA_S06b_T10_V3.2.doc 87 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Table 87 Architectural Styles Version 3.2 Name Pipeline style Description The architecture style we used is pipeline architecture. User Interface, parser and generator are all units in the pipeline. and they are responsible for different functions. The data will pass through these three units and after going through the generator, the output scripts will come out. Benefits, Costs, & Limitations The benefits of using pipeline is that each units can just do its job. Therefore, data would be successfully processed in the unit (user interface, parser and generator) so it is very clear and easy to identify the bugs if we have. The architecture can make sure the correction of the tool. The MVC pattern let the UI handle the view and the control mechanism is hidden in the backhand. This can distinguish the each components control, modeling and view and help to organize the program. Model-ViewController The user interface will use MVC pattern. Each component in the user interface can be adapt the patterns. SSAD_RLCA_S06b_T10_V3.2.doc 88 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 4. Platform/TechnologySpecific Model 4.1 Structure 4.1.1 Hardware Classifier Model The Template Based Code Generator is a stand-alone application so that it would be run in independent WorkStation which is the only hardware component in the system. Therefore, the Hardware Classifier Model will not change in the technology-specific design. Please refer to Section 3.1.1 for details. 4.1.2 Software Classifier Model The following diagram indicates the software classifier model: SSAD_RLCA_S06b_T10_V3.2.doc 89 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 53 Software Classifier Model Version 3.2 User (from SSAD 2.1 Sys ...) <<use>> <<java.swing.JFrame>> UserInterface (from Interface of User_Interface T SM) <<use>> <<Interface>> CodeGenerator (from Interface of Scri pt Buil der) <<use>> <<log errors>> <<use>> <<Interface>> ParsingService (from Interface of Source File Parser TSM) <<Interface>> ErrorLogger (from Interface of Error Handler TSM) User would operate and get responses from the system through the UserInterface component, which is the only interface connecting other internal components of the system. The internal components include Error Handler (realizing the IErrorLogger interface), Source File Parser, Template Handler (realizing the IParsingService interface) and Script Builder (realizing the ICodeGenerator interface), all of which are transparent to the system users. Details of the Software Classifiers would be described in the Software Classifiers section. SSAD_RLCA_S06b_T10_V3.2.doc 90 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 4.1.3 Deployment Model This deployment model shows hardware components, the software components that reside on each hardware component, and dependency relations between software components. Figure 54 Deployment Model (for WinRunner Script generation) <<node>> /Sophoi WorkStation : WorkStation (from SSAD 3.1.1 Hardware Classifier Model) Winrunner Error Logger : ErrorLogger 1 1 <<log errors>> 1 WinRunner parsing service: ParsingService <<log errors>> 1 1 1 <<use>> WinRunnerScriptGenerator: CodeGenerator 1 <<use>> 1 : UserInterface Figure 55 Deployment Model (for LoadRunner Script generation) <<node>> /Sophoi WorkStation : WorkStation (from SSAD 3.1.1 Hardware Classifier Model) LoadRunner Error Logger : ErrorLogger <<log errors>> 1 Loadrunner parsing service : ParsingService 1 <<log errors>> <<use>> 1 LoadRunnerScriptGenerator: CodeGenerator 1 1 : UserInterface (from SSAD 4.1.3.1 Deployment Model for Generating Wi nRunner script) SSAD_RLCA_S06b_T10_V3.2.doc 91 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Because the Template Based Code Generator is a stand-alone application, all the software components would run upon Sophoi WorkStation, which is the only hardware component in the system. The generation for WinRunner and LoadRunner scripts will base on different source file, template file and generate different error log. Also, the generating process and relevant user-dependent UI operation will be different. Therefore, we have two separated Deployment Models for each generating process. 4.1.4 Hardware Component Classifiers Figure 56 Hardware Component Classifiers <<node>> Sophoi W orkStation : W orkStation (from SSAD 3.1.1 Hardware Cl assi fi er M odel ) <<node>> Linux : W orkstation <<node>> W indows NT : W orkStat ion 4.1.4.1 Hardware Component Classifier 1 Linux WorkStation 4.1.4.1.1 Purpose Provide necessary hardware environment and Linux operating system for the Template Based Code Generator. 4.1.4.1.2 L.O.S. Characteristics Goals Because no level of service goal for the System depends on this hardware component classifier, the L.O.S characteristics goal is not applicable. 4.1.4.2 Hardware Component Classifier 2 Windows NT WorkStation SSAD_RLCA_S06b_T10_V3.2.doc 92 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.4.2.1 Purpose Version 3.2 Provide necessary hardware environment and Microsoft Windows NT operating system for the Template Based Code Generator. 4.1.4.2.2 L.O.S. Characteristics Goals Because no level of service goal for the System depends on this hardware component classifier, the L.O.S characteristics goal is not applicable. 4.1.5 Hardware Connector Classifiers There is no connector in the hardware component classifiers because the system is a stand-alone application; it does not need to communicate with other hardware. 4.1.6 Software Component Classifiers This section shows the software components that composed of system. It covers detailed designed component classifiers of the Template Based Code Generator. 4.1.6.1 Component Classifier 1 User Interface 4.1.6.1.1 Purpose Provide system operators with a graphical user interface, which includes Java application dialogs and forms that enable users to interact (input/output) with the system. 4.1.6.1.2 Interface(s) Figure 57 Component Classifier 1 User Interface - Interfaces <<java.swing.JFrame>> UserInterface getFileManager() : IFileManager getXMLChooser() : IXMLChooser getProgressIndicator() : IProgressIndicator getErrorLogViewer() : IErrorLogViewer buildCode(type : int) SSAD_RLCA_S06b_T10_V3.2.doc 93 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 4.1.6.1.2.1 Feature Set 01 : UserInterface Table 88 UserInterface Feature Set 01 Operations getFileManager() : IFileManager getXMLFileChooser() : IXMLChooser getProgressIndicator() : IProgressIndicator getLogViewer() : IErrorLogViewer buildCode(type int) Purpose Signature These operations are used to provide User Interface to user. Parameters Type : 1 for WinRunner, 2 for LoadRunner Result IFileManager : Provide user interface for selecting and opening Template, XSD, and Output Files IXMLChooser : Provide user interface for multi-selection on XML files. IProgressIndicator : Provide user interface for showing progress status. IErrorLogViewer : Provide user interface for showing error log. Pre-conditions Post-conditions N/A The user interface for code generation will show up. 4.1.6.1.3 Parameters No parameters are needed to initialize this component. 4.1.6.1.4 Behavior User Interface is the only component classifier through which the System User would interact with the Template Based Code Generator. Such interactions include: browsing paths of the input files (XML and XSD files), template file and the proposed output files; examining error log generated in the code generating process. SSAD_RLCA_S06b_T10_V3.2.doc 94 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.1.4.1 Processes Version 3.2 4.1.6.1.4.1.1 Process 1.1 Select Input Files Use cases in the technology-specific design stay the same as technology-independent design, so that the relevant Use Case Diagram will not change in this section. Please refer to Section 3.1.6.1.4.1.1 for details. Figure 58 Process 1.1.1 Select Input Files (Generating LoadRunner Script) Activity Diagram : User LoadRunner Generator UI : UserInterface request to select XML files Does Not Select Any File or W ant to Select Multiple File Popup XML Chooser Select XML files reuqest select template file all XML files have selected Set Selected XML files Does Not Select Any Template Popup Template File Chooser Select Template File template file has been selected Set selected Template File SSAD_RLCA_S06b_T10_V3.2.doc 95 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 Figure 59 Process 1.1.2 Select Input Files (Generating WinRunner Script) Activity Diagram : User WinRunner Generator UI : UserInterface request to select XML file Does Not Select Any File or W ant to Select Multiple File Popup XML Chooser Select XML files request to select XSD file all XML files have selected Set Selected XML files Not select any XSD file Popup XSD File Chooser request to select Template File Select XSD File XSD file has been selected Set Selected XSD File Does Not Select Any Template Popup Template File Chooser Select Template File template file has been selected Set selected Template File 4.1.6.1.4.1.2 Process 1.2 Select Output Destination Use cases in the technology-specific design stay the same as technology-independent design, so that the relevant Use Case Diagram will not change in this section. Please refer to Section 3.1.6.1.4.1.2 for details. SSAD_RLCA_S06b_T10_V3.2.doc 96 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 60 Process 1.2 Select Output Destination Version 3.2 : User : UserInterface request to select output destination does not select output destination Popup Output Destination Chooser Select Output Destination output destination is seleced Set output destination 4.1.6.1.4.1.3 Process 1.3 View Error Log Use cases in the technology-specific design stay the same as technology-independent design, so that the relevant Use Case Diagram will not change in this section. Please refer to Section 3.1.6.1.4.1.3 for details. SSAD_RLCA_S06b_T10_V3.2.doc 97 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 61 Process 1.3 View Error Log Version 3.2 : User : UserInterface : CodeGenerator : ErrorLogger request to build script Init ICodeGenerator Generating Script [ has no errors ] [ has error ] Popup finished confirm dialog has more errors Log Errors Pop error confiem dialog all errors are logged [ user clicks view button ] Create Error log viewer [ user clicks cancel button ] Error Log Viewer is created Get all errors Display Error Log Render Error Log 4.1.6.1.4.2 Modes of Operation Modes of Operation for this software component classifier are the same as definitions in Section 3. Please refer to relevant subsection in Section 3 for details. 4.1.6.1.5 NONE Constraints SSAD_RLCA_S06b_T10_V3.2.doc 98 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.1.6 Internal Architecture Version 3.2 Figure 62 Component Classifier 1 User Interface Internal Architecture ProgressImpl javax.swing.JFileChooser <<use>> Use G OF Fact ory Pattern t o create different t ype of JFileC hoo ser to le t users to choose file or folder <<Interface>> IProgress FileManagerImpl setTotal Progress(int : am ount ) getCurren tProgress() : in t addProgress(int : amoun t) setProgre ssIndicat or(IProgressIndic ator i ndicator) GOF Observer pattern, IProgressIndicator is Observer, and IProgress is observable IFileManager 1 <<composed of>> <<composed of>> 1 IErrorLogViewer <<us e>> 1 1 <<composed of>> 1 <<java.swing.JFrame>> UserInterface 1 ob serve <<javax.swing.JW indow>> ErrorLogViewerImpl <<composed of>> 1 IProgressIndicator <<javax.swing.JW indow>> ProgressIndicatorIm pl <<contains>> <<Interface>> ICodeGenerator (from 4.1.6.4.6 Scri pt Bui lder) 1 IXMLChooser Si ngleton javax.swing.JProgressBar <<javax.swi ng. JPanel>> Xml ChooserIm pl <<con tains>> <<javax.swing.JPanel>> XMLSelec tionPanel support Drag&Drop functionality <<contains>> <<javax.swing.JTree>> Fil eSystemTree java.awt.dnd.DropTargetListener 4.1.6.2 Component Classifier 2 ParsingService 4.1.6.2.1 Purpose Provide the services of parsing source files (XML, XSD and template files) specified in User Interface component and generate relevant data structures which would store necessary parameters for the code generation. 4.1.6.2.2 Interface(s) Figure 63 Component Classifier 2 Source File Parser - Interfaces <<Interface>> ParsingService getXMLFileHandler() : XMLFileHandlerImpl getXSDFileHandler() : XSDFileHandlerImpl getTemplateFileHandler() : TemplateFileHandlerImpl SSAD_RLCA_S06b_T10_V3.2.doc 99 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.2.2.1 Feature Set 01 : ParsingService Table 89 ParsingService Feature Set 01 Version 3.2 Operations getXMLFileHandler() : XMLFileHandlerImpl getXSDFileHandler() : XSDFileHandlerImpl getTemplateHandler() : TemplateFileHandlerImpl Purpose Signature These operations are used to generate data objects which contain parameters for code generation. Parameters Result XMLFileHandler : A component that used to parse XML files and generating a list of XML wrappers. XSDFileHanlder : A component that used to parse XSD files and generating list of XSD wrappers. TemplateFileHandlerImpl : A component that parse template file and returns parsing result. Pre-conditions Post-conditions XML, XSD and Template must exist. Handlers will be returned to the code generator for parsing all input files SSAD_RLCA_S06b_T10_V3.2.doc 100 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.2.3 Parameters Table 90 - Source File Parser - Parameters Version 3.2 Parameter Name XML File Type/Signature java.io.file Default Value NULL Purpose This parameter includes all necessary data which would be served as attributes for Script Builder component in order to generate both LoadRunner and WinRunner Scripts. This parameter includes data which would be served as attributes for Script Builder component in order to generate WinRunner Scripts. Including Parameter Definition field and Script Structure Definition field, it provides necessary parameters and script structure for the Script Builder component. XSD File java.io.file NULL Template File java.io.file NULL 4.1.6.2.4 Behavior This is an internal component of the Template Based Code Generator and it is transparent to the System Operator. This component classifier will parse the source files specified in User Interface component, and then convert the data to system recognizable data structures which would serve as attributes for Script Builder component in order to generate the scripts. 4.1.6.2.4.1 Processes SSAD_RLCA_S06b_T10_V3.2.doc 101 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.2.4.1.1 Process 2.1 ParsingService Figure 64 Process 2.1 ParsingService Activity Diagram Version 3.2 : CodeGenerator : ParsingServ ice : ErrorLogger script generating request Init Parsers Locating XML Parsing Service Parse XML File [ has errors ] Log Error [ has no errors ] Generate XML W rapper Objects [ generating LoadRunner script ] [ generating W inRunner script ] Locating XSD Parsing Service Parse XSD File [ has errors ] Log Error [ has no errors ] Generate XSD W rapper Objects Locating Template Parsing Service Parse Template File [ has errors ] Log Error [ has no errors ] Generate Template Parsing result SSAD_RLCA_S06b_T10_V3.2.doc 102 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.2.4.2 Modes of Operation Version 3.2 Modes of Operation for this software component classifier are the same as definitions in Section 3. Please refer to relevant subsection in Section 3 for details. 4.1.6.2.5 NONE 4.1.6.2.6 Internal Architecture Constraints Figure 65 Component Classifier 2 ParsingService Internal Architecture TemplateParsingResult constantParametersMap : java.util.Map keys : java.util.List addConstantParameter(name : java.lang.String, value : java.lang.String) addKey(key : java.lang.String) getConstantParameters() : java.util.Map getKeys() : java.util.List <<constructs>> TemplateFileHandlerImpl ParsingService 1 <<parse>> XSD_Source_File XSDFileHandlerImpl (from Interface of Source File Parser TIM) ParsingServiceImpl GOF command pattern <<realize>> 1 <<realize>> 1 <<use>> 1..* IParser <<log errors>> 1..* XMLWrapperVO <<realize>> <<parse>> 1 XML_Source_File XMLFileHandlerImpl 1 1 <<constructs>> XMLValueObjects containedValueObject : java.util.List name : java.lang.String 1 0..* addXMLValueObject(vo : XMLValueObject) getContainedXMLValueObjectList() : java.util.List getName() : java.lang.String setName(name : java.lang.String) 1 (from Interface of Source File Parser TIM) 1 <<constructs>> 1..* XSDWrapperVO 1 1 XSDValueObjects containedValueObject : java.util.List name : java.lang.String addXSDValueObject(vo : XSDValueObject) 0..* getContainedXSDValue() : java.util.List getName() : java.lang.String setName(name : java.lang.String) 1 <<log errors>> <<log errors>> <<singleton>> ErrorLoggerImpl (from Interface of Error Handler TSM) 1..* 1..* XSDValueObject name : java,lang.String xsdElements : java.util.List addXSDElement(element : XSDElement) getXSDElements() : java.util.List getName() : java.lang.String setName(name : java.lang.String) 1 1..* XSDElement name : java.lang.String type : java.lang.String getName() : java.lang.String setName(name : java.lang.String) getType() : java.lang.String setType(type : java.lang.String) XMLValueObject xmlParas : java.util.List name : java.lang.String addXMLParameter(para : XMLParameterVO) getXMLParameters() : java.util.List getName() : java.lang.String setName(name : java.lang.String) 1 1..* 1..* XMLParameterVO name : java.lang.String value : java.lang.String getName() : java.lang.String setName(name : java.lang.String) getValue() : java.lang.String setValue(value : java.lang.String) SSAD_RLCA_S06b_T10_V3.2.doc 103 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 4.1.6.3 Component Classifier 3 CodeGenerator 4.1.6.3.1 Purpose Build and output LoadRunner or WinRunner scripts based on data structures created by Source File Parser and Template Handler components with Velocity code generating engine (COTS); record errors occurred in the script building process. 4.1.6.3.2 Interface(s) Figure 66 Component Classifier 4 Script Builder Interface Details Apply GOF singleton pattern type=1 for generating WinRunner script; type=2 for generating LoadRunner script <<Interface>> CodeGenerator generateCode(type : int) getInstance() : CodeGenerator 4.1.6.3.2.1 Feature Set 01 : CodeGenerator Table 91 CodeGenerator Feature Set 01 Operations Purpose Signature generateCode(int type) getInstance() : CodeGenerator This operation generates LoadRunner or WinRunner scripts. Parameters Type : 1 for Winnner, 2 for LoadRunner Result CodeGenerator : The one and only instance of CodeGenerator type. Pre-conditions Post-conditions XML, XSD, Template files must exist and has been parsed as Objects. Script will be generated and if has some errors, error logs will be generated. SSAD_RLCA_S06b_T10_V3.2.doc 104 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.3.3 Parameters Table 92 Component Classifier 4 - Script Builder - Parameters Version 3.2 Parameter Name Type/Signature Default Value NULL Purpose Provide the Script Builder component with parameters that are necessary for both LoadRunner and WinRunner scripts generation process. Provide the Script Builder component with parameters that are necessary for the WinRunner script generation. Provide the keys and parameters in the template file. Describing output script structure in standard Velocity format, this parameter would be inputted to Velocity Java based code generating engine in order to build script codes. XMLResult java.util.List XSDResult java.util.List NULL Template Result Script Structure Definition (from template file) TemplateParsingResult NULL object NULL 4.1.6.3.4 Behavior This Script Builder component classifier use Script Structure Definition, which is defined in the template file, as well as parameters extracted from XML, XSD and template file, to build script codes in either LoadRunner or WinRunner format. This is an internal component of the Template Based Code Generator and it is transparent to the System Operator. 4.1.6.3.4.1 Processes SSAD_RLCA_S06b_T10_V3.2.doc 105 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.3.4.1.1 Process 4.1 CodeGenerator Figure 67 Process 4.1 CodeGenerator Activity Diagram Version 3.2 : CodeGenerator : ParsingServ ice : ErrorLogger script generating request Init Parsers Locating XML Parsing Service Parse XML File [ has errors ] Log Error [ has no errors ] Generate XML Wrapper Objects [ generating LoadRunner script ] [ generating WinRunner script ] Locating XSD Parsing Service Parse XSD File [ has errors ] Log Error [ has no errors ] Generate XSD Wrapper Objects Locating Template Parsing Service Parse Template File [ has errors ] Log Error [ has no errors ] Generate Template Parsing result SSAD_RLCA_S06b_T10_V3.2.doc 106 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.3.4.2 Modes of Operation Version 3.2 Modes of Operation for this software component classifier are the same as definitions in Section 3. Please refer to relevant subsection in Section 3 for details. 4.1.6.3.5 NONE 4.1.6.3.6 Internal Architecture Constraints Figure 68 Component Classifier 4 - CodeGenerator Internal Architecture IXMLChooser (from Interface of User_Interface TSM) 1 <<composed of>> 1 1 <<java.swing.JFrame>> UserInterface (from Interface of User_Interface TSM) singleton <<composed of>> 1 <<use>> <<use>> 1 ParsingService (from Interface of ParsingService TSM) <<use>> IProgressIndicator (from Interface of User_Interface TSM) CodeGenerator 1 1..* IParser (from Interface of Par...) <<composed of>> 1 IFileManager (from Interface of User_Interface TSM) <<use>> <<realize>> <<realize>> <<realize>> CodeGeneratorImpl <<log errors>> XSDFileHandlerImpl (from Interface of ParsingService TSM) TemplateFileHandlerImpl (from Interface of ParsingService TSM) XMLFileHandlerImpl (from Interface of ParsingService TSM) <<log errors>> use COTS product--Velocity to generate script singleton ErrorLogger (from Interface of Error Handler TSM) <<log errors>> <<log errors>> <<org.apache.velocity.app.Velocity>> CodeGenEngine setProperty(key : java.lang.String, value : java.lang.Object) init() mergeTemplate(context : org.apache.velocity.context, templateName : java.lang.String, encoding : java.lang.Strin... 4.1.6.4 Component Classifier 5 - ErrorLogger 4.1.6.4.1 Purpose Record the errors that occurred in source files, template file parsing and code building process. The recorded error would be displayed to the System Operator when the generation ended. SSAD_RLCA_S06b_T10_V3.2.doc 107 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.4.2 Interface(s) Figure 69 Component Classifier 5 - ErrorLogger Interfaces <<Interface>> ErrorLogger Apply GOF singleton pattern logError(error : java.lang.Exception) getErrors() : java.util.List getInstance() : ErrorLogger init() hasError() : boolean Version 3.2 4.1.6.4.2.1 Feature Set 01 : ErrorLogger Table 93 ErrorLogger Feature Set 01 Operations logError(error : java.lang.Exception) getErrors() : java.util.List getInstance() : ErrorLogger init() hasError() : boolean Purpose Signature These operations are used to manage errors from template file parsing and code building process. Parameters error : This contains error code and message. Result boolean : Whether there is error or not List : A list of error objects. ErrorLogger : The one and only instance of ErrorLogger. Pre-conditions Post-conditions Some errors happened. Errors been recorded. SSAD_RLCA_S06b_T10_V3.2.doc 108 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.4.3 Parameters Table 94 Component Classifier 5 - Error Handler - Parameters Version 3.2 Parameter Name ErrorVO (Error Value Object) Type/Signature Default Value object NULL Purpose The minimum data structure processed by ErrorLogger that records errors occurred in the file parsing and code generation process. 4.1.6.4.4 Behavior The error handler will record errors occurred in file parsing and script generating process. The errors recorded by this component classifier would be transferred to the User Interface to display after the completion of code generation. 4.1.6.4.4.1 Processes Processes for this software component classifier are the same as definitions in Section 3. Please refer to relevant subsection in Section 3 for details. 4.1.6.4.4.2 Modes of Operation Modes of Operation for this software component classifier are the same as definitions in Section 3. Please refer to relevant subsection in Section 3 for details. 4.1.6.4.5 NONE Constraints SSAD_RLCA_S06b_T10_V3.2.doc 109 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.6.4.6 Internal Architecture Figure 70: ErrorLogger internal architecture Version 3.2 Singleton <<Interface>> ErrorLogger <<constructs>> logError(error : java.lang.Exception) getErrors() : java.util.List 0..* 1 getInstance() : ErrorLogger init() hasError() : boolean ErrorVO errorCode : int errorMsg : java.lang.String getErrorMessage() : java.lang,String setErrorMessage(msg : java.lang.String) getErrorCode() : int setErrorCode(code : int) 0..n define 1 <<singleton>> ErrorLoggerImpl errors : java.util.List instance : ErrorLoggerImpl <<use>> ErrorDefinitions renderException(exception : java, lang.Exception) : ErrorVO 4.1.7 Hardware Components While each hardware component classifier has only one hardware component instance, this section is not applicable. Please refer Section 4.1.4 for details of the hardware component classifiers. 4.1.8 Software Components While each software component classifier has only one software component instance, this section is not applicable. Please refer Section 4.1.6 for details of the software component classifiers. 4.1.9 Information Classes 4.1.9.1 Information Class IC-4.1 XSDElement SSAD_RLCA_S06b_T10_V3.2.doc 110 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Figure 71 Information Class IC-4.1 XSDElement XSDElement (from 4.1.6.2.2 Source File Parser) Version 3.2 name : java.lang.String type : java.lang.String getName() : java.lang.String setName(name : java.lang.String) getType() : java.lang.String setType(type : java.lang.String) 4.1.9.1.1 Purpose When the user wants to generate WinRunner scripts, the system requires XSD file to generate scripts. The system parses XSD file to create separate XSD elements. 4.1.9.1.2 4.1.9.1.3 Defined In: Source File Parser Interface(s) & Parameters 4.1.9.1.3.1 Interface 1 ICI-4.1.1 Figure 72 Interface 1 ICI-4.1.1 XSDElement (from 4.1.6.2.2 Source File Parser) name : java.lang.String type : java.lang.String getName() : java.lang.String setName(name : java.lang.String) getType() : java.lang.String setType(type : java.lang.String) 4.1.9.1.4 Attributes Table 95 Information Class IC-4.1 XSDElement Attributes Name name Type Multiplicity Ordering unordered Initial Value NULL Visibility Purpose Private The name of the XSD java.lang.string 1 SSAD_RLCA_S06b_T10_V3.2.doc 111 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 element type java.lang.string 1 unordered NULL Private The type of the XSD element 4.1.9.1.5 Operations 4.1.9.1.5.1 Operation OP-4.1.1.1 Table 96 Operation OP-4.1.1.1 Identifier Operation Name Parameters Result Purpose Pre-conditions Visibility Abstract Method OP-4.1.1.1 getName() NULL Java.lang.string To add the name of the XSD element. There is at least one XSD element to add. Private No To get a string parameter. Post-conditions Return a XSD element 4.1.9.1.5.2 Operation OP-4.1.1.2 Table 97 Operation OP-4.1.1.2 Identifier Operation Name Parameters Result Purpose Pre-conditions Visibility OP-4.1.1.2 setName() Java.lang.string NULL To set the name of the element. There is at least one XSD element to add. Private 112 Version Date: 2/25/2006 Post-conditions Return the successful message SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Abstract Method No To set of the name of XSD element Version 3.2 4.1.9.1.5.3 Operation OP-4.1.1.3 Table 98 Operation OP-4.1.1.3 Identifier Operation Name Parameters Result Purpose Pre-conditions Visibility Abstract Method OP-4.1.1.3 getType() NULL java.lang.string To get the type of the element. There is at least one XSD element Private No To get type parameter Post-conditions Return a string object 4.1.9.1.5.4 Operation OP-4.1.1.4 Table 99 Operation OP-4.1.1.4 Identifier Operation Name Parameters Result Purpose Pre-conditions Visibility Abstract OP-4.1.1.4 setType() java.lang.string NULL To set type of the XSD element. There is at least one XSD element Private NO Post-conditions Return the successful message SSAD_RLCA_S06b_T10_V3.2.doc 113 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Method To set type parameter Version 3.2 4.1.9.1.6 State Behavior This information class is an internal data container of the system, so that all the attributes and operations are only used for accessing data structures inside the information class. Therefore, the state of this information class will not change during the code generating process (only the data will change). 4.1.9.1.7 Constraints There is no constraint affecting this information class. 4.1.9.2 Information Class IC-4.2 XSDValueObject Figure 73 Information Class IC-4.2 XSDValueObject XSDValueObject (from 4.1.6.2.2 Source File Parser) name : java,lang.String xs dElements : java.util.List addXSDElement(element : XSDElement) getXSDElem ents() : java.util.Lis t getName() : java.lang.String setName(name : java.lang.String) 4.1.9.2.1 Purpose When the user wants to generate WinRunner scripts, the system requires XSD file to generate scripts. The system parses XSD file to create separate value object. 4.1.9.2.2 4.1.9.2.3 Defined In: Source File Parser Interface(s) & Parameters SSAD_RLCA_S06b_T10_V3.2.doc 114 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) 4.1.9.2.3.1 Interface 1 ICI-4.2.1 Figure 74 Interface 1 ICI-4.2.1 XSDValueObject (from 4.1.6.2.2 Source File Parser) Version 3.2 name : java,lang.String xs dElements : java.util.List addXSDElement(element : XSDElement) getXSDElem ents() : java.util.Lis t getName() : java.lang.String setName(name : java.lang.String) 4.1.9.2.4 Attributes Table 100 Information Class IC-4.2 XSDValueObject Attributes Name name Type Multiplicity Ordering unordered Initial Value NULL Visibility Purpose Private Collection of storing XSD value objects name Collection of storing XSD elements java.lang.string 1 xsdElements java.util.List 1 unordered NULL Private 4.1.9.2.5 Operations 4.1.9.2.5.1 Operation OP-4.2.1.1 Table 101 Operation OP-4.2.1.1 Identifier Operation Name Parameters Result Purpose OP-4.2.1.1 addXSDElement() element:XSD Element NULL To add XSD elements to the collection. 115 Version Date: 2/25/2006 SSAD_RLCA_S06b_T10_V3.2.doc System and Software Architecture Description (SSAD) Pre-conditions Visibility Abstract Method There is at least one XSD element to add. Public No To add elements Version 3.2 Post-conditions Return the successful message 4.1.9.2.5.2 Operation OP-4.2.1.2 Table 102 Operation OP-4.2.1.2 Identifier Operation Name Parameters Result Purpose Pre-conditions Visibility Abstract Method OP-4.2.1.2 getXSDElements() NULL java.util.List To get xsd elements from the collection. There is at least one XSD value object in the collection Public No To get XSD elements Post-conditions Return a XSD element 4.1.9.2.5.3 Operation OP-4.2.1.3 Table 103 Operation OP-4.2.1.3 Identifier Operation Name Parameters Result Purpose Pre-conditions OP-4.2.1.3 getName() NULL name:java.lang.string To get name of the value object. There is at least one XSD value object Post-conditions Return a string object SSAD_RLCA_S06b_T10_V3.2.doc 116 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Visibility Abstract Method Public No To get name parameter Version 3.2 4.1.9.2.5.4 Operation OP-4.2.1.4 Table 104 Operation OP-4.2.1.4 Identifier Operation Name Parameters Result Purpose Pre-conditions Visibility Abstract Method OP-4.2.1.4 setName() name:java.lang.string NULL To set name of the XSD file to put into the value object. There is at least one XSD value object Public NO To set name parameter Post-conditions Return the successful message 4.1.9.2.6 State Behavior This information class is an internal data container of the system, so that all the attributes and operations are only used for accessing data structures inside the information class. Therefore, the state of this information class will not change during the code generating process (only the data will change). 4.1.9.2.7 Constraints There is no constraint affecting this information class. SSAD_RLCA_S06b_T10_V3.2.doc 117 Version Date: 2/25/2006 System and Software Architecture Description (SSAD) Version 3.2 4.1.9.3 Information Class IC-4.3 - XSDValueObjectsContainer XSDValueObjects (from 4.1.6.2.2 Source File Parser) containedValueObject : java.util.List name : java.lang.String addXSDValueObject(vo : XSDValueObject) getContainedXSDValue() : java.util.List getName() : java.lang.String ...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

USC - CSCI - 577
Feasibility Rationale Description (FRD)Code Generator - Template basedTeam 10Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-kee Sohn Sonal Mane Armen DonigianProject Manager Operational Concept Descriptio
USC - CSCI - 577
Easy Win-Win Report (EWW)Code Generator - Template basedTeam 10Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-kee Sohn Sonal Mane Armen Donigian Ravin SoniProject Manager Operational Concept Description R
USC - CSCI - 577
Operational Concept Description (OCD)Code Generator Template based Team #10Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-kee Sohn Sonal Mane Armen DonigianProject Manager Operational Concept Description
USC - CSCI - 577
System and Software Requirements Definition (SSRD)Code Generator - Template basedTeam 10Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-kee Sohn Sonal Mane Armen DonigianProject Manager Operational Concep
USC - CSCI - 577
Life Cycle Plan (LCP)Code Generator - Template basedTeam 10Hung-Fu Chang Hsiao-Han Huang Supannika Koolmanojwong Jiajing Liu Chi-Hsien Chiu Woen-kee Sohn Sonal Mane Armen DonigianProject Manager Operational Concept Description Requirements Ana
Oregon - PS - 607
from Cambridge History of Latin America, Bethell, ed, 1995begin here
USC - CSCI - 577
Team Assignment : Initial Prototyping ResultsTeam 10: Code Generator Template-based 1. Objectives We try to discuss how to handle the basic user-interface 1) select the different types of the raw file and the template; 2) generate the output (
Oregon - PS - 607
123456789
Oregon - PS - 607
Doub leclick here to edit text. Double-click here to edit text.
Oregon - PS - 607
Oregon - PS - 607
GERALD &amp; SOCIETY POLITICSBERK and MARC 10.1177/0032329204272390 SCHNEIBERGVarieties in Capitalism, Varieties of Association: Collaborative Learning in American Industry, 1900 to 1925GERALD BERK MARC SCHNEIBERGBetween 1900 and 1925, the American
Oregon - PS - 607
Socio-Economic Review (2005) 3, 56156910.1093/SER/mwi024Institutionalists at the limits of institutionalism: a constructivist critique of two edited volumes from Wolfgang Streeck and Kozo YamamuraGary HerrigelDepartment of Political Science, Un
Oregon - PS - 607
Oregon - PS - 607
SYNCRETISM AND ITS SYNONYMSREFLECTIONS ON CULTURAL MIXTURECHARLES STEWARTThe subject matter of anthropology has gradually changed over the last twenty years. Nowadays ethnographers rarely search for a stable or original form of cultures; they are
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
Oregon - PS - 607
ArticlesLearning, Institutions, and Economic PerformanceLearning, Institutions, and Economic PerformanceBy C. Mantzavinos, Douglass C. North, and Syed Shariq In this article, we provide a broad overview of the interplay among cognition, belief s
Oregon - PS - 607
Wenner-Gren Foundation for Anthropological ResearchChanging Social Norms: Common Property, Bridewealth, and Clan Exogamy Author(s): Jean Ensminger and Jack Knight Source: Current Anthropology, Vol. 38, No. 1 (Feb., 1997), pp. 1-24 Published by: The
Oregon - PS - 607
Oregon - PS - 607
Dunning and Pop-Eleches3From Transplants to Hybrids: Exploring Institutional Pathways to GrowthThad Dunning and Grigore Pop-ElechesWithin the study of economic growth and development, there is a consensus of sorts that institutions matter. H
Oregon - PS - 607
Oregon - INTL - 240
John Isbister, Promises Not Kept, Kumarian Press, 2006
Oregon - INTL - 240
TABLE1Monitoring human development: enlarging peoples choices . . .Human development indexCombined gross enrolment ratio for primary, secondary and tertiary education (%) 2005 95.4 e 99.2 113.0 g 99.2 e,h 99.9 95.3 85.7 85.9 98.4 96.5 101.0 g
Oregon - INTL - 240
Ball &amp; Dagger, 1999, ch 6, 152-169.
Oregon - INTL - 240
Ball &amp; Dagger, 1999, ch7, 210-215
Oregon - INTL - 240
Text of Fatwah Urging Jihad Against Americans Published in Al-Quds al-'Arabi on Febuary 23, 1998 Statement signed by Sheikh Usamah Bin-Muhammad Bin-Ladin; Ayman alZawahiri, leader of the Jihad Group in Egypt; Abu- Yasir Rifa'i Ahmad Taha, a leader of
Oregon - INTL - 240
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447
National Review October 24, 2007 Wednesday Multicultural Racism BYLINE: Peter Kirsanow SECTION: National Review Online LENGTH: 766 words The House of Representatives is poised to pass the Native Hawaiian Government Reorganization Act (known in the Se
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447
Hale / EXPLAINING ETHNICITY COMPARATIVE POLITICAL 10.1177/0010414003262906 STUDIES / May 2004EXPLAINING ETHNICITYHENRY E. HALE Indiana UniversityAlthough scholars often treat ethnicity as one of the most important phenomena in politics, nothing c
Oregon - INTL - 447
Laitin, David, Hegemony and Culture (Chicago, 1986)
Oregon - INTL - 447
Laitin, David, Hegemony and Culture (Chicago, 1986)
Oregon - INTL - 447
Oregon - INTL - 447
Oregon - INTL - 447