SOEN 341 midterm practice.pdf-SOEN 341 S...
SOEN_341_midterm_practice.pdf-SOEN 341 Software Process Midterm 1
Showing 1-2 out of 8
SOEN 341 midterm practice.pdf-SOEN 341 Software Pr...
SOEN_341_midterm_practice.pdf-SOEN 341 Software Process Midterm 1
SOEN 341 midterm practice.pdf-SOEN ...
SOEN_341_midterm_practice.pdf-SOEN 341 Software Process Midterm 1
Page 1
SOEN 341
Software Process
Midterm 1
Solutions and Marking
Problem 1: Software process models (20%).
(a) The Waterfall Model has been criticized for being “document driven”.
What does this mean?
Answer:
The Waterfall Model requires the creation of a series of documents,
each of which must be completed before the next is started.
A limited amount
of feedback is allowed: documents in the preceding phase may be modified while
the documents of the current phase are being prepared. Milestones of the project
record completion of documents: hence the description “document driven”.
Why is it considered to be a disadvantage of the Waterfall Model?
Answer:
Mistakes made in early phases cannot easily be changed because many
documents would have to be altered. Consequently, the Waterfall Model cannot
deal with changing requirements, although such changes are common in practice.
Clients have to judge progress on the basis of documents that they may not com-
pletely understand, and do not see working software until late in the development
life cycle.
(b) Boehm’s Spiral Model is often called a “risk driven” model.
What does this mean?
Answer:
Each phase of the development includes an analysis of the current risks
facing the project. A “risk” is simply something that might cause problems later:
it does not imply that there is necessarily something “risky” or dangerous about
the project. During each phase, some part of the software that addresses the risks
is developed or prototyped, enabling clients to see progress in terms of working
software rather than documents.
Why is it considered to be an advantage of the Spiral Model?
Answer:
Addressing perceived problems as soon as possible reduces the possibil-
ity of encountering serious problems at a later stage when it may be difficult or
impossible to solve them. If a risk discovered early on shows that the project is in-
feasible, the project can be cancelled without large losses. Changing requirements
can be introduced as “risks” for the next development phase.
The Spiral Model
reduces the chances of wasting effort and having to redo work.
Marking:
5 marks for each of the four questions.


Page 2
SOEN 341
Midterm 1
Winter 2011
2
Problem 2: Use cases (20%).
(a) During which phases of software development are use cases:
written?
Answer:
Use cases are written during domain analysis and requirements gather-
ing.
used?
Answer:
Use case are used during the design and testing phases. Designers can
check that the design supports each use case. Testers can write tests based directly
on use cases. Use cases are not employed much during implementation, since they
should have been incorporated into the design, and implementors need to see only
the design.
(b) What features of a software system
cannot
be specified with use cases?
Answer:
Functions performed by the system that are not a direct consequence of
user actions. For example, any operation that is executed at fixed times, rather than
on-demand, such as a nightly back-up.
Also, quality requirements (a.k.a. non-functional requirements) cannot be specified by
use cases. Thus a use case cannot be used to specify the appearance of the user interface,
a timing requirement, etc.
(c) Explain the role of a precondition in a use case.
Answer:
A
precondition
is an assertion about the state of the system that must be
true before the use case is executed.
The precondition is an
obligation
for the system: the system must be in a certain state
before the use case is allowed to proceed. E.g., a client must be logged-in to perform a
transaction.
A precondition is a
statement
, not an action. “Client is logged-in” is a precondition but
“the system has logged-in the client” is not a precondition.
(d) Explain the role of a postcondition in a use case.
Answer:
A
postcondition
is an assertion about the state of the system that is guaranteed
to be true after the use case has been executed.
A postcondition is a
guarantee
that the system will be in a certain state after the use
case completes. The implementation of the use case must ensure that the postcondition
becomes true.
Postconditions are sometimes written in the future tense.
E.g., “The client will be
logged-in to the system”.
Like preconditions, postconditions are not actions: they just state some property that
must become true as a result of the use case.
Marking:
5 marks for each part.


Ace your assessments! Get Better Grades
Browse thousands of Study Materials & Solutions from your Favorite Schools
Concordia University
Concordia_University
School:
Software_Process
Course:
Great resource for chem class. Had all the past labs and assignments
Leland P.
Santa Clara University
Introducing Study Plan
Using AI Tools to Help you understand and remember your course concepts better and faster than any other resource.
Find the best videos to learn every concept in that course from Youtube and Tiktok without searching.
Save All Relavent Videos & Materials and access anytime and anywhere
Prepare Smart and Guarantee better grades

Students also viewed documents