Vorgehen im Software Engineering Flashcards

1
Q

Analyse und Spezifikation

A

Im Zuge dieser Technik des Software Engineerings muss die Funktionalität eines Systems, sowie deren zahlreiche nicht funktionalen Merkmale (Effizienz, Robustheit, Portabilität etc.) umgesetzt werden. Die wichtigste Aufgabe in diesem Kontext ist die vollständige und präzise Erfassung aller Anforderungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wesentliche Inhalte der Analyse und Spezifikation

A
  1. Anforderungsanalyse
    - Ziel: Anforderungen erheben und analysieren.
  • Arten: Funktionale (Systemverhalten) & nicht-funktionale (Qualität).
  • Techniken: Interviews, Workshops, Prototypen.
  1. Spezifikation:
  • Dokument: SRS (Software Requirements Specification).
  • Inhalte: Ziele, Funktionalität, Qualität, Schnittstellen, Akzeptanzkriterien.

Bedeutung:

  • Verhindert Missverständnisse, spart Zeit & Kosten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Anforderungsanalyse

A

○ Im Rahmen der Analyse werden alle Anforderungen vom User (Klient) gesammelt.
○ „Die Anforderungsspezifikation dokumentiert die wesentlichen Anforderungen an eine Software und ihre Schnittstellen, und zwar präzise, vollständig und überprüfbar.“
○ „Introspection showed three main techniques that were applied beyond normal common sense: abstract data typing, strong typing, Jewish motherhood.“
○ „Die Analyse ist die Vorarbeit und Voraussetzung der Spezifikation; ihr Ergebnis wird auch als Lastenheft“ /Backlog bezeichnet”
○ A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behavior, or other characteristics of a system or component, and, often, the procedures for determining whether these provisions have been satisfied.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definition Entwurf

A

○ Ein Entwurf liefert im Idealfall eine leicht verständliche, übersichtlicher und tragfähige Struktur. Mit dem Entwurf werden regelmäßig folgende drei Ziele verfolgt:

§ Gliederung des Systems in überschaubare Einheiten
§ Festlegung der Lösungsstruktur
§ Hierarchische Gliederung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Begriff des Entwurfes

A

§ System: „A collection of components organized to accomplish a specific function or set of functions.“

§ Komponente: „One of the parts that make up a system. A component may be hardware or software and may be subdivided into other components“

§ Modul: „A logically separable part of a program.“

§ Schnittstelle: „An interface is a boundary across which two independent entities meet and interact or communicate with each other.“

§ Design: „(1) The process of defining the architecture, components, interfaces, and other characteristics of a system or component. (2) The result of the process in (1).“

§ Architektur: „The fundamental organization of a system embodied in its components, their relationships to each other and to the environment, and the principles guiding its design and evolution.“

§ Softwarearchitektur: „The software architecture of a program or computing system is the structure or structures of the system which comprise software elements, the externally visible properties of those elements, and the relationships among them.“

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Definition Codierung

A

„Programming is a craft. It is dependent on individual skill, attention to detail, and knowledge of how to use available tools in the best way. Craftsmen must know their materials, understand the principles of their craft and learn by experience. Thus, programmers must understand both host and target computer systems, must know some theory of programming, and must practise programming.“

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definition Code

A

§ Allgemein: Vorschrift für die eindeutige Zuordnung der Zeichen eines Zeichenvorrats zu denjenigen eines anderen

§ „Datenverarbeitung: Vorschrift für die Darstellung von Informationen in einem Computer.“

§ Unter einer Programmiersprache versteht man nach ISO/IEC 2382-1 eine künstliche Sprache zur Formulierung von Programmen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Definition Egoless Programming

A

„A Software development technique based on the concept of team, rather than individual, responsibility for program development. Its purpose is to prevent individual programers from identifying so closely with their work thjat objective evaluation is impaired.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Grundlage der Kodierung sind Programmiersprachen. Folgende Eigenschaften von ihnen können wichtig sein:

A

