Introduction

ApplicationIQ is beneficial both for:
  • developers, by facilitating their work by the use of a common repository adapted to the company and based on the UML standard. Understanding of the elements of projects, reuse and general communication on projects are facilitated.
  • the company, by capitalizing know-how contained in projects (common structuring, help to porting projects, help to reverse engineering,...) for re-use this knowledge in a optimal way (projects discovery phase being easier and more rapid).

ApplicationIQ is based on the UML standard through the modeler Enterprise Architect (EA) of Sparx Systems.


Editions de ApplicationIQ

Editions of ApplicationIQ

ApplicationIQ exists in three editions that are:

  • the Process-Maker edition, that allows:
    • to simply define (in natural language) the development process of enterprise and the rules of modeling.
    • to define the modes of navigation. Those modes of navigation will be used to refer to all the elements of a project in a transverse way, by following the process of development chosen by the company. Typically, a navigation mode :
      • can go back instantly a class design to upstream use cases
      • consult a requirements document, and then instantly go at the use cases relevant to this requirement, then go to design classes and to code. Understanding of projects is then optimized.
  • the Designer edition, that allows:
    • to modify your UML model to integrate it into the development process. For this, ApplicationIQ contains two powerful tools for multiple stereotyping by criteria selection:
      • a tool to stereotype entities
      • a tool to stereotype relations.
    • to browse all project in transversal way. Especially, an analyst or a developer can easily consult all the elements constituting the subset of a project that concerns him: documentation of the requirements, use cases, related classes, ...
    • to perform an audit of the UML model of a project and verify if it complies with the rules of the process chosen by the company and if necessary list the anomalies.
    • to view the completeness of a reverse engineering project. ApplicationIQ allow to identify artifacts that do not lead to code. Conversely, ApplicationIQ is used to identify classes (i.e. code) which are not connected to any analysis, no use case nor any requirements document.
  • the Manager edition, that contains both Process-Maker edition and Designer edition.


Installation

Installation of ApplicationIQ

ApplicationIQ relies on the UML modeler Enterprise Architect (EA) of Sparx Systems ©.

You must therefore have an EA licence to use ApplicationIQ.

However, the EA Lite version (free) is sufficient if you do not need to edit your UML model.

For ApplicationIQ evaluation period, you can use trial version of EA.

In normal use, the EA's Desktop Edition may be sufficient to work with ApplicationIQ. However, depending on your modeling needs, other editions of EA (Professional, Corporate, ...) may be more suitable.


Choix de la langue

Choice of language

ApplicationIQ works in English and French.

To change the language, it is necessary to select the 'Tools' menu, then 'Settings'. In the dialog box that appears, you can then choose the new language and click on "Close."

You must restart ApplicationIQ for the change to take effect.


Activation de ApplicationIQ

To activate ApplicationIQ

After you have purchased the retail version of ApplicationIQ, you will receive a link to download the retail version of the program.

Then, you must uninstall the trial version, and install the retail version.

After you install the retail version, you have ten days to activate the software.

To activate the software, you must generate a Flag file, and send it with your ordering information at the following address: commercial@delthom.com. In return, you will receive within 24 hours a license file that you have to insert.


Générer fichier Flag

To generate a Flag file

To generate a Flag file, you must click on the 'Tools' menu, then 'License' menu, then 'Generate a Flag file'.

A dialog box is displayed.

You must then enter the location where you want to save the Flag file and then click on the button 'Generate'.


Insérer un fichier de Licence

To insert a License file

To insert a license file, you must:

  • Click on the "Tools" menu,
  • Click on "License",
  • Click on "Insert a license file"
A dialog box is displayed.

You must then enter the location where is the license file and then click "Insert".


Transfert de la licence sur un autre ordinateur

Transfer of the license to another computer

After you insert the license file, you can transfer this license from this computer (Source) to another one (Target).

Important: You must first have installed the retail version of ApplicationIQ on the Target computer.

To transfer the license to the Target computer, you must:

1. Generate a Flag file from the Target computer.

2. On the Source computer, you have to select the "Tools" menu, then "Licence", and then "Transfer the license to another PC". A dialog box is displayed. It allows you to insert the Flag file and to specify the location where the license file will be saved (which will be then insert into the Target computer).

Important: After the generation of the Licence file, ApplicationIQ isn't accessible anymore on the Source computer.

3. On the Target computer, you must then insert the License file by clicking on the 'Tools' menu, then clicking on 'Licence' menu, and clicking on 'Insert a license file'.

Following those operations, ApplicationIQ is:

  • Inactive on the Source computer
  • Active on the Target computer.


Aide et support

Help and support

Support email address: support@delthom.com


Présentation

Presentation

  • Keys benefits
  • What you can do ...
  • Keys features


Bénéfices clés

Key benefits

  • Capitalization of the steady know-how integrated in projects, by specifying it independently of platforms and languages.
  • Sustainability of software investments by adapting only phases of the process which must change. For example, in the case of a portage, it is not necessary to change all the work done in the upstream stages, up to the design phase of PSM "Platform Specific Model".
  • Exploitation of a common structure for all your projects (from the documentation to the source code) for greater efficiency for your development teams.
  • Real creation of application assets of your company.
  • Facilitating the implementation and control of your projects.
  • Easier Maintenance of your projects.
  • Standardization format of communication of your projects, for a gain in efficiency, scalability, maintainability...


