نـمـوذج امـتـحـان - إجـابـة

advertisement
Model Answer
Software Engineering – CIS 343-Z
1435 – 1436 – First Semester
Dr. Zeiad El-Saghir
1
Q1: Choose the best alternative in the following
(8 marks)
(0.33 marks for
each item):
1. What is usability in software engineering?
(a) a measure of the relative effort required to learn how to use a software product.
(b) the degree to which the product integrates with the environment in which it is used.
(c) a metric that describes the degree to which a software product meets its requirements.
(d) the ability of the end user to use the product successfully.
2. _____________ is the process of developing a software specification.
(a) software Engineering.
(b) requirements Engineering.
(c) systematic Engineering.
(d) computer Engineering.
3. Verification is defined as _____________ .
(a) are we building the right project?
(b) are we building the right product?
(c) are we building the product right?
(d) are we building the project right?
4. The ability of the system to deliver services when requested is defined by
______________ .
(a) availability.
(b) reliability.
(c) usability.
(d) security.
5. Which activity refers to the action Are we building the product right?
(a) verification.
(b) validation.
(c) testing.
(d) debugging.
6. The stand alone systems that are produced by a development organization and sold on
the open market to any customer who is able to buy them are called ____________.
(a) customized product.
(b) generic product.
(c) system product.
(d) software product.
7. The risk that is derived from the software or hardware that is used to develop a system
is called ____________ .
(a) technology risks.
(b) people risks.
(c) dangerous risks.
(d) organizational risk.
8. The likelihood and consequences of the risk that are assessed is called as _________ .
(a) risk identification.
(b) risk analysis.
(c) risk planning.
(d) risk management.
9. As the reliability decreases, failure intensity ______________ .
(A) decreases
(B) increases
(C) no effect
(D) none of the above
10. What is the main concern of software engineering area?
(a) hardware configuration
(b) software validation
(c) software production
(d) software reusability
11. ___________ is concerned with modifying existing software systems to meet new
requirements.
(a) software specification
(b) software design and implementation
(c) software validation
(d) software evolution
2
12. Is the capability of software to provide functions which meet stated and implied needs
when the software is used.
(a) efficiency
(b) portability
(c) functionality
(d) maintainability
13. The Microsoft Excel is an example of ____________ .
(a) Interactive transaction-based applications
(b) Embedded control systems
(c) Stand-alone applications
(d) Entertainment systems
14. Business trends are dictating that the time to market of a product should be
______________.
(a)raised.
(b) reduced.
(c) fixed.
(d) good.
15. The most important feature of spiral model is _______________ .
(a) requirement analysis.
(b) risk management.
(c) quality management.
(d) configuration management.
16. The feature of the object oriented paradigm which helps code reuse is ___________ .
(a) object.
(b) class.
(c) inheritance.
(d) aggregation.
17. 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.
18. _______________ describe the “what” of a system, not the “how”.
(a) requirements.
(b) design.
(c) coding.
(d) testing.
19. ____________ are statements in natural language plus diagrams of the services the
system provides and its operational constraints. Written for customers.
(a) user designs.
(b) user requirements.
(c) customer statements.
(d) customer documents.
20. ___________ are statements of services the system should provide and how the
system should react to particular inputs.
(a) non-functional requirements.
(b) functional requirements.
(c) domain requirements.
(d) system requirements.
21. _____________ are constraints on the services or functions offered by the system
such as timing constraints.
(a) non-functional requirements.
(b) user requirements.
(c) domain requirements.
(d) system requirements.
22. _______________ are requirements which specify that the delivered product must
behave in a particular way e.g. execution speed and reliability.
(a) non-functional requirements.
(b) product requirements.
(c) domain requirements.
(d) organizational requirements.
23. ______________ requirements cannot be sacrificed.
(a) non-functional requirements.
(b) functional requirements.
(c) mandatory requirements.
(d) desirable requirements.
3
24. _______________ is quite helpful when tradeoffs need to be made.
(a) non-functional requirements.
(b) functional requirements.
(c) Ranking requirements.
(d) desirable requirements.
Q2: Match the items on the right to those on the left (4 marks) (0.5 marks for each
item):
Job satisfaction is
increased for developers
Timeboxing process
model
1
2
3
in the V process model
4
for the prototyping model
5
waterfall model
is one of the XP unique
practices
user training to use the
system
a disadvantage of the
Spiral model
6
7
8
( 8 ) no strict standards for software development
( 5 ) is a document-driven process
Automated unit tests are written first before
( 6 ) the actual code is written, and then the code
should be written to pass the tests
is well suited for projects that require a large
number of features to be developed in a short
( 2 )
time around a stable architecture using stable
technologies
( 7 ) is one of the advantages of prototyping model
is one of the advantages of iterative
( 1 )
enhancement model
( 3 ) testing is a full life-cycle activity
( 4 ) requirements are not freezed
Q3: Write “T” if the statement is true and “F” if the statement is false.
Correct the false statements to make them true
(4 marks)
(0.33 marks for each
item):
1.
Adaptive maintenance means enhancing the performance or modifying the programs
to respond to the user’s additional or changing needs.
2.
F Perfective
The goal of the design phase is to transform the requirements specified in the SRS
document into a program. F Development (or may be Design and Coding phases)
3.
Detailed design is also called high-level design. F Low-Level
4.
Object oriented design has higher development time and effort. F Lower
5.
The system testing is done in two phases.
6.
The main disadvantage of the waterfall model is its simplicity. F Advantage
4
F Three phases
7.
The selection of the development process specifies things like how long each phase
should last. F Does not specify
8.
A software plan is usually produced after the development activity begins. F Before
9.
External requirements are requirements which specify that the delivered product must
behave in a particular way e.g. execution speed, reliability, etc. F Product
10. “The system shall be completely reliable” is an example of good requirements. F Bad
11. “It imposes an additional burden” is one of the advantages of a decision table.
F
Disadvantages
12. For DFDs, the direction of flow is from destination to source.
F
from source to
destination
Q4: Answer the following questions (20 marks) (5 marks for each question):
1.
Design your own development process for the following software project: The client is
willing to spend some time only at the start to help develop the requirements - The
developing organization is not familiar with the problem domain - The client wanted to
reduce the delivery time as much as possible - The project requires a large number of
features and there is some flexibility in grouping them.
Solution
In this project we can use the following:
In the requirements phase, we use the prototyping process model because the client is
willing to spend some time only at the start to help develop the requirements and the
developing organization is not familiar with the problem domain.
In the remaining phases of the life cycle, we use the timeboxing model because the
client wanted to reduce the delivery time as much as possible and the project requires a
large number of features and there is some flexibility in grouping them.
2.
A software project uses the time-boxing process model with 6 stages in each time box.
Suppose that each stage takes 5 days. Find the number of time boxes if the time
required to complete this project is 620 days.
Solution
Total time =
time of one stage x number of stages in one time box
+ (number of timeboxes – 1) x time of one stage
620
= 5 x 6 + (N – 1) x 5
(620 – 30) / 5 = N – 1
N = 118 + 1 = 119 Timeboxes.
5
3.
Construct a DFD that describes the arithmetic expression (a * b) + (a – b * c). Assume
that the data a, b, and c are read from a keyboard and the result is printed.
Solution
Input (keyboard)
a
b
c
*
*
-
+
Output (printer)
4.
Convert the following flowchart into a decision table. Is the decision table complete?
Why? Is there any redundant or contradictory rules? Why? Explain your answer.
6
Solution
Conditions
Do I want to do this ?
Will it likely end
with disaster ?
Will it make a
good story any way ?
Rules
N
y
Y
Y
-
N
Y
Y
-
-
N
Y
Actions
Do it
Don’t do it
-
X
X
X
X
The decision table is complete because every possible set of conditions has a
corresponding action prescribed. Note that rule 1 has 2 don’t care conditions that
can be expanded to 4 rules. Also, rule 2 has 1 don’t care condition that can be
expanded to 2 rules
-
There are no redundant rules, because there are no pairs of decision rules that
specify identical actions.
-
There are no contradictory rules that has identical entries and specifying different
actions.
Q5: Answer the following questions (4 marks) (2 marks for each question):
1. Suppose changes are to be made to a software system that is in operation. Why will
changes to such a system cost a lot more than just making changes to the source code
files?
Solution
:‫هذا السؤال إبداعي وقد يتفاوت الطالب في إجاباته‬
The changes in a software system that is in operation cost a lot more than just making
changes to the source code files because we need to read all the documents and
understand all the phases of this software (design – coding . . . etc), so the changes may
affect the architecture of this system for example. Also, we may need to use a different
technology for rebuilding the system. Also, we need to make a testing for the system after
modifying it. Testing costs is very high. And so on.
7
2. If the primary goal is to make software maintainable, list some of the things you will do
and some of the things you will not do during design and coding.
Solution
:‫هذا السؤال إبداعي وقد يتفاوت الطالب في إجاباته‬
In design phase, we need to make the system modular. Also, we should implement the
volatile requirements in separate modules. In coding phase, we have to meke the programs
as clear as possible by dividing code lines in short modules and by inserting detailed
comments about what each module will do.
، ، ، ‫انتهت األسئلة مع خالص دعائي بالتفوق‬
8
Download