§ Strukturelemente zur Konstruktion modularer Programmeinheiten

§ Trennung von Schnittstelle und Implementierung

§ mächtiges Typsystem mit strenger Typprüfung

§ Syntax, die zur Lesbarkeit des Codes beiträgt

§ automatische Zeigerverwaltung
Ausnahmebehandlung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind Programmtests?

A

○ Testen ist die - auch mehrfache - Ausführung eines Programmes auf einem Rechner mit dem Ziel Fehler zu finden

○ Testen ist die Vorführung eines Programms oder Systems mit dem Ziel zu zeigen, dass es tut, was ich tun sollte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Definition Integration

A

Integration — The process of combining software components, hardware components, or both into an overall system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Basis der Integration ist die Software-Architektur. Sie legt was fest?

A

§ die Komponenten fest
§ die Schnittstellen zwischen den Komponenten fest
§ die Schnittstellen nach außen fest

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist Integration Testing

A

Testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind die Integrationsstrategien?

A

§ Big Bang
§ Inkrementelle Integration
§ Kontinuierliche Integration
§ Pilotprojekt
§ Parallelbetrieb
§ Prototyping

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Probleme der Integration

A

□ Die Spezifikation ist schwammig und unvollständig
□ Im System sollen Fremdkomponenten verwendet werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Grundsätze der Integration

A

§ Umfassende Planung
§ Frühzeitiger Beginn
§ Aufwand nicht über-/unterschätzen
§ Projekt- und Entwicklungsorganisation berücksichtigen
§ Präzise Dokumentation
§ Risiken Identifizieren und bewältigen

17
Q

Definition konfigurationsverwaltung

A

Die Konfigurationsverwaltung ist diejenige Rolle oder Organisationseinheit, die die Software-Einheiten und Konfigurationen identifiziert, verwaltet, bei Bedarf bereitstellt und ihre Änderungen überwacht und dokumentiert. Dazu gehört auch die Rekonstruktion älterer Software-Einheiten und Konfigurationen.

18
Q

Grundprinzipien der Konfigurationsverwaltung

A

§ Die Konfigurationsverwaltung hat ein Monopol auf die Bereitstellung von Software

§ Alle Softwareeinheiten, die von den Entwicklern erstellt und abgeliefert werden, werden eindeutig identifiziert, erfasst, archiviert und vor Änderungen geschützt

§ Überholte Versionen werden nicht einfach überschrieben, sondern aufbewahrt, damit sie später rekonstruiert werden können

§ Es werden bei Bedarf alle Varianten bereitgehalten.

19
Q

Aufgaben der Konfigurationsverwaltung

A

§ Auswahl und Beschreibung der Software-Einheiten

§ Speicherung der Software-Einheiten und Versionskontrolle

§ Konfigurationskontrolle

§ Konstruktion ausführbarer Programme

§ Änderungskontrolle

§ Koordination der Teamarbeit

20
Q

Definition Wartung

A

○ Operation and maintenance phase — The period of time in the software life cycle during which a software product is employed in its operational environment, monitored for satisfactory performance, and modified as necessary to correct problems or to respond to changing requirements

○ maintenance — The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment

○ Software-Wartung ist jede Arbeit an einem bestehenden Software-System, die nicht von Beginn der Entwicklung an geplant war oder hätte geplant werden können und die unmittelbare Auswirkungen auf den Benutzer der Software hat.

21
Q

Arten der Wartung

A

○ Adaptive Wartung
○ Korrektive Wartung
○ Verbessernde Wartung
○ Präventive Wartung

22
Q

Schritte der Wartung

A

○ Der Ausgangszustand wird präzise dokumentiert und archiviert

○ Der zu modifizierende Teil wird identifiziert. Testfälle für die durchgeführte Änderung werden entworfen. Die zu ändernden Komponenten werden aus der Konfigurationsverwaltung entnommen, bearbeitet und lokal geprüft.

○ Die veränderten Komponenten werden integriert und getestet

○ Der neue Zustand wird übernommen