Ce que vous pouvez faire

What you can do :

  • Easily operate the fondamentals of MDA (Model Driven Architecture) and MDE (Model Driven Engineering)
  • Adapt your existing projects to MDA MDE
  • Make reverse engineering knowing "by what end" take the problem
  • Make porting from one platform to another (Ex: Windows to Cloud)
  • Make very simply analyses of impacts
  • And much more, according to your imagination...


Fonctions clés

Key features

  • Specification:
    • Specification of the processus of development
    • Specification of modeling rules
    • Specification of navigation modes
  • Operation:
    • Conventional navigation:
      • Cross forward (from the artifacts of an activity to another related activity downstream artifacts), for example from requirements to implementation classes (sources).
      • Cross backwards (from the artifacts of an activity to artifacts of another related activity upstream), for example from implementation classes (sources) to requirements.
    • "Completeness" navigation, very useful and very effective in reverse-engineering projects, retro-documentation projects ...
      • Forward, for example to answer to the questions of the type "what are the use cases that result only partially to an implementation (which comes to identify the use cases only partially developed)?" ; "What are the artifacts that are not followed by any entity in the following activities? '' (which means that they are not developed) », …
      • Backward, for example to answer to the question "what are the classes that are not associated to any requirement? '' (which means that they are not documented), "what are the components that are only partially documented in the requirements"...
    • Tools for model stereotyping, particularly effective and helpful in reverse engineering and for the integration of an existing project, currently independent of the standard process of the company :
      • Tool for the assignment of stereotypes to entities
      • tool for the assignment of stereotypes to relations


Pré-requis, à lire avant de démarrer

Prerequisites, read before start

  • Notation
  • Definitions
  • General principle


Notation

A stereotypical entity type is, as its name indicates, an UML entity type that ha been assigned a stereotype. It is noted as follows in ApplicationIQ: EntityType - "Stereotype".

Examples of stereotypical entity types:

- UseCase - "Fonctional need"
- Collaboration - "Java design"
- Class - "Java design"
- Class - "C# design"

In the documentation, for a need of clarity, the stereotypical entity types will be bordered by [ ]. For example: [UseCase - "Need"]

This standard of notation is used also for relations and diagrams.


Définitions

Definitions
  • Development process
  • Activity
  • Entity
  • Diagrams
  • Relations
  • Rules


Processus de développement

Development process

A development process is a series of activities including a start activity (for example the requirements of the project) and an end activity (for example the implementing classes of the project).

Some activities may take place in parallel as the development activities related to different platforms.

Example:

  • Activity of development of a GUI in C# parallel to activity of development of the same GUI for the web, with (unique) business components that are common to both platforms.
  • Unified Process contains the following activities:
    • Business Modeling
    • Requirements
    • Analysis
    • Design
    • Implementation
    • Test
    • Deployment


Activités

Activities

Each activity receives as input the resulting entities of a previous activity (except the first activity of the process) and it produces entities that will in turn be input of the next activity (except for the last activity).

An activity can produce a single entity type or two types of related entities. In this case, one of the sets of entities will be upstream of the other.

For example:

  • Example 1: 1 Collaboration => n Classes
  • Example 2: n Classes => 1 Component.


Entités

Entities

Entities are produced by the activities. Typically, an entity may be "a requirement document", "a use case", "a class", "a component", "an execution node", ...

In order to integrate the entities in a process, they must be stereotyped. This stereotyping can be established more or less finely, according to the need of your projects.

For example:

  • a requirement can be stereotyped "Functional requirement" or "Hardware requirement",
  • a use case can be "External UC" or "Internal UC",
  • a class can be "PIM" (Platform Independent Model) or "PSM_C#" (Platform Specific Model) or "PSM_Java" ...


Diagrammes

Diagrams

Diagrams allow to represent in a standard manner, static aspects (by examples classes and their links) and dynamic aspects of a project (transitions, interactions,...).

Diagrams should be stereotyped according to their semantics to be integrated into the process managed by ApplicationIQ.


Relations

These are the links that connect entities between them.

Relations must be stereotyped according to their semantics.

For example: "traceability from use case to analysis class".


Règles

Rules

The rules allow to audit a model in an instant and check if it conforms to the process chosen by the company.

There are four categories of rules:

  • Rules of entities - properties:

They allow to define what are the types of (stereotyped) entities that must contain documentation and in what form (note, linked file, linked free file).

  • Rules of entities - relations:

They allow to define accurately the obligations of relationship between entity types.
Example:
"All the [Requirements-"Requirement"] must be connected to at least one entity of the type [UseCase - "Need"], by a relation of the type: [Abstraction - "Need to Requirement"].

Note: This example defines a rule of traceability between Requirements and Use cases.

  • Rules of entities - charts:

They allow to impose on certain entities of some types to figure in some charts.
Example:
"All entities of the type [Requirement - "Requirement"] must appear in at least one diagram of the type [Custom - "Requirements"].

  • Rules of relations:

They define what types of entities that must connect the types of relationship. They define the purpose of the stereotyped relations.
Example:
All [Abstraction - 'Need for requirement'] relations must link [UseCase - 'Need'] to the [Requirement - 'Requirement'].


Principe général

General principle

