Software Engineering für Softwaretechniker (SEfST)

Ähnliche Dokumente
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Formularsammlung. zum methodischen Leitfaden. für eine effiziente Projektarbeit in. virtuellen Teams mit teamspace

Software Engineering

Kapitel 3: Einführung Projektmanagement

SPI-Seminar : Interview mit einem Softwaremanager

POCKET POWER. Projektmanagement. 3. Auflage


Wie wirksam wird Ihr Controlling kommuniziert?

Software Qualität: Übung 3

Projektcontrolling in der Praxis

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Lösungsvorschlag zur Klausur zu Projektorganisation und Management in der Software-Entwicklung

Projektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes:

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

WollCo Wolfgang Kohl Consulting. Nachhaltige Projektumsetzung nicht nur in der Verantwortung von Geschäftsführen / Unternehmern

Modul 5: Service Transition Teil 1

Projektmanagement in der Spieleentwicklung

Ringvorlesung: SW- Entwicklung in der industriellen Praxis ( )

Robot Karol für Delphi

Das Leitbild vom Verein WIR

Qualitätsmanagement im Projekt

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Agile Software Development

Projektmanagement durch Scrum-Proxies

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Fragebogen: Abschlussbefragung

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

PROJEKTCOACHING Thomas Kettner

GPP Projekte gemeinsam zum Erfolg führen

Einführung und Motivation

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Projektarbeit Eberhard Neef Nee Seite 1

Content Management System mit INTREXX 2002.

Was ist Sozial-Raum-Orientierung?

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Mobile Intranet in Unternehmen

9.6 Korrekturmaßnahmen, Qualitätsverbesserung

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

16 Architekturentwurf Einführung und Überblick

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Agile Management Einführung in agiles Management

Projektmanagement Kapitel 3 Tools die Werkzeuge. Projektstrukturplan PSP

Führungsgrundsätze im Haus Graz

PROJEKTMANAGEMENT GRUNDLAGEN_2

Die Fachgruppe sieht ihre Arbeit nicht als Konkurrenz, sondern als Ergänzung zu bestehenden Regelwerken und Normen.

Risikomanagement. 1 Gründe, warum Projekte fehlschlagen. 2 Risiken

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

1 Mathematische Grundlagen

Informationssystemanalyse Grundlagen 1 1

Übungsklausur vom 7. Dez. 2007

17 Architekturentwurf Vorgehen und Dokumentation

Formale und gesetzliche Anforderungen an die Software-Entwicklung für deutsche Banken. Markus Sprunck

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

Teambildung. 1 Einleitung. 2 Messen der Produktivität

Wechselbäder bei der Einführung neuer Software in der Hochschulorganisation?

FUTURE NETWORK REQUIREMENTS ENGINEERING

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Projektmanagement PPSAP WS 03/04. Inhaltsverzeichnis : 1. Projektmanagement

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

Erfolgreiche Realisierung von grossen Softwareprojekten

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Neomentum Coaching. Informationsbroschüre für Studienteilnehmer

SDD System Design Document

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Some Software Engineering Principles

Projektstart für Auftraggeber und Entscheider. Bern, 27. August 2013

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

3.2,,Eichung von Function Points (Berichtigte Angabe)

Mitarbeiterbefragung als PE- und OE-Instrument

Beschreibung des MAP-Tools

Leseauszug DGQ-Band 14-26

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Checkliste: Projektphasen

How to do? Projekte - Zeiterfassung

Projektmanagementsoftware: Standard vs. Individual

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Grundlagen des Software Engineering

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Die Softwareentwicklungsphasen!

ÜBUNG. Einführung in das IT-Projektmanagement WS 2014/15. Dr. The Anh Vuong

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Prozessmanagement Modeerscheinung oder Notwendigkeit

Marketing Intelligence Schwierigkeiten bei der Umsetzung. Josef Kolbitsch Manuela Reinisch

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Softwaretechnik. Fomuso Ekellem WS 2011/12

Mitteilung der Kommission. Muster für eine Erklärung über die zur Einstufung als KMU erforderlichen Angaben (2003/C 118/03)

Grundlagen Software Engineering

Von Menschen mit Mäusen Wohin führt das Projektmanagement

Mitarbeitergespräche erfolgreich führen


Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

DER SELBST-CHECK FÜR IHR PROJEKT

Transkript:

0-1 0-2 Software Engineering für Softwaretechniker (SEfST) Prof. Jochen Ludewig, Dipl.-Inf. Ivan Bogicevic ISTE, Universität Stuttgart Wintersemester 2010-2011 Mi 11:30 13:00 Do 11:30 13:00 in der Regel im Hörsaal 38.03 Vorlesung Jochen Ludewig Sprechstunde dienstags ab 14:00, Raum 1.225 (Ausnahmen beachten, werden auch im Web angezeigt!) Achtung: Prüfungsangelegenheiten nicht in dieser Sprechstunde! Übung Ivan Bogicevic Zielgruppe Studierende der Softwaretechnik (Diplom) nach dem Vordiplom. SEfST läuft so zum letzten Mal. Ab Sommer 2011 gibt es stattdessen die Vorlesung für die Bachelor-Studenten (4. Semester). Bis auf die Umstellung auf das Sommersemester wird sich aber nicht viel ändern. 0-3 0-4 Termine SEfST (Mi / Do) gelb: Übungstermine (?) 20. Okt 21. Okt 27. Okt 28. Okt = 30 Termine, 3. Nov 4. Nov davon 8 Übungen 10. Nov 11. Nov 17. Nov 18. Nov 2010 24. Nov 25. Nov 1. Dez 2. Dez 8. Dez 9. Dez Die Termine werden 15. Dez 16. Dez vollständig genutzt; 22. Dez 23. Dez die Verteilung der 12. Jan 13. Jan Übungen kann sich 19. Jan 20. Jan ändern, damit Vorle- 2011 26. Jan 27. Jan sung und Übung 2. Feb 3. Feb synchron laufen. 9. Feb 10. Feb Webseite, Ilias, Mails (an softies) beachten! Unterlagen und Literatur: LLSE J. Ludewig, H. Lichter: Software Engineering. dpunkt.verlag Heidelberg 2010; 42,90! Natürlich kann auch die 1. Aufl. (2007) noch benutzt werden. Bitte Errata beachten und neue beitragen!

0-5 0-6 Inhalt, Themenkreise In EST I wurden Teile des Buchs LLSE behandelt. In SEfST werden die übrigen Kapitel behandelt (aber nicht alle), und einige bereits behandelte Themen werden weiter vertieft. Die Themen lassen sich also den Gebieten Theoretische Grundlagen des Software Engineerings Grundlagen der Projektdurchführung Spezielle Themen des Software Engineerings zuordnen. Inhaltsverzeichnis LLSE Teil I Grundlagen 1 Modelle und Modellierung 3 2 Grundbegriffe 29 3 Software Engineering 43 4 Software-Nutzen und -Kosten 57 5 Software-Qualität 65 Teil II Menschen und Prozesse 6 Menschen im Software Engineering 73 7 Das Software-Projekt Begriffe und Organisation 89 8 Projektleitung und Projektleiter 103 9 Vorgehensmodelle 153 10 Prozessmodelle 181 11 Bewertung und Verbesserung des Software-Prozesses 235 0-7 0-8 Teil III Daueraufgaben im Software-Projekt 12 Dokumentation in der Software-Entwicklung 259 13 Software-Qualitätssicherung und Prüfung 269 14 Metriken und Bewertungen 295 15 Werkzeuge und Entwicklungsumgebungen 331 Teil IV Techniken der Software-Entwicklung 16 Analyse und Spezifikation 353 17 Entwurf 399 18 Codierung 455 19 Programmtest 479 20 Integration 541 Teil V Verwaltung und Erhaltung von Software 21 Konfigurationsverwaltung 553 22 Software-Wartung 565 23 Reengineering 585 24 Wiederverwendung 601 Teil VI Nachwort, Literatur und Index 25 Nachwort: Die Schule der Software-Ingenieure 619 26 Literaturangaben 625 Index 653

