02 - Development & Validation

01-XML Based Validators Development and Validation Process

01-Requirements

Requirements Process

Objectives

  • To identify new validator from standardization bodies

Pre-requisites

  • N/A

Inputs

  • Needs of the new validator
  • Requirements concerned by the validator

Actions

  • Writing needs in specification document or an accessible documentation to be analysed by development team

Outputs

  • Specification Documents
  • Normative XSD
  • Formal requirements

02-Specification

Specification Process

Objectives

  • Identify and analyse impact from requirements process outputs
  • Identify functionnality and release
  • Identify tool impact

Pre-requisites

  • Requirements are identified by bodies standardization

Inputs

  • Specification Documents
  • Normative XSD

Actions

  • Analysis specifications documents
  • Analysis normative XSD
  • Extract requirements of documentation

Outputs

  • XML Format Document with requirements to manage linking documentation with test

03-Design

Design Process

Objectives

  • Design receive specifications

Pre-requisites

  • Specfication Documents are delivered and analysed

Inputs

  • XML Format analysed from Specification Process
  • Formalized requirements

Actions

  • Processing XSD -> UML
    • Convert the normative XSD document in a UML model
  • OCL Injection
    • Include constraints in the model to assure the validation

Outputs

  • UML Model
  • UML Model + OCL

04-Realisation

Realisation Process

Objectives

  • Develop new or existing validator module respecting normatives

Pre-requisites

  • Specfication Documents are translated in UML Model with OCL from normatives

Inputs

  • UML Model with OCL implemented from Design Process

Actions

  • Generating JAVA code from UML Model
  • Create unit test from each function/constraint
  • Generate documentation of the module

Outputs

  • JAVA code
  • Unit test JAVA code
  • JAVA code documentation of module

 

05-Test

Test Process

Objectives

  • Verify if module respect all rules and specifications

Pre-requisites

  • JAVA code is implemented

Inputs

  • JAVA Code
  • Validator webservice
  • Samples documents

Actions

  • Unit Test
    • Static analysis
    • UT Generation and verification
  • Integration Test
    • Services modules call
  • System Test
    • System testing relative Specifications documents
  • Acceptance Test
    • Beta testing by vendors relative their needs

 


Outputs

  • Test report

02-Gazelle HL7 Validator development and validation process

01-Requirements

Requirements Process

Objectives

  • Need to formalize a new development, evolution or correction of HL7 validator. 
  • Describe the features expected in the form of use cases or defect

Pre-requisites

  • N/A

Inputs

  • Need a new feature, a change or correction

Actions

  • Writing needs in an issue

Outputs

  • Requirements / Defects

02-Specification

Specification Process

Objectives

  • Identify and analyse impact from requirements process outputs
  • Identify features and releases
  • Identify tool impacts

Pre-requisites

  • Requirements are identified and created

Inputs

  • Issue which content the need

Actions

  • Analysis the issue to identity existing tools that can be used, and, in the contrary, new developments to be performed
  • Create a list of features to be offered by HL7 Validator
  • Specify the graphical user interface

Outputs

  • Gap analysis (gathers the support tools which required but missing and required by Test Management)
  • Features list
  • Mock-up of GUI
  • Development and Test plans

03-Design

Design Process

Objectives

  • Design and create specification

Pre-requisites

  • The need expression is available and formal

Inputs

  • Existing specification and design of module
  • Existing specification and design of tool
  • Existing platform architecture and design
  • Change requests (issue)
  • Management of documentation process

Actions

  • Design the modules hierarchy, that means, will HL7 validator inherit from existing Gazelle modules, which are the dependencies with other modules/third-party libraries, which are the new modules to be developed and that it would be convenient to keep as much as independant as possible for possible reuse.
  • Design the HL7 validator model: which are the needed entities, how they are linked together.
  • Analyse and change state of changement requests
  • Analyse impact on other module other than those specify on the change request

Outputs

  • Interactions diagram
  • Class and components diagrams
  • Specification and design of module
  • Specification and design of tool
  • HL7 validator architecture and design
  • Document index up to date