1. the phase of "Specification".

2. the phase of "Exploitation".


La phase de spécification

Specification phase

It allows to formalize the development process by:

  • the definition of stereotypes:
    • for each type of entity
    • for each type of relationship
    • for each type of diagram
  • the definition of each activities with:
    • the stereotyped entity types produced
    • stereotyped entity types as input, connected by a stereotyped type of relationship to a type of entities produced
    • the definition of methodological rules that your models must meet.

The entities, relations, and diagrams of the model of the project must be stereotyped. ApplicationIQ allows to do so using its tools. It is through this stereotyping that the model will be integrated in the process. From the moment where the stereotyping is performed, ApplicationIQ (Exploitation) allows different uses bringing sustainability, capitalisation, ...

  • In « Standard » mode :
    • Target an aspect of the project and navigate in a transversal way to better understand its context and its operation.
    • Doing Analysis of impact in an interactive way forwards, backwards and in both directions.
    • Differentiate the stable components for a purpose of capitalization
    • ...

  • In "Completeness" mode:

ApplicationIQ allows to view the entities on which all the "branches" do not lead to the last activity, which means, for example, that some use cases are not completely implemented. In "backward" mode, we could detect that some classes are not related to requirements, i.e. an incomplete back-documentation or a project that has been only partially documented.

Examples of usable process:

    • Requirements => use case => C# design classes
    • Requirements => use case => design classes => tests classes
    • Requirements => use case => design classes => PIM design Classes => Java design classes
    • Requirements => use case => Windows design classes (server) and use case => Java design classes


La phase d'exploitation

Exploitation phase

It allows to:

  • Audit a model to verify if it comply to the development process that has been defined in the phase of "Specification".
  • Explore your project activity in downstream activity, for example by following the traceability of a requirement document, passing through different activities to go to implementation classes.
  • Explore your upstream project, for example by following the traceability of an implementation class, going through an activity to an other, until reaching the use case or requirements.
  • Check the completeness of your retro-documentation project by a course in "Completeness" upstream mode.
  • Check the degree of finalization of a project by a course in mode "Completeness" downstream.
  • Read the degree of completeness of a reverse engineering project.
  • Read the degree of completeness of a porting project.
  • …


Démarrage rapide

Quick start

How to:
  • specify a development process
  • operate a project
  • do a "Standard" navigation
  • do a "Completeness" navigation
  • integrate an existing model into the process of the company
  • integrate a project when you only have source code
  • manage a porting project
  • do a model audit


Spécifier un processus de développement

Spécify a development process

To specify a development process, you must:
  • Specify the stereotypes
    • Stereotypes of entities,
    • Stereotypes of relations,
    • Stereotypes of diagrams
  • Assign a stereotype to the types
    • Types of entities,
    • Types of relations,
    • Types of diagrams
  • Specify activities of your process
  • Specify the links between activities, i.e. specify the types of stereotyped entities of source activities that power up an activity and the stereotyped entity types that this activity produces.
  • Define the rules of development process regarding the :
    • entities (properties, relations with other entities)
    • diagrams,
    • relations.
  • Define the modes of navigation that will then be used in operation to:
    • view the project in a transversal way (forwards, backwards, and in both directions), with display in a click of the diagrams associated with the visualized entities.
    • perform a reading of the degree of completeness of the project forward (towards the implementation), backward (toward the requirements) in order to estimate its potential "technical debt" at all stages of the process.


Exploiter les projets

Operate projects

After you have created a process (Specification), defined the rules and created the modes of navigation, it is necessary to validate all of the specifications to go in "Exploitation".


Faire une navigation Standard

Standard navigation

This type of navigation is particularly useful in cases of the discovery of an existing project, to perform analyses of impacts...

You must:

  • be in 'Exploitation ';
  • have loaded the model you want to view,
  • choose a navigation mode (or keep the one that is already selected),
  • choose the Type of navigation "Standard" (it is selected by default),

You can then perform a consultation:

  • downstream by clicking on the label in the header of the first activity
  • upstream by clicking on the label in the header of the last activity
  • upstream and downstream if you click on the label in the header of an internal activity (neither the first, nor the last) in the process.

In all three cases, you can select entities of activity that you are interested in, view all UML diagrams that contain these entities and browse step by step all entities of the previous and the following activities that you have selected.
All UML entity types are taken into account in the navigation (Requirement, UC, class,...). If the entity contains a textual documentation (note, linked document or file), it can also be displayed by a right click.


Faire une navigation de Complétude

Completeness navigation

(for example to estimate a technical debt)

This type of navigation is particularly useful in reverse-engineering projects, porting application, monitoring of realization,...

You must:
  • Be in 'Exploitation ';
  • Having loaded the model you want to consult,
  • Choose a navigation mode (or keep the one presented by default),
  • Choose the Type of navigation "completeness",
  • Then you can do a consultation :
    • downstream by clicking on the label on the first activity of the process
    • upstream by clicking on the label on the last activity of the process.
You can select entities that you are interested in, ApplicationIQ will then highlight the following entities...
As for the "Standard" navigation type, you can view all diagrams containing the selected entity and the documentation associated to those entities.


Intégrer un modèle existant au processus et à la méthodologie de l'entreprise

Integrating an existing model to the process and to the methodology of your company