!"!!"#! "#$%&&%'()$ "#$%&&*%+(),!-! "#$%&&%.'$*%'()/'(0,%1%) #$%&''&()(*+,%-.&,/-'&0(1$,2&3/(+,0&4&0(5.6-,60(.7/(%&4(8&'/9 :+4(%&4(0/;,%76&(<&=4-+>?(@$,(#$%&''&,(.->?/(&0(.A6'7>?B(%-00(C74 +,0(7,(%&4(?$>?D$.3'&E&,(8&'/(2+4&>?/*7,%&,9 F6'9(%&,(F$46-,6(%&0(G&?&,0(+,%(H4D&,,&,0I!J %-0(K74,(=&D$../(@$.(L+6&(&7,&,(23%44*567'8#)'9%*:%)9 MJ N-4-+0(&,/0/&?/(7.(K74,(&7,(#$%&''(%&4(;<)=%)9 OJ!F$40/&''+,6(%&0(>#&(0%)/.'%&4("<//%B(%&0(?%@*56=/ PJ N7&0&0(#$%&''(C74%(C&7/&4(-=0/4-?7&4/(2+4(L==7'%+,6(-+*(&7,&, A%,+*BBB(.7/(%&.(C74(-,0>?'7&Q&,%(-4=&7/&,9 $%&'()*+,-'.)&%+,/&0.%1&'+('&&!"#$"%&'()*'+)%&,,&*2 314'..'&%+(4&567&0..'&8+%%'(%,/05)'(&9(4&:',/(+-'(&*+,/)+;<&+=&>$? *1&-'+(&=0)'7+'..'%&@7149-)&'()%)'/)?&+%)&+/7'&A1..'&-.*%"/&*0",2 B5)&%)'..)&+(&9(%'7'=&C0,/&'+(&314'..&40%&1*%23)%.$0&4072 D+'&4"53*&5/.*6&4'7&8'.)&+%)&0.%1&497,/&314'..'?&4+'&*+7 E=+)F7+(;'(G?&'7/'F.+,/&F''+(5.9%%)2&D079=&%'/'(&H'7%,/+'4'(' 3'(%,/'(&+(&4'7%'.F'(&>+)90)+1(&H'7%,/+'4'('&D+(;'2 7208#95&':;.#95.*6&*&'()%)'/'(?&*'((&9(%&'+(&F'%)+==)'% 314'..&%9;;'7+'7)&*+74?&40%&567&4+'&-1(-7')'&>+)90)+1(&(+,/)&;''+;(') +%)2 I(&4'7&@/+.1%1J/+'&*974'&40567&4'7&K';7+55&4'%&@0704+;=0%&;'J7L;)2 $+(&<"3"%86/"&+%)&'+(&314'..?&+(&40%&*+7&9(%'7'&$+(476,-'&'+(J0%%'(2!"#!"#!"#$%#"&"'()*'+,-"&&" $%&%'()*+,-*./0!".*#((" /*#01#%/01*20*"-21#"*"003*44*5'%'065'07*'829+:%'0;<=0%*'*.% >;<(%'803%.2*==%?09&%208*%0)*20*'08%20@%.%40A%''-'*((%0,;&%'B C<2+,08*%03%.2*==%0:D''%'0)*208*%01%4-0;<=08*%0<'(0E9&%2)*%.%'8F &%:;''-%'0G<(-%20*"-21#"*"0B!"#$%#"&/0C%203%.2*==0G%'(+,0(-%,-0=920;44%0G%'(+,%'?08%'%'0)*2 &%.%.'%-0(*'80<'80H<:9'=-*.0&%.%.'%'B /*,3&"4'5&&"*'+,-"&&"/0C*%0I%*.<'.?0G58%440<'80@%;4*-J-0H<06"*7 8"9:$"&0?08B,B08*%0G58%44%0'*+,-0K%,20;4(0(54+,%0);,2H<'%,K%'B C;8<2+,0=9,2%'0<'(0G58%44%0;<+,0*'08*%0L22%?0)%''0(*%0(*+,0;4( ;,*2*<"#&"058%20=&#$9:""$0J<M%2'0E(B<BFB G;'0&%;+,-%0;&%2?08;((0%*'0$%&%'0,:0"'+,-"&&"'0#9:<'4>.&#9:0*(-B $%&'((')*+,&)-,*)*%).'(/-0+.1)&2**)3+4)*+')+,)&'4)5'.'()!"#$%&'($) *+,&-./(++(&0*$)!($'(!6)7'&'*)8+(&1)9'&'*):;<'=2)+*>)'+,)$%&'((? 8'+*@+'(*3'+*')*+,&)$%&'((')&'*)$',*;<', A '+,)B'4*%,',"C%>% A &+')2,2>%=+*;<')D24*>'((-,.)&'4)8(->E2<,', A :>4+;<=/,,;<',)-,&)B+F>%.42==' '+,):>';FE4+'0)G=+>)%&'4)%<,')8+(&H A A) '+,)C+,.'42E&4-;F A '+,')$2>4+F'(,-=='4 I2*)3+4)2(*)$%&'((')'4F',,',1)*+,&)J%4)2(('=)*%(;<'1)&+').1%",#$ %&'4)*%,*>3+'),%)23%2)(++)=+>)&'=)K4+.+,2()LE'4'+,*>+==',?)D2* =-**)2E'4),+;<>)*'+,)GJ.(?)8'+*@+'(')$2>4+F'(,-=='41)C+,.'42E&4-;FH?

