Software Engineering BFH
Software Engineering BFH
Software Engineering BFH
Kartei Details
Karten | 146 |
---|---|
Lernende | 20 |
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 23.04.2017 / 10.07.2023 |
Weblink |
https://card2brain.ch/box/20170423_software_engineering_bfh_LEvv
|
Einbinden |
<iframe src="https://card2brain.ch/box/20170423_software_engineering_bfh_LEvv/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Lernkarteien erstellen oder kopieren
Mit einem Upgrade kannst du unlimitiert Lernkarteien erstellen oder kopieren und viele Zusatzfunktionen mehr nutzen.
Melde dich an, um alle Karten zu sehen.
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
- runtime techniques > ensure that the system faults do not result in errors
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
Quality and Verification:
4 Steps to Safety specification (Safety Risk Management):
- Risk identification
- Risk assessment
- analize damage and hazard severity and probabilityof each possible accident
(injuries, cost etc...)
- analize damage and hazard severity and probabilityof each possible accident
- Risk treatment
- Risk monitoring and incident handling
Quality and Verification
How do you treat risks?
- avoidance: eliminate risks
- reduction: mitigate impact and/or probability
- sharing: outsource or insure against
- acceptance: incident plan (what if..)
Quality and Verification
Three possible exception handling stategies?
- Signal to a calling component
- Carry out some alternative processing
- Pass control to a runtime support system to handle the exception
Quality and Verification
What should you try to avoid or minimize to avoid error-prone constructs?
- Floating-point numbers (unprecise)
- Parallelism (timing errors)
- Out of memory (attempt to process too much data)
- Recursion: stack overflows
- Aliasing
Quality and Verification:
What does the sw verification testing show?
- That the sw meets its requirements
- i.e. perfomrs correctly using a set of test cases
Quality and Verification:
What is defect testing
- The test cases are designed to expose defects.
- The inputs shall cause anaomalous behavior
- A successful test is a test that makes the system perfomr incorrectly
Quality and Verification:
What kind of development tests are there?
Unit testing (methods)
component testing (interfaces)
system testing (interaction)
Quality and Verification:
What is release testing?
The process of testing a system that is intended to use outside the development team.
Nenne 5 Typen von Software
- Betriebssysteme
- Micro Controller
- Application Software
- System Software
Welche zwei Software Produkttypen gibt es. Mit Beispielen
- Generische Produkte (BTS Build to Stock)
Beispiele:
PC software such as graphics programs
project management tools
CAD software
software for specific markets such as appointments systems for dentists.
- Customized Products (BTO Build to Order)
Beispiele:
embedded control systems
air traffic control software
traffic monitoring systems.
Nenne die 4 Software Engineering Activites
- Analyse und Spezifikation
- Entwicklung
- Validierung
- Evolution (Weiterentwicklung)
Was macht eine gute Software aus
Gute Software sollte die gewünschte Funktionalität und Leistung für den Benutzer liefern und sollte Wartbar, zuverlässig und nutzbar sein
Was sind die Kosten von Software Engineering
Rund 60% der Softwarekosten sind Entwicklungskosten, 40% testen die Kosten. Für kundenspezifische Software übersteigen Evolutionskosten oftmals die Entwicklungskosten.
Welchen Einfluss haben die Kosten auf die Software Entwicklung?
tbd
Aufgrund von welchen Faktoren werden die Software Engineering Methoden entschieden?
- Benutzeranforderungen
- Applikationstyp
- Hintergrund vom Entwicklerteam
Was ist der Unterschied zwischen Software Engineering und Computer Science?
Computer Science konzentriert sich auf Theorie und Grundlagen. Software Engineering beschäftigt sich mit den Praktiken Entwicklung und Bereitstellung von nützlicher Software.
Was ist der Unterschied zwischen System Engineering und Software Engineering?
Die Systemtechnik beschäftigt sich mit allen Aspekten der computergestützten Systementwicklung, einschließlich Hardware, Software und Verfahrenstechnik. Software Ingenieurwesen ist Teil dieses allgemeineren Prozesses.
Was sind die wichtigsten Herausforderungen für das Software-Engineering?
Umgang mit zunehmender Vielfalt, Forderungen nach reduzierten Lieferzeiten und Entwicklung vertrauenswürdiger Software.
Was sind die besten Software-Engineering-Techniken und Methoden?
Während alle Softwareprojekte professionell verwaltet und entwickelt werden müssen, sind verschiedene Techniken für verschiedene Systemarten geeignet. Zum Beispiel sollten Spiele immer mit einer Reihe von Prototypen entwickelt werden, während sicherheitskritische Steuersysteme eine komplette und analysierbare Spezifikation erfordern. Sie können also nicht sagen, dass eine Methode besser ist als eine andere.
Welche Unterschiede hat das Web für Software Engineering gemacht?
Das Web hat zur Verfügbarkeit von Software-Diensten geführt und die Möglichkeit, hochverteilte Service-basierte Systeme zu entwickeln. Die webbasierte Systementwicklung hat zu wichtigen Fortschritten in Programmiersprachen und Softwarewiederverwendung geführt.
Weshalb ist die Entwicklung eines Software Produktes, welches alle Anforderungen erfüllen soll, so schwierig?
Weil das Finden und Spezifizieren aller Anforderungen eines System sehr schwierig ist und weitreichende Konsequenzen in die Entwicklung hat. Das Requirements Engineering Process ist dafür da um alle Anforderungen systematisch und umfassend zu finden und zu dokumentieren.
Welche Activities werden sind in allen Software Engineering Prozessen beinhaltet?
Analysis – investigating what the system should do;
Specification – defining what the system should do;
Design – defining the organization of the system;
Implementation – implementing the system;
Validation – checking that it does what the customer wants;
Evolution – changing the system in response to changing customer needs.
-
- 1 / 146
-