To integrate an existing model to a process, you must modify entities, relations and diagrams of the model to integrate by assigning the stereotypes of your process.

ApplicationIQ contains two very effective tools to affect stereotypes to a set of entities and to a set of relations.

These features are accessible when you are in "Exploitation", i.e. as soon as the process is validated and the model loaded.


Intégrer un projet dont vous ne possédez que le code source

Integrating a project when you only have source code

Example #1 of integration:

  • You must first perform a reverse-engineering of the project with Enterprise Architect ©. The development language of your project must be among the ten languages supported by Enterprise Architect (in version 12) that are: ActionScript, C, C#, C++, Delphi, Java, PHP, Python, Visual Basic, VB.Net. If your language is not part of this list, another example further illustrates another approach.
  • Once your source code is translated into UML model, you can load this UML model into ApplicationIQ. The last activity of the process will then contain the project classes for the target platform (PSM : Platform Specific Model).
  • Your model should be "worked" in order to organize elements of the project, for example by grouping in diagrams of classes and packages, the classes working together to implement a feature...
  • These features will then be used to define use cases.

This is an example of approach to follow. Of course, the nature of the project may require a different approach, as starting from both ends of the process: the use cases on one side and the implementing classes on the other side as in example number 2 below.

Example #2 of integration:

  • You can perform a dual approach (ascending and descending):
  • Write the requirements from the executable,
  • Do a reverse-engineering of the project such described above,
  • Progress both:
    • from the requirements to the PSM classes, downstream progressing,
    • from PSM classes up to requirements, upstream progressing.


Projet de portage

Porting project

It means integrating on your development process, a project which you have technical documentation and an executable or wich source code is in a language not supported by Enterprise Architect.

Example of an approach to be taken:

  • Starting from the executable, define comprehensive use cases graph (using the most the relations about use cases: extend, include,...)

  • Integrate existing documentation, check and validate it with use cases.

  • From the use cases, define an analysis model or a PIM (1) model or directly a PSM (2) model in your target language.

(1) PIM = Platform Indepedent Model

(2) PSM = Platform Specific Model


Effectuer un audit d'un modèle

Audit a model

  • Your development process must have been specified.
  • Your model must be loaded.
  • It is necessary to go into the "Exploitation" part and click on the button named "Audit". The result of the audit is on the list at the bottom of the screen. It can be copied to the clipboard with the button under the list of the result of the audit.


Guide de l'utilisateur

User's Guide

1. General information about data entry

2. Create a new process

3. Load a process

4. Specification

5. Exploitation

6. Tools


Généralités sur la saisie

General information about data entry

The record of input data and changes is done by clicking the "Save" button in the icons toolbar (or on "File" menu).
Under certain circumstance, the displayed values are not editable.
  • If the process is validated: to be able to modify the currently process, you must return in "Modify" by clicking on the "Modify the process" button or by activating this option on the menu. You can then change the data that specify the process.
  • If the information currently on screen is used in at least one of the other screens of specification. This prohibition exists for integrity reasons. In this case, a padlock symbol is displayed. In order to edit the data of the ongoing entity, it is necessary to "dereference" this information (i.e. no longer use it) in other screens where it is used.
Note : A trick is to create a new record, edit screens where they are referenced and then delete the old record.

In normal operating mode (in input mode):
  • Clicking on a row in the table causes the display of the informations in the upper area of the screen.
  • All displayed informations can be change.
  • A series of changes which resets the input boxes in their initial state (return to opening values) allows to exit the screen without clicking on save.
  • Change of record being input, cancels the current edit after a validation request.
  • By clicking on the "New" button, all the input fields are empty, and a new record is ready to be entered.
  • The 'Delete' button will delete the record currently selected and displayed.


Créer un nouveau processus

Create a new process

Two actions allow to start the creation of a new process:
  • Clicking on the button "Create a new process" contained in the icon bar.
  • Using the "File" menu and activate the submenu "New process". Following one of these two actions, the 'Spécification' mode becomes available, the tab of the same name is then active. You can then start the input of all the specifications of the process.
It is necessary to validate the process to switch to the "Exploitation" mode.


Charger un processus

Load a process

Two actions allow to load a process previously saved:
  • Click on the button "Open process" contained in the icon bar.
  • Use the "File" menu and click on the submenu "Open process".
Due to one of these two actions, a file selection dialog box is open. I can then browse folders and open the process that you have previously designated. The "Spécification" mode is then accessible. If the loaded process had been validated, the information it contains will be presented read-only. If the process has not been validated during the previous session, the process will be editable.

If you want to modify a process that has been validated, it is necessary:
  • to unload the current model (if a model has been loaded).
  • activate the button "Modify process". After changes made to the process, it will be necessary to validate it again in order to switch to "Exploitation".


Onglet Spécification

"Specification" Tab

By activating the "Spécification" tab, you are accessing the information that describes the development process. If the process is in the "Validated" state, the information presented will be not editable. In order to modify them, it is necessary to activate the function "Modify process".

The left arborescent menu allows to activate each of the screens of the process specification.

The declaration of activities is made regardless of the modes of navigation (in absolute terms). Subsequently, the input monitoring of the navigation modes is used according to the declaration of the activities you have entered.


Entité

Entities

  • Stereotypes of entities