!"#!"#!"#$%%$&'(&)"*+,-.$&/01'0$$.'01 $%&'()*+,(-*.,)/&,/0'+*123-+.4-23+,5*'+0,*+6*71+0'-+*'8,'96-123,./*23 : +-0+,$6+;-&-<)'-%08 : +-0+0,=0'(/*&8 : >-)?*)@@+,/0.,A/+442%.+8 : B+00;)34+0,CD+'*-<+0E8 : F*%16+<'+G H+423+*,I+?+01')0.,-1',+-?+0'4-23,.)1,J*-?-0)4,K L*)?+,-1',0-23',+-0.+/'-?,;/,M+)0'(%*'+0N >-+,5*M+-'1)M47/&+,(+*.+0,./*23,2."3$44("#$%%$,M+123*-+M+0G I/'+1,$%&'()*+,=0?-0++*-0?,-1',(+-'?+3+0.,?4+-23M+.+/'+0.,@-',.+* H)34,+-0+1,?++-?0+'+0,F*%;+11@%.+441,/0.,1+-0+*,O@1+';/0?G P+.+,56$".'$,-1',+-0,D%.+44G,Q@,$%&'()*+,=0?-0++*-0?,1'+2<',.-+ R3+%*-+"S-4./0?,0%23,-0,.+0,B-0.+*123/3+0N!"# $%&'(()*'%+,' -'./+,0),1'2 34&2 0+5./+,0),1'2 $%&'((' $%&'((')*+,&)',-.'&'/)677,(&'+)von)'-.0*)%&'/)8%+7,(&'+)für)'-.0*1 2+,)$%&'(()+*-)&'./+,0),13).',,)'*)'+,)45'*-'6',&'*)%&'/)7'&086-'*9 :5;'<-)5'*86/'+5-1)=>'/*-)7+5-)'*)&0*):/+7+,0(3)&0,,)&0*)$%&'((1 9',.0,'(?)@%-% 2+,)$%&'(()+*-)0+5./+,0),13).',,)'*)&0A>)&+',-)%&'/)&+',',)<B,,-'3 '+,):5;'<-),086)&'C)$%&'(()6'/A>*-'((',1)=>'/*-)7+5-)'*)&0*)$%&'((3 &0,,)&0*):/+7+,0(1 9',.0,'(?)D0>E(0,!"#!"#!"#$%&'$%()*'&*+$,+"#-. /*0-11-%&'()%0-+2),3$,4*%&'+,+&-./+',+(%+'(+(%0123(45'6+(%71&58()*%&'+%49/)+/(%'.(%('-.5: 5-,+3,-1$%;+55+/<9/.+/&86+*%=9&5+(&-.>501(6!"#$%&'6.?,%+'(%@9)+AA%deskriptiv%9)+/%präskriptiv%'&5*%28((%B8(%'B CAA6+B+'(+(%(1/%+(5&-.+')+(*%D+((%B8(%)'+%7&$+$-#%&'+8 '-+"#,"#$-%2+((5E%'B%@9)+AA%&+A,&5%&5+-25%)'+&+&%@+/2B8A%('-.5F 5-,+3,-1-6 G G G H'(+%=9(&5/125'9(&0+'-.(1(6% '(%)+/%I+6+A%+'(%J/>&2/'J5'<+& @9)+AAE%6+A+6+(5A'-.%D'/)%8,+/%81-.%+'(%?,K+25*%43/%)8&%2+'(+ 7+'-.(1(6%+L'&5'+/5*%)1/-.%+'(+%7+'-.(1(6%,+&-./'+,+(F H'(+%C/-.'5+251/0+'-.(1(6%28((%)+&2/'J5'<%9)+/%J/>&2/'J5'<%&+'(F C1&%+'(+/%=9&5+(&-.>501(6%28((%+'(+%M9/68,+%D+/)+(F!"#$ %&'#(()*#&+"#$,&-$.)/0*&1"/2 $%&'()*+,,'+&-./0%12-'*+3'40%5%&6,'%&'*+&'3+%.-+&'78,,+&'-"0*)$,3(("49 :6;<0'5%=-'+.'*0+%'>0<&*+? @ A--0%=B-+'*+.'40%5%&6,.';6,,+&'*B012'A=.-06C-%)&'D+5'E5+6)#+"#+)# 7))+"89)#F @ :%+'A==%,*B&5'%&.'()*+,,'%.-'3%-'+%&+0':+/-;<&+=/)"&- G+0=B&*+&9 @ :6.'()*+,,'D+%.-'A--0%=B-+'6B;H'*%+'&%12-'*B012'*6.'40%5%&6, =+.-%33-'.%&*'E/89-'/-)#$ 7))+"89)#F9 Original präterierte Attribute Abbildung Modell abundante Attribute

!"#!"!# $%&'()*+&,-(&%-.+/0/0-$'(/1&-.23'(-.3/+-0)-4/5&55%/!"#$%%&$'(&)%$-'(&3&,%/3+0+/3%6.&0*+,,-%#./01&$'(&)% 721-8)./99-4+:%-/0-.&0-;3+4+5&9<-/+5-=/4/50%>',<-.&0-*+3,9+'(?)3(&5./5<-4/@9&5%-)./3-A+,%+?-0/+5-,&55B.&0-2$'(3'4./01&$'(&)% C+5-8)./99-/3A&00%-5+'(%-&99/-D%%3+:2%/-./0-;3+4+5&90<-0)5./35-523 /+5/5-D200'(5+%%B.&0-5')0&)6-178$*!$'(&)% 8)./99/-,E55/5-25%/3-:/0%+11%/5-F/.+54254/5-25.-:/G>49+'( :/0%+11%/3-H3&4/0%/99254/5-.&0-;3+4+5&9-/30/%G/5B!"# $%&'&()&%*(+%,-./0(12,(324&''&, $ %&'()*+,&',-./,5&67&,0,+12,89%&'&,:(0";"(8+8<3 &22./,-.(3/&4*&56,78-.99,:)*,;:'9&<:3.&*,2&*,-.2,=/&>&')9?,-&.,@&/ 2&*,-.',A&''.',B$1>.'?,=:/.'?,CCCCD,@):/'.:2.',3E''.'C F L G8/2)9., B*./6&*./%-=6&D,324&''&:(0";"(&%,&(>27*&' 2.&(*,-.(3/&4*&56,8H*,&',78-.99.',-.(,IJ4(,$,.'*:)9*.' ;:'9&<:3.&*,2&*,-.2,=/&>&')9,&(*,'&<:*,@):/'.:2K)/C 78-.99.,HM/,-&.,?2@A*&,/./%2, &22./,-.(3/&4*&56,-&.'*,-./,NK./9&.H./1'>,58',O'H8/2)*&8'.' P G8*8(,1'-,G8*8)9K.'?,Q.(<:&<:*(KM<:./?,Q./&<:*(4/8*83899. P F1<:1'>(K.9.>.?,R8>KM<:./?,G.:9.//.48/*( P $1H+.&<:'1'>.',.&'./,NK./@)<:1'>(3)2./)!"!!!"!# #!"#$%&'()*+, -%.+$$+ $%&'()$&*%+,'+-.()/00(10/23(4%5$+'$%6078(,%9&*%+,'+- :;<7$0($+0$%(7$)/23'$0(=0)$%607()$%(>$/<+'9'(&;<<$0(?$6%'$+<' 5$%)$0@(#+$(=0)$%607(5+%)()/%6A(+A(B;)$<<()6%237$CD3%'@ Ist-Zustand riskante Modifikation geplanter Zustand Modellierung Realisierung deskriptives Modell Modifikation im Modell präskriptives Modell E$3%(-+$<$(&23$+0?/%(,%9&*%+,'+-$(B;)$<<$(&+0)('/'&923<+23($F,<;%/'+-@ G$+&,+$<$H(B;)$<<($+0$&(I/6&$&J(E,$K+C+*/'+;0(A+'(L&'"60)(E;<<"M0/<N&$J O%;';'N,($+0$%(E;C'5/%$!"# $%&'()*+,%-.,%/.01+(/(23,%-.45%.65/2++2% 7(2. $%&'()*+,%-. 2(%28. 65/2++8 $%&'((')'*+,+'-'*)&./0-)925:1);&,%-2%1)<%1+5-(28);+=882).*& >%&,(&(5%2 92(8?(2+3 4'/):25:1);&2&1)&5,,)6/%7/588')9*)6/%7/5889'/,:/50-'); +<:9,0-)='9+)='*97'/),<*+5>+9,0-')?'-('/)'*+-5(+'*)5(,),%(0-')9* @1)-5+)'9*')@;253(2)'*+=90>'(+2 A/),0-5BB+)'9*)65/2++1)9*&'8)'/)?58&,+(23&1)&5,,)',)C.*+'/ D',+988+'*)@'&9*7.*7'*E)9*)F:/50-');)98)$9++'()? ; )?'-('/):/%!GGG)HIJ)79D+1)D'9)F:/50-')@)98)$9++'()? @ 2 K9')A*+=90>(.*7)L%*)$%&'(('*)9,+)&'/)A'2)*.B2/23.C538);,%-2

