The Process
The Process described here is a recommendation in which order the
different parts of a system should be defined in. It is possible to
use LISA with any reasonable process available.
Languages are the primary focus for a Software Architect. New
Languages should be invented when needed and old Languages should be
reused when suitable. Second comes the Components and their
dependencies. On third place comes the definition of executables and
libraries and their Deployment on computer nodes.
The process only describes one typical iteration cycle. It is possible
to use it in an iterative and incremental development process.
The process describes the construction of an End User
Program. Adaptations for more complex systems are possible.
Input to the Process is a requirements specification written by the
user.
- Define the Architecture and the Language inheritance graph.
- Formulate the scope of the Domain Language.
- Define the Domain Language.
- Design the Domain Language Implementation
- Implement the Domain Language.
- Define the User Interface.
- Formulate the requirements for the Application.
- Define the Application.
- Design the Application Implementation.
- Implement the Application.
- Design the User Interface.
- Implement the User Interface.
- Update the Architecture and Language inheritance graph with new
Baseline Languages identified during the design steps.
Iterative Breakdown
The three design steps in the Process have the important task to find
suitable Baseline Languages that can help with the
implementation. Baseline Languages can be already existing Languages
or Languages that needs to be implemented in the project.
It is possible to get some help identifying Baseline Languages during
the definition of a Language. Try to find clusters of vocabulary that
adhere to the definition of a well defined Language. Remove any
remaining dependencies by adding some additional vocabulary to the
potential Baseline Language. Look for already existing Languages in
the relevant area.
Artefacts
A number of artefacts are generated during the process.
Functional Specification contains Application and Domain
Language descriptions and Application requirements.
Design Specification contains Component designs.
User Manual contains the User Interface definition.
|