Use this form to define all the stereotypes that will be then assigned to the entity types. In the exploitation phase, they will be able to distinguish the entities of the same type with a different purpose, e.g. « Design C# » classes and « Design Android » classes.

  • Type of stereotypical entities
Use this form to define couples (type of entity, entity stereotype). All UML entity types that you use in your process must be specialized with one or several entities stereotypes.
    • they allow to identify the entity types that are part of the process,
    • they allow to distinguish identical generated entity types, but that have a different purpose, and which are in the same phase of the process (activities Group). For example : « Design C# » and « Design Java ».


Relation

Relation s

  • Stereotypes of relations

Use this form to define all the stereotypes that will then be assigned to the types of relations. Then, this form will allow to distinguish the relations of the same type with a different purpose, for example "Traceability Analysis-PIM" and "Traceability PIM - PSM".

  • Types of stereotyped relations

Use this form to define couples relation's type, stereotype of relation). All types of UML relation that you're using in your process must have been declared with one or more stereotypes of relation. The types of stereotyped relation allow to identify relation types used by the process, distinguishing them according to their purpose.


Diagrammes

Diagram s

  • Stereotypes of diagrams

Use this form to define all the stereotypes that are then assigned to the types of diagrams.

  • Types of stereotyped diagrams

In the exploitation phase, stereotyped diagrams types will allow to define rules according to the belonging of the entities for the diagrams: "rules of entities (diagrams).


Activités

Activities

  • Properties
Use this form to define all the activities of the process (regardless of the modes of navigation that will be declared later). Modes of navigation will be then developed based on the activities and links between activities.
    • The "name of the activity" is an open text.
    • Number of entity sets: an activity produces one or two sets of entities. In the case of two sets of entities, one of the sets is declared upstream of the other. The typical example is Collaboration which is upstream of a set of Classes.
    • The entity sets contain the following informations:
      • The name of the set that is an open text.
      • The type of produced entities that are contained in this set.
      • In the case of an activity with two sets, the type of relation between the two sets of entities of the activity must be specified as well as its orientation (regarding to the course of the development process).
  • Upstream activities
Use this form to specify how activities are powered up (their sources). For information, what the activity is producing has been declared at the level of the activities screen.
The list in the left column contains all the process activities (declared in the previous screen). It is not possible to modify this list. If an activity needs to be added or removed, this change must be done in the activities screen.
The right side of the screen allows to declare the sources of each set of activities.
    • If the activity includes only one set of entities, a single list will be presented.
    • If the activity includes two sets of entities, both lists will be displayed. In this case, the meaning of the relationship between the two sets will be displayed (between the two lists). The orientation mentioned between the two sets is read-only. It is editable in the declaration of the activities screen.
The data input in the sets is as follows:
    • to add a source: make a right click in the list, apart from any existing line, in the popup menu that appears, click on "Add".
    • to change a source in the list: make a right click on the line to change and on the popup menu, choose "Modify". Another possibility is to double-click on the line to edit, then a dialog box appears with the values in the row and it is possible to modify them.
    • to remove a source from the list: right click on the row to delete. The system then prompts you to confirm the deletion.


Règles du processus

Rules of the process

The process rules allow to audit a model to assure is complies with the methodology that you defined.

There are four types of audit rules of process which are: Entities (Properties) ; Entities (Relations) ; Entities (Diagrams) ; Relations.

For each type of rule, the rule name must be entered, as well as the potential existence of a link with an activity. If a link has been entered, the name of the related activity must be filled. This link with the activity will allow, in the exploitation phase, to filter the results of the audit of the model by type of activity.

The types of rules:

  • Entities (Properties):

This type of rule will allow to verify that certain types of entities must have a textual note or a linked file (with the place where the file is stored) or a Linked document.

The rule is specified under this the form:

All entities of the type %StereotypedEntityType
must have a linked file | Textual description | Linked document
with format %Path + %Prefix + %EntityName + %Suffix + %Extension (1)

" | " = or
(1) the format is applied only in the case of a linked file.

  • Entities (Relations):

This type of rule allows to check that certain types of entities must be linked to other types of entities, by a certain type of relation, observing certain cardinalities.

The rule is specified under this form:

All entities of the type %StereotypedEntityType must be linked to
at least one | a single | maximum one
Entity of the type| Entity among the types | Entity in only one of the types
Case "Entity of the type" :
%StereotypedEntityType2, linked by a relation of the type %StereotypedRelationType
Case "Entity among the types" or "Entity in only one of the types" :
n x (%StereotypedEntityType2, linked by a relation of the type %StereotypedRelationType)

  • Entities (diagrams):

This type of rule allows to verify the affiliation of entities in the diagrams. For example: "All entities of the type UseCase - "Need" must appear in at least one Use case diagram".

The rule is specified under this form:

All entities of the type %EntitySType
Must be included in at least one | a single | maximum one
Diagram of the type %StereotypedDiagramType

  • Relations:

This type of rule allows to verify that the types of relations are actually connected to the entity types that you want. For example that the association relation "Analysis Collaboration" connects well with Collaborations of analysis to Analysis classes.

The rule is specified in the form:

All relations of type %StereotypedRelationType
Must connect
A type of entity #1 %StereotypedEntityType
To a type of entity #2 %StereotypedEntityType


Navigation dans le modèle

Navigation in the model

  • Navigation modes
  • Navigation screens