!"!#!"!#!"#$ %&'"("#)*+,$ #"+#-$./(#''- $%&'()**+*',*-+&+'./0+11+'*,&'0,&23'0#-*'1&1#$2/+$345#)"6#+7 1#+$*+($8#/9&:;1*+,#+'451%0%+&+*'64718'95:,&;%--+*-235<:+*=8 345#)"6#+1 '>%*+'6%*'0+&'?+7+1'*,:@1/-+='A,<75B+';%&0'4/*'C+3&+&+*'D&/B5*0+* 6D+&-/*+*'/0+&'E&,FF+*='B+5&B+%:+:8 G%+'H+&5*-:51:+&'0+-'>IF+&%C+*:-'-/&7+*'05<J&K'05--'511+'D&/B5*0+*,*:+&'71+%23+*'L+0%*7,*7+*'5&B+%:+*K'C%:'+%*+&'A,-*53C+M'N*'+%*+C D,*(:'5&B+%:+*'-%+'C%:'4+&-23%+0+*+*'L+0%*7,*7+*8'G%+-+&'A-F+(: ;%&0'%C'>IF+&%C+*:',*:+&-,23:8 8#/9&:;1*+,#+ L+%'L+/B523:,*7+*'6<#'(-1*("#+=',*:+&-,23:'C5*'5(:,+11+'/0+& 0/(,C+*:%+&:+'AB1O,<+K'C+%-:'P/<:;5&+"D&/Q+(:+'/0+&'R+%1F&/Q+(:+8!"#$%&'( )&"( *+,&"-'&./&0( )"&-( 1&2"( 3"#4&( 5-.)&".-11& $ %&'()*(+,-./0122+3*(+4*&*-0-5&*.+6*(27.*.+896(74'.3*.:;<+3'31(=> 2*>(+5(7?*+%&(*11.5@+6#%3&A+2&'&-2&-2=>*+B122'5*.+.1(+C-& vielen+6*(27.*.+d10e22-5@+f'2+-2&+*g&(*c+&*1*(h $ 6(74'.3*.+8C*-2&+%&13*.&*.;+2-.3+7/&+.-72/(/8,-172+/I(+3-*<+I4*( 3-*+B122'5*.+5*C'=>&+J*(3*.+2700*.+8C*-2&+6(')&-)*(;@ $ F-*+D1+)0E(*.3*.+K('5*.+CI22*.+L(ED-2*+5*2&*00&+J*(3*.<+1C 3'2+,GL*(-C*.&+(*L(731D-*(4'(+D1+C'=>*.@+F'..+2-.3+'4*(+3-*,(5*4.-22*+.9"(:;"(&-.&.(<-.=-3&.(>91172.-//()&"(?&%/ 3;%/-3@!"#$%&'( )&"( 6&%)1/9)-&.0( *-.:%;11&(.-72/( ;$&"172@9$@" M.+3*(+6('G-2+5-4&+*2+L(')&-2=>+.-*+DJ*-+6(7N*)*<+3-*+1.&*(+2*>( E>.0-=>*.+O*3-.51.5*.+31(=>5*/I>(&+J*(3*.@ F'4*-+-2&+D1+4*/I(=>&*.<+3'22+3-*+6(7N*)&*+31(=>+'.3*(*+,-./0I22*<+D@O@ 3-*+P12'CC*.2*&D1.5+3*(+,.&J-=)0*(5(1LL*.<+Q.&*(2=>-*3*+3*(+B1/" 5'4*.+1.3+R'>C*.4*3-.51.5*.+12J@+*(>*40-=>+5*L(E5&+2-.3@!"!#!"!#!"#$%#"&'()'*#"'+#,-.'$#/0'1#"'2".031"'1",'45.+#/-&657'86$9 $%&'())&*+&'&%,&-'.&/+%00+&,'12-3&4&,/5&%/&'.&%'6&-'72)+58-&" (,+5%9*:;,3'/2::&,')&/+3&/+&::+'5&-6&,< 4:%",#;"5.=','(,+5%9*:&-3-;>>&,?',@A'B-;>>&,'&,+5%9*&:,',894'C&" +426&'DE',@A',894'C&+426&'.<'F-2.8,6&,'G%<6<H<'7+;6&,+&,I'5&-6&, 6&,'B-;>>&,'6;-94'J2/'K;3&2-6,&+<'12-*&,,+,%//&'4%,/%94+:%94'D';,6 L'/2::+&,'MN::%3'3:&%94'/&%,'G68/'%/+'*8;0'K;'/948))&,I<!"#$%#"&'<='L2&40E'B-8OE'7&&58:6'G!PQRI='(,+5%9*:;,3'&%,&/ F-23-800/'6;-94'M%&:&'7+;6&,+&,3-;>>&,E'+&%:/'0%+'7>&K%)%*8+%2,E +&%:/'0%+'F-2+2+O>%,3< S,'6%&/&0'T8::'58-&,'M%&:&'12-8;//&+K;,3&,',%94+'&-)U::+<!"# $%&'((')*+),%-./01')234*3''1*34 $%&'()*&)+,)-'+&.'/0+&11"2&-3%44.'5,4'6047*53&'8&%-79'+5..'*%3'-05. 361)+*.):047';&<3.7,4%-&)='$%&'(('3'53>&%7&)? @03.7&11,)-&)'+&.'A,)+&))!6047*53&"6B&8%4%C57%0)'!D0+&)!5,.4E<3>53&.'F30-35;;)!(,.4E<3,)- @%&1&'/0+&11&'*&3+&)'51.'G35B<&)'+53-&.7&117? (,H<'&%)'70(8'3&*0410++';%7'+&3'I&H<&)8&%7'J&3.H<%&+&)&3 (1-03%7<;&)'%.7'&%)'/0+&119'*0>&%'+5.'K3%-%)51'+%&'I&H<&)B308&..&.%)+9'+&3&)'(773%>,7&'>%.'5,4'2&8&%H<)&3',)+'I&H<&)8&%7'B3L7&3%&37.%)+?'$%&'M03;':251C&)+%5-35;;='%.7'5>,)+5)7?' <)1%H<&.'-%17'4E3'511& $'.1*8'3?

