


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Exam; Professor: Zelkowitz; Class: Software Engineering; Subject: Computer Science; University: University of Maryland; Term: Spring 2009;
Typology: Exams
1 / 4
This page cannot be seen from the preview
Don't miss anything!



a. Which two methods are most similar:
Answer all questions in the space following each question. Use the back of the same page if you need more space.
1 [2]. What is the major role of a scientific theory?
To make predictions that can be tested.
2 [5]. Briefly explain the Delphi estimation technique.
A group of experts in various domains estimate the development factors (schedule, cost, effort) and report those values. The group meets to discuss the project and the experts submit their new estimates.
This continues until some sort of consensus is reached on the values of those factors.
3 [2]. a. How long does it take a new technology to go from concept until widespread use?
About one generation. Any answer from about 15 years to 25 years.
b. How long does it take for a single company to study and adopt a new technology?
About 4-6 years. It is NOT instantaneous or almost instantaneous.
4 [6]. a. What is an emergent property?
A property of the system as a whole and not uniquely identifiable to one specific component.
b. Give an example of 2 emergent properties:
(1) Dependability, (2) reliability, (3) security, (4) maintainability, almost any of the “ilities.”
c. What is a non-functional requirement and give an example of one.
A requirement that is not defined by a specific input-output relationship. Any of the “ilities” above.
5 [10]. a. Describe 3 problems with the waterfall process:
(1) Long time until user sees any operational system. (2) Requirement changes hard to deal with. (3) Staff turnover during life of project. (4) Costly redesign and reimplementation if wrong product built
b. For each of the above, give a solution to that problem that the agile community proposes to mitigate that problem.
(1) User part of development group to oversee the right product being built (2) Rapid 2-4 week release cycle so requirement changes factored in repeatedly. (3) Short development cycles limit staff turnover during any one cycle. (4) Rapid deliveries uncover problems quickly. (5) User stories leads to more user-oriented requirements.
c. Give two situations in which agile development is probably not the best approach:
(1) Large teams (generally over 20) (2) Distributed development (3) Extremely complex systems not amenable to small repeated releases.
6 [6]. Of the four development models (spiral, waterfall, agile, V model), answer the following:
waterfall and V
b. How are they similar?
Same operational steps
c. How do they differ?
Focus of V is on matching upstream processes (requirements, design, code) with downstream testing (acceptance test, system test, unit test).
d. Which of the 4 models is mostly associated around risk reduction? Why?
Spiral. Each cycle of the spiral focuses on a risk assessment. Should the process continue for another cycle with available staff, time and budget?
a. What are the two components of a risk?
(1) Probability of loss (2) Cost of loss
b. What are two approaches toward risk mitigation and give an example of each. (Not necessarily from the computer software domain) (1) Mitigation approach 1:
Lower probability of loss
Example:
Use redundancy to make probability lower (e.g., build in multiple ways to stop a car)
(2) Mitigation approach 2:
Lower cost of loss
Example:
Backup database more frequently so if disk crashes, less data lost.
(3) Transfer risk to someone else
Buy insurance
8 [6]. What are the CIA attributes of security? Define each attribute. (Give a definition, not just name the attributes)
Confidentiality – only owner has access to data Integrity – data cannot be changed without owner’s permission Availability – Data is available when owner wants to access it.
Bugs in code avoided by programming multiple versions of a function
Weakness:
Multiple teams have a tendency to make the same assumptions and errors often are duplicated.
b. COCOMO model:
Better estimates on effort and schedule for a software development
Weakness:
Data collected from specific environments that may not reflect other user environments.
Values generated are still approximate and may be off by a considerable amount.
c. Decision tables:
Precise way to manage state-based decisions
Weakness:
Program may not applicable to non-state-based applications.
10 [3]. You are working on TSAFE for a company and your management wants to ship the product in one week. You are aware that the blundering function still does not work correctly. According to professional ethics, what are at least three actions you need to do?
(1) Do your professional best to try and finish the work on time.
(2) Tell management if more time is necessary since this is a safety-critical function.
(3) If management refuses, must tell customer.
11[3]. COCOMO is based on an estimation technique of the form Effort= a 10 bS^ where S is the size of the program. Discuss the implications of the parameter b.
b measures the complexity of the application being programmed. In general b is greater than 1. If so, the process is superlinear meaning that as the program gets larger, the effort grows greater than a linear function. E.g., a 10K program takes more than the time to build two 5K programs.
If b is less than 1, this means that as the program grows larger, the effort does not grow as fast. E.g., a 10K program takes less time to build than two 5K programs.
In general, b is always greater than 1.
12 [20]. Consider the following 3 scenarios: I. A company uses regression testing at the end of the system testing process. That costs $1M. Assume there is a 10% probability that no errors are in the code, a 70% probability that regression testing finds the errors, and a 20% probability that an error is delivered in the product. Fixing such delivered errors costs $10M.
II. The company uses formal verification instead of regression tests. In this case the verification costs $1.5M. In this case, there is a 15% probability of there being no errors in the code, 80% probability that the error is found in verification, and a 5% probability that an error is in the released product. It costs $10M to fix delivered code.
III. The company uses neither technique, but spends an extra $500K in its normal testing process. In this case, there is a 5% probability of no errors in the code, 70% probability of the errors being found in testing, and a 25% probability of the delivered product containing an error (which again costs $10M to fix.)
(b) Write one or more user stories that address these same requirements.
Each of the above 3 tasks should be written as a sequence of 1-3 sentences. See page 163 of Williams text. Everyone did very poorly on these.
Login: Log into the TIVO website and give username and password. Website will acknowledge if login is correct.
Record: Ask for TV schedule from website. When you see schedule, ask for program to be recorded. Website will interrogate home TIVO unit to schedule program.
Completion: After logging in, ask TIVO website if program was recorded. Website will interrogate home TIVO unit to see if program was recorded.