RSA Model Builder B-Spec Review Matt Vanderhoof Ajay Challa Avinash Gupta Mario Tayah
Context Diagram Note: Model Builder does not interact with repository
Module Diagram
Reference Documents Remote Software Assistant A-Level Specification – Tilak Patel/Dr. Jim Fawcett Version 1.3, September 29, 2006 Architectural Review – Tilak Patel Presentation (A-Spec Version 1.2), October 2, 2006 “Chalk Talk” Meeting regarding Model Builder Customer, Software Architect, Software Project Manager and Model Builder Team, October 4, 2006 Action Items Document – Sandeep Divekar rsadev.blogspot.com, October 2/3, 2006
Data Flow Diagram Note: Diagrams are transient (not saved as files), but if there’s time may be generated using VML for display on HTML documents
Functional Requirements 3.1.1. Interface 3.1.1.2 processing Model Builder shall accept user inputs on a drawing panel to support the construction of Data Flow Diagrams, Package Diagrams, and Class Diagrams. A means shall be provided to select lines with arrowheads, rectangles, and ovals, from which to construct these diagrams. Means shall be provided to lay out a diagram using most of the available drawing panel, and to allow subsequent repositioning based on user supplied mouse clicks and movements. Means shall be provided to support edit and delete of laid graphical objects. Each of the graphics constructs shall, when right-clicked display a means of data entry and viewing for the following: Data flow diagrams – flows, process names, and process requirements. Process names are displayed on the diagram. Package diagrams – module names and class names. Module names appear on the diagram. Class diagrams – class names and method signatures. Class names appear on the diagram. Interface shall display diagrams and status/error messages Means shall be provided to select generation of a package diagram from a data flow diagram Means shall be provided to select generation of a context diagram from a data flow diagram Means shall be provided to select generation of a class diagram from a package diagram
Functional Requirements 3.1.2. Messaging 3.1.2.1 inputs Receives commands and raw model data from User Interface Receives diagrams, status and error messages, and XML model data from Executive 3.1.2.2 processing Shall provide means to format command strings into XML messages Shall provide means to decode XML messages into command strings 3.1.2.3 outputs Sends commands and raw model data to Executive Sends diagrams, status and error messages, and XML model data to User Interface
Functional Requirements 3.1.3. Executive 3.1.3.1 inputs Receive command strings and model data from Messaging process Error and status messages received from Parser or XSLT Processor 3.1.3.3 outputs Send error and status messages to Messaging process Send diagrams received from Diagram Generator to Messaging process Send model data to XML Model Builder
Functional Requirements 3.1.4. XML Model Builder 3.1.4.2 processing Shall provide means to create/edit/delete parts of requirements model (Data Flows, Processes, External Entities) Shall provide means to create/edit/delete parts of design model (Packages, Relationships, Classes) Shall generate requirements and design models in two separate XML structures Shall generate XML design model from XML requirements model Shall provide means to retrieve Data Flows, Processes, and External Entities from requirements model Shall provide means to retrieve Packages, Relationships and Classes from design model Shall automatically update design model when changes are made to requirements model
Functional Requirements 3.1.5. Diagram Generator 3.1.5.2 processing Shall generate data flow diagram using requirements model information Shall generate context diagram from requirements model information Shall generate package diagram from design model information Shall generate class diagram from design model information
Functional Requirements 3.1.6. XSLT Processor 3.1.6.2 processing Shall use XSLT to create HTML Software Requirements Specification from XML requirements model Shall use XSLT to create HTML Software Design Document from XML design model Shall use XSLT to create source code from XML design model Shall create one source code file per package in design model Multiple classes specified in one package in design model remain in single output source file Shall place comment in each output source code file indicating what design model was used in its creation Shall not overwrite code or portions of Design Document manually modified by the user Design Model contains Class information
Functional Requirements 3.1.7. Parser 3.1.7.1 inputs Receives previously generated source code, documents and XML model files from local file system 3.1.7.2 processing Shall parse previously generated Design Document and Software Requirements Specification Shall parse previously generated source code file(s) Shall extract requirements model data from previously generated Software Requirements Specification Shall extract design model data from previously generated Software Design Document Shall extract design model data from previously generated source code file(s) 3.1.7.3 outputs Send raw requirements and design model data or previously generated XML model file to XML Model Builder
Data Dictionary Message Name Interpretation DFD User input Mouse clicks, keyboard input DFD1 Diagrams Context diagram, data flow diagram, or module/package diagram Messages XML Messages encoded/decoded by the Messaging process Errors Error messages generated by a process Command Command strings Model data Non-XML formatted requirement, package name, flow name, or relationship Filenames Fully-qualified Windows pathnames Status Data indicating completion or current state of a process Generated Documents Software Design Document or SRS created by the XSLT Processor Generated Source Code Program source generated by the XSLT Processor XML Model Files XML representation of requirements or design models Previously generated Source Code Source code on disk that was originally created by XSLT Processor Previously generated Documents Documents originally created by the XSLT processor loaded from disk Previously saved XML model files XML model created by the XML Model Builder loaded from disk Model information Class names, process/package names, flow names, relationships, requirements
Requirements Traceability Matrix B-Specification A-Specification Comment 3.1.1.2.a 4.1.1.1 User inputs on drawing panel 3.1.1.2.b 4.1.1.2 Selection of lines 3.1.1.2.c 4.1.1.3 Lay out diagram, repositioning 3.1.1.2.d 4.1.1.4 Edit/delete of laid objects 3.1.1.2.e 4.1.1.5 Right click data entry/view 3.1.1.2.f Derived, 4.1.1.6 Display diagrams and messages 3.1.1.2.g Select package from DFD 3.1.1.2.h Select context from DFD 3.1.1.2.i Select class diagram from package 3.1.2.2.a Derived Format commands into XML 3.1.2.2.b Decode XML into commands 3.1.4.2.a Create/edit/delete requirements model 3.1.4.2.b Create/edit/delete design model 3.1.4.2.c Create two XML structures 3.1.4.2.d Create design model from requirements model 3.1.4.2.e Retrieve parts of requirements model 3.1.4.2.f Retrieve parts of design model 3.1.4.2.g Update design model automatically 4.1.1.6: Defining relationship between diagrams so that one can be derived and constructed from parent diagram.
Requirements Traceability Matrix B-Specification A-Specification Comment 3.1.5.2.a Derived Generate DFD from requirements model 3.1.5.2.b Generate context diagram from requirements model 3.1.5.2.c Generate package diagram from design model 3.1.5.2.d Generate class diagram from design model 3.1.6.2.a Derived, 4.1.1.8 Use XSLT to create HTML SRS 3.1.6.2.b Use XSLT to create HTML SDD 3.1.6.2.c Use XSLT to create source code 3.1.6.2.d One source code file per package 3.1.6.2.e Comment each source code file 3.1.6.2.f No overwriting of manually edited code or document 3.1.7.2.a Parse previously generated design document 3.1.7.2.b Parse previously generated source code 3.1.7.2.c Extract requirements from SRS 3.1.7.2.d Extract design data from SDD 3.1.7.2.e Extract design data from source code
Questions?