!"!#!"!# $%&'()%*+,%-'(.&,'/0*+'%12&-(1'/(341'55'(%0,(1%'(%&!"#$%&'()*"+(,,(6(7/'%,'8,"9:';%<%=>,%4&?(9@AB"A%>-/>CC?.0'"D>0'"A%>-/>CC?(E"9:';%<%=>,%4&('%&'0(341250 -"'.(/(01)230+24'"5(116"+(,,(6(;F((GF(H>00'/<>55C41'55? I/4,4,J:%&-?(K"341'55 A'&(70$('18/9(+2 5%918/(02 +(1:'9;$9<(02 30+2 ;'=1:'9;$9<(0 *"+(,,(0(L'>*+,'&M 4'=1:'9;$9<(2*"+(,,((NO'-'5&?(O%*+,5%&%'&P?(1%'(&%*+,(L'>*+,', )'/1'&?(0%&1(&%*+,(&2/(&%*+,(&Q,;5%*+?(04&1'/&(0*+R15%*+F?()'%5(0%' L')%/='&?(1>00(O'-'52&-'&(2&1(K4/->L'&(-'&'/'55(*+>&*'&540(0%&1F >(1:'9;$9<(2*"+(,,((N&Q*+,'/&'(G'0*+/'%L2&-'&(1'/(O%0%='&?(1'0 $&,)%*=52&-00,>&10?(1'/(@2<)>&10"(2&1(B'/C%&0*+R,;2&-'& ()R/'& 4<,(0'+/(&Q,;5%*+?(0%&1(>L'/(&%*+,(:4:25R/F!"# $%&'()&*)+,-./ $%&'()*+%,-(.)'./01()2'34(5&%()6'7898':(%;'9(;<4()6'=(4.(&'70.5-/.%>%(&()'0)2'70':(4(:()8?%)('34(5&%('%>*'(%)'@52(..6'2/>'A4B)5;()('2(>'C&%D%)/.>'(&-.B&*8 0&)12)&+E'F(./*%G%*B*>*4(5&%('H'@52(..':(>*%;;*(&'I4J>%-/.%>,4(& A4B)5;()(6'(&-.B&*'K0>/;;()4B)D('7+%>,4()'@/>>(6'?)(&D%(6 F/0;'0)2'K(%*8?%)('34(5&%('+%&2'/.>'richtig''L(%D()*.%,4E':&/0,4:/&M':(*&/,4*(*6'+()) 2/>'I&/D;/*%>,4('@(&-;/.';ND.%,4>*'0;1/>>()2'D(D(:()'%>*8 0&)12)&+E'O%('F(./*%G%*B*>*4(5&%('(&./0:*6'P0>>/D()'<:(&'2/> Q%,4*'70'*&(11()6'2%('>%,4'(RI(&%;()*(..':(>*B*%D()'./>>()'L(*+/ 2%('P:.()-0)D'2(>'Q%,4*>'20&,4'S&/G%*/*%5)M8' 'F%,4*%D-(%*'%>*'-(%) -5)>*/)*(>'@(&-;/.E'T(2('34(5&%('+%&2'5:>5.(*6'+())'(%)( :(>>(&('D(10)2()'%>*8!"!#!"#$ $%&'()*+'!"#$%!&'()**!&*+,#-%!&'(%,-'-.-/012'*&3&,,4&%12,&56 -.(('%20&'72&)0%&,'*.,4'89&0:%&*&,-';)0<.=%(%&05'(%,-6'%20&,'>/(" -0/13'%,'?)0<&=,';%,-&,+'$%&'?)0<&=';80'-&,'?.==:&*'%<'@.1//< ('A'*BC'5 C %(5'&%,&'()=12&';)0<.=%(%&05&'D/,-'E/.,5%;%4%&05&F'72&)0%&+ $&0'./!)%!' 0#12%*#%.' 3!4' 5,!46738&#6)$'%(5'D%,'(&%,&0.==*&<&%,&,'?)0<F',%125'E/.,5%;%4%&056'.9&0';)0<.=%(%&05G -(B-5' 'H $%&'&)+,%9!"#$%!&' ()**!&*+,#-%!&'.09&%5&,'<%5',%125";)0<.=&, 72&)0%&,G'$%&'>09&%5&,'I),':#4/)&'4/0'JI)=/5%),'/,-'-%&'>09&%5&,'I), ;4!13'/,-'<1&='4/0'K(L12)=)*%&'&,52.=5&,'I%&=&'()=12&0'72&)0%&,+ >477$*?'@#/' Adding manpower to a late project makes it even laterm %(5'&9&,;.==('&%,&'72&)0%&6'5LN%(12';80'I%&=&'72&)0%&,'%<'OJ'D:&-&0 ;)0<.=',)12'N0P4%(&6'&,5(N0%125'.9&0'-&0'J0;.20/,*F+ Q.,12&'()=12&'72&)0%&,'2.9&,'(%12'.9&0'.=(';.=(12'&0:%&(&,+!"# $%&'(()'*+,-.&+*/0.1*230',.+,&.1*24)5', %&'(&)(*+(,,-./(&,01-2&,)33(+,42+5*'06()0(,3)7,()&8.1-(& 9()1-&*&'(&,'(.+/()7(7:,,;.+*3,0<)(=(&,1*230',>,.=02,?(/)=@(,.*0 3()07,/(01-+)87(7(&,6,%7',.+,&.62,7',>,)3,A2876.+(,B&')&((+)&' ()&(,/(02&@(+0,6)1-7)'(,C2==(: 8')93)'('. 4:*. 1*230', D(&&,6)+,)3,A2876.+(,B&')&((+)&',?+.<-(&,4(+6(&@(&>,02,0)&@,@)(0( )&,@(+,C('(=,-'*)/07'7,*&@,@)(,E&27(&,0)&@,;'9/0*)47'7: ;)(,?+.<-(&,0)&@,287,-)(+.+1-)01-,.*8'(/.*7>,@:,,-:>,E&27(&,@(+,()&(& B/(&(,+(<+F0(&7)(+(&,?+.<-(&,@(+,&F1-07(&,B/(&(: E.&7(&,6(+@(&,&)1-7,)33(+,)&,@(+,G/=)1-(&,H2+3,.=0,I)&)(& @.+'(07(==7>,0)(,(+'(/(&,0)1-,287,@*+1-,@)(,J&2+@&*&',@(+,E&27(&:?+.8)01-(,K(+L3.=(,6(+@(&,4(+6(&@(7>,*3,4(+01-)(@(&(,<=3', 42&,E&27(&>,(47=:,.*1-,E.&7(&>,5*,*&7(+01-()@(&:

!"#!!"## 1 2 3 4 5 Steuerung (Hauptprogramm) Hauptfunktionen im Sinn der Anforderungen Datenstrukturen und Algorithmen Bibliotheken, Basisfunktionen virtueller Rechner (Betriebssystem usw.) $%&'%&()*+,-).. /')0!"#$%"01'*-0*230-23%&0-')04)5()0)36)**783091')01'*-08.1, &%'()*+,$%$:; -')09<)3'%&()()*:0!-"$%"01'*-0+./0+1+$0-23%&0-')0=*,3-*2*<0-)3 >*,()*08*<)<)7)*? System- Analyse Software- Spezifikation $%&&'()%**"+,-'** Feinentwurf und Codierung./'012,3'20-'&04'(/563'3'207(%86'20&/2-09'&56(/)3'3: ;&04/930!"#$%&'(#)%*+)%,-)(#)0<=%4'(0>2-0)'330-%(4'&3'**3?:!"#$!"#$ %&'"()*++,-./*01*22 Architekturentwurf 3/,4(-56,-47,+/68,-4,/-,4*9+0,:1;06,4<97+619=6914>.?44@?A4./,4(-56,- 7/).,-4@/,1*1B@/+B@49-6,10,51.-,6,4C1*:@,-DA4E,1+B@/,.,-, 0,1/B@6,6,4(*-6,-6F:,-41,:1;+,-6/,1,-49-6,1+B@/,.)/B@,4G,)*6/5-,- 8H/+B@,-4(-56,-I4*-*)5040/764,+4E,1+B@/,.,-,4(-56,-6F:,-? %&'()"*&'+,&()-.'&'&(/!"#$%&"&'%()%$#*/01'&22&3/435/6(738)')93&3:;/<)&/1'&22&3 8)35/=)'/>&2)&>)?/@)&2&3/A7(B&3/>&8&'+'; T S1 S2 S3 S4 C1 *788)"1.3&)5&(=73"<)7?(7==/01'(4B'9?(7==: <)&/C39'&3'DE&3/5&8/.)&(7(-.)8-.&3/,(7E.&3/8)35/54(-./).(&/+&%,-. &,%'//43'&(8-.)&5&3;/<)&/?&()-.'&'&3/C73'&3/8)35/34(/"0#1"2"&; C2 S5 F

