theory Flashcards

1
Q

Critical system

hint samba

A
  • A critical system is a system which must be highly reliable and retain this reliability as they evolve without incurring prohibitive costs.
    1. Safety-critical systems A system whose failure may result in injury, loss of life or serious environmental damage. An example of a safety-critical system is a control system for a chemical manufacturing plant.
    2. Mission-critical systems A system whose failure may result in the failure of some goal-
    directed activity. An example of a mission-critical system is a navigational system for a spacecraft.
    3. Business-critical systems A system whose failure may result in very high costs for the business using that system. An example of a business-critical system is the customer accounting system in a bank.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Agile Methodology

hint: incr

A
  • Agile is a software development methodology to build a software incrementally using short iterations of 1 to 4 weeks so that the development is aligned with the changing business needs.

refer to drawing
idea->cycle(define, code test) ->i1 review and adjust -> x3 ….-> final software

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

Software Quality

hint: req? srs

A
  • Software Quality:- refers to how well a software product meets the needs and expectations of its users. It is determined by the extent to which the software fulfills the requirements specified in the Software Requirements Specification (SRS) document.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Software product quality methods

hint: p u r c m

A
  • Portability: A software device is said to be portable, if it can be freely made to work in various operating system environments, in multiple machines, with other software products, etc.
  • Usability: A software product has better usability if various categories of users can easily invoke the functions of the product.
  • Reusability: A software product has excellent reusability if different modules of the product can quickly be reused to develop new products.
  • Correctness: A software product is correct if various requirements as specified in the SRS document have been correctly implemented.
  • Maintainability: A software product is maintainable if bugs can be easily corrected as and when they show up, new tasks can be easily added to the product, and the functionalities of the product can be easily modified, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Unit testing

hint: indv, ui fun ex

A

Unit testing is a testing technique where individual modules are tested by the developer to ensure functional correctness. It aims to isolate and fix defects in each unit, reduces testing costs, improves design, and contributes to the overall quality of the build. Unit testing techniques include Black Box Testing (testing user interface and inputs/outputs), White Box Testing (testing function behavior), and Gray Box Testing (executing tests, assessing risks).

refer to drawing
unit test cycle
cycle( check code out from repo, make changes, execute unit tests, fix defects and reex. tests, code review, check code in into repo)

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

Fault tolerance

hint: det dam rec rep

A
  • Fault detection: The system must detect a fault that could lead to a system failure.
  • Damage assessment: identifying and detecting the parts of the system state that have been affected by a fault.
  • Fault recovery: restoring the system to a known safe state by either correcting the damaged state (forward error recovery) or reverting to a safe state (backward error recovery).
  • Fault repair: involves making changes to the system to prevent faults from happening again. However, not all faults require repair as some are temporary and normal processing can resume once the fault is recovered.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

The process improvement ‘Six Sigma’

hint: cpe demarquis and damvid

A

Six Sigma is a process improvement methodology that aims to make customers happy and increase profits by eliminating waste and inefficiency. It focuses on three important elements: customers, processes, and employees. There are two main methods in Six Sigma: DMAIC for improving existing processes and DMADV for designing new products and processes to ensure predictable and high-quality performance.

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

Advantages of Software Reuse

hint: etc im in

A
  • Less effort: Ready-made components reduce the effort required as they can be directly used in the system.
  • Time-saving: Reusing existing components saves time for the software team.
  • Reduce cost: With reduced effort and time, overall costs are reduced.
  • Increase software productivity: By utilizing ready-made components, developers can focus on creating new components.
  • Improved software quality: Time saved through reuse allows more focus on maintaining software quality and assurance.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Dependability

hint: sys rts

A
  • In systems engineering, dependability is a measure of a system’s availability, reliability, maintainability, and in some cases, other characteristics such as durability, safety, and security.
  • In real-time computing, dependability is the ability to provide services that can be trusted within a time period.

refer to drawing
dependability:
availability
reliability
safety
security

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

Safety specification

hint: safety eng

A

The safety engineering community developed standards for safety- critical systems specification and development.
* Software with safety-critical functionality must be thoroughly verified with objective analysis and preferably test evidence that all safety requirements have been met per established criteria.

refer to drawing

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

Risk management

hint: id q r mc

A

Risk management is crucial in business organizations to minimize the negative impact of risks. It involves four steps:
Risk Identification: Identifying potential risks.
Risk Quantification: Assessing the impact and likelihood of risks.
Risk Response: Developing strategies to mitigate or exploit risks.
Risk Monitoring and Control: Continuously monitoring and managing risks throughout the project or organization.

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

Agile - Characteristics

hint: inc f2f fbl

A

1-Iterative/incremental and Ready to Evolve: Agile methods divide problems into smaller tasks and focus on short iterations (1 to 4 weeks). Cross-functional teams handle all aspects of development and deliver a working product at the end of each iteration.
2-Face-to-face Communication: In Agile, teams have a designated customer representative who can address the developers’ questions and represent the stakeholders. To keep everyone informed, project progress is displayed on information radiators, which are prominently placed in the office for easy visibility.
3-Feedback Loop: Daily stand-up meetings, known as daily scrums, provide a platform for team members to share updates, discuss next steps, and address any issues.

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

Integration testing

hint: bigbang topbot hybrid

A

Integration testing occurs after unit testing and involves combining modules or units to test their functional, performance, and reliability interactions. Different integration strategies include Big-Bang Integration, Top-Down Integration, Bottom-Up Integration, and Hybrid Integration.

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

Safety assurance

hint: review cmcc ass

A

For safety assurance in critical systems, five mandatory reviews should be conducted:
* Review for correct intended function.
* Review for maintainable and understandable structure.
* Review to ensure consistency between algorithm, data structure design, and specified behavior.
* Review for consistency between code and algorithm/data structure design.
* Review to assess adequacy of system test cases.

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