Modulbeschreibung

Modul: Software-Engineering

Lehrveranstaltungen:

TitelTypSWSZeitraum
Software-EngineeringVorlesung2Sommersemester
Software-EngineeringGruppenübung2Sommersemester

Modulverantwortlich:

Prof. Sibylle Schupp

Zulassungsvoraussetzungen:

Keine

Empfohlene Vorkenntnisse:

  • Automatentheorie und formale Sprachen
  • Prozedurales Programmieren oder Funktionales Programmieren
  • Objekt-orientierte Programmierung, Algorithmen und Datenstrukturen

Modulziele / angestrebte Lernergebnisse:

Fachkompetenz

Wissen

Students explain the phases of the software life cycle, describe the fundamental terminology and concepts of software engineering, and paraphrase the principles of structured software development. They give examples of software-engineering tasks of existing large-scale systems. They write test cases for different test strategies and devise specifications or models using different notations, and critique both. They explain simple design patterns and the major activities in requirements analysis, maintenance, and project planning.

Fertigkeiten

For a given task in the software life cycle, students identify the corresponding phase and select an appropriate method. They choose the proper approach for quality assurance. They design tests for realistic systems, assess the quality of the tests, and find errors at different levels. They apply and modify non-executable artifacts. They integrate components based on interface specifications.

Personale Kompetenzen

Sozialkompetenz

Students practice peer programming. They explain problems and solutions to their peer. They communicate in English. 

Selbstständigkeit

Using on-line quizzes and accompanying material for self study, students can assess their level of knowledge continuously and adjust it appropriately.  Working on exercise problems, they receive additional feedback.

Leistungspunkte Modul:

6 LP

Studienleistung:

Klausur

Arbeitsaufwand in Stunden:

Eigenstudium: 124, Präsenzstudium: 56


Lehrveranstaltung: Software-Engineering

Dozent:

Sibylle Schupp

Sprache:

Englisch

Zeitraum:

Sommersemester

Inhalt:

  • Software Life Cycle Models (Waterfall, V-Model, Evolutionary Models, IncrementalModels, Iterative Models, Agile Processes)
  • Requirements (Elicitation Techniques, UML Use Case Diagrams, Functional and Non-Functional Requirements)
  • Specification (Finite State Machines, Extended FSMs, Petri Nets, Behavioral UML Diagrams, Data Modeling)
  • Design (Design Concepts, Modules, (Agile) Design Principles)
  • Object-Oriented Analysis and Design (Object Identification, UML Interaction Diagrams, UML Class Diagrams, Architectural Patterns)
  • Testing (Blackbox Testing, Whitebox Testing, Control-Flow Testing, Data-Flow Testing, Testing in the Large)
  • Maintenance and Evolution (Regression Testing, Reverse Engineering, Reengineering)
  • Project Management (Blackbox Estimation Techniques, Whitebox Estimation Techniques, Project Plans, Gantt Charts, PERT Charts)

Literatur:

Kassem A. Saleh, Software Engineering, J. Ross Publishing 2009.