!"#$!"#$!"#$%&'( )&"( *#+%&,#+-. /&"010(!"#$%&'( )&0( 234+5#"&( 6'7-'&&"-'70 %&'()*+,-./'01231//.312'4/.,/15/1',3.'6.-78/1'7.-9+3:;8'13/&-<: :)=',3/':3/'31'5/1'>?;8/.1'?@/.'6.-78/1+8/).3/'2/A/32+',/.5/1B C-+8/&-+39 9/31/'>/:;8.3*+D12 G-D;8H D12/.3;8+/+/'6.-78/1 E-1+/1'-.&'-1 %1*).&-+3)1 E-1+/1':315'M/<-+3)1/1 A,3:;8/1'E1)+/1B %&'()'*+,(*-./*0'1231)4*51)'(,(6(7! '& ()*+,-./'01231//.312 E1)+/1'3&&/.='E-1+/1')*+'@/:;8.3*+/+B'F3/ >/:;8.3*+D12'4/.91?7*+'5/1'6.-78/1'&3+ 5/.'?@.32/1'()*+,-./B &/3:+'2/.3;8+/+/'6.-78/1I'E-1+/1':+/<</1 J<?::/')5/.'E-D:-<3+K+'5-.B E-1+/1':315')*+'@/:;8.3*+/+'D15'8-@/1 5-&3+',3/'53/'E1)+/1'%5/1+3+K+B'04+<B &/8././'E-1+/1'*?.'/31'L--.'4)1'E1)+/1B (7/3;8/.D12'-<:'@37-.+3+/.'6.-78'GE-1+/1,/.5/1',3/'E1)+/1'@/8-15/<+HB $% "!84&/9*:,41*;04*</),=9)40'>*,'*),')'*!"#$%&"&'()*%$#+'(?@)4A)(;(B*1,)*%'3()'*1)4*),')'*%C&AA)**4)/46A)'(,)4)'*1,) 04A/4?'>C,=9)'*%&'()'B*1,)*1)4*&'1)4)'*1,)*04A/4?'>C,=9)'*%'3()'D EF)@)')GG)H(7*+)94A()CC,>)*I)C&(,3')'*1&4A()CC@&4DJ '% $& $% $&! " # '& '% #!"#$!"#$ %&'(&)&)*+',-('.&)*/0(&)1,-'&23 45)*67(-&87('9&)*1'02*:)7;-&0*!"#$%!&$<*2'&*=7)1(&>>?0.&0 0&@&01A,->',-B 45)*C0.&0'&?)&*'1(*271*'()**+',-('.<*7?,-*2'&*D8&'1(*1(7027)2'1'&)(&E =7)1(&>>?0.B*=78'(*()7.&0*7?,-*F'>2&>&8&0(&<*2'&*GH)87>*.&1&-&0 7@?0270(&*I(()'@?(&*1'02<*F&2&?(?0.B +,%#$-))./03*=&)*.)JK&)*27).&1(&>>(&*L0H(&0*)&;)A1&0('&)(*&'0.)JK&)&1*M)H.)788*H2&)*&'0&*1,-+'&)'.&)&*I?G.7@&<*2'&*2',9.&N&',-0&(&*L70(&*'1(*+',-('.&)*7>1*2'&*.&1()',-&>(&*?1+B ='&1&*LH00H(7('H0&0*1'02*.&GA-)>',-<*+&'>*1'&*I?117.&0*1?..&)'&)&0 9J00&0<*2'&*1H*0',-(*.&8&'0(*1'02B 1,/#-2.-/33*I>>&*I(()'@?(&*&)9>A)&0*oder*7?G*O7)'7('H0&0*07,- 6J.>',-9&'(*P&)N',-(&0*oder*0H('&)&0<*2711*?0(&)1,-'&2>',-&*I(()'@?(& H-0&*F&2&?(?0.*1'02B!"#$%#&&#' (%)#*+,-./0#*' 1#2' 32."-#* %&'()*+&+&,%'-.*&/0,1(&,&(/&/,2-34,5(61&/0,7(/1,(4,89:+;-'& </=(/&&'(/=,9:+,5&79/1&'7,/>+?6()*@ 2-34,=&7+-++&+,&(/:-)*&,45+02.60%7*@,A&1&',B&(65-34,C-3)*,1&' =-/?&,2-34D,;('1,13')*,7&(/&/,892$#&6*70#*,'&.'E7&/+(&'+F 2&(7.(&67;&(7&,G-//,4-/,H,&(/&,&/+7.'&)*&/1&,2-347+'3G+3' I9'-37=&7&+?+,H,&(/&/,J'9='-44+&(6,-5+'&//&/0,(/1&4,4-/,7&(/&/ K3'?&6G/9+&/,6L7)*+F <(/&,:%#2.2,-%#,4377,/()*+,3/5&1(/=+,5-34:L'4(=,7&(/F A&1&,:.&5721*9*),(7+,&(/&,M(&'-')*(&F

!"#$!"#$!"#$%&'() *(+),-.#*/%0+'" %&'()*+,'-./'(.0&1.23456&1.7&38410(.9'10.234,':&1.+10.;<64+=')0&3 >/&'9(.?+3.@439(&))+1-.7A1.B+1:('A1&1C.=&'95'&)98&'9&.0'&.D46).0&3 -&,+10&1&1.B&6)&3.4)9.B+1:('A1.0&3.D&'(EF 200 100 Anzahl Studienanfänger 96 97 98 99 00 01 02 03 04 05 Jahr!"#$$%&' #('!)*+,-.%' /&0#&%%.#&0 %&'()*+,-./0(*'1,22('/)*3'3,/'45,6.(*'&)0'7*80(*9'3,5:(/0(220'3;5-. <(-.0(-=('83(5'75()/(9'3)('3)('>(/-.5)+0;*:'(*0.,20(*9';*3':(5)-.0(0( 7,*0(*'?@+()2(AB A B Student Prüfling Bewertung Lehrveranstaltung 1 wird geprüft durch abgel. Prüfung Prüfungsergebnis Prüfungstyp Prüfung Erstprüfung Prüfer 1..* hält ab 0..1 0..* Befragung Bewertung Wiederholungsprüfung!"#!!"#$!"# $%&'(()'*+,-.&+*/0.120(',3 452(',.+,&.452(',678', $%&'()'*+%,(-.'&&/0123(%4*('%&()56'227(8'%(6'9(6%'(:'+,;+/<&=(022' )'+,902'(8%4(0<>('%&('%&/%='4(8'4'%*%=*(10*? 1)'(@(,&0AA'7(9B=2%C14*(,20+'(<&6(58D',*%E'(F'4C1+'%8<&=('%&'+ G5>*H0+'-".59A5&'&*'3(56'+('%&'4(I+5D',*4? 9,:26;@(J<0&*%>%/%'+*'(K&=08'&7(0245(-%&*'+A+'*%'+80+'3(L012'& M'+(F'=+%>>($'6*)5(8'/'%C1&'*(604(<'*=20*',7(452C1'(L012'&(/< '+1'8'&7(0<C1(6%'(>':+(626'(6'+($+1'8<&=?!"#$ %&'(#)*+,#) %&'(#)%&'()%*'(*%+',-.'/*%012()34/*%)*1%5*.1'6*(7 Nominalskala Ordinalskala Intervallskala Rationalskala Absolutskala 8643*(%34&&*(%&',-%2(.*1%)*1%9*34.':(%;&,-3'*<.%*'(=%&*3>&.%42?%*'(*1 @A1)'(43"B%86434%4(:1)(*(7 C'(*%94.':(43&6434%>'*.*.%43&:%alle%5D/3',-6*'.*(%)*1%4()*1*(%8643*( 42<*1%)*1%E>&:32.&6434%@?F1%)'*%)'*%E2&&4/*%(',-.%*G46.%/'3.B7