Modes de navigation

Navigation modes

Use this form to specify the name of navigation modes.

This name is an open text.


Ecrans de navigation

Navigation screen s

This screen allows to specify the user interface that will allow you to navigate in your model in many ways.

On top of the screen, you can select the navigation mode you want to modify. The modifications are made in the main part of the screen.
The header includes a button "Clearing" to remove all the specifications of the navigation mode that is selected.

Main part of the screen:
It is in this area that you declare all your process activities involved in navigation mode selected in header.
Each column represents one or more activities. In the case where the column contains several activities (Group of activities), these are activities that take place in parallel, as the activity of design for each platform. However, it is also possible to place those "parallel" activities in successive columns.
Each rectangle designates an activity with a (editable) title and the set of type of entities or both sets of type of entities that this activity contains. In the case of two sets of entities, an arrow clarifies the direction (upstream-downstream) of the relation between the two sets of entities.
By clicking on a set of type of entities, the system highlights sets of type of entity of activities that are the sources of this clicked set. Note : When the source is part of the same activity, it is not highlighting.
Creation and updates:
    • Add an activity:
You can add an activity at the end or insert it between two existing columns.
      • at the end:
You can either:
        • do a right click on the background of the grid and select "Adding an Activity" or "Adding a Group of Activities"
        • right click on an activity and click on "Add at the end of the process".
      • Insert:
You must right click on the activity where you want to place the new activity and select "Insert in the process".
    • Delete an activity
You need to right click on the activity you want to delete, and select "Delete".
    • Modify an activity:
You can either:
      • Hold the 'Ctrl' key and click on the activity to modify
      • Right click on the activity to modify and select "Modify".
A dialog box appears to make the changes.
    • Transform a column of unique activity into column of "Group of activities":
You need to do a right click on the activity of the column to transform into group of activities and select "Transform in Group".
    • Divide the set of columns into two parts for easy resizing columns in exploitation, bringing them in two parts:
You need to right click on the column that would become the first column in the right-hand in exploitation and select "First activity of the right part". The color of the titles of the columns on the right-part is then changed.
    • Add an activity in a group of activities:
The column must be a column of "Group of activities". If not, you must perform this transformation. You need to right click on one of the activities of the column in which you want to add an activity and select "Add Activity in the Group". The input activity dialog box will be displayed to enter the properties of the new activity of the group.
    • Down an activity in a group of activities:
You must right-click on the activity (of the group of activities) that you want to go down and select "Down an Activity".
    • Up an activity in a group of activities:
You must right-click on the activity (of the group of activities) that you want to go up and select "Up an activity".
    • Change the name of the Group of activities:
You must right click on the column header and select "Modify". A dialog box appears and allows you to change the name of the Group of activities.
    • Turn a Group of activities into unique activity:
To transform a column of group of activities into a column of a unique activity, it is necessary that the concerned column contains only a single activity. If several activities are included in the column, it is necessary to remove those that you do not want to keep, before performing the transformation.
You must either:
      • right click on the header of the group of activities (the label) and select "Transform into Activity".
      • right click on the (unique) activity of column of group of activities and select "Transform into Activity".
    • Dialog box for Input of the properties of an activity:
      • Active areas:
The dialog box shows active areas and other inactive areas depending on the context of the activity to enter or to modify.

  • If the entry concerns a group of activities, the upper part will be available to enter the name of the group.
  • If the imput concerns an activity with a single set, the lower area named "Set #2 of activity" will be visible but inactive.
  • If the input concerns an activity with two sets, the lower area named "Set #2 of activity" will be active.
      • Input activity properties:
      • The activity name is an open text. Using the button "=> Name", you can fill in the name of the activity by the name of the activity that is assigned to it.
        • You can temporarily leave the module without assigned activity, but to validate the process, you will need to assign an activity to the consultation module. When you check "Assign an activity", the dropdown list "Choice of activity" shows you all possible activities according to the process that you declared in the screens "Activities - properties" and "Activities - upstream activities". A single or two sets will be activated depending on the selected activity.
    • Input of the properties of sets:
The purpose of this input box is to select sources upstream of all that is powering it up. All data are read-only except the list of sources that allows to view the properties of the source and be selected.


Imprimer le processus

Print a process

To print the information in the process, you can either :
  • Click on the "File" menu and select "Print process... ".
  • Click on the button "Print the process..." in the icon bar.
A dialog box appears. It allows you to select the categories of information you want to print. All editions are concatenated to form a single document.

If at the time of the print request, you are in one of the screens of the process specification, this edition will be checked at the opening of the dialog box.


Enregistrer le processus

Save a process

To save the process, you can either :
  • Click on the "File" menu and select "Save".
  • Click on the "Save" button in the toolbar icons.


Enregistrer une copie du processus

Save a copy of a process

You must open the "File" menu and select "Save as...".

A dialog box is then open to enter the name of the file.


Valider le processus

Validate a process

To be able to switch to exploitation, it is necessary to validate the process. After this validation, you will be able to use the process only on a UML model.

To perform this validation, you can either:
  • Click on the "Process" menu and select "Validate the process".
  • Click on the button "Validate the process" in the icon bar.
If the process shows abnormalities, these will be displayed. It will then be necessary to correct the process before to request again its validation.


Modifier le processus

Modify a process

