Kommilitonen im Kurs Softwaretechnik/Software Engineering an der Hochschule Esslingen. erstellen und teilen Zusammenfassungen, Karteikarten, Lernpläne und andere Lernmaterialien mit der intelligenten StudySmarter Lernapp. Jetzt mitmachen!
Jetzt mitmachen!
Softwaretechnik/Software Engineering
Why do software projects fail?
Warum scheitern Softwareprojekte?
Failure to communicate and act as a team
Keine Kommunikation und Zusammenarbeit im Team
Poor Planning
Schlechte Planung
Underestimated complexity
Unterschätzte Komplexität
Softwaretechnik/Software Engineering
Explain Software Crisis.
Erklären Sie die Softwarekrise.
End of 1960s
Ende der 1960er Jahre
Software complexity increased
Komplexität nimmt zu
Software development costs exploded
Entwicklungskosten explodieren
Softwaretechnik/Software Engineering
Explain Software Engineering and why it is important.
Erklären Sie Software Engineering und warum es wichtig ist.
Software engineering is the process of solving customers’ problems by the systematic
development and evaluation of large, high-quality software systems, within costs, time, and
other constraints.
Software Engineering ist die Disziplin (Beruf) theoretisches und praktisches Wissen zu erwerben und anzuwenden, um Systeme zu entwerfen und zu bauen, die sichere Lösungen für die Bedürfnisse der Gesellschaft realisieren.
Individual persons, society, economy, etc. rely on advanced software systems. We need to
be able to produce reliable and trustworthy systems economically and quickly.
Gesellschaft auf Softwaresysteme angewiesen.
Systeme müssen wirtschaftlich und schnell hergestellt werden.
In the long run, it is usually cheaper to use software engineering rater than just writing the
programs like in a personal programming project. In most projects, the majority of costs are
those for changing productive software.
Billige Software-Engineering-Methoden zu verwenden.
Softwaretechnik/Software Engineering
Management Triangle
fast and high quality, but not cheap
Schnell und hohe Qualität, aber nicht billig
Softwaretechnik/Software Engineering
Explain separation of concerns and "divide and conquer".
Erläutern Sie die Trennung von Bedenken und "Teilen und Erobern".
Separate a large problem into smaller, better manageable parts: “divide and conquer”
Großes Problem in kleinere, handhabbare Teile aufteilen: "Teilen und Erobern"
Separate what we build from how we built it
Aufteilen von "was wir bauen" und "wie wir es bauen"
Softwaretechnik/Software Engineering
Explain coupling and cohesion.
Erklären Sie Kopplung und Zusammenarbeit.
Coupling:
Low coupling (interfaces between modules should be small)
Verknüpfung von verschiedenen Systemen (sollte möglichst klein sein) --> Interfaces
Cohesion:
High cohesion (similar things should be grouped together)
Ähnliche Dinge sollten zusammengefasst sein (sollte hoch sein)
Softwaretechnik/Software Engineering
Types of Software projects (+ example).
Arten von Softwareprojekten (+ Beispiel).
Custom software (Company-/Customer-facing web portals)
Generic software (Word processor (Word), Web-browser (Firefox))
Embedded software (Traffic control systems (traffic lights))
Softwaretechnik/Software Engineering
Explain requirements engineering.
Erklären Sie Requirements Engineering.
The process of finding, analyzing, understanding, documenting, validating and maintaining
requirements.
In plan-driven (traditional) software process models it’s the first activity.
In agile software process models it’s performed throughout the lifetime of a system.
Der Prozess des Findens, Analysierens, Verstehens, Dokumentierens, Validierens und Wartens der Anforderungen.
Softwaretechnik/Software Engineering
Explain functional and non-functional requirements.
Erklären Sie funktionale und nicht-funktionale Anforderungen.
Functional Requirements:
- Statements about how system behaves, which services it offers, how it reacts on input.
- Explicit statements on what the system should not do.
- Formulated as actions.
Aussage darüber, wie sich das System verhält, welche Dienste es anbietet, wie es auf Angaben reagiert.
Non-functional requirements (NRFs):
- Constraints on the offered functions regarding time, development process, standards, quality attributes.
- Can also be related too the system as a whole.
- Formulated as constraints or negative assertions.
Einschränkung der angebotenen Funktionen in Bezug auf Zeit, Entwicklungsprozess, Standards, Qualitätsmerkmale.
Softwaretechnik/Software Engineering
Name stakeholders.
Nennen Sie Stakeholder.
Client
Investor
End User
Manager
Technical support
Administrator
Softwaretechnik/Software Engineering
Why do requirements change?
Wieso ändern sich Anforderungen?
Business/market change
Geschäfts-/Marktänderungen
Priorities change
Priorisierungen ändern sich
New legislation or regulations
Neue Gesetze oder Vorschriften
Technical environments change (e.g.: hardware)
Technische Umgebung ändert sich
Softwaretechnik/Software Engineering
Why is software special?
Wieso ist Software speziell?
Intangible, non-physical, hard to visualize, unnatural
Immateriell, nicht-physisch, schwer zu visualisieren, unnatürlich
Schau dir doch auch Softwaretechnik/Software Engineering an anderen Unis an
Zurück zur Hochschule Esslingen ÜbersichtsseiteStudySmarter ist eine intelligente Lernapp für Studenten. Mit StudySmarter kannst du dir effizient und spielerisch Karteikarten, Zusammenfassungen, Mind-Maps, Lernpläne und mehr erstellen. Erstelle deine eigenen Karteikarten z.B. für Softwaretechnik/Software Engineering an der Hochschule Esslingen oder greife auf tausende Lernmaterialien deiner Kommilitonen zu. Egal, ob an deiner Uni oder an anderen Universitäten. Hunderttausende Studierende bereiten sich mit StudySmarter effizient auf ihre Klausuren vor. Erhältlich auf Web, Android & iOS. Komplett kostenfrei. Keine Haken.
Bestes EdTech Startup in Deutschland
Du bist schon registriert? Hier geht‘s zum Login