Lesson 16 Flashcards

1
Q

What is software engineering

A

Applying engineering principles to systematically develop software that is of high quality and efficient.

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

Key principles of software engineering

A

-Abstraction
-Modularity
-Encapsulation
-Separation of Tasks
-Reusability
-Scalability
-Maintainability
-Reliability
-Efficiency
-Security
-Testability
-Standardization

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

SW engineering standards

A

Developed, published and maintained by the Institute of Electrical and Electronics Engineers (IEEE)

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

Software requirements specifications

A

(SRS) helps customers accurately describe what they wish to obtain
Engineers understand exactly what the customer wants
Organizations develop a standard outline, define format and content and develop supporting items such as an SRS quality checklist or handbook

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

A good SRS provides several benefits

A

Establish the basis for agreement between the customers and the engineers ol what the product is to do.
Reduce the development effort by reducing redesign later
Provide a basis for estimating costs and schedules.
Facilitate transfer to new customers or users
Serve as a basis for enhancement and change control

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

What is involved in the SRS stage

A

Defining the:
- Nature: functionality, interfaces, performance, attributes, constraints
- Environment: Interactions with other components
-Requirements
Joint preparation- involvement from both the customer and engineers
Evolution- changing control(process developing, approving, and tracking
Prototyping- Useful gor refining the requirements

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

What is not involved in SRS stage

A

Design or project requirements

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

Requirements 1-3 for good requirements

A
  1. correct
  2. unambiguous
  3. Complete
    - every requirment stated
    -responses of product to all possible inputs
    - labels and references to all tables figures and diagrams are included
    - definitions of all terms and units of measurements
    - no TBD without good reason
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Requirements 4-6 for good requirements

A
  1. Consistent- dont conflict
  2. Ranked for:
    - importance
    -stability: number of expected changes
  3. Verifiable
    - world well, good interface and shall usually happen are not used
    - given quantifiable numbers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Requirements 7-8 for good requirements

A
  1. Modifiable- changes can be made easily, completely and consistently
    - no redundancy
    - requirements are not intermixed
    -coherent easy to use
  2. Traceable
    - backward traceability; each requirement references its source in earlier documents.
    -forward traceability; each requiremrnt has a unique name or reference number
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The purpose of Software Design Description (SDD) is to show the

A

Software structure: architecture, high level structure
Software components: classes, functions, variables, etc.
Interfaces: how the components interact with each other and externally
Data necessary

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

V& V ensures that software

A

Is built correctly based on the design
Satisfies the requirements and the user needs.

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

V&V leveld

A

System (functional)
Software (Technical
Integration (Comparability with Hardware)

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

V&V activities

A

Requirement verification
Design verification
Implementation verification
- static analysis: review without running
-dynamic analysis: run code

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

V&V documentation

A

V&V plan- step by step instructions for executing the tests.
V&V report- results of executing the VVP

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

Unit testing in python

A

Unit testing is the process of testing individual components of functiont to ensure they work correctly
- Isolated
-Automated
-Used to ensure that changes do not break existing functionality

17
Q

Python unit test call code

A

Import unittest