Exam 1 - Department of Computer and Information Science and

advertisement
NAME: ________________________________
(Please PRINT)
-----------------------
CEN 5035 - Software Engineering ---------------------Exam 1 -- Spring 2008
You have 90 minutes to work on this closed-book/closed-notes test. Please pay
attention to point values since you may not have time to complete all 21
problems. PLEASE PRINT ALL ANSWERS IN THE SPACE PROVIDED ONLY. Print your name
above NOW and sign the pledge at the end of the test WHEN YOU FINISH.
1. (3 pts.) Sommerville argues that software engineering in the 21st century
faces three key challenges. One of these is the heterogeneity challenge –
building dependable software that is flexible enough to operate as
distributed systems across networks that include different types of computers
and with different kinds of support systems. Briefly describe one of the
other two key challenges he identifies.
2. (3 pts.) One of the issues of professional and ethical responsibility for
software engineers discussed in class was that of "competence". Which one
of the following best describes the issue as discussed? (Circle ONE only.)
a. Software engineers should participate in lifelong learning regarding
the practice of their profession.
b. Software engineers should always act in a manner that is consistent
with the public interest.
c. Software engineers should not misrepresent their level of competence
or knowingly accept work which is outside their competence.
d. Software engineers must never use their computer skills to take
advantage of inexperienced or incompetent clients.
e. Software engineers should strive to remain competent in all areas of
software engineering if they are to be respected as professionals.
3. (4 pts.) Briefly describe the main structural differences between the
waterfall and evolutionary development process models.
2
4. a. (2 pts.) What, according to Sommerville, are the advantages of the
waterfall model?
b. (2 pts.) What is its major problem?
5. (8 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM
among the following. (Note: terms may apply to none, one, or more than one
description.)
A.
B.
C.
D.
E.
Boehm’s spiral development
Throw-away prototyping
Mills’ incremental development
Reuse-based development
Volere
F.
G.
H.
I.
J.
RUP
Exploratory development
Extreme programming
Waterfall model
Cleanroom
___ All developers are expected to refactor the code continuously.
___ "A compromise" between the Waterfall model and evolutionary development.
___ The highest priority system services tend to receive the most testing.
___ Utilizes "test-first development" – writing tests before coding helps
to clarify requirements.
___ There is no testing for defects in the process; system testing is focused
on assessing the system's reliability.
___ Explicitly incorporates risk assessment and resolution throughout the
process.
___ Normally described from 3 perspectives: dynamic (showing phases over
time), static (showing process activities), and practice (suggesting
good practice).
___ Software correctness is demonstrated using a formal approach.
6. (3 pts.) Which one of the following best describes what a software
engineering method is? (Circle ONE only.)
a. A software system which is intended to provide automated support for
software process activities.
b. A set of generic activities whose goal is the development or evolution
of software.
c. An engineering discipline which is concerned with all aspects of
software production.
d. A “structured” approach to software development which includes system
models, notations, rules, design advice, and process guidance.
e. A simplified representation of a software process, presented from a
specific perspective or viewpoint.
3
7. (8 pts.) The Rational Unified Process (RUP) identifies four discrete phases
in the software process: Inception, Elaboration, Construction, and
Transition. Unlike the waterfall model, however, RUP phases are more closely
related to business rather than technical concerns. Briefly describe the
goal(s) of each RUP development phase.
Inception:
Elaboration:
Construction:
Transition:
8. (2 pts.) Briefly describe the distinction between CASE Workbenches and CASE
Environments.
9. (3 pts.) Fred Brooks, author of The Mythical Man-Month, notes that adding
people to a late software project can actually make it later. Why is this so?
10. (3 pts.) What does it mean to say that a requirement is verifiable?
(Circle ONE only.)
a. Correctness of the system with respect to the requirement HAS BEEN
determined.
b. Correctness of the system with respect to the requirement CAN BE
determined.
c. Consistency of the requirement with user needs/wants HAS BEEN
determined.
d. Consistency of the requirement with user needs/wants CAN BE determined.
e. (None of the above.)
11. (3 pts.) Sommerville notes that interactive systems are difficult to
represent using the pipelining (data-flow) model. Briefly explain why this
is so.
4
12. Consider the activity network below.
Note that durations are in “days".
2
start
T1
1
1
2
T4
T6
T2
3
4
T5
finish
T3
a. (2 pts.) What is the "critical path" for this network?
b. (2 pts.) What is the minimum time required to finish the project?
c. (3 pts.) For how many days can the following tasks be delayed without
causing an overall project schedule slippage?
T1: ____
T3: ____
T6: ____
d. (6 pts.) Assume that 3 staff members (Bob, Carol, and Ted) are
available to work on the project. Create a Gantt chart (“staff allocation
bar chart”) based on the template below which is consistent with the
constraints represented in the activity network and which minimizes
development time. Each of the three staff should be assigned at least one
task. Assume that one and only one staff member can be assigned any given
task for the duration of that task. Your Gant chart should show the
project beginning on a Monday.
Mon
Bob
Carol
Ted
Tues
Wed
Thu
Fri
Mon
Tues
Wed
Thu
Fri
5
13. (10 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM
among the following. (Note: terms may apply to none, one, or more than one
description.)
A.
B.
C.
D.
E.
system goal
user requirement
system constraint
SRS
domain requirement
F.
G.
H.
I.
J.
system attribute
external requirement
process constraint
PDL
functional requirement
___ Official statement of what is required of system developers; it should
include both user and system requirements.
___ Especially useful when specifying a process that involves an ordered
sequence of actions.
___ Example would be: "By law, must not display student social security
numbers to personnel outside of financial aid."
___ Example would be: "Transactions Processed Per Second."
___ Example would be: "Must be simple to install."
___ Example would be: "To avoid freezing, water temperature must be
maintained above 0 degrees Celsius."
___ Usually suffers from not being verifiable.
___ Example would be: "Processor utilization must stay above 80%."
___ A high level statement in natural language of a system service or
constraint.
___ Example would be: "Must be programmed in Java."
14. Give (a) a MODEL-BASED requirements specification using pre- and postconditions and (b) an OPERATIONAL requirements specification for the
following natural language-based program description:
The program shall set variable J to the index of the first instance
of the value 17 in the non-empty integer array A[1:N]. If A contains
NO instances of 17, the program will set J to N+1.
a. (7 pts.) model-based specification:
pre-condition:
post-condition:
b. (4 pts.) operational specification:
6
15. (15 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM
among the following. (Note: terms may apply to none, one, or more than one
description.)
A.
B.
C.
D.
E.
F.
G.
mockup
breadboard
horizontal prototyping
vertical prototyping
throw-away prototyping
evolutionary prototyping
experimental prototyping
H.
I.
J.
K.
L.
M.
N.
user interface prototyping
visual programming
compound documents
component and application assembly
LISP, APL, SmallTalk
RAD environments
incremental development
___ Requires a composition mechanism that includes control facilities and a
mechanism for communication.
___ A potential problem is that developers may be pressured to deliver the
prototype as the final system.
___ Objective is to validate or derive the system requirements only.
___ Utilize high level languages integrated with a database; used to develop
data-intensive business applications.
___ Emphasis is on function as opposed to appearance.
___ Used to reduce requirements risk; the prototype is developed from an
initial specification, delivered for experiment, and then discarded.
___ The process starts with and concentrates on those requirements which are
poorly understood.
___ Supported by a scripting language where the prototype is developed by
creating a user interface from standard items and associating components
with these items.
___ Objective is to evaluate a proposed solution for feasibility /
performance.
___ Each active element has an associated application which is invoked when
that element is selected (as in a spreadsheet).
___ Appropriate when rapid delivery and deployment are more important than
long-term software maintainability.
___ Objective is to deliver a working system to end-users at the end of the
process.
___ Typeless, interpretive, high-level prototyping languages.
___ The process starts with those requirements which are best understood.
___ Emphasis is on fidelity as opposed to completeness.
7
16. Suppose we wished to develop an algebraic specification for an abstract data
type representing arrays. Assume that arrays are collections of elements of
generic type "Elem" (including the special element "Undefined"). Individual
elements are accessed via their numeric index. Create takes lower and upper
index bounds as parameters and creates an array, initializing its values to
Undefined. Operations First and Last discover the lower and upper index
bounds of an array, respectively. Assign creates a new array which is the
same as the input array with the specified element assigned the given value.
Eval reveals the value of a specified element. If an attempt is made to
access a value outside the bounds of the array, the value is "Undefined".
Assume arrays are of type "Array", and that numeric indices are of type
"Integer".
a. (10 pts.) Give the "signature" part of the specification.
b. (3 pts.) Complete the following axioms:
First (Create (x, y)) = __________
Last (Assign (a, n, v)) = ___________
c. (5 pts.) Complete the following axiom:
Eval (Assign (a, n, v), m) =
if m < __________ or m > __________ then __________
else if m = n then __________
else __________
8
17. (8 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM
among the following. (Note: terms may apply to none, one, or more than one
description.)
A.
B.
C.
D.
E.
F.
G.
H.
predicate
universal quantifiers
constructor operations
operational specification
axioms
pre-condition
model-based specification
post-condition
I.
J.
K.
L.
M.
N.
O.
P.
CSP
Lotos
inspection operations
component and application assembly
existential quantifiers
operation signature
algebraic specification
Z
___ Defines the semantics of operations defined over a sort.
___ A specification approach widely used in industrial projects that defines
operations by defining how they affect system state.
___ Used to assert that some predicate holds FOR ALL or FOR EVERY member of
a given set.
___ A mature notation for model-based specification that uses sets and
relations between sets.
___ This specification approach is particularly well suited for specifying
the interfaces of objects and abstract data types.
___ Used to assert that some predicate holds FOR AT LEAST ONE or FOR SOME
member of a given set.
___ Provides the name and parameter types for an operation.
___ That part of a schema which defines conditions that are always true.
18. a. (3 pts.) While the fat-client Client/Server (C/S) model distributes
processing more effectively than a thin-client model, system management
is more complex. Briefly explain why this is so.
b. (3 pts.) How has the advent of mobile code (such as Java applets and
Active X controls) blurred the distinction between the thin- and fat
client C/S models?
9
19. (10 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM
among the following. (Note: terms may apply to none, one, or more than one
description.)
A.
B.
C.
D.
E.
call-return model
client-server model
data-flow model
abstract machine model
manager model
F.
G.
H.
I.
J.
reference model
interrupt-driven model
repository model
broadcast model
generic model
___ Useful control model for integrating sub-systems executing on different
computers in a network.
___ This centralized control model is suitable for concurrent systems.
___ Useful for comparing different systems within an application domain.
___ Shared data is held in a central database and may be accessed by all
sub-systems.
___ Sub-systems register an interest in specific events.
___ Top-down subroutine model where control starts at the top of a
subroutine hierarchy and moves downwards.
___ This structural model does not provide for sub-system-specific data
management requirements related to backup, access control, and recovery.
___ Usually built "bottom-up" from analyzing real systems within an
application domain.
___ In principle, when a layer's interface changes, only the adjacent layer
is affected.
___ This control model is particularly suited to real-time systems.
20. (3 pts.) CORBA now defines approximately 15 general services that are likely
to be required by many distributed systems. Sommerville describes several
examples, including naming and trading services that allow objects to refer
to and discover other objects on a network. Briefly describe one other.
21. Service-oriented architectures (SOAs) are a way of developing distributed
systems where the components of these systems are stand-alone (often Web
based) services.
a. (3 pts.) SOAs are now recognized as a significant development,
particularly for business application systems that extend beyond company
boundaries. To what does Sommerville attribute this success?
10
21. (cont’d)
b. (3 pts.) Sommerville describes a “critical distinction” between a service
and a software component as defined in CBSE. What is the distinction?
c. (3 pts.) What, specifically, does a WSDL (Web Service Description
Language) specification define about a Web service?
d. (3 pts.) What, according to Sommerville, is the major problem with WSDL?
e. (4 pts.) Briefly describe two of the potential problems testers may face
when testing service-based systems.
On my honor, I have neither given nor received unauthorized aid on this exam and
I pledge not to divulge information regarding its contents to those who have not
yet taken it.
________________
SIGNATURE
Download