04-Realisation

Realisation Process

Objectives

  • Develop new HL7 validator features respecting normatives

Pre-requisites

  • Specfication documents are validated

Inputs

  • Tool specifications or module specifications
  • Tool design document or module design document
  • Coding rules
  • Development repository

Actions

  • Creation of new featuers or module, apply the KEREVAL development process available on SMQ

Outputs

  • JAVA code + XHTML
  • JAVA code documentation of module
  • New branch on development repository

 

05-Test

Test Process

Objectives

  • Verify if new features respect all rules and specifications

Pre-requisites

  • JAVA and XHTML code is compiled

Inputs

  • JAVA/XHTML Code
  • Branch of development on IHE SVN
  • Validation strategy
  • Validation objectives

Actions

  • Unit Test
    • Static analysis
    • Unit testing on critical methods
  • Integration Test
    • Verify services calling (webservices)
  • System Test
    • System testing against Specifications documents (features & GUI)
  • Acceptance Test
    • Beta testing by vendors according to their needs

Outputs

  • Test report with all part of test levels

03-Simulators development and validation process

01-Requirements

Requirements Process

Objectives

  • To identify new integration profiles/actors to be emulated from standardization bodies

Pre-requisites

  • N/A

Inputs

  • Needs of a new tool for testing an integration profile/actor implementation
  • Requirements from the technical framework concerning the chosen integration profile

Actions

  • Writing needs in specification document or an accessible documentation to be analysed by development team

Outputs

  • Technical Framework
  • Formal requirements

02-Specification

Specification Process

Objectives

  • Identify and analyse impact from requirements process outputs
  • Identify features and releases
  • Identify tool impacts

Pre-requisites

  • Requirements are identified by bodies standardization

Inputs

  • Requirements Documents
  • Technical Framework

Actions

  • Analysis requirements documentation/technical framework to identity existing tools that can be used, and, in the contrary, new developments to be performed
  • Create a lis of features to be offered by the new simulator
  • Specify the graphical user interface

Outputs

  • Gap analysis (gathers the support tools which required but missing and required by the new simulator)
  • Features list
  • Mock-up of GUI

03-Design

Design Process

Objectives

  • Design receive specifications

Pre-requisites

  • Specfication Documents are delivered and analysed

Inputs

  • Formalized requirements / technical framework

Actions

  • Design how the new simulator will be integrated within Gazelle platform (new application, integrated in an existing application) and how it will communicate with some of the others tools of the platform
  • Design the modules hierarchy, that means, will new simulator inherit from existing Gazelle modules, which are the dependencies with other modules/third-party libraries, which are the new modules to be developed and that it would be convenient to keep as much as independant as possible for possible reuse.
  • Design the simulator model: which are the needed entities, how they are linked together, CRUD schema...

Outputs

  • Interactions diagram
  • Class and components diagrams

04-Realisation

Realisation Process

Objectives

  • Develop new or existing simulator module respecting normatives

Pre-requisites

  • Specfication documents are validated

Inputs

  • All specification documentation

Actions

  • Develop simulator features

Outputs

  • JAVA code + XHTML
  • JAVA code documentation of module

 

05-Test

Test Process

Objectives

  • Verify if module respect all rules and specifications

Pre-requisites

  • JAVA and XHTML code is produced

Inputs

  • JAVA/XHTML Code
  • Simulator webservice
  • Message validated with suitable validator

Actions

  • Unit Test
    • Static analysis
  • Integration Test
    • Message exchange (allows to test the IHE interface and the correct integration of the message in the database if required)
  • System Test
    • System testing against Specifications documents (features & GUI)
  • Acceptance Test
    • Beta testing by vendors according to their needs

Outputs

  • Test report with all part of test levels

04-Test Management development and validation process

01-Requirements

Requirements Process

Objectives

  • Need to formalize a new development, evolution or correction of the platform. 
  • Describe the features expected in the form of use cases or defect

Pre-requisites

  • N/A

Inputs

  • Need a new feature, a change or correction

Actions

  • Writing needs in an issue

Outputs

  • Requirements / Defects

