+ All Categories
Home > Documents > Software Engineering 1. Einführung und...

Software Engineering 1. Einführung und...

Date post: 06-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
25
Software Engineering 1. Einführung und Begriffe Prof. Dr. Klaus Ostermann 1 Software Engineering
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Literatur

SoftwareEngineering25

}  VieleSoftwaretechnikbücheraufdemMarkt,z.B.}  SoftwareEngineering.IanSommerville.Addison-WesleyPubCo

}  KeinekonkreteEmpfehlungfürdiegesamteVorlesung}  ZujedemAbschnittweiterführendeLiteratur


Recommended