CMPS 253 Final, Fall 2004
American University of Beirut · Professional Practice · 6 pages
More CMPS 253 files
Show the text of this final exam
AUB
Computer Science department
AMERICAN CNIVERSIT
LIBRARY
oF BCIRUT
Final-Fall04
CMPS253: Professional Practice
Final exam, 2 hours
a a an
Name:
Id#: {American UNIVERSIT
LIBRARY
Section: OF REIRUT
ee LS
ne
I. Multiple choices (20 pts)
Circle one right answer for each question
1. The degree to which a program operates according to a specification indicates the:
A. Correctness
B. Reliability
C. Performance
2. Ifacustomer develops a written specification for you, you can be reasonably sure that:
A, your analysis and specification work will be simple
B. there may be shortcomings in the specification
C. no changes are to be added
D. none of the above
3. The information domain of a problem encompasses:
A. data objects
B. how data flows through a system
C. data content
D. all of the above
E. none of the above
4. Behavior modeling is predicated on an understanding of
A. events and states
B. data objects and functions
C. functions and behaviors
D. events and functions
5. What activity does a software project manager need to perform to minimize the risk of software failure?
A. double the project team size
B. request a large budget
C. allow absolutely no schedule slippage
D. define milestones and track progress
6. In the context of analysis, partitioning means:
A. providing an elaboration of details
B. viewing things at higher levels of abstraction
C. organizing information in a systematic way
D. defining categories of data and function
7. The prototyping model of software development is
A. A reasonable approach when requirements are well defined.
B. A useful approach when a customer cannot define requirements clearly.
C. The best approach to use for projects with large development teams.
D. A risky model that rarely produces a meaningful product.
AUB Final-Fall04
Computer Science department CMPS253: Professional Practice
8. One of the best ways to avoid frustration during the software development process is to
A. give team members more control over process and technical decisions.
B. give team members less control over process and technical decisions.
C., hide bad news from the project team members until things improve.
D. reward programmers based on their productivity.
9. The project scope is defined as a means of bounding the system
A. Functionality and performance
B. Staffing and skills
C. Costs and resources
D. Schedule and milestones
10. LOC-based estimation techniques require problem decomposition based on
A. information domain values
B. project schedule
C. software functions
D. process activities
ll. DFD, STD (28 pts)
Given the following specification
A ticket issuing system is intended to automate of rail tickets. Users select their destination, and
input a credit card and a personal identification number. The rail ticket is issued and their credit
card account charged with its cost. When the user presses the start button, a menu display of
potential destinations is activated along with a message to the user to select a destination. Once a
destination has been selected, users are requested to input their credit cards. Its validity is
checked and the user is then requested to input a personal identifier. When the credit transaction
has been validated the ticket is issued.
a- Draw the first abstract level of the system ( 4 pts)
2
’ AUB Final-Fall04
Computer Science department CMPS2S3: Professional Practice
b- What are its different functionalities, enumerate them and draw the corresponding graph with
all useful information (do a refinement of the first abstract level) (10 pts)
c- Explain how the leveling principle is respected in your answers (4 pts).
* AUB Final-Fall04
Computer Science department CMPS253: Professional Practice
d- Identify at least three states for the system and draw the corresponding state transition diagram
(10 pts).
Ill. True or false (20 pts)
Indicate if each of the following statements is true (T) or false (F):
ls T F Programs which are developed using evolutionary development are likely to be
easy to maintain.
2. T F Milestones are indicators of visibility.
3. T F Implementation requirements are non-functional ones.
4. T F For scheduling we don’t need to identify parallel tasks in the system.
5. T F Efficiency requirements are functional ones.
6. T F Use cases are a mechanism used to discover and record requirements.
7 T *F When ERD and DD are both used to specify the data; however they are
complementary and represent different things.
8 T F DFDs is function-based specification technique.
9. T F Since project estimates are not completely reliable, they can be ignored once a software development
project begins.
10.T F Product indicators enable a software project manager to adjust work flow or tasks.
- AUB Final-Fall04
Computer Science department CMPS253: Professional Practice
IV.General (32 pts)
1. Why do we have to consider the complexity multiplier when calculating the
function points, and give 3 factors considered for its calculation (10pts).
We use complexity multiplier because
2. In few words summarize the Z specification language (8 pts.)
Its intent(when and why it is used):
What cannot be represented with Z :
Example of Z:
a) specification using the English language:
AUB Final-Fall04
Computer Science department CMPS253: Professional Practice
b) specification using Z language:
(4 pts.)
V. ERD (10 pts).
A factory produces many products having the following particularities: each product is conceived by
one engineer and each product has different parts. Not all engineers in the factory are working on the
conception of products. We want to understand the data of this system by developing an ERD.
(a) Draw the ERD (identify the entities and their relationships)
(b) Specify the cardinality
(c) Specify possible attributes for the entities.