Software Engineering BFH
Software Engineering BFH
Software Engineering BFH
-
- 1 / 146
-
Cartes-fiches
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
Nennen Sie die 6 Design Thinking Schritte in korrekter Reihenfolge
- Scoping
- Research
- Synthesis
- Design
- Prototyping
- 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
- Probability of failure-free system operation
- 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%)
- Probabli that the system,
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
- Musskriterien
- Sollkriterien
- Kannkriterien
- 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
- 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