02-Specification

Specification Process

Objectives

  • Identify and analyse impact from requirements process outputs
  • Identify features and releases
  • Identify tool impacts

Pre-requisites

  • Requirements are identified and created

Inputs

  • Issue which contains the need

Actions

  • Analyse the issue, identitify existing tools that could be used. If there is not existing tools identify the developments to be performed
  • Create a list of features to be offered by Test Management
  • Specify the graphical user interface

Outputs

  • Gap analysis (gathers the support tools which required but missing and required by Test Management)
  • Features list
  • Mock-up of GUI
  • Development and Test plans

03-Design

Design Process

Objectives

  • Design and create specification

Pre-requisites

  • A formal expression of the needs is available

Inputs

  • Existing specification and design of module
  • Existing specification and design of tool
  • Existing platform architecture and design
  • Change requests (issue)
  • Management of documentation process

Actions

  • Design the modules hierarchy, that means, will Test Management inherit from existing Gazelle modules, which are the dependencies with other modules/third-party libraries, which are the new modules to be developed and that it would be convenient to keep as much as independant as possible for possible reuse.
  • Design the Test Management model: which are the needed entities, how they are linked together.
  • Analyse and change state of changement requests
  • Analyse impact on other module other than those specify on the change request

Outputs

  • Interactions diagram
  • Class and components diagrams
  • Specification and design of module
  • Specification and design of tool
  • Platform architecture and design
  • Document index up to date

04-Realisation

Realisation Process

Objectives

  • Develop new Test Mangement features respecting normatives

Pre-requisites

  • Specfication documents are validated

Inputs

  • Tool specifications or module specifications
  • Tool design document or module design document
  • Coding rules
  • Development repository

Actions

  • Creation of new featuers or module, apply the KEREVAL development process available on SMQ

Outputs

  • JAVA code + XHTML
  • JAVA code documentation of module
  • New branch on development repository

 

05-Test

Test Process

Objectives

  • Verify if new features respect all rules and specifications

Pre-requisites

  • JAVA and XHTML code is compiled

Inputs

  • JAVA/XHTML Code
  • Branch of development on IHE SVN
  • Validation strategy
  • Validation objectives

Actions

  • Unit Test
    • Static analysis
    • Unit testing on critical methods
  • Integration Test
    • Verify build integrity (components/modules)
  • System Test
    • System testing against Specifications documents (features & GUI)
  • Acceptance Test
    • Beta testing according to the expressed needs

Outputs

  • Test report with all part of test levels

05-Platform Delivery Process

Release

Objectives

  • Release of the Test Tools
  • Make a release note
  • Tag the version

Pre-requisites

  • Test Tool is implemented and tested

Inputs

  • Validation report of the Test Tools
  • Release sheet (Issues in JIRA)
  • Test Tools in SVN validated

Actions

  • Analyse the state of all change request in JIRA
  • Analyse the state of validation in the validation report
  • Close all change request
  • Deliver the test tool
  • Update tool index

Outputs

  • Release Note
  • Test Tools release

Plateform Documentation

Objectives

  • Maintain up to date documentation of the Test Tools for technical and marketing issues
  • Capitalization of Test Tools documents (user guides, presentations)

Pre-requisites

  • N/A

Inputs

  • Addition to major Test Tools features (e.g. coverage)
  • IHE presentations related to major events (e.g. customer demonstration, IHE presentation)

Actions

  • Store source files of document on network folder (Drupal)

Outputs

  • Any document to help to understand or to promote the Test Tools

06-Gazelle Proxy

Project overview

See Gazelle Proxy Informations.

 

Development

Proxy development is a V cycle similar at all other Test Tools projects. It is not critical to test result and his development process is minor priority.

 

Validation

Proxy validation is included in the global test strategy relative to its interactions with other Test Tools.

07-EVS Client

Project overview

See EVS Client Informations.

 

Development

EVS Client development is a V cycle similar at all other Test Tools projects. It is not critical to test result and his development process is minor priority.

 

Validation

EVS Client validation is included in the global test strategy relative to its interactions with other Test Tools.