Software / System Process Flashcards

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
Q

Dynamic testing techniques (2):

A

White box and Black box.

26
Q

white box test cases can ensure: 3

A

all paths exercised once, all logical decisions exercised, execute all loops.

27
Q

black box finds errors like…. : 4

A

incorrect or missing functions, interface errors, behaviour errors, initialization and termination errors.

28
Q

black box goal:

A

all inputs tested, outputs match expected outputs.

29
Q

white box goal:

A

all statements and conditions executed at least once.

30
Q

Software testing is part of broader topic called.. : 2

A

Verification and Validation.

31
Q

Verification:

A

Are we building the product right (verify source code)

32
Q

Validation:

A

Are we building the right product. (validate system against requirements).

33
Q

Unit test requires …. as component is not standalone.

A

Driver (main program) and stubs (modules called by module being tested).

34
Q

Two approaches to unit testing:

A

Top-down and Bottom up (clusters).

35
Q

4 different types of whole system testing:

A

Recovery testing:
Security testing:
Stress testing:
Performance Testing: