CSC 423 Problems All Chapters, Fall 2015
Notre Dame University–Louaize · Software Engineering · 3 pages
More CSC 423 files
Show the text of this chapter
Software Engineering Final Exam Simulation
I-
ShooterBot exercise
The software should connect to the robot via Bluetooth. It should also read commands
from an Xbox game-pad and pass it to the robot to execute it. The commands include:
moving (back, forth, left, and right) by changing the power on the robot’s left and right
motors, shooting plastic pellets by changing the power of the shooter motor, setting the
robot to auto mode to make it continuously move forward, and setting it to manual mode.
The software should read data from the robot’s proximity sensor to obtain its distance
from obstacles in from of it. The robot should be stopped from moving forward if it gets
too close to an obstacle (proximity <= x), whether it is in auto or manual mode.
Some data about the robot should be displayed by the software on the screen including:
proximity from obstacles, mode (manual or auto), and motor power (left and right).
You are required to create the following diagrams:
1. A use case diagram based on the requirements stated above
2. An activity diagram for the “Move Robot” use case
3. A state diagram to represent the robot in its different states (idle, moving, and
shooting). The robot starts in an idle state when it is switched on, and terminates
when it is switched off. Assume that there is no concurrency between the states.
4. A dataflow diagram including the context diagram (level 0), and level 1
II-
Chap 2 exercise
Consider the waterfall, evolutionary (prototyping or spiral), and
incremental process models. Explain which one(s):
a) Is better suited for a long and huge project?
b) Is not suitable when the knowledge of the requirements is vague?
c) Can cause problems if the requirements change quite often?
d) Is better suited for projects with urgent schedules?
III-
Chap 5 exercise – sequence diagram
Model the scenario of the “Withdraw Money” use case in more detail. The Sequence
Diagram is elaborated in more detail by including the following life-lines:
User (Cardholder)
ATM System
Cash Dispenser
Card Controller (to control card management)
Bank (the issuing bank)
Account
Describe the main flow of events in this scenario. The first 2 events are listed below:
Customer arrives at the ATM machine and inserts a bank card.
The card is verified by the Card Controller.
Translate the flows into corresponding system events (input and response).
By Elie Chahine
IV-
Chap 6 exercise
You are required to create a class diagram to represent a file system based on
the requirements stated below. Your diagram should contain the classes,
relationships, attributes with data types, and methods with parameters, return
types, and visibility.
The file system has folders, which are composed of files. For each folder you are
required to keep track of its name and whether or not it is read-only. For each
file you are required to keep track of its name and extension (e.g., “.jpg”, “.exe”,
etc.). A folder should expose a delete operation, and an operation to get the files
inside it that have a certain extension. Also, note that folders can be nested
within one another. Consider all the attributes to be publically visible.
V-
Chap 7 exercise
A –
Identify the fault in the following code and fix it.
Give an example of an input, which shows the fault and an input that does not show
it.
// Return the number of elements in x that
// are either odd or positive (or both)
public int CountOddOrPositive(int[] x)
{
int count = 0;
for (int i = 0; i < x.length; i++)
{
if (x[i] % 2 == 1 || x[i] > 0)
{
count++;
}
}
return count;
}
B-
Write test ideas for the following Scenario:
Example Test ideas as a hint:
-less, scan all the five items, scan your
card and make payment.
VI-
Chap 8 exercise
Perform an earned value analysis based on the data given in the
figure above, assuming the project reached the end of Wednesday.
The numbers above the bars indicate the Planned Value. The
percentages and numbers next to the bars indicate the Percent
Complete and the Actual Cost respectively.
VII-
Chap 9 exercise – Case Study
George Babbage is an experienced software developer working for Acme Software
Company. Mr. Babbage is now working on a project for the U.S. Department of Defense,
testing the software used in controlling an experimental jet fighter. George is the
quality control manager for the software. Early simulation testing revealed that, under
certain conditions, instabilities would arise that could cause the plane to crash. The
software was patched to eliminate the specific problems uncovered by the tests. After
these repairs, the software passed all the simulation tests.
George is not convinced that the software is safe. He is worried that the problems
uncovered by the simulation testing were symptomatic of a design flaw that could only
be eliminated by an extensive redesign of the software. He is convinced that the patch
that was applied to remedy the specific tests in the simulation did not address the
underlying problem. But, when George brings his concerns to his superiors, they assure
him that the problem has been resolved. They further inform George that any major
redesign effort would introduce unacceptable delays, resulting in costly penalties to the
company. There is a great deal of pressure on George to sign off on the system and to
allow it to be flight tested. It has even been hinted that, if he persists in delaying the
system, he will be fired.
Where was the code-of-ethics broken, and what should George do next?
Support your answer with what you learned from the software engineering code-ofethics.