CSC 480 Fall
2001
10/09/01 Midterm
Exam Test
Form A
Name:
Instructions:
Answer all questions in the answer sheet
provided. On Multiple Choice, choose the ONE BEST ANSWER.
Remember to put the letter of your test
form on the top of your answer sheet.
Hand in Test, Answer Sheet, and Help
Sheets, all with your name.
ALSO – PLEASE PICK UP, FILL OUT, AND TURN
IN TIME SURVEY FOR GROUPS BEFORE YOU LEAVE TONIGHT
Multiple Choice
(3 points
each)
1. Which of
the following is true of software engineering?
A) Software engineering is theory driven; it
makes many assumptions that must be relaxed in order to fit the real world
B) Software engineering is an attempt to
follow a systematic and organized approach to software development
C) Software engineering is another name for
systems engineering
D) All of the above
E) None of the above
2. Which of
the following could be considered computer-aided software engineering tools?
A) Integrated development environments
B) Graphical interface builder for fast user
interface construction
C) Diagram editors for building system
models such as E/R diagrams and/or Data Flow Diagrams.
D) All of the above
E) None of the above
3. Which of
the following is true about non-functional requirements?
A) May refer to system as a whole instead of
part of the system
B) May include requirements pertaining to
the development process to be followed
C) In some systems they may be more
important than functional requirements
D) All of the above
E) None of the above.
4. In
specifying system requirements
A) One good means is via forms (or
templates) that help to focus otherwise unstructured natural language
B) The most popular and commonly used method
is mathematical specification using finite-state machines.
C) A program description language can
express any requirement that English language can.
D) All of the above
E) None of the above
True/False - If false, explain why.
(3 points
each)
5. The
biggest savings from buying a system instead of building one is that no systems
specification or design work is necessary.
6. It is
generally agreed upon that an evolutionary approach is the superior approach to
software development and is preferable for all projects.
7. When
interviewing users about their requirements for a new system it is best if only
one team member attends the interview.
8.
Requirements documents should always include the user requirements, not the
system requirements.
9. One
significant problem that detracts from successful requirements elicitation and
analysis is that the stakeholders may not know what they really want / need.
10. There can
be particular advantage to combining observational methods with prototyping,
doing each benefits the other.
Completion (fill in the blank) (mostly
key terms (not all of which are a single word))
(3 points
each)
11. _______
are properties of a system as a whole rather than properties that can be
derived from the properties of components of a system, for instance, the
reliability or usability of a system. These can only be assessed and measured
once components have been integrated. Frequently they are the subject of
non-functional requirements.
12. A(n)
________ model presents an abstract view of the subsystems making up a system.
It does not show any details of the interaction between subsystems, but merely
shows subsystems as “block”s.
13. A(n)
________ test involves real potential users / customers using the system to
ensure that the system meets their requirements, generally carried out using
real data, instead of artificial test
data.
14. Project
________ are the end-points of a software development activity. These should
involve a measurable way judging progress in order to facilitate monitoring of
progress. Sometimes these will involve deliverables to customers; other times
progress will only be checked internally.
15. The ________
is the longest path through the network illustrating project tasks. Activities
along this must be completed on time or the whole project will be delayed.
16. ________
are descriptions of services that a system should provide and constraints on the
system. These are developed as part of determining what the system must do.
17. In
eliciting requirements, sometimes team members will observe people working with
/ in a system. This observational approach is sometimes called ________. It has
been found to be valuable in identifying requirements that users forgot during
interviews and/or which relate to
“unofficial” informal processes in users’ everyday work.
Short Answer
(5 points per
question except where specified otherwise)
18. What is
the difference between software engineering and system engineering?
(6 points)
19. What are
the major differences between a waterfall process and an evolutionary approach
to software development?
20. Why is
software evolution a concern for software engineers? (at least 2 good reasons)
(6 points)
21. Why is
managing software development more challenging than managing a lot of other
types of projects? (several reasons)
22. Why is it
important to divide projects into tasks with relatively short duration?
23. Distinguish
the differences between user requirements and system requirements.
24. Why is
catching requirements errors particularly important?
Problems
(6 points
each)
25. There is
a risk of converting to a new version of the Microsoft Windows Operating System
causing problems with our software development schedule. Identify “Avoidance”,
“Minimization” and “Contingency” plans for this risk.
26. Consider
the following statement of a requirement:
“Advisors should be able to access advisees’ transcripts to quickly
check on progress toward the degree”. Classify this requirement in terms of:
User vs. System requirement
Functional vs Non-functional
requirement
Explain you
classifications.