!"##!"#$ $%%&'()*+,-).,/&*/,0)*+/12(*/3/4,5/*+/6,!"#$%&'()&'&7 8)2,92:.)*+,-).,Gleichheit;,<-=,&=3,>/&*/,?>-'-,&@,:%'&AB/*,?&**/7 C/23/,%&'(/*,/&*/,+/12(*/3/,5/*+/,0DE-*+'&=3/F46,*+,$%&'()&'& G)=H3G'&AB/,IJ/2-3&1*/*6,VergleichK,Median,)*(,-*(/2/,Perzentilen <&../2/*G/*,GL&=AB/*,M/L/23)*+/*,=&*(,(/.&*&/236,-%./+0&''()&'& G)=H3G'&AB/,IJ/2-3&1*/*6,Differenzbildung, Mittelwert N=,+&%3,/&*/*,*-3:2'&AB/*,8)''J)*>36,1&.$"%&'()&'& G)=H3G'&AB/,IJ/2-3&1*/*6,Quotientenbildung N&*B/&3,&=3,:%/2.':==&+K,L/&',OHB')*+,G),P2)*(/,'&/+36,23("'4.()&'&!"#$%#"&" '()&"*+,%!"#$%#"&- )&&."/"#*!"#$%#"&- '0 12/#*)&3 '()&) 456#*)&3 '()&) 7*+"58)&&3 '()&) 9)+#2*)&3 '()&) :;$2&<+3 '()&) %&'()*&+(',' -./01+.01' <.(1.*=)+4.>?./ 2)/'.(*4&*4/ ;.56.3&'C3>(*>43&? 7.+/(C/ B&//.I>J3C0@I 9'3)5/',3@. F&6&G(','>.(*./ <.(/.MC//./ 8*G&1+>?.3>N.3(.*'&4. 23)43&55(.3/63&01. 789:";))+ 9@&+.*'A6.* 7BB"9@&+& D.('>EF&+.*?.3G.('H K&C=G.('I>8C=L&*? 23)43&55C5=&*4 E7)?.G.(+.*H N.1+.3G&1+

6-1 6 Menschen im Software Engineering Beim Software Engineering steht der Mensch (tatsächlich!) im Mittelpunkt, weil Software Engineering nur mit ihm möglich ist. 6.1 Software-Leute und Klienten Software-Hersteller und Kunde sind meist juristische Personen. Menschen, die auf der Seite des Software-Herstellers in einem Software- Projekt arbeiten (vor allem Entwickler und Manager): Software-Leute Personen, die den Kunden repräsentieren (z. B. Fachexperten): Klienten. Manchmal sind die Software-Leute gleichzeitig auch die Klienten: Menschen, die Programmieren als Hobby pflegen, Software-Leute, die sich selbst Werkzeuge schaffen, Menschen, die, geographisch verteilt, gemeinsam an Software- Systemen arbeiten. Hier sind die Klienten meist mit den Sofware- Leuten identisch. 6-3 6.2 Rollen und Verantwortlichkeiten Am einfachsten: eine Person! eine Rolle Oft: eine Person! mehrere Rollen Auch: mehrere Personen! eine Rolle In der Praxis finden sich viele sinnvolle und noch mehr andere Rollenverteilungen. Die nachfolgend genannten Rollen sind sinnvoll und weithin üblich. Der Entwickler und seine Spezialisierungen Der Entwickler entwickelt Software. Er befasst sich vor allem mit Spezifizieren, Entwerfen, Testen, auch Prüfen und Verwalten. Derzeit entstehen Spezialisierungen; vgl. Certified Tester. Erhebung der Anforderungen (Analyse) (betrachten sich eher nicht als Entwickler!) Nur Feinentwurf, Codierung und Test Weitere Spezialisierung: Analytiker Programmierer (Software-)Architekt Der Architekt hat im Software-Projekt eine ähnliche Rolle wie der Architekt auf dem Bau, er entwirft nicht nur die Struktur, sondern leitet und überwacht auch die Realisierung. Kein Künstler! Entwickler in der Wartung: Warter, Wartungsingenieur 6-2 6-4

Projektleiter und Gruppenleiter 6.3 Die Produktivität des Projekts 6-5 6-6 Der (Software-)Projektleiter (synonym: Projektmanager) leitet das Projekt fungiert als Mittler und Übermittler zwischen dem Management der Herstellerfirma und den Entwicklern kann auch in der Linienorganisation als Gruppenleiter der Vorgesetzte der Entwickler sein. Zwei sehr verschiedene Interpretationen der Vorgesetzten-Rolle Stabsfunktion: Repräsentant der Geschäftsleitung gegenüber den Mitarbeitern Linienfunktion: Vertreter der Gruppe gegenüber dem Management Der Kunde, die Anwender und andere Betroffene Software wird meist für einen Auftraggeber, den Kunden, entwickelt. Beispiel: Auskunftssystem der Bahn. Kunde = die Bahngesellschaft, vertreten durch einen hohen Manager Klienten = Fahrplan-Experten, Fahrplan-Macher, Betreiber anderer Verkehrsmittel Klienten sind eine im Allgemeinen große und sehr heterogene Gruppe. Unsichtbare Klienten : Gesetzgeber, Kontrollgremien. Sie wirken durch Gesetze, Vorschriften und Normen auf die Arbeit ein. 6-7 6-8 Achtung, alte Zahlen! Einflussfaktoren der Produktivität Arbeitsbedingungen Technische Ausstattung (Hardware und Software) Störungen Vielfalt der Aufgaben (Zersplitterung der Arbeitsleistung) Schwierigkeiten der Aufgabe Neuigkeitsgrad der Aufgabe Verfügbarkeit von Lösungen Komplexität des Zielsystems Spezielle Anforderungen wie hohe Zuverlässigkeit, extreme Anforderungen zur Datensicherheit oder zur Rechengenauigkeit Verfügbarkeit klarer und stabiler Anforderungen Rahmenbedingungen des Projekts Personelle Kontinuität Arbeitsklima Verteilung der Aufgaben und Kompetenzen Kommunikationswege und -hindernisse Stabilität und Zuverlässigkeit der Führung Zeit- und Kostendruck Eignung der Entwickler für das Projekt Verständnis für den Kunden, Kulturbarrieren Erfahrung im Anwendungsgebiet, Problemverständnis Erfahrung in der verwendeten Technologie Individuelle Faktoren Fähigkeiten als Entwickler Fähigkeiten zur Arbeit im Team Disziplin Motivation

