Sample exam 2

advertisement
CS/SWE 421 Fall 2010
Mid-term Examination
Version B
Student Name:___________________________________
Student G#: ________________________
Student Signature for Honor Code:
________________________________
Part 1. Short answer (you may use bullet points)
1. Recall the bathtub-shaped curve of the relationship between time (x-axis) and
failure rate (y-axis) of hardware. Discuss how 1) this curve is similar to the same
curve for software and how 2) this curve is different from the same curve for
software. (6 pts)
2.
What is a problem with having a lot of dependencies (as opposed to simple
associations) in class diagrams? (4 pts)
3. Describe the difference between agile and prescriptive models of software
development. (6 pts)
1. Describe the spiral development model. Then, explain what types of software
projects are best suited to this type of model. (10 pts).
2. List 5 properties of the eXtreme programming methodology that we have
discussed in class. For each property describe the associated benefit. (15 pts)
Part 2. Diagrams
1. Draw a UML Class Diagram for the following Student Record System below.
Make sure you document all variable and method types (arguments and return).
Document your assumptions, if any. (13 pts)
a. A single student is associated with many classes
b. A class is associated with at least one section
c. A class has one and only one instructor
d. A section is part of a class
e. A class maintains a list of sections, as well as how many sections there are
for that class
f. Each section has a section number, TA, room number, and time
g. A student is associated with one and only one address
h. An address is associated with one, and possibly more, students
i. A graduate student is a generalization of a student
j. A student has a name and student ID
k. A graduate student has an advisor
l. A student has an operation to change their address
m. A class has an operation to list all students in that class.
2. Draw a swimlane diagram for the following online bookstore system. Each actor
is underlined below (i.e. should be a column in your diagram) (17 points)
The User enters a username and password. The Website then checks to see
whether or not the username and password match, first by retrieving this
information from the Database. If the username and password do not match, the
Website prompts the user to re-enter the same information. This cycle continues
until either the user enters correct information, or the maximum allowed number
of tries (maxTries) is exceeded, in which case the Website sends the user to an
error page.
If the User enters a valid username and password with the allowed number of
tries, the Website presents the user with a search page. The user then enters the
name of a book. The Website then consults the Database and returns all matching
results.
While searching for books, the User can also concurrently view their order history
(in a separate window or frame). The order history window does not need to be
synchronized with the rest of the application until the user logs out of the system.
The User can purchase any book in their search results, or they can choose to log
out. If they choose to purchase a book, they are prompted to enter their shipping
and billing information. The Website then consults the Database and checks that
the credit card entered matches the shipping address. If this is the case, the
Website sends the User to a receipt page, otherwise the Website prompts the User
to re-enter their shipping and billing information.
After completing interaction with the Website, the User logs out of the system.
(answer on next page)
Draw your swimlane diagram here
3. Draw a Use Case diagram for question 2 (the online bookstore) (9 pts)
Part 3. Multiple choice.
1. Label the following requirements as either functional (F) or non-functional (NF)
(10 pts):
a. The system shall document the code according to SPA-123.
_________
b. The system shall allow the user to enter a username
_________
c. The system shall store the email no longer than 30 days
_________
d. The website shall provide search results
_________
e. The system shall undergo routine downtime for one hour each week
_________
2. Indicate whether the following are true always (A), sometimes (S), or never (N)
(10 points):
a. Use Case diagrams show the logical flow of use through the system
_________
b. Developing software with a waterfall model never works
_________
c. With agile methods, the functionality delivered is not fixed, while the time
and resources are
_________
d. In XP the customer estimates how long it will take developers to
implement a feature, which is a binding assignment to the developers
_________
e. Prescriptive process models deliver software in increments
_________
Download