software design and uml in preevision

32
V0.0 | 2019-10-16 PREEvision 9.0 Software Design and UML in PREEvision RELEASED IN WORK - NOT

Upload: others

Post on 24-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Design and UML in PREEvision

V0.0 | 2019-10-16

PREEvision 9.0

Software Design and UML in PREEvision

RELEASEDIN WORK -NOT

Page 2: Software Design and UML in PREEvision

2

u Software Design in PREEvision

Structured Software

Object Oriented Software

Service Oriented Architecture

Common tools

Roadmap

Agenda

Page 3: Software Design and UML in PREEvision

3

PREEvision layers

Software Design in PREEvision

Page 4: Software Design and UML in PREEvision

4

Common toolsService Oriented Architectures

Support of different software design paradigms

Software Design in PREEvision

Procedural paradigm Object-oriented paradigm

Interfaces

Page 5: Software Design and UML in PREEvision

5

Software Design in PREEvision

u Structured Software

Object Oriented Software

Service Oriented Architecture

Common tools

Roadmap

Agenda

Page 6: Software Design and UML in PREEvision

6

u Procedural programming: small procedures which can be called by a well-defined interface

u The software is decomposed in procedures and structured in a tree-like way

u The procedures are composed of few control structures

u Sequence: ordered statements

u Selection: statements are executed depending on the state of the program (if…then…else…endif)

u Iteration: statements are executed until the program reaches certain state (while, for, repeat, do…until)

u Recursion: a statement repeatedly calls itself until a termination condition met

u Examples of structured programming languages

u C

u Pascal

u Basic

u COBOL

u Etc

Characteristics of the structured software paradigm

Structured Software

Page 7: Software Design and UML in PREEvision

7

u Creation of the hierarchical software structure using compositions and components

u Tree and tabular representation of the software hierarchy

Definition of structured software

Structured Software

Hierarchical software structure Software structure with ports and connectors

Page 8: Software Design and UML in PREEvision

8

u Shows components and dependencies between them.

u Definition of Component, Interface, Port, Connector, etc. are available

u Support for documentation, pictures and shapes

u Display of mappings to other artifacts and tables with related content

u Refactorings for changing components

Component diagram

Structured Software

Component diagram Component refactoringsSoftware

Component

Port

Connector

Mappings

Comments

Page 9: Software Design and UML in PREEvision

9

u Diagram for the interface design

u Paradigms of communication between components: Client-Server, Sender-Receiver

Interface diagram

Structured Software

Software Component

Sender-Receiver Interface

Client-Server Interface

Interface assignment

Page 10: Software Design and UML in PREEvision

10

u Internal behavior is described using Runnable Entities, Events, Variables, Parameters, etc.

u A Runnable Entity represents the smallest code fragment that is provided by a component

Description of the internal behavior

Structured Software

The Internal Behavior artifact contains the internal behavior model of a software component

Runnable Entities are activated by Events. Different classes of Events are available: Init, Timing, Data Received, Data Send Completed, Operation Invoked, Operation Call Result, etc.

The Runnable Entity representing a code fragment

Runnable Entities may access the data produced or consumed by the Software Component

This formalized description of the software component internal behavior allows the generation of code

Page 11: Software Design and UML in PREEvision

11

u Modelling nested records in a graphical way allows an easy understanding of the structure

u Based on the class diagram

Complex Data Type Diagram

Structured Software

StructSub-Struct

Page 12: Software Design and UML in PREEvision

12

Software Design in PREEvision

Structured Software

u Object Oriented Software

Service Oriented Architecture

Common tools

Roadmap

Agenda

Page 13: Software Design and UML in PREEvision

13

u Object oriented programming: is based on the concept of objects, which can contain data (fields, often known as attributes or properties), and code (procedures, often known as methods)

u Objects

u are instances of classes

u can access via methods to other object’s fields and change them

u Examples of object oriented programming languages:

u C++

u Java

u C#

u Phython

u Etc.

Characteristics of the object oriented software paradigm

Object Oriented Software

Page 14: Software Design and UML in PREEvision

14

u Shows structure of a system, subsystem or component as related classes and interfaces, with their features, constraints and relationships - associations, generalizations, dependencies, etc.

u Creation of classes with fields and methods and setting of relationships

Class diagram

Object Oriented Software

Concrete Class

Abstract Class

Inheritance

CompositionAssociation

Method

Field

Page 15: Software Design and UML in PREEvision

15

u Instance level class diagram

u shows instance specifications of classes and interfaces, value specifications and links (instances of association).

Object diagram

Object Oriented Software

Object

Associationinstance

CompositionInstance

Page 16: Software Design and UML in PREEvision

16

Package diagram

Object Oriented Software

u Shows the packages and the relationships between them

