trends in software intensive systems development - integrail szymanski - trends in ict... · jacek...

26
JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Upload: vuphuc

Post on 01-Mar-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

JACEK SZYMANSKI

INFORMATION SYSTEMS CONSULTANCY

Trends in Software Intensive Systems Development

Page 2: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Outline

� Complexity of ICT Projects� Origins

� Consequences

� Remedies

� Structural improvement – SOA/SCA

� Methodological improvement – agile methodologies

10/20/2011Jacek Szymanski ICT Workshop, Prague

2

Page 3: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Context

� ICT projects develop software intensive systems� In such systems software components control and observe system’s status , interact with system users and system environments (other systems)

� Software components interact not only with other software components, but also with external systems, devices, sensors and with people� Large variety of software from in-the-tiny to in-the-large

10/20/2011Jacek Szymanski ICT Workshop, Prague

3

Page 4: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Origins of difficulties(1)

� Complexity of railway systems universe � heterogeneity

� need for integration of legacy components

� distribution

� evolutivity

10/20/2011Jacek Szymanski ICT Workshop, Prague

4

Page 5: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Origins of difficulties(2)

� User pressure:� User requires explicitly functions and qualities

� Complexity of required functions vary from simple stand alone to composite

� An implicit requirement imposed on software components is continuous and transparent operation

� Software components especially the embedded ones, need to be for the user invisible and highly dependable � example: ABS software

10/20/2011Jacek Szymanski ICT Workshop, Prague

5

Page 6: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Railway system complexity cube

Functions are qualified

according to three

criteria:

•Functional level

•Spatial range

•Temporal range

10/20/2011Jacek Szymanski ICT Workshop, Prague

6

Page 7: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Consequences of increase of complexity

� In such a system software has chances to become exceptionally complex in all aspects

� As the consequence all life cycle stages exhibit problems� Definition - partial

� Design – incomplete

� Production – error prone

� Commissioning – lengthy and delayed

� Exploitation – uncertain

� Maintenance – costly

10/20/2011Jacek Szymanski ICT Workshop, Prague

7

Page 8: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Software system project outbreaks

� Fragility of projects developing software intensive systems is well known� Difficult inception phase

� Incomplete design

� Painful development

� Delayed commissioning

� Costly curative maintenance

10/20/2011Jacek Szymanski ICT Workshop, Prague

8

Page 9: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

What is wrong ?

� Inherent fragility of methodological approach to software development� methodologies inherited more or less directly from the waterfall or V-shaped process models

� The basic models exhibit structural fragility for any changes in the initial definition of fundamental system characteristics: � its structure

� its qualities

10/20/2011Jacek Szymanski ICT Workshop, Prague

9

Page 10: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Remedy

� Produce component based extensible software systems� Service Oriented Architecture pattern

� Put the change at the center of the software development process� Recent trends in software development processes known under collective name of agile methodologies

10/20/2011Jacek Szymanski ICT Workshop, Prague

10

Page 11: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

SOA

� SOA -Service-oriented architecture � a flexible set of design principles used during the phases of systems development and integration .

� Service –independent unit of functionality

� A SOA based application associates services using orchestration� no direct bindings among services

10/20/2011Jacek Szymanski ICT Workshop, Prague

11

Page 12: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Guiding principles

� Ground SOA rules for system development� Services identification and categorization

� Compliance to standards (both common and industry-specific).

� Reuse, granularity, modularity,

� Composability, componentization and interoperability

10/20/2011Jacek Szymanski ICT Workshop, Prague

12

Page 13: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

SOA principle of operation

� Basic paradigm of SOA:� Publish (register), Find, Interact(Bind)

10/20/2011Jacek Szymanski ICT Workshop, Prague

13

Page 14: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

SOA vs Web Services

� Frequent misunderstanding of the two notions which are different

� SOA and WS are neither the same nor redundant

� Differences:� SOA is not bound to any specific technology

� Web Services are an instantiation of SOA with

� SOAP as the transport protocol ,

�WSDL as the service interface description

� UDDI as the service discovery and binding

10/20/2011Jacek Szymanski ICT Workshop, Prague

14

Page 15: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Service Component Architecture(SCA)

� Extension of SOA paradigm� Support for constructing systems obeying SOA rules

� Clear definition of reusable software component