When the process is validated, it is impossible to modify it. However, the specification screens present the process information in read-only.

To be able to go back and modify the process, you must have to display the "Process" menu and select the submenu "Modify process".

It will be possible to go again in exploitation when the process will again be validated.


Exploitation

Operation Tab

In order to load a model, the process must be loaded and validated.

From that moment, the action of loading a model will be activated.


Charger un modèle

Load a model

Before loading a model, it is necessary to start Enterprise Architect © and open in Enterprise Architect the model you want to use with ApplicationIQ.

To load a model, you must:

  • Click on the button "Load a model" which is located in the icon bar.

  • In the dialog box that appears, select an Enterprise Architect instance currently running and one of the models that are opened in this instance.

  • After the validation of this entry, the model is loading and ApplicationIQ is in "Exploitation" mode.


Décharger un modèle

Unload a model

To unload the current model, you need to open the "File" menu and select "Unload the model".

After this action, it is possible to load another model.

Note : The process remains the same and is present in memory.


Auditer un modèle

Audit a model

To launch an audit of the model, you must either:
  • Click on the button "Launch an audit of the model".
  • Open the "Process" menu and select "Launch an audit of the model".
The result of the audit is displayed in the lower part of the screen ("Error list / Rules").

All rules that are not respected are displayed in the list with the information of the model concerned by the anomaly.


Consulter la liste des erreurs d'audit

Consult the list of audit errors

The error list displays all errors corresponding to the active criteria.

The number of errors displayed under the list is dependent of the active filter.

A link under the list allows to copy its contents to the clipboard in CSV format.

Criteria ("View by") are at choice about "Types of rules" or "Activities".
  • View by « Type of rule »:
    • The four types of rules are displayed: Entities (Properties), Entities (Relations), Entities (Diagrams), Relations.
    • Enable or disable a rule type changes the list by filtering anomalies according to these criteria.
    • The "All" button activates all the types of rule at the same time.
  • View by « Activities »:
    • Activities that you have declared in the process specification are displayed as filter.
    • Enable or disable an activity changes the list by filtering the anomalies on this criterion.
    • The "All" button allows to activate all activities at the same time.
    • The filter "Unlink" allows to display anomalies related to a rule that has not been assigned to an activity during the phase of rules specification.


Généralités

Navigate in a model

(Information common to the two 'types' of navigation)

The upper part of the navigation screen includes three information:

  • A drop-down list to select the navigation mode you need among those declared in specification. It is possible to change navigation mode at any time.
  • The "Type of navigation" selection desired among "Standard" and "Completeness".
  • A field indicating the UML package with its path containing the last selected entity.


Type de navigation Standard

"Standard" navigation

This type of navigation allows to navigate in a 'classical' way in your model and go from activity to activity with entities such as thread.

You must first select the activity that will start your navigation.

If this activity is:

  • the first of the process, you will naturally go forward (from up to down).
  • the last of the process, you will go backwards (from down to up), in «retro» mode.
  • an intermediate activity (neither the first, nor the last of the process), you will go both backward and forward from entities of this selected activity.

Note : When you select an intermediate activity that contains two sets of entities, you are asked what is the set that you want to fill among the two possibilities.

An activity has one or two lists of entities and a list of diagrams.

When you select one or more entities of a list:

  • lists of entities immediately following (in the order of statements of the navigation mode of the process) are filled,
  • the list of diagrams is updated by displaying all diagrams that contain the selected entities in this activity.

With this mode of navigation, you can know, for example:

  • at what stage is the progress of a realization project,
  • What is the impact of changes on a feature
  • What is the impact of changes to a design class
  • are all fundamental classes well followed by automated regression test classes?
  • Is the retro-documentation project details eloquently the important aspects of the software?
  • Does the reorganization of the project connects all elements of documentation to implementation classes through use cases and vice versa?
  • What is the level of progress of a project of reverse engineering?
  • …


Type de navigation Complétude

"Completeness" navigation

This type of navigation allows to query the model on the question of its completeness, based on the principle that any entity of an activity must be connected to at least one entity of a downstream activity that itself will be connected to another entity to more downstream activity and so on to arrive at an entity of the last activity.

By this principle, a model is considered as complete if each entity is connected directly or indirectly to an entity of the last activity.

Any entity that does not respect this principle shows that the model is in a state of incompleteness.

  • Incompleteness:

In this type of navigation, entities that are displayed in the lists are entities that put the model in a state of "incompleteness". They therefore have on their route to the final activity entities that have no entity in the next activity.

Important: It is worth noting that it just need one entity to be linked to a single entity of the next activity, so that it doesn't get detected as "incompleteness", which is not necessarily true. A control is therefore necessary. The reading of the documents and diagram's display allows to perform the check. On the other hand, if it isn't connected to any entity in the next activity, it will with no doubt put the model in a state of "incompleteness".

  • Node "Leaf" in the course:

Some entities are highlighted. These are entities that aren't related to any other entity in the next activity of the process.

  • Selection of an entity:

By selecting an entity, all of the following entities (forwards or backwards) which are connected to this entity directly or indirectly are highlighted.
As for the type of navigation "Standard", the selection of an entity causes the display of the list of the diagrams in which it appears and the name of the package (with the path) that contains it in the UML model.

  • With this navigation mode, you can:
    • view in one click the degree of completeness of a project, whatever this is a project of: realization, reverse-engineering,...
    • define the entities that are to realize in priority.
    • quickly visualize gaps in the model without having to browse all branches entity by entity, activity by activity.
    • ...


