Final Examination Sample
Information and Computer Science 121
Professor Debra J. Richardson
Name:
Signature :
Student ID:
Instructions
1. This is a closed book, closed notes exam.
2. Write your name and student ID number at the top of this page and sign the exam where indicated.
3. All answers are to be given on these pages. Use the back sides of the pages if necessary with a reference as to where any extra portion of the answer is located.
4. In t
rue/false questions, a statement is false unless it is entirely true (circle true or false in the left margin).5. In
multiple choice questions, select the most appropriate answer to the question (indicate your answer by circling the letter and listing it on the blank line in the left margin).6. The maximum score for this exam is 150 points. Each true/false question is worth 2 points, each multiple choice question is worth 4 points, and each short answer question is worth 6 points.
7. The exam is eleven pages long.
8. You have two hours to complete the exam.
true/false questions (circle true or false)
two (2) points each
true false 1. In structured (function-oriented) design, data flow diagrams are derived from structure charts.
true false 2. In object-oriented design, methods can be viewed as messages passed between real-world objects.
true false 3. Studies have shown that software costs are dominated by requirements specification.
true false 4. Inspections can be used to manually validate the requirements specification.
true false 5. Fault is another term for failure.
true false 6. A REBUS specification consists of a cyclic graph of requirements nodes, which have flexible field contents.
true false 7. Proof of correctness can address both verification and validation.
true false 8. State machine specifications can be used at the software system requirements phase.
true false 9. Data flow coverage tests the flow of test data from the external environment.
true false 10. The is-composed-of relation is always be a hierarchy.
true false 11. Testing is of no use without a specification.
true false 12. Z specifications model both objects and operations in terms of well defined mathematical entities.
true false 13. Algebraic specifications are based on specifying sorts that lexically order objects.
true false 14. In a model-based specification, state is represented explicitly.
true false 15. Satisfying data flow path selection during testing will detect all faults in a component.
/30
----------
Total on T/F
multiple choice questions (
circle the most appropriate answer and list it on the blank line)four (4) points each
16. Common errors in design include
(a) ambiguous statements of module interactions
(b) depth first design
(c) lack of documentation making designers indispensable
(d) (b) and (c)
(e) (a) and (c)
(f) all of the above
17. Using functional testing guidelines, test cases are chosen
(a) to cover the domain of inputs and range of outputs
(b) to cover all possible input values of the program
(c) to cover statements in the program
(d) (b) and (c)
(e) all of the above
(f) none of the above
18. People hesitate to use formal specifications because
(a) of the high learning curve
(b) they are used to other means of designing
(c) there are no languages with defined semantics
(d) (a) and (b)
(e) (b) and (c)
(f) none of the above
19. Software validation
(a) demonstrates consistency between a program and its specification
(b) should permeate the software lifecycle
(c) provides evidence of misinterpreted user needs
(d) (a) and (b)
(e) (b) and (c)
` (f) all of the above
20. Object-oriented design is best suited to designing
(a) transaction-oriented systems
(b) program families
(c) systems with sharing of state information
(d) (a) and (c)
(e) (b) and (c)
(f) none of the above
21. Besides functionality, requirements specifications should include
(a) acceptance test plan.
(b) non-functional constraints.
(c) plans for future modifications.
(d) (a) and (b)
(e) (b) and (c)
(f) all of the above
22. Environmental constraints in a requirements specification might specify
(a) characteristics of the intended users.
(b) desired responses to undesired events.
(c) functionality of the environment.
(d) (a) and (c)
(e) (b) and (c)
(f) none of the above
23. Formal axiomatic specifications
(a) specify objects as sorts
(b) have a non-hierarchical structure
(c) have precise syntax and semantics
(d) (b) and (c)
(e) (a) and (c)
(f) none of the above
24. A software bug is
(a) an internal manifestation of a fault.
(b) a fault.
(c) a failure.
(d) a program that protects files from viruses.
(e) none of the above
25. Which of the following statements is true about functional testing?
i) Functional testing is "glass box" testing.
ii) Equivalence partitioning is a functional testing techinque.
iii) All-uses coverage is a functional testing technique.
(a) both (i) and (ii)
(b) both (ii) and (iii)
(c) (i) only
(d) (ii) only
(e) (iii) only
(f) all of the statements
26. Major components of a software architecture are
(a) module dependencies
(b) graphical description
(c) integration test plan
(d) intermodule communications
(e) none of the above
(f) all of the above
27. An object class
(a) is a class of equivalent states
(b) is a set of entities with the same attributes and operations
(c) has behavior defined by observer operations
(d) is an entity with changeable state
(e) (b), (c) and (d)
(f) all of the above
28. An object-oriented structure chart design is
(a) a property-oriented specification
(b) a behavioral specification
(c) a structural specification
(d) (a) and (c)
(e) (b) and (c)
(f) none of the above
For questions 29 and 30, consider the following program
(suggestion: draw a control flow and def-use graph)
1: input (X,Y,Z)
2: if X>0 then
3: while Y<0 loop
4: Y := Y+1;
endloop;
else
5: output (X);
endif;
6: if Z>0 then
7: Z := X;
endif;
8: output (Y,Z);
29. The All-Branches criterion (branch coverage)is satisfied by the path set
(a) (1,2,3,4,3,6,7,8) and (1,2,5,6,8)
(b) (1,2,5,6,7,8) and (1,2,3,4,3,6,8) and (1,2,3,6,8)
(c) (1,2,5,6,8) and (1,2,3,4,3,3,5,6,7,8)
(d) (a) and (b)
(e) all of the above
(f) none of the above
30. The All-Uses criterion is satisfied by the path set
(a) (1,2,3,4,3,4,6,7,8) and (1,2,5,6,8)
(b) (1,2,5,6,8) and (1,2,3,4,3,4,6,7,8) and (1,2,3,6,8)
(c) (1,2,5,6,8) and (1,2,5,6,7,8) and (1,2,3,6,8) and (1,2,3,6,7,8) and (1,2,3,4,3,6,8) and (1,2,3,4,3,6,7,8)
(d) (a) and (c)
(e) (b) and (c)
(f) none of the above
/60
----------
Total on MC
short answer questions
six (6) points each
31. Describe the relationship between information hiding, coupling, and cohesion.
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
32. Describe the four basic issues that must be addressed in testing.
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
33. Describe why software evolution (change) is of paramount importance to all software development phases. What techniques are used to address it in the requirements and design phases?
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
34. Describe how requirements are specified using REBUS; provide your description in terms of both the data model and the process model supported by REBUS.
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
35. What is an object in object-oriented design? How does this differ from an object in object-oriented programming?
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
36. If you had to create a testing strategy and choose between functional or structural testing when faced with resource limits, what would you do?
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
37. What are the basic steps of most design methods?
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
38. Describe how information hiding and abstraction are supported by model-based specification.
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
39. How does the use of formal specifications improve requirements? How does it improve design? How does it improve verification and validation?
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
40. Describe four capabilities that are missing from the IDE CASE tools that should be part of a good software development environment.
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------
/ 60
----------
Total on SA