30 years of Software Engineering : from art to business ? - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

30 years of Software Engineering : from art to business ?

Description:

Pont du gard , Nimes, France. 1st century after Jc. thousand slaves, 100 years ... Note on the application of machinery to the computation of astronomical and ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 63
Provided by: christi138
Category:

less

Transcript and Presenter's Notes

Title: 30 years of Software Engineering : from art to business ?


1
30 years of Software Engineering from art to
business ?

  • Anne-Marie HUGUESESSI
  • University of Nice Sophia Antipolis
  • FRANCE

2
Background
  • Academic research
  • compilers
  • parallelism
  • generic software environments
  • distributed objects
  • Industry
  • corporate Information systems (banking)
  • software environments
  • OS
  • Training
  • Software engineering
  • Data bases
  • Management of Information Systems

3
Agenda
  • Introduction
  • art /craft/ industry/business
  • The software process
  • Software components
  • Introducing reuse
  • software architecture
  • changing for reuse

4
Dream... Art Business

5
Craft industry
Log cabin 1person 1 month

Pont du gard , Nimes, France 1st century after
Jc thousand slaves, 100 years maintained 1992 - 96
6
Craft industry
Log cabin 1person 1 month

Montparnasse Tower Paris 1969 - 1972 hundreds of
workers
7
Dream
Charles Babbage -1791 -1871 Note on the
application of machinery to the computation of
astronomical and mathematical tables read to the
Royal Astronomical Society on 14 June 1822.

8
Meanwhilewhile

Viaduc de Gabarit 1875-1880
9
Art

10
Meanwhile...
Tancarville bridge France 3 477 000 working hours
1955 - 59
11
Industry hardware, economy
IBM PC , 80s still improved
GUI , laptops Apple, Xerox still improved
12
Meanwhile
Brotonne bridge France 1974 - 1977
13
Industry
methods
1990 networks
1995
1998
14
Industry challenge productivity
  • Ready to assemble parts
  • methods
  • tools

Ile de RĂ© bridge France 1987 - 88
15
Industry challenge simulation and tests
Normandie bridge France 1995
16
Industry challenge maintenance
17
Conclusion
  • quicker

18
ConclusionArt / research /computer science
  • Make it work
  • Creativity
  • Expertise
  • Pleasure
  • Quality
  • Productivity

19
Agenda
  • Introduction
  • The software process
  • software today
  • quality attributes
  • quality actors
  • Software components
  • Introducing reuse
  • software architecture
  • changing for reuse

20
Building software
With resources
components
New or changed requirements
New or changed software product
Software Production Process
Legacy system
  • Quality attributes

Under constraints
21
The software business today everywhere
  • Software in the Old economy
  • competitive edge
  • but small part of budget
  • ex
  • aeronautics,
  • medical equipment
  • house appliances, fire alarms
  • corporate information systems
  • banking
  • New (web) economy
  • only soft
  • (no) time to market
  • ex
  • e - business

22
Old economy
  • Management
  • Respect of time and budget
  • one project at a time
  • improved during 20 years
  • Problems that may occur
  • costs overruns
  • delays
  • quality factors (standards)
  • maintenance (80 of total product)
  • decreasing efficiency

23
New economy e-.
  • Management
  • very poor
  • start up system
  • Problems
  • costs overruns
  • delays
  • specification
  • validation
  • security

24
Quality requirements
  • During development
  • visibility
  • intermediate artifact
  • management of the process
  • testability
  • maintainability
  • Traceability
  • During maintenance
  • accuracy
  • performance (time space)
  • reliability
  • extensibility
  • traceability

25
Quality Assurance
  • Enterprise quality manual
  • guide lines, standards
  • according to international standards ISO 9000,
    CMM, DOD
  • Quality plan
  • according to quality manual
  • project management
  • procedures definition
  • quality evaluation (measures)
  • training
  • Communicate
  • between developers
  • between clients and providers
  • documentation

26
Quality Assurance
  • Communicate
  • between developers
  • between clients and providers
  • documentation
  • Intermediate artifacts
  • prototypes
  • documents code
  • tests
  • milestones reviews and inspections
  • Errors, defects,
  • Omissions, Ambiguities,
  • inconsistence
  • incorrect hypothèsis,
  • Control during
  • development
  • maintenance
  • reports, meetings, reviewing process

27

Quality Assurance
  • Organize
  • the process
  • teamwork
  • workflow
  • tools and methods
  • configuration management
  • Communicate
  • between developers
  • between clients and providers
  • documentation
  • Control during
  • development
  • maintenance
  • reports, meetings, reviewing process

28
Quality standards ISO 9000...
  • requirements
  • complete , frozen,
  • before product design
  • Visibility
  • artifacts
  • project management and control
  • Traceability
  • during development
  • during maintenance

Manage client /provider relationship
29
Capability maturity model SEI
  • Evaluate
  • production process
  • Position
  • on a maturity grid
  • 5 levels
  • improve
  • progressively

Improve internal process
30
SPICE Project 1993 Software Process Improvement
and Capability dEtermination
  • The project
  • ISO 9000, ISO 12207 CMM
  • tested since 99
  • to be published by ISO in 2001.
  • Granularity
  • 29 process on a grid of 10 levels (with process
    attributes as sub levels
  • 4 states per process not really adopted)
  • Completeness
  • Complexity
  • Comparability
  • Applicability
  • Conformity

31
Quality assurance
How ?
32
Software Process Management
process
33
Managing the process is managing quality
  • WHY
  • WHAT
  • WHO
  • WHEN
  • WHERE
  • HOW
  • life-cycle strategy
  • technology methods , tools
  • organization

Workflow
34
life cycle strategies
  • Cartesian approach
  • top down
  • heuristics
  • bottom up

V or waterfall life cycle old economy
(1)
Usable iterations
Operationnal solution
Incremental life cycle prototyping spiral,
fountain model DSDM, RAD new economy
(2)
35
Human factors
  • creativity
  • not invented here syndrom
  • Change reluctance

Provide usable tools
36
Art or Technology?50 years of computer science
embedded applications e-business
real time applications
Scientific and corporate software batch
networks, Internet Intranet components 3
tiers application server
Personal computer distributed systems client-serve
r data bases objects and classes libraries Unix,
chips
Scientific calculus
FORTRAN COBOL multi usersystem file system real
time
Assembly language ENIAC
1945
1958
1990
2000
1975
37
Aiming at Software Factory Components
INTEROPERABILITY
Reuse
38
Agenda
  • Introduction
  • The software process
  • Software components
  • Components versus objects
  • Component reuse
  • Introducing reuse to improve quality
  • software architecture
  • changing for reuse

39
Changing for reuse
benefits
Develop quickly new quality products
Reach interoperability
Organize reuse of business components
Extend coverage
Manage reuse
Reduce maintenance costs
Reuse products
Reduce development time
Reuse black box
Reuse code
Time investments experience
40
Software reuse
  • Why?
  • Decrease cost
  • Increase quality
  • What
  • code
  • informally (paste)
  • macro, functions
  • design
  • patterns
  • expertise
  • libraries, frameworks
  • GUI
  • DBMS
  • application generators

41
Reuse in practice
  • Two ways
  • Opportunistic
  • reuse pieces of soft that fit the problem and
    happen to be available
  • may work
  • Planned
  • explicit effort made to develop reusable
    artifacts
  • the right abstraction
  • the right level of variability
  • to fit in higher level structure
  • should work better

42
Reuse in practice (cont)
  • bottom up may work
  • build pieces
  • add them to a collection
  • find a suitable piece
  • top down should work better
  • assets developed as parts fitting in a higher
    level structure
  • assets adhere to predefined , provided and
    required interfaces

43
Reuse in practice
  • reuse software
  • over different versions
  • of a same product
  • reuse components
  • over product versions
  • and over various product
  • reuse components
  • over different product versions
  • various products
  • different organizations

44
Classes and objects
  • Classes
  • Model
  • Encapsulation
  • data
  • methods
  • Generic
  • Inheritance
  • Private Public
  • Objects
  • a class instance

Account
balance date
consult deposit(amount)
saving
ordinary
Authorized amount
ratio
Calculate Agios
calculate interest
45
Component
  • Software component
  • independent module
  • built for reuse
  • accessible via an interface
  • Container
  • area to assemble components
  • to build an application

container
buttons components
46
Software component facts
  • Art / theory
  • black box components
  • narrow interface, single point of access
  • few variation points configured during
    instanciation
  • Business/industry
  • large piece of code with complex structure
  • . object oriented framework
  • interface provided by entities
  • i.e. classes in the asset
  • no explicit difference with non interface
    entities
  • variation implemented through
  • configuration
  • specialisation or replacement of entities of the
    asset

47
Software component facts
  • Art / theory
  • standardized interfaces , can be sold on
    component markets
  • focus on functionality
  • that can be verified through formal validation
  • Business /industry
  • developed internally,
  • if developed externally must be considerably
    adapted to fit in the product line architecture
  • all quality attributes are of eqal importance
    (performance, reliability, maintainability..)

48
Component life cycle
Define scope
specify
Support
design
Adopt /reuse
Qualify
develop
validate
49
Software Life cycle Component oriented process
requirements
Available components Non executable component
recollection (doc) executable component
recollection (source, tests)
Projectmanagement
Quality standards
Planification
Configurationmanagement
Analysis, design, code validation
iteration 1
Analysis, design, code validation
Analysis, design, code validation
Analysis, design, code validation
Analysis, design, code validation
Documentationmanagement
iteration n
Quality manual
iteration n
Qualitymanagement
deployment
Riskmanagement
Recollection
50
The reuse process
51
Organization , hierarchical
52
Matrix organization
Program management
Knowledge centers
Reuse center
53
Agenda
  • The software process
  • Quality attributes
  • The actors of quality
  • Software components
  • Components versus objects
  • Component reuse
  • Architecture
  • product architecture
  • software architecture

54
Product architecture
  • Hardware/networkChoice
  • monostation
  • client server

55
Product architecture
  • Hardware/networkChoice
  • monostation
  • client server
  • 3 tiers, multi tiers, n tiers

56
Software architecture
Software product
Business components
Middleware components
Technical components
57
Software architecture facts
  • Art (research)
  • design explicit architecture
  • components and connectors
  • Business (industry)
  • old economy , critical
  • described explicitly but often not actualized
  • old economy , corporate
  • thought of but often not described explicitly
  • RAD often not thought of
  • new economy
  • not thought of
  • no explicit first class connectors
  • ad hoc solutions for run time binding)

58
Software architecture facts
  • Art (research)
  • Architecture Design language to describe
    architecture and generate applications
  • Business (industry)
  • programming (C) and script (make) to describe
    configuration of applications

59
Software product line
  • Product line architecture
  • product line working space
  • Set of reusable components
  • set of products
  • architecture derived from PLA
  • instantiated and configured components
  • product specific code
  • product working space

PLSA
components
P1
P2
60
Converting to reuse
  • Variability vs. commonality
  • domain analysis
  • products requirements
  • stick to expected and required variability

61
Conclusion Thumb rules
  • Foresee in the long term
  • Adapt architecture incrementally
  • Work on actual fact
  • take into account the cultural aspect
  • Train people
  • Measure progress to encourage

62
Thank you for attention
  • hugues_at_essi.fr
Write a Comment
User Comments (0)
About PowerShow.com