Outils

Tools Tab

Known as "Stereotyping", the set of the stereotypes that are assigned to an entity or a relation.

The two tools described below, allow to affect very easily stereotypes to entities and relations of your model and in an extremely efficient manner.

Without these tools, stereotyping can be very tedious, in reverse-engineering, MDA process or other... because it is necessary to apply stereotypes to all entities and to all relations.

ApplicationIQ allows to affect stereotypes (entities or relations) to sets you have defined.

It is reasonable to say that the MDA without having tools for stereotyping like those of ApplicationIQ, is utopian given the workload and the difficulties of management of work of stereotyping they require.

ApplicationIQ helps you to target all of the objects (entities or relations) and to assign in a click stereotypes to all objects (entities or relations) of this set.

Note: to see the result of your changes in Enterprise Architect, it is necessary to reload or refresh the diagram in Enterprise Architect if this diagram is already open.


Modification de stéréotypage d'entités

Modification of stereotyping of entities

This tool allows to view stereotyping of entities ... and to modify this stereotyping by removing some stereotypes and in adding others.

  • As the first action, you must load the data of the model by clicking on the button "Load data".

Following this action, the model tree (with their assigned stereotypes) and the list of applicable stereotypes box are filled.

  • You can browse the model tree and select the node on which or from which you will apply the designated stereotypes.

If the selected node is an entity (and not a package), the stereotypes assigned to this entity are displayed in the box "Stereotype".

  • The "Stereotype" area presents all of the stereotypes that have been defined in the "Specification" part of the process.

You can modify the stereotypes that are designated: remove a stereotype by unchecking, add stereotypes by checking.

  • The "Modifications" box allows to define how the stereotyping of the "Stereotype" zone will be applied.
    • "Target" : Allows to select whether stereotyping will be applied to a "Single element" (the one that is selected in the "Model" area) or "Lower level only" (all entities that are placed below the selected entity) or by a "Recursive" mode (the entities selected as well as all the entities directly or indirectly below).
    • "All types" : when this box is checked, no type distinction is made in the execution of stereotyping.
    • "Type of element" : this list contains the list of all types of elements that exist in ApplicationIQ. The selection in this list is possible only if the "All types" checkbox has not been checked. In this case, the stereotyping will be applied only on the entities of the selected type.
    • The "Apply" button allows to successively:
      • remove the stereotyping that existed before clicking,
      • assign the new stereotyping.
    • The "Add" button allows to add stereotyping at what existed before clicking. There's no deletion of previous stereotyping.

After making the change, the "Model" area is updated and the entities of the loaded UML model into Enterprise Architect are modified with the new stereotypes.


Modification de Stéréotypage de relation

Modification of stereotyping of relations

The modifying tool of stereotypes of relations allows to select relations by properties of their ends and by a type of relation. This allows to create a set of relations. It is possible then to assign to each of these relations, one or several stereotypes among those existing for this type of relation in the methodology that was specified.

The use of this tool is therefore done in three steps:

1. Selection of the relations which we have to operate:

Important: It is worth noting that all of the relations (low list of the screen) is refreshed when the three details are entered. If the criteria results to no relation in the model, the list remains empty.

1.1. Selection of entities of end #1:

You must select an entity type in the list. The list of stereotypes is then updated. You must then select a stereotype among those proposed. The model tree is then filled according to this filter.
You can also select a package.

1.2. Selection of entities of end #2:

The procedure is the same as for the end #1 and allows to define the set of entities to the end #2.

1.3. Selection of the type of relations:

You must select a type of relation between end #1 and end #2.
When the three criteria lead to a non-empty set of relations, two lists are updated:

      • The list of relations at the bottom of screen. It contains all the relations that meet the three criteria of selection.
      • The list of the "Current Stereotyping": this list contains a stereotyping by line. A stereotyping is a set of stereotypes (applied to an entity or a relation). This list is filled from the contents of the list of relations and shows all existing stereotyping.
For example, if you have two relations R1 and R2 with the following stereotyping:
        • R1: StereotypeA, StereotypeB
        • R2: StereotypeB

The list of the stereotyping will be:

        • StereotypeA, StereotypeB
        • StereotypeB

If you change the selection criteria, and if you have two new relations:

        • R3: StereotypeA
        • R4: StereotypeB

You will then have the following list of current stereotyping:

        • StereotypeA, (for R3)
        • StereotypeB, (for R2 and R4)
        • StereotypeA, StereotypeB (for R1)

2. Selection of the stereotypes you want to apply or add

The box "Apply, add ...". "contains the list of stereotypes that can be used with the relation type selected in 1.3 and declared in "Specification" mode.
In this list, you must select the stereotypes you want to apply or add (depending on the button) to all relations contained in the list of relations (bottom of screen).

3. Execute the modifying by clicking on 'Apply' or 'Add'

The click on "Apply" allows to remove the current stereotypes of the selected relation that appear in the list at the bottom of screen, and assign then the selected stereotypes in the list of the same area.

The click on "Add" allows to add the stereotypes list to relations contained in the list of relations (without prior deletion).