Software Engineering BFH

Software Engineering BFH

Software Engineering BFH


Joris Baiutti
Diese Lernkarten bieten einen umfassenden Überblick über Software Engineering auf Universitätsniveau, mit Fokus auf Systemdesign, Architektur, Komponenten und Anforderungen. Sie behandeln Themen wie Verifikation, Zuverlässigkeit und Sicherheit, einschließlich der Behandlung von Fehlern, Risiken und Schutzsystemen. Die Karteikarten sind besonders nützlich für Studierende und Fachleute, die ihr Verständnis von Softwareentwicklung vertiefen und sicherstellen möchten, dass Systeme zuverlässig und sicher funktionieren.
Cartes-fiches
146
Utilisateurs
20
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
23.04.2017 / 10.07.2023

Flashcards

Beschreibe den Plan Driven Process

 

Prozesse, bei denen alle Prozessaktivitäten geplant sind und Fortschritt wird an diesem Plan gemessen.

Beschreibe den Agile Process

 

Die Planung ist inkrementell und es ist einfacher, den Prozess zu ändern, um den sich ändernden Kundenanforderungen gerecht zu werden.

Requirements/Anforderungen im Requirements Engineering sind...

die Beschreibungen der Systemdienste und Einschränkungen, welche während des Requirements Engineering Prozesses bestummen werden.

Nenne die 3 Software Egnineering Process Models

Thewaterfallmodel

  •  Plan-driven model.
  • Separate and distinct phases of specification and development.

Incrementaldevelopment

  • Specification, development and validation are interleaved.

  • May be plan-driven or agile.

Reuse-orientedsoftwareengineering

  • The system is assembled from existing components.

  • May be plan-driven or agile. 

Zeichne das Wasserfall Model

Nenne Pro's und Contra's zum Wasserfall Model

tbd

Zeichne ein Incremental Development Process Model

Nenne Pro's und Contra's zu Incremental Development

+ Designfehler frühzeitig erkennen (Risiko minimieren)

+ flexibel bei neuen Anforderungen

+ früher Gewinn durch Beta-Releases

+ Kundenfeedback fliesst bereits in Implementierung rein

 

- Kein Ende in Sicht

- Erfordert fähiges Entwicklerteam und vollen Einsatz von jedem

- schwieriger zu planen

Zeichne de Reuse-Oriented Prozess

Zeichne den Requirements Eingineering Prozess

Zeichne ein Generisches Model vom Design Prozess

Was ist der Grund für Software Validation and Verification

  • show that a system conforms to its specification and
  • meets the requirements of the system customer.

Welche 3 Stufen von Testing gibt es?

Zeichne den Ablauf auf

  • Development or component testing

    • Individual components are tested independently;

    • Components may be functions or objects or coherent groupings of these entities.

  • System testing

    • Testing of the system as a whole. Testing of emergent properties is particularly important. 

  • Acceptance testing

    • Testing with customer data to check that the system meets the customer’s need

    • Includes usability testing

Nennen Sie die zwei Typen von Requirements, eklären Sie deren Eigenschaften und von wem wird es gelesen:

  • User Requirements
    • Aussagen in der natürlichen Sprache plus Diagramme der Dienstleistungen, die das System bietet und seine operativen Einschränkungen.
    • Geschrieben für Kunden
    • Wird gelesen von: Kundenbetreuer, Endnutzer, Client-Engineers, Vertrags-Manager, System-Architekten
  • System Requirements
    • Ein strukturiertes Dokument, in dem detaillierte Beschreibungen der Funktionen, System-Architekten Dienste und Betriebsbedingungen des Systems beschrieben werden.
    • Definiert, was umgesetzt werden soll, kann ein Teil eines Vertrages zwischen Auftraggeber und Auftragnehmer sein.
    • Die Systemanforderungen können in funktionale und nicht funktionale und Domänenanforderungen gruppiert werden, obwohl diese Gruppen manchmal nicht eindeutig getrennt oder sogar überlappen können.
    • Wird gelesen von: Endnutzer, Client-Engineers, System-Architekten, Software Entwickler

