30 years of Software Engineering from art to






























































- Slides: 62
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 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 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 -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, 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 hundreds of workers 9/9/2020 6 Anne-Marie Hugues
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 8 Anne-Marie Hugues
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 9/9/2020 10 Anne-Marie Hugues
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
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 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 : 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 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 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 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 (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 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 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 (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 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 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 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 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 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 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
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 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 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 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 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
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 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 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 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 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 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 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 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 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 , 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 48 Anne-Marie Hugues
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
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 Reuse center 9/9/2020 52 Anne-Marie Hugues
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 Anne-Marie Hugues
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 : 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 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 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 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 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