Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informatik1
51. Ü ber die H ers tellung gr oßer Softw ar es ys teme
Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Version 11-0.1, 10.07.111) G ro ß e Syst eme 2) W as he iß t “ So ft w are En gi ne eri ng ”? 3) G esch ich te 4) Ih re Z uku nf t
Prof. U. Aßmann, SoftwaretechnologieO bl igat or isches Lesen
►Zu se r K ap . 1 -3
oder ►G he zzi C ha pt er 1
oder ►P fle eg er C ha pt er 1 ; C ha p 8. 1
►http://homepages.cs.ncl.ac.uk/brian.randell/NATO/Th e fi rst In te rn at io na l C on fe re nce o n S of tw ar e E ng in ee rin g (I C S E ) 19 68 .
►S . G ar fu nke l D ie sch ön st en S of tw ar e- Fe hl er
http://www.wired.com/news/technology/bugs/0,2924,69355,00.html ►P et er G . N eu m an n
http://www.risks.orgD as
Risk Digestsa m m el t vo lle r A kr ib ie S of tw ar ef eh le r
Prof. U. Aßmann, S
S of tw ar et echnol ogi e Fü r Hän gebrü ck en gibt es kein e Bastl er-Bau sätze.
Michael Jackson, IEEE Software 1/1998 Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informasoftware: computer programs, procedures, rules, and poss associated documentation and data pertaining to the opera computer system. (IEEE Standard Glossary of Softwa
51.1. H er stellu ng Gr oßer Softw ar es ys teme
Prof. U. Aßmann, Softwaretechnologie
W as hei ßt hi er " gr oß" ?
►K la ssi fika tio n na ch W . H esse : K la sse A nza hl C od e- Ze ile n P er so ne nj ah re zu r E nt w ickl un g se hr kl ei n bi s 1. 00 0 bi s 0, 2 kl ei n 1. 00 0 - 10 .0 00 0, 2 - 2 m itt el 10 .0 00 - 1 00 .0 00 2 - 20 gr oß 10 0. 00 0 - 1 M io . 20 - 2 00 se hr g ro ß üb er 1 M io . üb er 2 00
Prof. U. Aßmann, SoftwaretechnologieR iesi ge S yst em e
►Te le fo nve rm itt lu ng sso ft w ar e E W S D ( V er si on 8 .1 ):
■12,5 Mio. Code-Zeilen ■ca. 6000 Personenjahre ►E R P -S of tw ar e S A P R /3 ( V er si on 4 .0 )
■ca. 50 Mio. Code-Zeilen ►G esa m tu m fa ng d er ve rw en de te n S of tw ar e (A nf an g 20 00 ):
■Credit Suisse25 Mio. Code-Zeilen ■Chase Manhattan Bank:200 Mio. Code-Zeilen ■Citicorp Bank:400 Mio. Code-Zeilen ■AT&T:500 Mio. Code-Zeilen ■General Motors:2 Mrd. Code-Zeilen Abkürzungen: EWSD = Elektronisches Wählsystem Digital (Siemens-Produkt) ERP = Enterprise Resource Planning SAP: Deutscher Software-KonzernProf. U. Aßmann, S
K om pl exi tät sw achst um und Fehl er rat e
19771994 Anzahl Fehler auf 1000 LOC20 0,2 19771994 Programmgröße (1000 LOC)
10
800 19771994 Resultierende absolute Fehleranzahl
200 160 Echte Qualitätsverbesserun sind nur möglich, wenn di Steigerung der Programmkom überkompensiert wird Prof. U. Aßmann, S
H um an P robl em s
►P ro gr am m er s ar e no t ed uca te d w el l
■To develop ■To communicate ►S of tw ar e co nst ru ct io n is a so ci al p ro ce ss
■It’s hard to organize people ►S of tw ar e st ays, t he p eo pl e go
■Software evolves, many versions ►P ro je ct s ru n ou t of t im e
■How to control?Prof. U. Aßmann, Softwaretechnologie
S tr uct ur al P robl em s
►Th e fo llo w in g fig ur es ar e ta ke n fr om th e G oo se R e en g in ee rin g To o l, an al ysi ng a Ja va cl ass syst em [ G oo se , FZI K ar lsr uh e, h ttp :// w w w .fzi .d e]
Prof. U. Aßmann, SoftwaretechnologieProf. U. Aßmann, S
P ar tial ly C ol lapsed
Prof. U. Aßmann, STot al ly C ol lapsed
Prof. U. Aßmann, Softwaretechnologie
P er m anent e S of tw ar ekr ise ?
►"S of tw ar e- K rise ":
■Fehler in Computersystemen sind fast immer Softwarefehler. ■Software wird nicht termingerecht und/oder zu höheren Kosten als geschätzt fertiggestellt. ■Software entspricht oft nicht den Anforderungen ihrer Benutzer. ►B eg rif f d er S of tw ar e- K rise e xi st ie rt se it 19 68 b is he ut e !
■70er Jahre: ♦Mangelhafte Beherrschung der Basistechnologie ■90er Jahre und Milennium: ♦Grosse (software-)technologische Fortschritte ♦Mangelhafte Beherrschung des Wachstumstempos und des AnpassungsdrucksW e un do ub te dl y pro du ce so ftw are b y ba ckw ar d te ch ni qu es. D . McI lro y, IC SE 19 68
W e un do ub te dl y pro du ce so ftw are b y ba ckw ar d te ch ni qu es. D . McI lro y, IC SE 19 68
Prof. U. Aßmann, SoftwaretechnologieThe Indust ry
►To p P la ye rs: IB M , M icr oso ft , H P, H ita ch i, C om pu te r A sso ci at es, O ra cl e, Fu jit su , S A P, B ul l H N , N ove ll
►A bo ut 1 0% of th e na tio na l t ur na ro un d of t he U S
■5% of employees, about the size of car industry ►P C -g am e eq ua te s H ol lyw oo d fil m ( $5 0 m ill . in f irst w ee k)
►2/ 3 st an da rd so ftw ar e : 1/ 3 in di vi du al so ft w ar e (w ith g ro w in g ra te )
►Im 'Q ua rt al e rw irt sch af te t M icr oso ft
■Umsatz im Bereich von 10-15 Milliarden US-Dollar. ■operativer Gewinn: 3-6 Milliarden US-Dollar bewegen. ►Fü r da s ge sa m te G esch äf tsj ah r
■Umsatz: 59,9 Milliaren bis 60,5 Milliarden US-Dollar ■operativen Gewinn: 24,2 Milliarden bis 24,4 Milliarden US-Dollar.Prof. U. Aßmann, S
Li fe T im e of S of tw ar e
►A ve ra ge : 5 – 1 5y
■max > 35 y (control software, certified systems, data bases) ■Development time: 1 - 3y ►M icr oso ft ( 19 94 ):
■50% turnaround from products of the last 12 months ■50 Products/y ■new version every 18-24 months ■2/3 of a new version are new Prof. U. Aßmann, SC ost s
►C on tr ar y to G ro sch ’s La w ,
■Hardware speed doubles every 2 years ►S of tw ar e pr od uct ivi ty in cr ea se s on ly ab ou t < 5 % /y .
►C ost s
■acad. Prototype / acad. Product / Product = 1 : 3 : 3 ■Commercialization is rather difficult ►R el at io n of d eve lo pm en t an d m ai nt en an ce 4 0: 60 u p to 2 0: 80
■Development and maintenance are done by different departmentsProf. U. Aßmann, Softwaretechnologie
C ost s: E xt rem e R equi rem ent s
►Te le co m m un ica tio n: Fa ilu re < 1 h ./ 40 y ., w or ki ng r at e 99 .9 99 %
■One second failure may cost $5Mio ►C er tif ica tio n
■Insurance: certified software must be executable after 40 years ■German pension rules of the 50s must be processed today ♦Nobody knows the details anymore! ♦Solution: write an interpreter for the old assembler ♦This has happened twice.. Prof. U. Aßmann, SoftwaretechnologieC ost E xam pl e: The Y ear 2000 P robl em
►C O B O L pr og ra m m er s sa ve d sp ac e an d st or ed o n ly th e la st tw o di gi ts of th e ye ar
■In the 70s, programs should only live 20 years ►In 2 00 0, ca ta st ro ph es w er e pr op he si ed
■Power plants? ■Pension insurances (birth dates) ►Fr om 1 99 6 on , th e in du st ry pa ni cke d
■Spent enormous amounts to update software ►N ew syst em s go t in st al le d
■SAP R/3 with date data type ►R ew rit in g di dn ’t w or k
■Programmers didn’t trust the rewrites ■Solution: sliding window techniqueProf. U. Aßmann, S
C ost E xam pl e: The E ur o Int roduct ion
►E nd o f 2 00 1, m an y co un tr ie s in tr od uce d th e E ur o
►To o ba d: o n pa pe r, t he E ur o w as in tr od uce d 2 ye ar s be fo re
■Some companies had to maintain double booking for 2 years ■At least for some months in 2002 ■Double booking was very costly: accounts had to be printed in two currencies ►H ow to te st t he t ra nsi tio n?
■In May 2001, the Dresdner bank ran a test ■Which failed,.. And produced many wrong money transfers! ►M an y pe op le w or ke d da y an d ni gh t…
■One of my friends was responsible for the ATM machines… Prof. U. Aßmann, SC ost E xam pl e: T el ecom m uni cat ion
►Te le co m m un ica tio n so ft w ar e pr od uct li ne
■20-30 000 Module of 1000 loc (lines of code) ►S in gl e pr od uct h as 2- 80 00 m od ul es
►N ece ssa ry: 5 00 0 pe rso ns/ 7ye ar s.
►C ost s ca . 7 b ill io n € .
►S ize o f w or ld m ar ke t 50 b ill io n €
►H ow m an y su pp lie rs ca n exi st ?
Prof. U. Aßmann, Softwaretechnologie
P rogr am m er P roduct ivi ty – R ul es of Thum b
►S yst em so ft w ar e: 1 00 0- 20 00 lo c/ y
►S yst em li ke S of tw ar e: 5 00 0 lo c/ y
►A pp lica tio n so ftw ar e: 5 -1 00 00 lo c/ y
►M ast er ’s th esi s: 1 0- 20 00 0 lo c/ th esi s
►In di vi du al d iff er en ce s up t o fa ct or 5
■Has not changed in the last 30 years ►D iff er en ce s by pr og ra m m in g la ng ua ge a nd r eu se m ech an ism s
Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informatik2251.2 " Softw ar e- Engineer ing"
software engineering:D ie E n td ecku n g u nd A n w en du n g so lid er In ge ni e ur -P rin zi p ie n m it de m Zi el , au f w irt sch a ftl ich e W e ise S of tw ar e zu be ko m m en , d ie zu ve rlä ssi g ist u nd a uf r ea le n R ech ne rn lä uf t.
(F.L. Bauer, NATO-Konferenz Software-Engineering 1968)S of tw ar et ech no lo gi e < = S of tw ar e- E ng in ee rin g = S of tw ar ei ng en ie ur sw ese n S of tw ar et ech ni k: U nt er be gr iff vo n S of tw ar et ech no lo gi e
Prof. U. Aßmann, S
What is S of tw ar e E ngi neer ing?
►It te ac he s th e p ro d uct io n o f so ft w ar e w ith e ng in ee rin g te ch n iq en gi ne er 's to ol ki t)
■Analysis ■Construction (development, invention) ■Validation ■Improvement ►in a st ru ct ur ed so ftw ar e de ve lo pm en t pr oce ss En gi ne ers me asu re , b ui ld , va lid at e, a nd imp ro En gi ne ers me asu re , b ui ld , va lid at e, a nd imp ro ve
Prof. U. Aßmann, SThe (S of tw ar e) E ngi neer 's Tool ki t
►A na lyze ( m ea su re )
■Measuring ■Searching and finding ■Controlling ■Describe the world with descriptive models ►C on st ru ct ( de si gn , d eve lo pm en t, in ve nt , bu ild )
■Modelling: prescribe the form of a system with a prescriptive model ■Describing the infinite and the unknown with finite descriptions ■Structuring (making the model more clear) ■Refinement (making the model more precise and detailed) ■Elaboration (adding more details) ■DomainTransformation (changing representation of model)Prof. U. Aßmann, Softwaretechnologie
The (S of tw ar e) E ngi neer 's Tool ki t
►Fo rm h yp ot he se s an d va lid at e th em
■Experimentation (empirical software engineering) ■Checking (consistency, completeness, soundness) ■Testing ■Proving (formal software engineering) ■Statistics ►Im pr ove
■Reverse engineer ■Optimize with regard to a value model Prof. U. Aßmann, SoftwaretechnologieD er S of tw ar ei ngeni eur al s P robl em löser
►P ro bl em e id en tif izi er en ( be ob ach te n)
►Th eo rie u nd V er be sse ru ng sh yp ot he se n en tw icke ln
►Lö su ng en e nt w icke ln ( Te ch ni ke n, M et ho de n u. W er kze ug e)
►E m pi risch es Te st en ( da na ch I te ra tio n)
►M er ke : Fe hl t e in e A kt ivi tä t, li eg t ke in in ge ni eu rsm ässi ge s A rb ei te n vo r!
Prof. U. Aßmann, S
Werkzeug- unterstützung
W as ist ei ne S of tw ar e- E nt w ickl ungsm et hode?
►B esch rie be n in L eh rb üch er n un d H an db üch er n
►Zw eck: H ilf e be i d er E rst el lu ng vo n S of tw ar e
■Bessere Planbarkeit der Entwicklung ■Bessere Struktur des Produkts Entwicklungs- MethodeDarstellungsformen •Syntax für Dokumente •Diagrammtypen Verfahren •Analyse •TransformationVorgehe •Schritt •Reihenf •Ergebni Prof. U. Aßmann, S
A not her Im por tant A spect of S of tw ar e E ngi
►It t ea ch es th e pr od uct io n of so ft w ar e w ith
languagesfo r
■Analysis ■Design ■Validating and experimenting ■Improvement ►O n di ffe re nt a bst ra ct io n le ve ls
■Imprecise (sketching information) ■Precise (such that code can be generated from the specifications) ►In d iff er en t syn ta xe s
■Informal, formal, diagrammatic, high-level ►B ot h on th e te ch ni ca l a nd o n th e pr oce ss (m an ag em en t) le ve
Prof. U. Aßmann, Softwaretechnologie
D ef ini tions
►Program: S ou rce s, o bj ect f ile s, li br ar ie s
►Software: P ro gr am w ith u se r an d d eve lo pe r do cu m en ta tio n, r eq ui re m en sp eci fica tio n, d esi gn d escr ip tio ns, im pl em en ta tio n de scr ip tio n
►Product: R ip e so ftw ar e. G o od , si m pl e, a n d pe d ag o gi c d ocu m en ta tio n. S im pl e In st al la tio n. S up po rt g ua ra nt ee d
■Note: Companies like products ►Product line (product family): A g ro u p of p ro du ct s, h avi ng a co m m on fr am ew or k an d pr od uct -sp eci fic ext en si on s.
■Note: every product is sold independently Prof. U. Aßmann, SoftwaretechnologieLehm an's C lasses of P rogr am s
►S pe ci fica tio n pr og ra m s (S -p ro gr am s)
■A formal problem specification exists, describing problem and solution ■The specification allows for checking the solution on validity (formal checks or formal proofs) ►P ro bl em so lvi ng p ro gr am s (P -p ro gr am s)
■Can be formalized and checked ■Have requirements for usability and appropriate ►E m be dd ed p ro gr am s (E -p ro gr am s)
■Embedded in a social context ■The specification is a social process; the functionality depends on the involved people ■No correctness proofs possibleProf. U. Aßmann, S
Requirements Engineering
Software- Architektur und -Entwurf
Software- W
artungRe-
Engineering (Sanierung)
Them engebi et “ S of tw ar e- E ngi neer ing”
Projektmanagement Vorgehensmodellierung Software-Entwicklungsmethoden Qualitätssicherung (incl. Testverfahren) Werkzeugunterstützung (CASE) Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informa51.3 Ges chic hte
Prof. U. Aßmann, Softwaretechnologie
A Li ttl e H ist or y
►N A T O C on fe re nc e o n S o ftw ar e E ng in ee ri n g in G ar m is ch -P a te nki rch en . O ct 7 -1 0, 1 96 8
►"T he w ho le tro ub le c om es fro m t he fa ct that the re is so m uc h t inke ring wit h s oftwar e. I t is no t m ad e in a c lean f ab ric atio n pr oce ss . W hat we ne ed is So ftwar e Engine ering ." F rie dr ich L. B aue r, 19 68
►H en ce th e co nf er en ce w as ca lle d "o n S of tw ar e E ng in ee rin g"
►[in Th aye r& M cG et tr ick IE E E P re ss]
►"S of tw ar e C risi s"
►“C om po ne nt S of tw ar e”
Prof. U. Aßmann, SoftwaretechnologieP hot os of Fam ous P eop le [C ou rt esy B ria n R andel l’s W eb S ite] B. R an de ll
E. D ijk str a K. S amu el so n (S tac k)
D . Mc Ilr oy “Mas s- pr od uc ed So ftw ar e Co mp on en ts ” D . G rie s 3
rdf ro m rig ht: G . G oo s
W . van d er Po el T. Ho ar e
Prof. U. Aßmann, S
P hot os of Fam ous P eop le [C ou rt esy B ria n R andel l’s W eb S ite] A. P erl is J. F el dman C. S tr ac he y N . W irth P. B rin ch Han se n
Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informa51.4 Kar rier e
Prof. U. Aßmann, Softwaretechnologie
Y our C ar eer
►Fi rst , yo u w ill b e a de si gn er a nd p ro gr am m er in a te am
■You will need design skills most urgently for your own and small-size projects ■In the software process, design flaws are most costly ►A ft er w ar ds, yo u w ill b e pr oj ect le ad er
■Without good knowledge in design, you will not be a good developer nor project leader ►A nd th en m an ag er
■But neither a good manager ■Basic Microsoft strategy: every manager must be able to program ►.. b ut so m e ga m bl e in st ea d [B ill G at es, Th e W ay A he ad ].. .
Prof. U. Aßmann, SoftwaretechnologieY our C ar eer ( II)
►S om e be co m e en tr ep re ne ur s
►W ha t i s an e nt re pr en eu r?
■[Prof. R. Würth: Lecture notes on entrepreneurship http://www.iep.uni-karlsruhe.de/seite_260.php] Ein Unternehmer ist ein Problemlöser. Insbesondere sind ein Unternehmer und ein Kapitalist zweierlei. Der Kapitalist sieht den Gewinn im Mittelpunkt, aber der Unternehmer findet seine Befriedigung nur im Lösen von Problemen seiner Kunden und seiner Mitarbeiter. Damit kann er zwar auch Geld verdienen, im Wesentlichen lebt er aber nur einen grundlegenden Zug des Menschen aus: für Probleme befriedigende Lösungen zu finden.Ein Unternehmer ist ein Problemlöser. Insbesondere sind ein Unternehmer und ein Kapitalist zweierlei. Der Kapitalist sieht den Gewinn im Mittelpunkt, aber der Unternehmer findet seine Befriedigung nur im Lösen von Problemen seiner Kunden und seiner Mitarbeiter. Damit kann er zwar auch Geld verdienen, im Wesentlichen lebt er aber nur einen grundlegenden Zug des Menschen aus: für Probleme befriedigende Lösungen zu finden.
Prof. U. Aßmann, S
Y our C ar eer ( III ) - C onsul tant
►A co nsu lta nt t ea ch es an d em pl oys m od er n te ch no lo gy at a cu
■Must lead in knowledge and technology ■Individual software ►O ut so ur ci ng
■to Asia or MOE (Mittelosteuropa) is a trend ■how to manage distributed projects? Prof. U. Aßmann, SW as haben w ir gel er nt ?
►D er In ge ni eu r m isst , en tw irf t, va lid ie rt u nd ve rb esse rt
►K ei ne r In ge ni eu r bl ei bt P ro gr am m ie re r, so nd er n m uß si ch e nt
Prof. U. Aßmann, Softwaretechnologie