Software-Entwicklung 1

it.swen1.v, 147 Lektionen in FS2026

Lektionen (alle vorbei)

Mo., 16.02.08:00-09:35itrepTS O3.20Kurt Bleisch
Mo., 16.02.10:00-11:35itrepTS O3.20Kurt Bleisch
Mo., 16.02.18:40-20:10itrepZL O6.10Reto Ferri
Mo., 16.02.20:20-21:05itrepZL O6.10Reto Ferri
Mo., 16.02.21:05-21:50itrepZL O6.10Reto Ferri
Di., 17.02.08:00-09:35itrepTS O3.43Andreas Meier
Di., 17.02.10:00-11:35itrepTS O3.43Andreas Meier

Und 135 weitere. Alle im Stundenplan

Modulbeschreibung 19HS

Dieses Modul vermittelt Ihnen die nötigen Analyse- und Entwurfs-Kompetenzen, um grössere und komplexere Softwareapplikationen entwickeln und realisieren zu können. Für die Analyse einer Problemstellung werden User und Domain Research, Use Cases und Domänenmodellierung angewendet. Die erhobenen Anforderungen an ein Softwaresystem werden dabei systematisch spezifiziert und geprüft. Abgeleitet von den Anforderungen werden Techniken zum Entwurf einer geeigneten Softwarearchitektur und der Umsetzung in ein objektorientiertes Design vermittelt. Dabei werden bewährte Architektur und Design Patterns angewendet und es wird auf eine hohe Softwarequalität (Erweiterbarkeit, Wartbarkeit) Wert gelegt. Für die Modellierung und Kommunikation der Resultate aus der Analyse, der Softwarearchitektur und dem Design werden standardisierte Notationen (wie UML) verwendet.

ECTS
4
Institut
T InIT
Verantwortung
Kurt Bleisch
Sprache
(X) Deutsch ( ) Englisch

Modulinhalte

Dieses Modul vermittelt die nötigen Analyse- und Entwurfs-Kompetenzen, um grössere und komplexere Softwareapplikationen entwickeln und realisieren zu können. Zur Analyse-Kompetenz gehören vor allem der Wille und die Fähigkeit, mit Aufgabenstellern und zukünftigen Systemnutzern zu kommunizieren und zu kooperieren und sich schnell in neue Anwendungskontexte einarbeiten zu können. Die Studierenden müssen bekannte Problemstellungen im Anwendungskontext erkennen können und mit den zugehörigen Lösungsmustern vertraut sein. Sie erkennen Inkonsistenzen und können mit unklaren Anforderungen umgehen. Komplexe Domänen können modelliert werden und grosse Anwendungsprobleme können durch geeignete Schnittstellen in Teilprobleme zerlegt werden. Entwurfs-Kompetenzen umfassen die Fähigkeit zur Konstruktion von Systemen aus Hard- und Software, welche die Anforderungen vollständig erfüllen. Hierfür ist Abstraktionsfähigkeit genauso unverzichtbar wie solide Kenntnisse in der Softwarearchitektur. Zentral ist beim Entwurf die Umsetzung nicht funktionaler Anforderungen, wie Sicherheit, Performanz, Skalierbarkeit, Wartbarkeit, Erweiterbarkeit und Zuverlässigkeit. Einführung und Softwareentwicklungsprozessmodelle (4 Lektionen) Überblick über Softwareentwicklungsprozessmodelle und deren Anwendungsgebiete (Wasserfall, iterativ-inkrementell und agile) Ablauf und Artefakte in einem iterativ-inkrementellen, Use-Case-getriebenen und architekturzentrierten Softwareentwicklungsprozess Anforderungsanalyse (16 Lektionen) Einführung in Usability und UX (Contextual Inquiry, Personas und Szenarien, UI-Sketching & Prototyping) Erhebung und Kommunikation von funktionalen Anforderungen mit Use Cases (UML-Use-Case-Diagramm, Use-Case-Spezifikation) Erhebung und Kommunikation von nicht funktionalen Anforderungen (Qualitätsanforderungen, Randbedingungen) Modellierung der Fachlichkeit und Begriffe des Anwenders (Domänenmodell) und Einführung in Domain Driven Design (DDD, konzeptuelles UML-Klassendiagramm) Softwarearchitektur und Design (36 Lektionen) Entwurf und Modellierung einer Softwarearchitektur (4+1 Sicht, UML-Paketdiagramm, UML-Deploymentdiagramm) Einführung in Clean Architecture (SOLID Prinzipien, Schichtenarchitektur, Onion Architecture) Use-Case-Realisierung und Klassendesign (Responsibility Driven Design (RDD), UML-Klassendiagramm, UML-Sequenzdiagramm, UML-Kommunikationsdiagramm, UML-Zustandsdiagramm, UML-Aktivitätsdiagramm) Entwurf mit Design Patterns (GoF: Factory, Singleton, Adaptor, Bridge, Composite, Decorator, Facade, Proxy, Chain of Responsibility, Observer, State, Strategy, Visitor) Verschiedene Vertiefungsthemen wie zum Beispiel: Verteilte Systeme, GUI-Architekturen, Persistenz, Framework-Design Praktikum Im Praktikum lösen die Studierenden jeweils auf das Thema der Vorlesung abgestimmte Übungen. Die Praktika sind integraler Bestandteil der Vorlesung in diesem Modultyp (jeweils 2 Lektionen Vorlesung und 2 Lektionen Übungen).

Voraussetzungen

-

Versionen

  • 19HSt.BA.IT.SWEN1.19HS