� SCA provides the foundation for � Modeling applications through the definition of SCA assembly meta-model

� Supporting system building processes by specification of tools which transform models to software

10/20/2011Jacek Szymanski ICT Workshop, Prague

15

Page 16: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

SCA approach

10/20/2011Jacek Szymanski ICT Workshop, Prague

16

� SCA organizes building a service-oriented application in two major steps:� The implementation of service components which provide services and consume the results produced by other services.

� The assembly of sets of components in to business applications, through the wiring of service references to services of other components.

Page 17: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Central SCA artefact - component

� Components � basic elements of business function

� combined into complete business solutions by SCA composites.

ComponentComponent

PropertiesServices

ReferencesImplementation-JAVA-BEPL- Composite

10/20/2011Jacek Szymanski ICT Workshop, Prague

17

Page 18: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

SCA Composite

Component A Component BService Reference

Composite A

Service- Java Interface- WSDL Port Type

Binding- JMS- Web service

Promote

Reference- Java Interface- WSDL Port Type

Binding- JMS- Web service

PromoteWire

Property setting

Properties

10/20/2011Jacek Szymanski ICT Workshop, Prague

18

Page 19: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

INTEGRAIL – an example of SOA

10/20/2011Jacek Szymanski ICT Workshop, Prague

19

Railway Communication Framework

InteGRail Service Grid

Virtual

servicesFlexible

CommunicationAdaptor

FlexibleCommunication

Adaptor

FlexibleCommunication

Adaptor

Flexible

CommunicationAdaptor

FlexibleCommunication

Adaptor

Flexible

CommunicationAdaptor

Infra-RIOM-

Infra Sensor Infra SensorInfra SensorInfra

Sensor

BayNetworksSD

Ba

802.11Modem

DDU

RadioTCMS-MPU-TCMSSensors

«Train» Backbone

RTRTrain Sensors

db22222

Trafficmanager

Trafficmanager

Infrastructuremanager

TrainOperator

KPI computation,Common data model,Service directory

IGRPortal

Virtualservices

Virtual

servicesVirtualservices

Jacek Szymanski ICT Workshop, Prague

19

Page 20: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Agile Methodologies

� Family of development processes which provide alternative solution to waterfall of V-shaped model

� Offer improvement with respect to purely prescriptive process

� Incorporate smoothly changes into the process� This provides the basic difference with respect to prescriptivemethodologies

10/20/2011Jacek Szymanski ICT Workshop, Prague

20

Page 21: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Effective response to constant changes

� Organization of the life-cycle of the project around four basic principles :

10/20/2011Jacek Szymanski ICT Workshop, Prague

21

Page 22: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Life cycle organized by iterations

Inception Elaboration Construction Transition Production

Business Modeling

Requirements

Analysis and Design

Implementation

Tests

Deployment

Prel. Iter Iter Iter Iter Iter Iter Iter Iter

Iterations

10/20/2011Jacek Szymanski ICT Workshop, Prague

22

Page 23: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Principal targets

� Close collaboration of stakeholders and system providers in order to support:

Responsiveness to changes

Direct communications

Frequent contacts

Team motivation

Sustainable collaboration

Mutual trust

10/20/2011Jacek Szymanski ICT Workshop, Prague

23

Page 24: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Stakeholders and providers

A pig and a chicken are walking down a road. The chicken looks at the pig and says, "Hey, why don't we open a restaurant?" The pig looks back at the chicken and says, "Good idea, what do you want to call it?" The chicken thinks about it and says, “Why don't we call it 'Ham and Eggs'?" "I don't think so," says the pig, "I'd be committed but you'd only be involved."

10/20/2011Jacek Szymanski ICT Workshop, Prague

24

Page 25: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

Conclusions

� Information and Communication Technology places railway systems into the category of software intensive systems� An appropriate architectural pattern allows better control of the design characteristics of the system

� Efficient production of high quality railway software needs the appropriate methodologies to organize the production process� Putting the change in the middle of the scene

10/20/2011Jacek Szymanski ICT Workshop, Prague

25

Page 26: Trends in Software Intensive Systems Development - InteGRail Szymanski - Trends in ICT... · JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY Trends in Software Intensive Systems Development

THANK YOU FOR YOUR KIND ATTENTION