Software / System Process Flashcards

(35 cards)

1
Q

Process Specifications Logic can be expressed in 4 ways:

A

Structured English
Pseudocode
Decision Trees
Decision Tables

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

Describe Decision Tables:

A

Conditions and Actions on left hand side separated by thick line. Upper half has rules which are combinations of conditions. Must be action for each rule. If n binary conditions then n^2 rules.

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

What does software design stage focus on?

A

On how to build the system.

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

Software pyramid with design:

A

Design, code, test, maintenance.

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

Software Design three important concepts:

A

abstraction, refinement, modularity.

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

Software Design has 4 outputs:

A

architectural design, data design, component design, interface design.

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

Software design must focus on more than just functional requirements, list 3:

A

Non-functional requirements: maintainability, security (encapsulation), availability (fault tolerance).

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

Two metrics to evaluate Design Quality.

A

Coupling and Cohesion.

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

Coupling?

A

The degree of the closeness of
the relationship between classes. Good coupling is when methods do not refer to each other. Bad = method refers to inside of another method.

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

Cohesion?

A
The degree to which attributes
and methods of a class support a single object. Bad = class represents many objects, not just one.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Two types of coupling?

A

Interaction (message passing) and Inheritance.

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

Three types of cohesion:

A

Method cohesion. Class cohesion. Generalisation/specialisation cohesion (ie hierarchy extends cohesion)

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

3 design strategies:

A

Custom development (in house), Purchase packaged software, outsource.

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

Design Quality - maximise and minimise what?

A

Maximise cohesion, minimise coupling.

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

Levels of coupling:

A

No coupling, Data (used entirely), Stamp (used partly), Control (variable passed controls method), Global(refers to global data), Pathological (method1 refers to inside method2).

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

4 levels of method cohesion:

A

Functional (1 job to do), Sequential (output of function1 used ofr function2), Communicational (2 functions use same attributes), Coincidental (multiple unrelated functions).

17
Q

System testing can be classified by purpose: 4

A

correctness testing
performance testing
reliability testing
security testing

18
Q

System testing can be classified by life-cycle phase: 7

A
requirements phase testing
design phase testing
program phase testing
evaluating test results
installation phase testing
acceptance testing
maintenance testing
19
Q

What is a test case (3):

A

represents typical, critical or abnormal use of system.

20
Q

Three levels of system testing:

A

Unit testing (modules), integration testing (modules together), system testing (everything).

21
Q

Three static techniques for testing:

A

Inspection (examine code), Walkthrough (group review), Desk Checking (execute manually).

22
Q

Two types of acceptance testing:

A

Alpha (on site, simulated data). Beta (customers computer, real data).

23
Q

Test Driven Development?

A

First write tests, then write code. JUnit.

24
Q

Testing should begin…

A

in the small and progress to in the large.

25
Dynamic testing techniques (2):
White box and Black box.
26
white box test cases can ensure: 3
all paths exercised once, all logical decisions exercised, execute all loops.
27
black box finds errors like.... : 4
incorrect or missing functions, interface errors, behaviour errors, initialization and termination errors.
28
black box goal:
all inputs tested, outputs match expected outputs.
29
white box goal:
all statements and conditions executed at least once.
30
Software testing is part of broader topic called.. : 2
Verification and Validation.
31
Verification:
Are we building the product right (verify source code)
32
Validation:
Are we building the right product. (validate system against requirements).
33
Unit test requires .... as component is not standalone.
Driver (main program) and stubs (modules called by module being tested).
34
Two approaches to unit testing:
Top-down and Bottom up (clusters).
35
4 different types of whole system testing:
Recovery testing: Security testing: Stress testing: Performance Testing: