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.
Flashcards
146
Students
20
Language
German
Category
Computer Science
Level
University
Created / Updated
23.04.2017 / 10.07.2023

Flashcards

COPYRIGHT

What means Open Source Software Development?

  • approach to sw-dev in which the copyright limitations are overcome
    • sourcecode is published
    • the sw can be freely distributed
    • the sw can be used for derivate works -- inkl commercial exploitation

COPYRIGHT

Roots of OOS?

Free Software Foundation www.fsf.org

COPYRIGHT:

On what aims OSS? What may be OSS-Dev benefits?

  • recruiting large numbers of volunteer devs
  • Devs may be also users
  • Volunteers can be paid by companies that have their business model on top of an OSS project
    • Linux, Java, Eclipse, ... etc.

OPENSOURCE:

The fundamental principle of OSS?

The source code should be freely available.

OPENSOURCE

BSD Licence --> Berkley Standard Distribution Licence

  • non reciprocal
  • Allowed in proprietary systems
  • Changes to the original must be clearly marked
  • protects the copyright of the origniator
  • voids any warranty

OPENSOURCE

Apache Licence 2.0

OPENSOURCE

GPL

  • reciprocal Licence --> copyleft
  • Also links to GPL code needs to GPL licence your code
  •  

OPENSOURCE

LGPL GNU Lesser General PUblic Licence

  • variant of GPL
  • Linking without having the source code to publish
  • LGPL part must be separated from the non LGPL part

OPENSOURCE

Licence Compatibility

Nennen Sie die 6 Design Thinking Schritte in korrekter Reihenfolge

  1. Scoping
  2. Research
  3. Synthesis
  4. Design
  5. Prototyping
  6. Validate

Quality and Verification:

Most important quality property?

Dependability -- Zuverlässigkeit

  • Wrong behaviour may cause accidents, endanger the health of its users etc.
  • Large numbers of People may be affected
  • System may be rejected by user
  • Economic costs of lacking systems --> HIGH

Quality and Verification:

What are the 5 dependability properties:

  • Availability
  • Reliability
  • Safety
  • Security
  • Resilience

Quality and Verification:

What is Availability?

The ability of the system to deliver services when requested.

Quality and Verification:

What is Reliability?

The ability of the system to deliver services as specified.

Zuverlässigkeit.

Quality and Verification:

What is Safety?

The ability of the system to operate without catastrophic failure.

Quality and Verification:

What is Security?

The ability of the system to protect itself against deliberate or accidental intrusion.

Quality and Verification:

What is resilience?

UNVERWÜSTLICHKEIT, elastizität..

The ability of the system to resist and recover from damaging events.

Quality and Verification:

Verification vs. Validation?=

  • Verification: "Are we building the product right?"
    • Conform to specification
  • Validation: "Are we building the right product?"
    • Conform to user-requirements

Quality and Verification:

Dependability Costs?

Costs increase exponentialy as increasing levels of dependability are required.

Quality and Verification:

Difference Reliability and Availability?

  • Reliability:
    • Probability of failure-free system operation
      • over a specific time
      • in a given environment
      • for a given purpose
    • z.B. number of errors for a specific operation time
       
  • Availability:
    • Probabli that the system,
      • at a point in time
      • will be operational and able to request service
    • z.B. available 0.999 (99.9%)

 

Quality and Verification:

Terminology: What means:

  • Human error or mistake?

Fault of a programmer:

Next transmission add 1 h --> 23:00 .. 00:00 ... 

Quality and Verification:

Terminology: What means:

  • System fault?

Characteristic of a sw system that can lead to a system error.

No check in the +1h code if the time is greater or equal to 23:00

Quality and Verification:

Terminology: What means:

  • System error?

State that can lead to a system failure.

Time of next transmission = 24:00 (Midnight is 00:00)

Quality and Verification:

Terminology: What means:

  • System failure?

Unexpected system behavior

No data is transmitted because of invalid time.

Quality and Verification:

Reliability and Availability Requirements?

 

Functional:

  • define (additional) system and software functions that avoid, detect or tolerates faults in the software and so ensure that these faults do not lead to system failure.