Advances of Modeling (5)?

  1. Solve System and Software development problems methodically
  2. reduction of the system complexity
  3. evaluation before implementation
  4. Decomposition into independet modules (easier to implement)
  5. Reduction of design errors > reduction of dev. Costs

What is System Modeling (5)?

  • The process of developing abstract models of a system, with each model presenting a different view or perspective of that system 
  • A graphical notation of a System
  • A formal, mathematical description (z.B. ER for DB),
  • A universal tool for different stakehoders
  • It focuses on main aspects > incomplete

Welche Modellier Systempersketiven gibt es, nenne 4

  • External: Context or environment of the System
  • Structural: Organization of a System or Structure of the processed data
  • Interaction: System - -Environment or Component -- Component
  • Behavioral: Dynamic behavior of the System, Responds to events

UML elements can be put into 4 categories:

  • Structural (class, object, use case, ..)
  • Annotational (note)
  • Grouping (package, modul, ..)
  • Behavioral (activity, state, ..)

Where can UML note be used?

In any UML diagram

5 Diagrams for static aspects (Structural)

  • Class D.
  • Object D.
  • Package D.
  • Component D.
  • Deployment D.

4 Diagrams for dynamic aspects (Behaivoral)

  • Use Case D.
  • Activity D.
  • State D.
  • Sequence D.

What does the UML Collaboration Notation show?

  • Classes, Interfaces and other UML elementw which together realize a higher level task or abstraction.-
  • Only conceptual not physikal

EP: What are Context models for?

  • Illustrate the operational context
    • what is outside the System boundaries 
    • definition of "out of Scope" on system level
    • is based on user and system requirements

EP: What are Architectural Models for?

- Show the system and ist relationship with oder systems

EP: What are Process Models for?

- Show how the system is used with other systems -- z.B. With an activity Diagram

IP: Focus of interaction perspective

The interaction perspective focuses on the interaction of a system. This can be:

  • External interaction: users / external systems can interact with our system 
  • Internal interaction: components / Classes intereract internaly

IP: Why interaction modelling?

  • modeling user interaction is important identifying user requirements
  • modeling system-to-system interaction: possible communication problems will be highlighted
  • component interaction: helps understand if a proposed system structure is likely to deliver the required system performance and dependability

IP: Which Diagrams for interaction Models

  • Use Case D.
  • Activity D.
  • Communication D.
  • Sequence D.

SP: What does it show?

  • organization of modules, components, classes, ..

SP: What kind of Structural Models?

  • static models: system design --> Domain Model (simpl. Class diagram)
  • dynamic models: orgnization when the system is running --> Object Diagram

SP: What does the Domain Model show?

  • Concepts
  • Associations
  • Attributes
  • NOT operations --> Similar Class Diagram

SP: How to Identify Classes (3)?

  • Check for Typical Classes
  • Noun Phrase Identification
  • Responsibility-Driven Design (RDD)

Structural perspective: Responsibility-Driven Design: Which responsibilities are there?

  • Doing
  • Knowing

SP: Which information is on CRC Card?

  • Class
  • Responsibilities: What is the class doing?
  • Collaborators: Does it know / need other classes

From user requirements to system design:

Use Cases -> System Context -> Architecture -> Class Model -> Design Models -> Implementation

Patterns: What is a Idiom?

  •  low-level pattern > describes the implementation of aspecifig aspect of a software component,

Patterns: What is a design Pattern?

  • common structure of interacting objects to solve a general sw-design problem in a specifig context
  • Generic
  • Language independent

Patterns: What is an architectural Pattern?

  • high-level pattern, descibes the fundamental structure of a sw-system and relations among it's participating sub-systems

Patterns: GOF - Classification

  • Creational
  • Structural
  • Behavioral

Patterns: Advantages of Design Patterns ?

1. enable large scale reuse of S/W

2. Helps in improve developer communication

3. capture expert knowledge and design trade-offs and make expertise widely available

4. Well documented and understood

Study