u Allows evaluating the software architecture and its dependencies

Package

PackageDependency

Class

Page 17: Software Design and UML in PREEvision

17

u Shows discrete behavior of one system through finite state transitions

u Design of Simple States, Composite States, Transitions, Start and End Point, Conditions, etc.

State machine diagram

Object Oriented Software

End node

Start node

Composite state

Simple state

Transition

Junction

Choice

Paralellstate

Deep story

Page 18: Software Design and UML in PREEvision

18

Software Design in PREEvision

Structured Software

Object Oriented Software

u Service Oriented Architecture

Common tools

Roadmap

Agenda

Page 19: Software Design and UML in PREEvision

19

u Service Oriented Architecture is a way of designing software where the participating components provide and consume services through a defined protocol over a network

u Separates functionality into different units or services

u Promotes combination and reuse

u The functionality is distributed in several ownership domains

u Promotes interoperability through well-defined interfaces

u Example service oriented architecture technology implementations:

u Web Services based on WDSL or SOAP

u REST

u Windows Communication Foundation

u Google Remote Procedure Call

u Etc

Characteristics of service oriented architectures

Service Oriented Architecture

Page 20: Software Design and UML in PREEvision

20

Use Case Diagram

Service Oriented Architecture

u Describes a set of actions, called use cases, that some system (subject) can perform in collaboration with one or more external users of the system (actors) to provide some observable and valuable results.

u Design of use cases, use case systems, actors, include and extend relations, extension points, generalizations

Use Case

Actor

Includes

ExtendsExtension point

Page 21: Software Design and UML in PREEvision

21

Service Architecture Diagram (service interface based)

Service Oriented Architecture

Service orchestration

u Describes the services and the service orchestration

u Design of Service Architecture, Services, Service Provider, Service Consumer and Dependencies

u Supports the Service Interface based approach of the SOA

Service Architecture

Service

Service Provider

Service Consumer

Dependency

Page 22: Software Design and UML in PREEvision

22

u Describes the services and its participants

u Supports the Service Contract based approach of the SOA

u Design of Participants, Ports, Contracts

Service Architecture Diagram (service contract based)

Service Oriented Architecture

Participant

Contract

Port

Page 23: Software Design and UML in PREEvision

23

u Using combined diagrams is possible to describe several aspects of the design

Combined diagram

Service Oriented Architecture

Component

Service Interface

Package

ServicePort

Class

Page 24: Software Design and UML in PREEvision

24

Software Design in PREEvision

Structured Software

Object Oriented Software

Service Oriented Architecture

u Common tools

Roadmap

Agenda

Page 25: Software Design and UML in PREEvision

25

u Software Implementation layer stored the implementation details of software components

u Administration of source code an documentation by the SVN integration

u Access to the repository using common SVN clients

u Full traceability from the modeled Software Component to the source code and documentation

Integrated Implementation and File Management

Common tools

SVNServer

Page 26: Software Design and UML in PREEvision

26

u Integrated requirement management

u Description of textual requirements which can be linked to every artifact

u Traceability from requirement to realization artifact

Integrated Requirement Management

Common tools

Requirements

Realization

Page 27: Software Design and UML in PREEvision

27

u Integrated test data management

u Design of Test Project, Test Specification, Test Implementation

u Every artifact can be an “object under test”

Integrated Test Data Management

Common tools

Test project

Test specification

Test implementation

Implementation analysis

Page 28: Software Design and UML in PREEvision

28

u Integrated ticket and release management

u Handling of Ticket, Ticket type, Ticket category, Ticket set, Gate, Responsible, etc.

u Every artifact can be referenced by a Ticket as affected artifact

Integrated Change Management

Common tools

Tickets Affected artifacts

Page 29: Software Design and UML in PREEvision

29

u Based on the model several Import/Export interfaces are available

u AUTOSAR, XML, Excel, CSV, Txt, ReqIf, eea

u Automation possible

u REST API available

Interfaces / Import / Export

Common tools

PREEvision

AUTOSAR

XLS

CSV

ReqIF

TXT

XML

Page 30: Software Design and UML in PREEvision

30

Software Design in PREEvision

Structured Software

Object Oriented Software

Service Oriented Architecture

Common tools

u Roadmap

Agenda

Page 31: Software Design and UML in PREEvision

31

u PREEvision 10.0 feature candidates

u UML extensions> Message Sequence Diagram

> Activity Diagram

u Other diagrams> Complex Data Type Diagram

u Software Design Explorer

u Franca IDL Import/Export

Roadmap Software Layer

Roadmap

Page 32: Software Design and UML in PREEvision

32 © 2018. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.0 | 2019-10-16

Author:Marcelino VarasVector Germany

For more information about Vectorand our products please visit

www.vector.com