software engineering 1. einführung und...
TRANSCRIPT
![Page 1: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/1.jpg)
SoftwareEngineering1.EinführungundBegriffe
Prof.Dr.KlausOstermann
1 SoftwareEngineering
![Page 2: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/2.jpg)
Agenda
SoftwareEngineering2
} Organisatorisches} Begriffsklärung:Softwaretechnik} AufbauderVorlesung
![Page 3: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/3.jpg)
Organisatorisches
SoftwareEngineering3
![Page 4: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/4.jpg)
OrganisationderLV
SoftwareEngineering4
} Umfang:2SWSmit~8Vorlesungen} BegleitendzumTeamprojekt} Termine:
} VL:Mi14.15–15.45Uhrhier} Klausur:27.06.2018,14:00Uhr,HörsaalN6
} Scheinkriterien} Abschlussklausur} MusszumAbschlussdesProgrammierprojektsbestandenwerden} FliesstindieNoteein(Detailsfolgen)
} HomepagederLV:} http://ps.informatik.uni-tuebingen.de/teaching/ss18/se/
KopienderFolien,Literaturhinweise,...
![Page 5: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/5.jpg)
Lehrveranstaltungsstil
SoftwareEngineering5
} KonzeptvermittlungdurchFolien} FolienkopiensindaufderHomepageverfügbar,Abweichungen(insb.Korrekturen)sindmöglich
} BeispielehäufiganderTafel} ZwischenfragenundKommentarewährendderVorlesungsindgrundsätzlicherwünscht.
} „EinsatzinderPraxis“imPraktikum} GastvorträgevonhochkarätigenDozentenausderIndustrie
} KommenSiezurVorlesung!} UndwerdenSienichtzurBelastungfürIhreTeampartner
![Page 6: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/6.jpg)
Inhalt
SoftwareEngineering6
} SoftwareEngineering:} Systeme,Projekte,Fachgebiet
} Vorgehens-undProzessmodelle} Anforderungsanalyse} Softwareentwurf:ModellierenvonSoftwaresystemen} Systementwurf:
} SW-Architekturen,EntwurfsmusterundKomponenten} OO-KonzeptefürFortgeschrittene} Software-Qualitätssicherung:
} speziellTestenvonSoftwaresystemen} Projektmanagement
![Page 7: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/7.jpg)
BegriffeundKontext
SoftwareEngineering7
![Page 8: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/8.jpg)
Vorgehen?
SoftwareEngineering8
} WoherkommtdieProblembeschreibung?} BeschreibtsiewirklichdasProblemdesNutzers?} WelcheStruktursolldasfertigeProgrammhaben?} LöstdasProgrammwirklichdasProblem?Funktionierteskorrekt?
} WaspassiertmitneuenAnforderungendesBenutzers?} WieteiltmandieArbeitbeimehrerenEntwicklern?
ProblembeschreibungeinesBenutzers
Programmierer FertigesProgram
![Page 9: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/9.jpg)
Softwaretechnik(engl.SoftwareEngineering)
SoftwareEngineering9
} EtabliertesTeilgebietderInformatik} Anforderungsanalsyse} EntwurfundEntwicklungvonSoftware,undWerkzeugedafür} OrganisationundStrukturierungderEntwicklung,Projektmanagement
} Qualitätssicherung} BetriebundWartungvonSystemen} uvm.
![Page 10: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/10.jpg)
Software-Krise
SoftwareEngineering10
} Mitte1960erJahre} MitschnellererHardwarewurdeSoftwarewichtiger} SteigendeAnforderungen,aber
} QualifiziertesPersonalfehlte} Softwareentwicklungdurch“Bastelei”} Softwarewarunzuverlässig,ständigeWartung} BestehendeSystemeintransparentundunübersichtlich,kaumänderbar
} KostenundDauerüberstiegenErwartungen} Anforderungenoftnichterfüllt
} SoftwarekostenüberstiegenHardwarekosten} GroßeSoftwareprojektescheiterten
![Page 11: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/11.jpg)
Software-KriseII
![Page 12: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/12.jpg)
DieSoftware-Krisevonmorgen
SoftwareEngineering12
![Page 13: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/13.jpg)
FehlgeschlageneSoftwareprojekte(Beispiele)
SoftwareEngineering13
} SAGE-Systemvon1951zurAufspürungvonBombern;beiInbetriebnahme1963überflüssig;neueGefahrRaketen
} TollCollect:GeplanterStart31.Aug2003,tatsächlicherStart1.Jan2006;3.5MilliardenEUREinnahmeausfälle
} KaliforniensFührerscheinstellestopptProjektnach6Jahrenund45M$
} FBIVirtualCaseFilein2005gestoppt,nach3Jahrenund170M$
} LondonerBörsebeendetTaurusProjekt1993nach11JahrenundBudgetüberschreitungum13200%(800M£)
![Page 14: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/14.jpg)
ExtremeKomplexität(Beispiel)
SoftwareEngineering14
} DDXU-Boot} VieleeingebetteteSysteme} Zusammen30.000.000.000ZeilenCode(Schätzung)} In142Programmiersprachen
![Page 15: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/15.jpg)
Woranliegtes?
SoftwareEngineering15
} unzureichendspezifizierteAnforderungen} häufigesÄndernderAnforderungenwährenddesProjekts
} MangelanRessourcen} inkompetenteMitarbeiter} wenigBenutzer-Einbeziehung} fehlendeUnterstützungdurchdasManagement} zugroßeErwartungen} falscheSchätzungderZeit/Kosten} Managementfehler} ObsoleteProjekte(inzwischenbessereLösungen)
![Page 16: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/16.jpg)
Kommunikation?
SoftwareEngineering16
![Page 17: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/17.jpg)
Engineering?
![Page 18: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/18.jpg)
DerNeidaufdieIngenieure…} Autoproduktion
} KalkulierbareKostenundRisiken} VorhersehbaresErgebnis} HoheQualität
} Softwareproduktion} Kostenkönnennichtzuverlässigvorhergesagtwerden} VieleProjekteendenwährendoderkurznachderProduktionalsFehlschlag
} QualitätssicherungsmaßnahmengarantierenkeinequantifizierbareQualität
• KlareTrennungzwischenPlanungundProduktioneinesProdukts• QualitätskontrolledurchMessungen• MöglichkeitderAutomatisierung,„Industrialisierung“
![Page 19: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/19.jpg)
SoftwaretechnikalsLösungsidee
SoftwareEngineering19
} Begriff1968geprägt} SystematischesHerangehen} PublikationvonbewährtemVorgehenundErfahrung} Entwurf,Teile-und-Herrsche} Wiederverwendung} Qualitätssicherung
} Begriff“SoftwareEngineering”provokativgewählt
SoftwareEngineering:„TheEstablishmentanduseofsoundengineeringprinciplesinordertoobtaineconomicallysoftwarethatisreliableandworksefficientlyonrealmachines.”[Bauer1975,S.524]
![Page 20: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/20.jpg)
SoftwaretechnikinderInformatik
Informatik(computerscience)
Softwaretechnik(softwareengineering)
SoftwareEngineering20
} TheorienundMethodenfürComputerundSoftwaresysteme
} PraktischeErstellungvonSoftware
GrundlageundFundierung
![Page 21: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/21.jpg)
SoftwareEngineering=Engineering?
SoftwareEngineering21
Software=Design=Plan!ProgrammierenistEntwerfen,nichtProduktionSimulationvonSoftwareistnichtnotwendig.AgileTechnikensindmöglich,“Wasserfallmodell”istnichtadäquat
Ingenieursprodukt Software§ ProduktisteinphysikalischesObjekt§ GebautdurchMenschenundWerkzeuge§ Konstruktion
§ istteuer§ erfordertArbeitundMaterial§ istlangsam§ teuerzuwiederholen
§ PräziseMessungderQualität
§ DasProduktistdaslaufendeProgramm§ KonstruktiondurchBetriebssystem§ Konstruktion
§ istextrembillig§ automatisch,keinMaterialeinsatz§ sehrschnell§ leichtzuwiederholen
§ WenigsinnvolleMetrikenzurMessung
Requirements
Design
Product
Designing
Building
Schlussfolgerungen
![Page 22: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/22.jpg)
AufbauderVorlesung
SoftwareEngineering22
![Page 23: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/23.jpg)
AufbauderVorlesung
SoftwareEngineering23
} 1.Anforderungsanalyse} WaswillderKunde?} EntwickelnwirdasRichtige?
} 2.Vorgehensmodelle} WieplantmandasVorgehen?} WiegehtmanaufgeänderteAnforderungenein?} ZumBeispiel:WannundwieTesten?
} 3.TeamworkundProjektmanagement} Versionsverwaltung:TechnischeZusammenarbeit} Projektmanagement:Arbeitsteilung,Zeitplanung} Risikomanagement
![Page 24: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/24.jpg)
AufbauderVorlesungII
SoftwareEngineering24
} 4.SoftwaretechnikimKleinen} WartbarerQuelltext} Modellierung,UML} Entwurfsmuster,TrennungvonBelangen} Refactoring
} 5.SoftwaretechnikimGroßen} Systementwurf,Modellierung} Modularität
} 6.Qualitätssicherung} Metriken} Testen} JenseitsvonTesten
![Page 25: Software Engineering 1. Einführung und Begriffeps.informatik.uni-tuebingen.de/teaching/ss18/se/1... · 2018-04-18 · } Wiederverwendung } Qualitätssicherung } Begriff “Software](https://reader033.vdocuments.mx/reader033/viewer/2022050506/5f97e7ae6b90096734471cb5/html5/thumbnails/25.jpg)
Literatur
SoftwareEngineering25
} VieleSoftwaretechnikbücheraufdemMarkt,z.B.} SoftwareEngineering.IanSommerville.Addison-WesleyPubCo
} KeinekonkreteEmpfehlungfürdiegesamteVorlesung} ZujedemAbschnittweiterführendeLiteratur