Beruflich Dokumente
Kultur Dokumente
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
1. Introduction
The main objective is to set up a basis for
software implementation (coding)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Overview Analysis and design
WHAT?
Analysis of HOW?
software Preliminary
requirements
Design
Detailed
Design
Coding &
Integration
CSU test & CSC test
CSCI test
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Analysis and design Goal
GOAL OF THE ANALYSIS
– What are the functions to be implemented to achieve the
mission of the system ?
– Among these functions, what are these that will be
automatised (computerised, …) ?
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design Problem
Software of big size are difficult to control
Documentation organisation
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
2. Aims and Objective of Software Design
Design objectives
– Define one solution
…from the specification
– Provide an organisation
…meeting the quality criteria
– Define the interfaces
…for distribution and control
– Justify the conception concepts
…for communication and maintenance
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : For Whom & For What ?
The project manager, to
– share the work and sequence the tasks, and track the
progress
– assure a good coherence of the decomposition
– localize the risks and begin with them (first the most
critical tasks)
The configuration manager, to
– organize the developmental configuration
management
– identify compilation packages
– organize the automatic compilation files
The product quality manager, to
– verify the traceability with the specification
documents
– identify any other criteria that can have an impact on
the design (simplicity, …)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : For Whom & For What ? (Cont’d)
The developer, to
– know exactly what he has to code
– define the associated unitary tests
– know the interfaces of the modules to realize
The integrator, to
– know how to compose the system from the
different CSUs & CSCs (like a puzzle)
– be compliant with the integration states
– identify the requirements and associated tests for
each CSCs
The maintenance, to
– be able to navigate in the software
– be able to identify the reason of the problem
– localize the tuning and evolutions interventions
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : When ?
• After the requirements specification and before the coding.
SSR
Software requirements
analysis
PDR
Preliminary Integration
Design tests
CDR
Detail Unitary
SRS Design tests
IRS (*)
pSDD Coding
final
SDD
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : by Whom ?
This is the Software Project Manager decision
• Preliminary Design : Architectural choices must be compliant with the constraints :
– Functional requirements,
– Timing requirements,
– Configuration management constraints,
– Quality & Security constraints,
– …
• Detail Design :
– The work is shared according to the availability, skills, …
– If it is possible, the detail design, coding and unitary testing will be done by the
same developer.
• Discussion : the reusing
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : What ?
3 Points :
• Software Architecture = Breakdown in items and interfaces
– The detail design will describe each item : its data, its algorithm, …
• Design choices justification
• Traceability (how ?)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : What ?
Goal of the design : how to organize the software to meet the required functions
according to the required constraints
CREATIVE ACTIVITY
Main characteristics of a design Method :
• Enable the creativity,
• Flexible & non constraining,
• Guideline,
• Using rigorous models,
• Independent from any hardware environment,
• Help in setting up and respect of the standards,
• Make easier the reusing.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : What ?
ARCHITECTURE ?
Breakdown in CSCs/CSUs
Files organization
– It should be possible to make the link between design items and files
organization.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design : What ?
• The tool is a model : it allows to identify the studied entities.
• To the tool is associated a construction procedure that :
– Guarantees the construction of the TRACEABILITY,
– Uses the specification model
• The transition from the specification to the design is always delicate,
• It’s natural to use the SA-RT model as starting point for the design phase,
• The SA-RT model being a functional approach, the transition to a functional
design is almost natural.
– Brings evaluation and transformation criteria,
– The detail design philosophy favours some objectives of the design. We use the
modularity to localize always correctly evolutions, adaptations and
modifications.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Specification/Design Transition
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Abstraction Level
Two abstraction Level
Preliminary Design: Software Architecture,
interface
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Preliminary Design
INPUTS
• detailed requirements for the CSCI (SRS - IRS)
• qualification method for the CSCI requirements
ACTIVITIES
• develop the CSCI preliminary design
• do the detailed study of analysis/options
• allocate the requirements to the CSCs
• develop the test plans (STP) for the FQT of the CSCIs
RESULTS
• design detailed requirements for the CSCs
• CSCI preliminary design
• CSCI interfaces preliminary design
• description of the FQT of the CSCIs (STP)
• CSCs integration tests requirements
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Preliminary Design items
Functions
External interfaces
CSCIx States & modes
Global data
Shared data files
Functions
Interfaces
States & modes
Memory & time
CSCx.1 Control flows CSCx.2 CSCx.y
Data controls
Allocated requirements
Design constraints
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Detailed Design
INPUTS
• CSCI preliminary design (CSCs)
• CSCI interface preliminary design
• CSCIs FQT description (STP)
• CSCs integration tests requirements
ACTIVITIES
• develop the CSCI detailed design
• develop plans, schedule for the test of the CSCs/CSUs
• describe the test procedures for the CSCIs FQT (pSTD)
RESULTS
• CSCI detailed design, i.e. CSUs ready to be coded
• CSCI interfaces detailed description (???)
• CSCs/CSUs unitary & integration tests plans
• test cases for the FQT of the CSCIs (pSTD)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Detailed Design items
CSCIx
Functions
CSCx.1 CSCx.2 Allocated requirements CSCx.y
Design constraints
Programming language
Library identification
I/O data, local data
CSCx.1.1 CSCx.1.2 CSCx.2.1 Interrupts & signals
CSCx.2.2
Algorithms
Faults recovery
Data transformation
Data structures
Local Files / Data bases
Limitations
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Object Oriented Design Concepts
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
OOD Concepts: Contents
• Overview
• The Object model: basic principles
– "Philosophical" approach
– Abstraction
– Encapsulation/masking
– Modularity
– Hierarchy
– Typing
– Concurrency
– Persistence
• Classes and Objects
• Difficulties and potential traps
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Overview: History
• The Seventies: structured programming and design
– Decisive moment
– Initial approach to program structuring
– Influences the creation of languages such as Pascal
– Restricted approach for large software (modularity, maintenance, upgrades, etc.)
• The Eighties: object programming and design
– Software engineering
– Modular programming (Ada)
– Object programming (C++)
– Object oriented design methods
• The Nineties: object programming, design and analysis
– Object oriented design and analysis methods (OMT, Booch, etc.)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Overview
Structured approach v Object approach
Processing
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The Object model : Basic principles (Booch)
– Abstraction
– Encapsulation/masking
– Modularity
– Hierarchy
– Typing
– Concurrency
– Persistence
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Abstraction
Abstraction arises from a recognition of similarities between certain objects,
situations, or processes in the real world, and the decision to concentrate upon these
similarities and to ignore for the time being the differences (Hoare).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Encapsulation/masking
Encapsulation is the process of compartmentalising the elements of an abstraction that
constitute its structure and behaviour; encapsulation serves to separate the contractual
interface of an abstraction and its implementation (Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Modularity
Modularisation consists of dividing a program into modules which can be compiled
separately, but which have connections with other modules (Liskov).
The connections between modules are the assumptions which the modules make about
each other (Parnas).
Modularity is the property of a system that has been decomposed into a set of cohesive
and loosely coupled modules. (Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Hierarchy
Hierarchy is a ranking or ordering of abstractions (Booch).
is a (class structure)
HERITAGE
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Typing
Typing is the enforcement of the class of an object, such that objects of different types
may not be interchanged, or at the most, they may be interchanged only in very
restricted ways (Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Concurrency
Concurrency is the property that distinguishes an active object from one that is not
active. (Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Persistence
Persistence is the property of an object through which its existence transcends time
(i.e. the object continues to exist after its creator ceases to exist) and/or space (i.e. the
object’s location moves from the address space in which it was created). (Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
OOD Concepts: Contents
• Overview
• The Object model: basic principles
• Classes and Objects
– What is an object?
– What is a class?
• Difficulties and potential traps
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
What is an object? (1)
POSTULATE
The real world is made up of autonomous entities which interact
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
What is an object? (2)
• An object
– is correctly determined, and is quite separate from its environment.
– presents characteristics that can be observed.
– is surrounded by other objects.
– reacts to events that take place in its environment, or events that are signalled, by
undertaking actions.
– informs its environment of events concerning this environment or of which it has
knowledge.
• An object models
– a tangible object in the physical, natural or artificial world
– a construction of the mind (bank account, graphical window, path, etc.).
• An application is the result of co-operation between objects
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
What is an object? (3)
An object represents an individual, identifiable item, unit, or entity, either real or
abstract, with a well-defined role in the problem domain.
(Smith and Tockey).
An object has state, behaviour, and identity; the structure and behaviour of similar
objects are defined in their common class; the terms instance and object are
interchangeable.
(Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Characteristics of an object (1)
• An object has a state
– Example:
– PRINTER Weight
Size
Serial number
ON/OFF
Number of sheets in the tray
Number of jobs queued
...
The state of an object encompasses all the (usually static) properties of
the object plus the current (usually dynamic) values of each of these
properties.
(Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Characteristics of an object (2)
• An object has a behaviour
– Exemple :
– Switch on / Switch off
– Send a print job
– Print one page
– Display an error message
– ...
Behaviour is how an object acts and reacts, in terms of its state changes and
message passing.
(Booch).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Characteristics of an object (3)
• An object has an identity
LPT1:
LPT2:
LPT3:
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Level of object introduction
• Domain objects (of the reality where the system intervenes)
– Account, Client, Secret code
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Class (1)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Class (2)
• The description of a class groups the common description elements under the same name:
– attributes, domains of authorised values
– behaviour
– states/activities
– pertinent events
– transition/actions
– constraints
– associations with other classes
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Operation and method
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Inheritance (1)
• Inheritance is a mechanism in programming languages used to obtain a unit
just by describing its differences with an existing unit (programming by
extension).
• Inheritance allows for the sharing of attributes and methods between several
classes.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Inheritance (2)
• A sub-class
– benefits or inherits all the characteristics of its superclasses
– adds new specific characteristics
• Extremely vast sub-classes can be defined, scant in details and then refined
by more specific sub-classes.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Generics
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
TOOD - Historic recalls
• TOOD :
– an Object Oriented Design method, synthesis of different works
within THOMSON-CSF
– a graphical design language (based on the OOSD method)
– a theoretical framework inspired by Grady BOOCH, with a
hierarchy notion
– code generation possible for Ada and C (& C++)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
TOOD entities
• Five types of entities:
– machine (resources management)
– abstract data type (risk management in type manipulation)
– process, abstract process type (risk management in parallelism)
– sub-application (risk management of the complexity)
– collection (utility for grouping)
• Differentiation criteria :
– basic / composite (organization)
– object / class of objects (model)
– passive / active
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Entities Classification
BASIC / COMPOSITE OBJECT / CLASS PASSIVE / ACTIVE
MACHINE BASIC OBJECT PASSIVE
ABSTRACT DATA TYPE BASIC CLASS PASSIVE (instances)
PROCESS BASIC OBJECT ACTIVE
ABSTRACT PROCESS TYPE BASIC CLASS ACTIVE (instances)
SUB-APPLICATION COMPOSITE OBJECT PASSIVE / ACTIVE
COLLECTION COMPOSITE - -
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The 3 views of an entity
+ code
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The Machine entity
• A machine :
– is a passive object, that cannot be decomposed and which is unique
– contains data for which it is responsible by itself
– provides services (functionality or part of functionality)
– hides its own implementation
• Interface :
read
item : T_ITEM
status_report : status
write status
item : T_ITEM
exist
exist : Boolean item : T_ITEM
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The environment of a Machine
DICTIONARY
ADT_DOC_NAME
T_MODE
DATABASE
T_DOC_NAME
open
close
ADT_WORD
read convert T_WORD
equal max_size :
INTEGER
ADT_CHAR
equal T_CHAR
T_CHAR_STRING
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The body of a Machine
STORAGE_TABLE
internal_data
read
item_list full
local_type
write pt_1st_full
internal_operation
pt_1st_empty empty
exist
access_management
STORAGE_TABLE
internal_data
read
item_list
local_type
write pt_1st_full
status
internal_operation
pt_1st_empty
exist
access_management
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Translation of a Machine into Code
• Ada
– Interface package specification
– Body package body
– Environment with clauses
– Operations procedures and functions organized where
appropriate in separate sub-units
• C-ANSI
– Interface file .h (types, constants, prototypes of functions)
– Body file .c (static data, functions body)
– Environment #include clauses
– Operations functions
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The Abstract Data Type entity
• An abstract data type (ADT_xxx, AT_xxx, ...) :
– is a class of passive objects that cannot be decomposed
– represents a model of data
– must be instantiated to obtain real objects
• Interfaces :
ADT_MARKER ADT_MARKER
marker_too_big mark : T_MARKER
T_MARKER status_report : status mark : T_MARKER T_MARKER
increment_line
increment_line
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Environment & Body
• Environment of the Machine except that views
are possible only on abstract type
• Body of the Machine except that no data inside
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Translation of an Abstract Data Type into code
• Ada
– Interface private type in a package specification
– Body package body
– Environment with clause
– Operations procedures and functions organized where appropriate in
separate sub-units
• C-ANSI
– Interface file .h (typedef struct, constants, functions prototypes)
– Body file .c (functions body)
– Environment #include clauses
– Operations functions
– Programming rules are necessary to avoid a direct access to the type structure
(GDL30)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
TOOD and the parallelism
• Whenever possible, parallelism must be treated as late as possible.
• It is a very important source of difficulties :
– difficult to design
– difficult to test
– difficult to correct
– consume resources (change of context ...)
• Traditional cases where parallelism appears :
– input / output
– treatment to carry out with different priorities
– distributed systems
– treatment to carry out at regular intervals
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Synchronization
• Synchronous communication (rendezvous)
calling process
• Case 1 : high degree of synchronization
called process
item : T_ITEM
• Representation of the operation operation_name RV
calling process
• Case 2 : low degree of synchronization
called process
item : T_ELEM
• Representation of the operation operation_name RVs
Calling process
• Asynchronous communication
Called process
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The process entity
• A process entity is an active object, that is not decomposable and which is
unique.
• A process entity contains its own (and unique) thread of control.
• A process entity carries out :
– sequential processing
– synchronization with other processes
– communication with other processes, either as master or slave
• Interface :
PROCESS_NAME
oper1_name
item : T_ITEM
oper2_name
item : T_ITEM
oper3_name
P_PROCESS_NAME
proble
m
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The process entity
INPUT_MANAGER
• Example of process It_port IT
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Synchronization & Communication
item : T_ITEM
RECEIVER
SENDER
operation_name IT
RVs_block RV
item : T_ITEM
port_it IT RVs_unblock RV
operation_name EVT MAILBOX
item : T_ITEM write read
operation_name FIFO
item : T_ITEM
operation_name MBX
item : T_ITEM RECEIVER
SENDER
operation_name XX RVs_block RV
port_it IT RVs_unblock RV
write MBX
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Translation of the process entity into code
• Possible translations :
– Process = Ada task, in a dedicated package.
– Case of muti-processors : process = application being executed on a
given processor.
– Sequential Ada : process = Ada procedure attached subsequently by the
subjacent executive.
– In C it depends on the Operating System.
• Operations :
– Rendezvous = task entry (Full Ada)
– Translation via executive communication mechanisms (FIFO, events,
etc...)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The Sub-Application entity
• Organization entity allowing a decomposition hierarchy.
• Assembly of entities (machines, processes, sub-applications, collections).
• Strict sub-application : strictly composed of its entities.
• Non strict sub-application : part of the structure and/or behavior is linked to
"assembly objects".
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Interface and body of a sub-application
- Interface: item : T_ITEM TRACKING
accept_target
saturatio
saturation n
item : T_ITEM
console_comm A *
- Body :
console_comm RV accept_target FIFO
saturatio
*
n
accept_target FIFO
FILTERING
CO_TA
A 1 3
* saturation
Console_comm RV treat
TRACKING_TABLE
CONSOLE read
2 4
* write
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Translation of a sub-application into code
• The sub-application is just a view of the software organization : no
translation
• Two possible translations in Ada :
– The Sub-Application (SA) interface is effectively used as an external
interface (masking of the implementation). In this case, the SA is
translated using a package containing renaming of operations, constants
and exceptions, and declarations of sub-types.
– The SA is seen as a "compact" set of Ada code (use of a unique package),
it is then possible either to :
• use a package encompassing the packages of the SA,
• rename the operations, types, constants and exceptions in a package
specification (in this case there is no generated code).
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The collection entity
• Group of models (abstract types or generic entities).
• A collection can be made up of sub-collections.
• 3 possibilities :
– Empty interface diagram
Body diagram
– "Restricted visibility" interface diagram
Body diagram
– "Complete" diagram
• No explicit visibility arrows
• No translation : the collection is a purely design item.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Possible interfaces of a collection entity
CO_AT_TEXT CO_AT_TEXT
AT_INDEXED_WORD
AT_DOC_NAME
2
1
AT_MARKER AT_WORD
3 4
AT_CHAR
CO_AT_TEXT 5 CO_BASIC_AT
AT_DOC_NAME AT_WORD CO_AT_Numeric
AT_CHAR CO_AT_etc
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design choices and Performances
• Design choices have an impact on the performances :
– Using multi-tasking software : major technical risk in software
development
Prefer to use sequential solution
– Dynamic creation/destruction of processes (always compromise between
memory & CPU resource) :
Create all the required processes during the initialization phase.
– Dynamic creation/destruction of objects using C++ (constructor,
destructor).
– Dynamic allocation/release of memory :
Allocate all the required memory during the initialization phase, if
available.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Standard Process
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
The standard process
informations
entities
What are we talking about ?
attributes What are the pertinent informations ?
entities
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Standard Process
Step 1 : Identify the entities and the attributes
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Standard Process
Step 2 : Identify the functionalities and distribute them
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Standard Process
Step 3 : Determine the interface of the entities (operations, ...)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Standard Process
Step 4 : Describe the entities (body)
• Examples
–
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
From SA-RT to TOOD
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
From SA-RT to TOOD
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
From SA-RT to TOOD
• Terminations can be candidate to Interface Objects
– machine
– sub-application
– process
• Data flow : abstract types
• Data storage
– a storage + associated functionalities : an ideal object
• Verb in a process name : potential functionality
• Control flow : potential action
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
From SA-RT to TOOD
• Constants in storage
– attributes of an object (e.g. constants of initialization)
• P-spec
– they describe the functionality in detail (algorithm for detailed design or
information for decomposition).
• C-spec
– they can evoke objects themselves in complex automata cases. In this
case, this object is responsible of the scheduling of operations (caution :
do not re-invent a real time monitor)
• The SA-RT hierarchy is not equivalent to the decomposition hierarchy of the
TOOD model.
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Document SDD
1 - SCOPE 4 - DETAILED DESIGN
1.1 Identification 4.X Xth CSC name and project unique
1.2 System overview identifier
1.3 Document overview 4.X.Y Yth CSU name and project
2 - REFERENCED DOCUMENTS unique identifier
3 - PRELIMINARY DESIGN 4.X.Y.1 Design
specification/constraints
3.1 CSCI overview
4.X.Y.2 Design
3.1.1 CSCI architecture
5 - CSCI DATA
3.1.2 System states and modes
6 - CSCI DATA FILES
3.1.3 Memory and processing time
allocation 6.1 Data file to CSC/CSU cross reference
3.2 CSCI design description 6.X (Data file name and project unique
identifier
3.2.X CSCx name and project unique
identifier 7 - REQUIREMENTS TRACEABILITY
8 - NOTES
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Design Evaluation
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Preliminary Design & Traceability
Requirements allocation (SRS & IRS) to the CSCs
CSCI
CSC2.1 CSC2.2
R10 X X
F1 R11 X X
R12 X
F2 R20 X X
F0 R30 X X
R31 X
F3
R32 X X
R33 X X
F4 R40 X
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Preliminary Design Review
• OBJECTIVES
– Evaluate progress, consistence and technical appropriateness for design & test
philosophy
– Evaluate the traceability
– Evaluate the preliminary version of the using and logistic support documents
• REVIEWED ITEMS : pSDD, (pIDD), STP & pCSOM, pSUM, pCRISD
– Functional flux,
– Store allocation data,
– Control functions description,
– CSCI structure,
– Security
– Tools and Utilities for development and tests
– Logistic support documents and resources,
– Traceability (with SRS, IRS & SDP),
– Reliability, maintainability, transportability
– Human factors, test, ...
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Detailed Design & Traceability
Requirements allocation (SRS & IRS) to the CSUs
CSCI
CSC2.1 CSC2.2
CSU10 CSU11 CSU210 CSU211 CSU220 CSU221 CSU222 CSU31 CSU32 CSU33
R10 X X
F1 R11 X X X
R12 X
F2 R20 X X
F0 R30 X X
R31 X
F3
R32 X X X
R33 X X
F4 R40 X X
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Critical Design Review
• OBJECTIVES
– Evaluate the performance and test characteristics for the solution
– Evaluate the risks
– Traceability
• REVIEWED ITEMS : SDD, IDD, pSTD, CRISD, SPM, FSM, & pCSOM,
pSUM
– Detailed design of the CSUs
– Data, data bases, …
– Detailed definition of the interfaces
– Traceability
– Reliability, Maintainability, Human factors, …
– Test
– Support Documentation
– …
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)
Table of Contents
1. Introduction
2. Aims and Objectives of Software Specification
3. Design : Procedure
4. Object Oriented Design Concepts
5. TOOD (Technique of Object Oriented Design)
6. Specification/Design Transition
7. Design Document: SDD
8. Verification Techniques
9. Conclusion
RTSE Group
Software Design DIRGANTARA INDONESIA
INDONESIAN AEROSPACE (IAe)