6-9 6-10 Ideal: Versierte, teamfähige Leute arbeiten unter kompetenter Leitung eng zusammen, sind auch räumlich zusammen. Der Kunde, der aus demselben Kulturkreis wie die Entwickler stammt, liefert vollständige und stabile Anforderungen. Die Gruppe hat in gleicher Technologie ähnliche Systeme bereits erfolgreich erstellt. Es ist einfach, solche idealen Verhältnisse zu beschreiben. Viel schwieriger ist es, unter den realen, leider nie idealen Bedingungen eines Projekts den besten Kompromiss zu finden Beispielsweise ist es manchmal fraglich, ob durch einen weiteren, als schwierig bekannten Mitarbeiter das Projekt gefördert oder behindert wird. Eine Risikoanalyse kann in manchen Fällen helfen. Variationsbreite der Entwickler-Produktivität Achtung, diese Zahlen sind sehr alt. Aber neuere gibt es kaum. Performance Measure Ratio (#1) Ratio (#2) Debugging hours 28 : 1 26 : 1 Coding hours 16 : 1 25 : 1 Diese Untersuchung (Sackman, Erikson und Grant, 1968) wurde später oft zitiert und kritisiert. Nach Prechelt sind die Unterschiede nur etwa halb so groß. In der Praxis sieht man tatsächlich überraschende Leistungsunterschiede. " Die qualitative Aussage der Daten von Sackman et al. gilt weiterhin: Kein anderer Faktor im Software Engineering streut so stark wie die individuelle Leistung. Vermutlich ist die Variationsbreite innerhalb einer bestimmten Arbeitsumgebung deutlich kleiner, als Sackmans Zahlen vermuten lassen (höchstens 1 zu 3). 6-11 6-12 Die Messung der individuellen Produktivität Die Leistungen der einzelnen Programmierer kann man durch Zählung der Codezeilen messen: Programmierer X schreibt y Zeilen Code pro Stunde (LOC/h). Eine solche Aussage ist aus mehreren Gründen problematisch und meist schädlich: Nur ein geringer Teil der Zeit dient der Programmierung. Andere, wichtige Tätigkeiten bleiben unberücksichtigt. Die Qualität des Codes spielt keine Rolle. Programmiersprachen haben unterschiedliche Dichte. Die Bewertung der wiederverwendeten Codezeilen (v.a. in oo Programmen) ist noch immer unklar. Der individuelle Programmierstil wirkt sich auf die Zeilenzahl aus. Die Metrik ist leicht zu unterlaufen. Allgemein: Metriken taugen nicht zur individ. Leistungsbewertung! 6.4 Motivation und Qualifikation Die übliche Programmiererkarriere Software-Leute verdienen meist gut; viele haben aber persönliche Probleme mit ihrer Situation. Sie haben als Quereinsteiger ein Grundlagendefizit. Wie sieht der typische Programmierer P aus? P. kommt aus der Elektronik, er ist durch die Änderungen an seinem Arbeitsplatz langsam in die Software hineingerutscht. P. hat darum auch Programmierkurse besucht. Die Leute um P., auch sein Chef, sind ähnlich zur Informatik gekommen. P. kann leidlich C++ programmieren und kennt sich mit dem Prozessor aus, der in seiner Arbeit regelmäßig eingesetzt wird. Von Zeit zu Zeit erreichen P. sensationelle Ankündigungen (AI, Objektorientierung, Windows-XX, Extreme Programming) und Verheißungen (zehnfache Produktivität, fehlerfrei usw.).

6-13 Was können wir über P. vermuten? P. hat Angst vor Veränderungen, bekämpft sie, vor allem, wenn sie die Transparenz verbessern. Denn P. fürchtet mit gutem Grund, dass jede Anderung das Risiko birgt, ihn zu überfordern. P. glaubt nichts. Insbesondere glaubt er seinem Chef nichts. P. wünscht sich größere Sicherheit bei seiner Arbeit. Er hat aber selbst keine Idee, wie diese aussehen könnte. P. vermutet, dass die Situation in seiner Firma besonders ungünstig ist. P. wird an seinem Arbeitsplatz vermutlich nicht das Pensionsalter erreichen. Ein Modell der Motivation Traurig für P. und auch für seine Firma! Betrachten wir die Fähigkeiten und Tätigkeiten eines Menschen in einer schematischen Darstellung. was der Entwickler nicht ungern tut A L was der Entwickler kann Ein Mensch wird eine Arbeit nur ausführen (notwendiges Kriterium), wenn sie innerhalb seiner Möglichkeiten liegt (Gebiet A) oder (besser, aber fast gleichbedeutend) wenn er keine Abneigung dagegen hat (L). 6-15 was der Entwickler nicht ungern tut A F was Spaß macht L was der Entwickler kann R was die Umgebung anerkennt und honoriert Ein starker Grund, eine Tätigkeit auszuführen, ist, dass sie ihm Spaß macht (F) oder dass sie ihm Anerkennung oder eine andere Art von Belohnung bringt (R). Typisch gilt F # L # A, aber nicht R # L was der Entwickler nicht ungern tut A L was der F Entwickler tut was Spaß macht was der Entwickler kann R was die Umgebung anerkennt und honoriert Damit beschreibt die grüne Fläche F $ (L % R), was der Mensch wirklich (und leidlich gut) macht. Es ist die Aufgabe des Managements, dafür zu sorgen, dass seine Aufgaben in diesem Gebiet liegen. 6-14 6-16

6-17 6-18 L A was der Entwickler nicht ungern tut F was der Entwickler kann Ein trauriger Spezialfall ist der Versager, die Niete: L L % R A ist klein oder leer. was der Entwickler nicht ungern tut was Spaß macht was der Entwickler tut F was die Umgebung anerkennt und honoriert was die Umgebung anerkennt und honoriert was der Entwickler kann Ein anderer Spezialfall, eigentlich auch traurig, ist der Workaholic: F $ (L % R) ist sehr groß oder sogar F # (L % R) Viele Probleme im Software Engineering können mit diesen einfachen Diagrammen erklärt werden, denn sie haben mit Können und Motivation zu tun. R R 6-19 6-20 Der Lösungsansatz ist damit klar: Wenn wir wollen, dass Menschen hochwertige Software hervorbringen, müssen wir dafür sorgen, dass sie wissen, was von ihnen erwartet wird und wie sie es leisten können, nicht nur als blutleere Lehrbuchweisheit, sondern (auch) durch praktische Erfahrung Anerkennung bekommen, sichtbar und spürbar, und nicht mit kontraproduktiven Widersprüchen kämpfen müssen. Im günstigsten Falle macht die Entwicklung guter Software Spaß! Beispiel Dokumentation F A L Dokumentation Wo liegt in diesem Bild die Dokumentation? Im Niemandsland! R