Non-Functional:

  • Measurable --> e.g.time the system must be available

 

Quality and Verification:

What is POFOD?

Probaility of failure on demand

  • probability that the system will fail when a service request is made.
  • Relevant for occasionaly used service with impact --> Atomkraftwerknotausschalter

Quality and Verification:

What is ROCOF?

Rate of occurence of failures

  • 0.002 --> 2 failures are likely per 1000 time units
  • relevant: large number of similar requests are produced in a short time
  • reciprocal of ROCOF is Mean time to failure (MTTF)

Quality and Verification:

What is MTTF?

Mean time to failure

  • reciprocal ROCOF
  • for long transactions
  • MTTF should be longer than expected transaction length

 

Quality and Verification:

Measurement of availability?

  • 0.999 = available in 999/1000 time units
  • takes repair and restart time into account
  • Relevant for non-stop, continuously running systems

Quality and Verification:

Functional Reliability / Availability Requirements:

  • Checking > checks to detect incorrect data before it leads to a failure --> if(23:00){...
  • Recovery >recovery after failure --> e.g.  retry to send data after 1 minute...
  • Redundancy > redundant feature --> the treansmissions will happen allways onClose...
  • Process > the dev-proces to be used --> system must be implemented with cobol and... 

Nenne 4 Requirements Engineering Schritte

  • Requirements elicitation (herauspicken)
  • Requirements analysis
  • Requirements validation
  • Requirements management

Structure of a Typical Requirements Document

  • Preface
  • Introduction
  • Glossary
  • User requirements definition
  • System architecture
  • System requirements specification
  • System models
  • Testing
  • Appendices
  • Index

Unterschied zwischen Wasserfall und V-Model

erweitert Wasserfall-Modell um Validierungsphasen

Nenne die 4 Kriterien eines Lastenhefts

  1. Musskriterien
  2. Sollkriterien
  3. Kannkriterien
  4. Abgrenzungskriterien

Quality and Verification:

What is a protection system and how does it work?

A system that runs paralles to an other (security relevant) system to execute a task if the main system fails. It does the same as the main system does but with other sensors, techniques and technologies.

Quality and Verification:

How to get a Reliable / Available system?

By:

  • Fault avoidance:
    • Development
    • z.B. exeption handling, check inputs --> if(23:00){...
  • Fault detection and removal
    • Verification and Validation before the system goes live
    • Testing
  • Fault tolerance
    • runtime techniques > ensure that the system faults do not result in errors
      and that errors do not lead to system failures
    • Redundancy, protection systems

Wer ist intelligent, gutaussehend, witzig, sexy, spassbombig, freundlich, lieb, motiviert, zufrieden, sympatisch , fleissig, ein Partytiger und ein riesen Sonnenschein?

DU!

Weiterhin viel SPASS beim Lernen :-)

Quality and Verification:

What kind fo safety systems are there?

  • Primary safety-critical systems:
    • Direct
    • Embedded sw-systems whose failure cause the hardware to fail and directy threaten people
  • Secondary safety-critical systems:
    •  Indirect
    • Systems whose failure results in faults in other systems and .... 

Quality and Verification:

Explain:

  • Hazard
  • Accident
  • Damage
  • Hazard severity
  • Hazard probability
  • Risk

  • Hazard: Condition with the condition for causing an accident: Failure of the sensor
  • Accident (mishap): Unplanned event resulting in human death or injury of anyting: Overdose of Insulin
  • Damage: Result of the Accident: Overdose could cause injury or death of patient
  • Hazard severity: Assessment of the worst possible damage: Possibility of death > severity = very high
  • Hazard probaility: Pobability of the hazard:  Pobability of a sensor failure = low
  • Risk: comparison of severity and probability: risk of an insulinoverdose is probably medium to low

Quality and Verification:

Safety Achievement:

  • Hazard avoidance
    • Design: Classes of hazard cannot arise
  • Hazard detection and removal
    • Design: Hazard are detected and removed
  • Damage limitation
    • Protection features that minimize the damage

Study