University of Florida
CEN 5035
CEN 5035 - Software Engineering
Exam 1 –
You have 90 minutes to work on this exam. It is a "closed-book/closed-notes" test. Pay attention to point values, since you may not have time to work all 19 problems.
PRINT your name above NOW and sign the pledge at the bottom of the last page, if appropriate, when you are finished.
PL
...[Show More]
CEN 5035 - Software Engineering
Exam 1 –
You have 90 minutes to work on this exam. It is a "closed-book/closed-notes" test. Pay attention to point values, since you may not have time to work all 19 problems.
PRINT your name above NOW and sign the pledge at the bottom of the last page, if appropriate, when you are finished.
PLEASE PRINT ANSWERS IN THE SPACE PROVIDED ONLY – PREFERABLY USING A BALLPOINT PEN TO INCREASE LEGIBILITY. Good luck!
1. Sommerville notes that there are two basic kinds of software products: Generic
products and Customized (or bespoke) products.
a. (3 pts.) Which one of the following best describes the distinction between these?
(Circle ONE only.)
i. Generic products are older, often outdated computer systems or applications, while customized products are newer products that may utilize avant-garde technologies.
ii. Generic products provide the same functionality as original customized products, but are usually marketed using an adopted (nonproprietary) name without advertising.
iii. Generic products inherit their traits and functionality from parent systems (i.e., a product line) while customized products are independent of any existing application product line.
iv. Customized products are based on longstanding application traditions or usage patterns, while generic products represent a departure or divergence from application traditions or usage patterns.
v. Generic products are produced to be sold on the open market to any customer who is able to buy them, while customized products are commissioned by a particular customer.
b. (3 pts.) An important difference between these types of software concerns the
software specification. Briefly explain.
------------------------------ please do NOT write below this line ----------------------------
2
2. (4 pts.) Sommerville notes that in any situation where different people have different views and objectives, software engineers are likely to be faced with ethical dilemmas. One example he gives concerns participation in the development of military and nuclear systems. What general advice does Sommerville offer employers and employees who may at some point face this ethical issue? (Circle ONE only.)
a. Since there are no absolutes when it comes to dealing with such issues, he advises
employers and employees to decide what to do depending on the potential for
human suffering brought about by the use of such systems.
b. He advises employers and employees of an organization to accept any new work
assignments, even those associated with military or nuclear systems.
c. As suggested by Laudon (1995) and Johnson (2001), he advises employers and
employees to consider such issues from a philosophical standpoint where the
basic principles of ethics are considered, and then decide how to act.
d. He advises employers and employees to make their views concerning such issues
known to each other in advance (of offering or accepting a position in the
organization).
e. He advises employers and employees of an organization to accept any new work
assignments, except those associated with military or nuclear weapon systems.
f. (None of the above.)
3. (4 pts.) Consider the reuse-based process model shown below.
Explain why it is essential to have two separate requirements engineering activities in the process. (Please PRINT – do not write cursively. Your writing must be legible in order to receive credit.)
------------------------------ please do NOT write below this line ----------------------------
Requirements
specification
Component
analysis
Development
and integration
System design
with reuse
Requirements
modification
System
validation
3
4. (3 pts.) Sommerville notes that while there is no “ideal” software process, there is scope for improving the software process in many organizations. Aside from replacing outdated techniques and taking advantage of the best practice in industrial software engineering, which one of the following general actions does he suggest an organization can take to improve its software processes? (Circle ONE only.)
a. Decrease diversity in software processes across the organization through process
standardization.
b. Use a modern generic process that is organized into phases but separates activities
from these phases.
c. Increase diversity in software processes across the organization in order to take
advantage of the benefits different processes can provide.
d. Use a more structured, plan driven-process.
e. Use a less formal, agile process that is easier to change in response to changing
customer requirements.
f. (None of the above.)
5. (8 pts.) Briefly describe four of the five different uses of prototypes discussed in class. Be specific. (Please PRINT – do not write cursively. Your writing must be legible in order to receive credit.)
[Show Less]