1

------CEN 5035 - Software Engineering ------

Exam 2 -- Spring 2009 –- Solution Notes

1.Potentially changeable design decisions are isolated (i.e., “hidden”)

to minimize the impact of change.

2. d

3. An object requests a service from another object by sending a "service

request" message to that object. There is no requirement for serial

execution where one object waits for completion of a requested

service; objects may execute concurrently as parallel processes.

4. c

5. true, false, false, true

6. D, L, H, E, N, A, K, E

7. a

8. a. There are two parts:

“Provides interface” – defines the services that are provided by

the component to other system elements.

“Requires interface” – defines the services that must be made

available to the component by other system elements in order to

operate.

b. An object class definition defines an abstract data type and

objects are instances of that type. In contrast, a component is an

instance, not a template that is used to define an instance.

9. true, false, false, true, false, true, false

10. The chief moderator "owns" and "champions" the inspection/review

process – i.e., takesresponsibility for process improvements,

checklist updating, standardsdevelopment, etc.

11. b

12. true, false (x may equal 0 initially), true, true, true, true

13. Use: {P Лb}s1 {Q}, {P Л¬b}s2 {Q}

------

{P} if b then s1 else s2 {Q}

{P Лb}s1 {Q}: {x=5 Л |y|=1 Л y>0 } {x=5 Л y=1}

z := x-1

{ x=5 Л y=1 Л z=4} {yz=4} Q √

{P Л¬b}s2 {Q}: {x=5 Л |y|=1 Л y≤0 } {x=5 Л y=-1}

z := 1-x

{ x=5 Л y=-1 Л z=-4}  {yz=4} Q √

14. a. PI, {IЛb} S {I}, (IЛ~b)Q

b. PI: Does (n>=0 Л p=1 Л k=0) p = 2k ?

Yes, since 1 = 20

{IЛb} S {I}: {p = 2kЛk≠n}

p := 2*p

{p = 2k+1Л k≠n }

k := k+1

{ p = 2(k-1)+1Л k-1≠n } p = 2k = I

(IЛ~b)Q: Does p = 2kЛ k=n p = 2n ?

Yes, clearly.

15. Myers defines testing as "the process of executing a program with the

intent of finding errors." His rationale is that since people are

naturally goal oriented, testers are likely to be more effective if

the goal of testing is seen as finding errors (as opposed to

demonstrating that there are no errors).

16. REPEAT

Select the next (initially, the first) Effect.

Tracing back through the graph (right to left), find all feasible

combinations of connected Cause values that result in the Effect

being True.

For each new such combination found:

Determine values of all other Effects, and

Enter values for each Cause and Effect in a new column of the

test case coverage matrix.

UNTIL each Effect has been selected.

17. a. 1, 2, 2, 8, 2

b. One can ONLY deduce that path coverage does not subsume compound

condition coverage (i.e.,path ≠> compound condition) from these

data.

18. a. Stubs take the place of lower-level elements that are not being

tested together with the higher-level elements that use (e.g.,

"call") them.

b. Yes. For example, if module A uses module B, UNIT TESTING A would

require a stub for B.

19. a. X<Y Л (Y-1)<Z Л (X=Y-1) Л (Y-1=Z-2) Y=X+1 ЛZ=Y+1

b. X=0, Y=1, Z=2 (for example)

20. When a system is installed in anenvironment (and is used), it tends

to change that environment (e.g., the way business is conducted).

This, in turn, tends to result in changes in the requirements of the

system itself.

21. As programs age, their structure tends to degrade (c.f. Lehman's law

of increasing complexity) and they (therefore) become harder to

understand and change.

22. Understandability: Is the process explicitly defined and easy to

understand?

Visibility: Do process activities culminate in clearresults and is

the progress being made visible externally?

Supportability:Can CASE tools be used to supportprocess activities?

Acceptability: Is the process acceptable to and usableby engineers

responsible for producing the product(as well as others…)?

Reliability: Can process errors be avoided or trapped before they

result in product errors?

Robustness: Can the process continue despiteunexpected problems?

Maintainability: Can the process evolveto reflect changing

organizational requirements or to makeprocess improvements?

Rapidity: How fast can the process be completed?

23. a. The SEI developed the influential 5-level Software Capability

Maturity Model (CMM) in the early ’90’s. This was followed by the

development of more specialized CMMs (e.g., the Systems Engineering

CMM, the People CMM, etc.), each of which had its own structure,

terms, and ways of measuring maturity.This caused confusion,

especially when using more than one model at a time, since they

weredifficult to integrate into a combined improvement program.

b. In response to these circumstances and issues, the Capability

Maturity Model Integration (CMMI) project was begun in 2001 to:

build an initial set of integrated models, improve best practices

from existing CMM models, establish a framework to enable

integration of future models, and create an associated set of

appraisal and training products.

c. The continuous modelaffords assessments ona process-area-by

process-area basis. They are based on a set of values showing an

organization's maturity for each process or process group as

opposed to the staged model's single value.

The principle advantage is that organizations can pick and choose

processes to improve according to their own needs and requirements.

This allows more discretion and flexibility.