30 years of Software Engineering from art to

  • Slides: 62
Download presentation
30 years of Software Engineering : from art to business ? Anne-Marie HUGUES ESSI

30 years of Software Engineering : from art to business ? Anne-Marie HUGUES ESSI University of Nice Sophia Antipolis FRANCE

Background s Academic research n compilers n parallelism n generic software environments n distributed

Background s Academic research n compilers n parallelism n generic software environments n distributed objects s Industry n corporate Information systems (banking) n software environments n OS s Training 9/9/2020 n Software engineering n Data bases n Management of Information Systems 2 Anne-Marie Hugues

Agenda s Introduction n art /craft/ industry/business s The software process s Software components

Agenda s Introduction n art /craft/ industry/business s The software process s Software components s Introducing reuse n software architecture n changing for reuse 9/9/2020 3 Anne-Marie Hugues

Dream. . . Business Art Eiffel Tower 1889 Babel Tower, Van Valckenborgh Lucas (1535

Dream. . . Business Art Eiffel Tower 1889 Babel Tower, Van Valckenborgh Lucas (1535 -1597) 9/9/2020 Montparnasse Tower Paris 4 1969 - 1972 Anne-Marie Hugues

Craft industry Log cabin 1 person 1 month 9/9/2020 Pont du gard , Nimes,

Craft industry Log cabin 1 person 1 month 9/9/2020 Pont du gard , Nimes, France 1 st century after Jc thousand slaves, 100 years maintained 1992 - 96 5 Anne-Marie Hugues

Craft industry Log cabin 1 person 1 month Montparnasse Tower Paris 1969 - 1972

Craft industry Log cabin 1 person 1 month Montparnasse Tower Paris 1969 - 1972 hundreds of workers 9/9/2020 6 Anne-Marie Hugues

Dream Charles Babbage -1791 -1871 Note on the application of machinery to the computation

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. 9/9/2020 7 Anne-Marie Hugues

Meanwhile: Pont au change , Paris 1859 -1860 9/9/2020 Viaduc de Gabarit 1875 -1880

Meanwhile: Pont au change , Paris 1859 -1860 9/9/2020 Viaduc de Gabarit 1875 -1880 8 Anne-Marie Hugues

Art D. Knuth 1968 upgraded 1998 ENIAC 1938 Penn - 1948 (von neuman) removed

Art D. Knuth 1968 upgraded 1998 ENIAC 1938 Penn - 1948 (von neuman) removed 1955 FORTRAN J. Backus - 1954 - 58 upgraded 1990 1995 9/9/2020 9 Anne-Marie Hugues

Meanwhile. . . Tancarville bridge France 3 477 000 working hours 1955 - 59

Meanwhile. . . Tancarville bridge France 3 477 000 working hours 1955 - 59 9/9/2020 10 Anne-Marie Hugues

Industry : hardware, economy IBM PC , 80 s still improved 1975 - 1995

Industry : hardware, economy IBM PC , 80 s still improved 1975 - 1995 1981 GUI , laptops Apple, Xerox still improved 9/9/2020 11 Anne-Marie Hugues

Meanwhile Brotonne bridge France 1974 - 1977 9/9/2020 12 Anne-Marie Hugues

Meanwhile Brotonne bridge France 1974 - 1977 9/9/2020 12 Anne-Marie Hugues

Industry : methods 1990 networks 1995 1998 9/9/2020 13 Anne-Marie Hugues

Industry : methods 1990 networks 1995 1998 9/9/2020 13 Anne-Marie Hugues

Industry challenge : productivity s Ready to assemble parts s methods s tools Ile

Industry challenge : productivity s Ready to assemble parts s methods s tools Ile de Ré bridge France 1987 - 88 9/9/2020 14 Anne-Marie Hugues

Industry challenge: simulation and tests Normandie bridge France 1995 9/9/2020 15 Anne-Marie Hugues

Industry challenge: simulation and tests Normandie bridge France 1995 9/9/2020 15 Anne-Marie Hugues

Industry challenge : maintenance Tancarville bridge Maintained 95 -98 without stopping the traffic hoped

Industry challenge : maintenance Tancarville bridge Maintained 95 -98 without stopping the traffic hoped to last at least 100 years 9/9/2020 16 Anne-Marie Hugues

Conclusion s quicker s better s cheaper 9/9/2020 17 Anne-Marie Hugues

Conclusion s quicker s better s cheaper 9/9/2020 17 Anne-Marie Hugues

Conclusion Art / research /computer science s s s Make it work Creativity Expertise

Conclusion Art / research /computer science s s s Make it work Creativity Expertise Pleasure Quality Productivity 9/9/2020 18 Anne-Marie Hugues

Agenda s Introduction s The software process n software today n quality attributes n

Agenda s Introduction s The software process n software today n quality attributes n quality actors s Software components s Introducing reuse n software architecture n changing for reuse 9/9/2020 19 Anne-Marie Hugues

Building software With resources New or changed Software Production Process components New or changed

Building software With resources New or changed Software Production Process components New or changed software product requirements Legacy system • Quality attributes Under constraints 9/9/2020 20 Anne-Marie Hugues

The software business today : everywhere s Software in the Old economy s New

The software business today : everywhere s Software in the Old economy s New (web) economy n only soft n (no) time to market n ex : n competitive edge n but small part of budget n ex l e - business l aeronautics, l medical equipment l house appliances, fire alarms l corporate information systems l banking 9/9/2020 21 Anne-Marie Hugues

Old economy s Management s Problems that may occur n Respect of time and

Old economy s Management s Problems that may occur n Respect of time and budget n one project at a time n improved during 20 years 9/9/2020 n costs overruns n delays n quality factors (standards) n maintenance (80% of total product) n decreasing efficiency 22 Anne-Marie Hugues

New economy : e-…. s Management s Problems n very poor n start up

New economy : e-…. s Management s Problems n very poor n start up system 9/9/2020 n n n 23 costs overruns delays specification validation security Anne-Marie Hugues

Quality requirements s During development s During maintenance n visibility n accuracy n performance

Quality requirements s During development s During maintenance n visibility n accuracy n performance (time & space) n reliability n extensibility n traceability l intermediate artifact l management of the process n testability n maintainability n Traceability 9/9/2020 24 Anne-Marie Hugues

Quality Assurance s Communicate • Enterprise quality manual • guide lines, standards n between

Quality Assurance s Communicate • Enterprise quality manual • guide lines, standards n between developers • according to international standards ISO 9000, CMM, DOD n between clients and • Quality plan providers • according to quality manual n documentation • project management • procedures definition • quality evaluation (measures) • training 9/9/2020 25 Anne-Marie Hugues

Quality Assurance s Communicate n between developers n between clients and providers n documentation

Quality Assurance s Communicate n between developers n between clients and providers n documentation s Control during • Intermediate artifacts • prototypes • documents code • tests • milestones : reviews and inspections • Errors, defects, • Omissions, Ambiguities, • inconsistence • incorrect hypothèsis, n development n maintenance n reports, meetings, reviewing process 9/9/2020 26 Anne-Marie Hugues

Quality Assurance s Communicate n between developers n between clients and providers n documentation

Quality Assurance s Communicate n between developers n between clients and providers n documentation s Organize n n n the process teamworkflow tools and methods configuration management s Control during 9/9/2020 n development n maintenance n reports, meetings, reviewing process 27 Anne-Marie Hugues

Quality standards ISO 9000. . . s requirements n complete , frozen, n before

Quality standards ISO 9000. . . s requirements n complete , frozen, n before product design s Visibility n artifacts n project management and control s Traceability n during development n during maintenance 9/9/2020 28 Anne-Marie Hugues

Capability maturity model SEI s Evaluate n production process s Position n on a

Capability maturity model SEI s Evaluate n production process s Position n on a maturity grid n 5 levels s improve n progressively 9/9/2020 29 Anne-Marie Hugues

SPICE Project 1993 Software Process Improvement and Capability d. Etermination s The project: s

SPICE Project 1993 Software Process Improvement and Capability d. Etermination s The project: s Completeness n ISO 9000, ISO 12207 CMM n tested since 99 s Complexity n to be published by ISO in 2001. s Applicability s Comparability s Conformity s Granularity n 29 process on a grid of 10 levels (with process attributes as sub levels n 4 states per process not really adopted) 9/9/2020 30 Anne-Marie Hugues

Quality assurance 9/9/2020 31 Anne-Marie Hugues

Quality assurance 9/9/2020 31 Anne-Marie Hugues

Software Process Management tasks Is responsibl e Team worker process Produces intermedi 9/9/2020 ate

Software Process Management tasks Is responsibl e Team worker process Produces intermedi 9/9/2020 ate artifacts Uses tools 32 methods Anne-Marie Hugues

Managing the process is managing quality s s s WHY WHAT WHO WHEN WHERE

Managing the process is managing quality s s s WHY WHAT WHO WHEN WHERE HOW n life-cycle strategy n technology methods , tools n organization 9/9/2020 33 Anne-Marie Hugues

life cycle strategies s Cartesian approach n top down s V or waterfall life

life cycle strategies s Cartesian approach n top down s V or waterfall life cycle old economy (1) heuristics n bottom up Usable iterations (2) 9/9/2020 34 Operationnal solution Incremental life cycle prototyping spiral, fountain Anne-Marie Hugues model

Human factors Developer Installer Suppo rt Analys t System Architect s creativity Designer n

Human factors Developer Installer Suppo rt Analys t System Architect s creativity Designer n not invented here syndrom Tester proj et Clie nt Managem ent s Change reluctance user Project manager Provide usable tools 9/9/2020 35 Anne-Marie Hugues

Art or Technology? 50 years of computer science real time applications Scientific calculus Assembly

Art or Technology? 50 years of computer science real time applications Scientific calculus Assembly language ENIAC 1945 9/9/2020 Scientific and corporate software Personal computer batch distributed FORTRAN COBOL multi usersystem file system real time 1958 systems client-server data bases objects and classes libraries Unix, chips 1975 36 embedded applications e-business networks, Internet Intranet component s 3 tiers application server 1990 2000 Anne-Marie Hugues

Aiming at Software Factory : Components 9/9/2020 37 Anne-Marie Hugues

Aiming at Software Factory : Components 9/9/2020 37 Anne-Marie Hugues

Agenda s Introduction s The software process s Software components n Components versus objects

Agenda s Introduction s The software process s Software components n Components versus objects n Component reuse s Introducing reuse to improve quality n software architecture n changing for reuse 9/9/2020 38 Anne-Marie Hugues

Changing for reuse benefits Develop quickly new quality products Reach interoperability Organize reuse of

Changing for reuse benefits Develop quickly new quality products Reach interoperability Organize reuse of business components Extend coverage Manage reuse Reduce maintenance Reuse products costs Reduce development Reuse black box time Reuse code 9/9/2020 Time investments experience 39 Anne-Marie Hugues

Software reuse s Why? s What n Decrease cost n Increase quality n code

Software reuse s Why? s What n Decrease cost n Increase quality n code l informally (paste) l macro, functions n design l patterns l expertise n n 9/9/2020 40 libraries, frameworks GUI DBMS application generators Anne-Marie Hugues

Reuse in practice s Two ways n Opportunistic l reuse pieces of soft that

Reuse in practice s Two ways n Opportunistic l reuse pieces of soft that fit the problem and happen to be available l may work n Planned l explicit effort made to develop reusable artifacts l the right abstraction l the right level of variability l to fit in higher level structure 9/9/2020 41 Anne-Marie Hugues

Reuse in practice (cont) s bottom up may work n build pieces n add

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

Reuse in practice s reuse software n over different versions n of a same

Reuse in practice s reuse software n over different versions n of a same product s reuse components n over product versions n and over various product s reuse components n over different product versions n various products n 9/9/2020 different organizations 43 Anne-Marie Hugues

Classes and objects Accou nt balance s Classes n Model n Encapsulation date consult

Classes and objects Accou nt balance s Classes n Model n Encapsulation date consult deposit(amount) l data l methods n Generic n Inheritance n Private Public s Objects saving ordinary ratio Authorized amount calculate interest Calculate Agios n a class instance 9/9/2020 44 Anne-Marie Hugues

Component s Software component n independent module n built for reuse n accessible via

Component s Software component n independent module n built for reuse n accessible via an interface s Container container n area to assemble components n to build an application 9/9/2020 45 buttons components Anne-Marie Hugues

Software component : facts s Art / theory s Business/industry n black box components

Software component : facts s Art / theory s Business/industry n black box components n large piece of code with complex structure l. object oriented framework n narrow interface, single point of access n interface provided by entities l i. e. classes in the asset l no explicit difference with non interface entities n few variation points configured during 9/9/2020 instanciation n variation implemented through 46 l configuration Anne-Marie Hugues

Software component : facts s Art s Business /industry / theory n standardized interfaces

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

Component life cycle specify Define scope Support design Adopt /reuse Qualify develop validate 9/9/2020

Component life cycle specify Define scope Support design Adopt /reuse Qualify develop validate 9/9/2020 48 Anne-Marie Hugues

Software Life cycle Component oriented process Project Quality management standard Configuratio s Available Planification

Software Life cycle Component oriented process Project Quality management standard Configuratio s Available Planification component s iteration 1 n management Analysis, design, Analysis, code iteration Analysis, n design, Analysis, design, validation code design, code validation iteration n validation Qualit Documentati on y management manu al Quality management deployment Risk management 9/9/2020 requirements Recollection 49 Non executable component recollection (doc) executable component recollection (source, tests) Anne-Marie Hugues

The reuse process Manage Create Maintain reuse 9/9/2020 50 Anne-Marie Hugues

The reuse process Manage Create Maintain reuse 9/9/2020 50 Anne-Marie Hugues

Organization , hierarchical Evolution Direction strategy Management tactical Opératio ns expert opérationnal workers Organisation

Organization , hierarchical Evolution Direction strategy Management tactical Opératio ns expert opérationnal workers Organisation Strategy financ production marketing e 9/9/2020 51 sales Human resources

Matrix organization Program management Human resources sales Knowledge centers finance marketi ng Organization production

Matrix organization Program management Human resources sales Knowledge centers finance marketi ng Organization production Reuse center 9/9/2020 52 Anne-Marie Hugues

Agenda s The software process n Quality attributes n The actors of quality s

Agenda s The software process n Quality attributes n The actors of quality s Software components n Components versus objects n Component reuse s Architecture n product architecture n software architecture 9/9/2020 53 Anne-Marie Hugues

Product architecture s Hardware/network Choice n monostation n client server Data server 9/9/2020 54

Product architecture s Hardware/network Choice n monostation n client server Data server 9/9/2020 54 Anne-Marie Hugues

Product architecture s Hardware/network Choice Application server n monostation n client server n 3

Product architecture s Hardware/network Choice Application server n monostation n client server n 3 tiers, multi tiers, n tiers Application server Data server 9/9/2020 55 Anne-Marie Hugues

Software architecture Software product Business components Middleware components Technical components 9/9/2020 56 Anne-Marie Hugues

Software architecture Software product Business components Middleware components Technical components 9/9/2020 56 Anne-Marie Hugues

Software architecture : facts s Art (research) s Business (industry) n design explicit architecture

Software architecture : facts s Art (research) s Business (industry) n design explicit architecture n old economy , critical l described explicitly but often not actualized n old economy , corporate l thought of but often not described explicitly l RAD : often not thought of n new economy n components and connectors l not thought of n no explicit first class connectors l ad hoc solutions for run time 9/9/2020 57 binding) Anne-Marie Hugues

Software architecture : facts s Art (research) s Business (industry) n Architecture Design language

Software architecture : facts s Art (research) s Business (industry) n Architecture Design language to describe architecture and generate applications 9/9/2020 n programming (C++) and script (make) to describe configuration of applications 58 Anne-Marie Hugues

Software product line s Product line architecture s product line working space s Set

Software product line s Product line architecture s product line working space s Set of reusable components s set of products n architecture derived from PLA n instantiated and configured components n 9/9/2020 product specific code PLSA components P 1 P 2 59 Anne-Marie Hugues

Converting to reuse s Variability vs. commonality n domain analysis n products requirements n

Converting to reuse s Variability vs. commonality n domain analysis n products requirements n stick to expected and required variability 9/9/2020 60 Anne-Marie Hugues

Conclusion : Thumb rules s s s Foresee in the long term Adapt architecture

Conclusion : Thumb rules s s s Foresee in the long term Adapt architecture incrementally Work on actual fact take into account the cultural aspect Train people Measure progress to encourage 9/9/2020 61 Anne-Marie Hugues

Thank you for attention s hugues@essi. fr 9/9/2020 62 Anne-Marie Hugues

Thank you for attention s hugues@essi. fr 9/9/2020 62 Anne-Marie Hugues