Exam1_cs421_v2 by stariya


									       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

   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


To top