CS160 Exam1

  1. [5 points] In the Rational Unified Process, both the elaboration and construction phase have an implementation activity. Briefly (< 100 words--strictly enforced) explain the difference in purpose between the implementation activity in the elaboration and construction phases.

    The implementation in the elaboration phase should support architectural validation and and risk management.

  2. [10 points] Fill in the blanks:
    1. A use case should be written at a particular level of of detail. Cockburn recommends three levels: summary, user goal, and subfunction.
    2. The most common precedence dependency between schedule tasks is the finish-to-start dependency.
    3. It is reprehensible to add buffers, tasks whose sole purpose is to pad the schedule for unexpected delays.
    4. An application controller is responsible for locating a domain model method and for deciding what to view afterwards.
    5. Consider the task of showing a combo box with all users. In a transaction script architecture, this is simple: make a SQL query SELECT * FROM Users and populate the combo box with the result.
  3. [10 points] Make the following modifications to this schedule:
    1. Right now, Bob is overloaded. Resolve that problem by changing a resource assignment, without overloading anyone else.

      The easiest way to do this is to assign Carol to "Initial Glossary".

    2. Add a milestone for "SRS Complete" that depends on all SRS tasks and make the task "Design entity beans" a successor of that milestone.
    3. Replace "Write Use Cases" with two tasks "Write Use Cases for End User" (15 days) and "Write Use Cases for Administrator (5 days). The tasks can work in parallel. Make suitable resource assignments for these two tasks that don't create overloads and minimize the schedule.

      Here is one solution. I had to add a non-functional dependency to avoid overloading Bob.

      ???

  4. [5 points] In this problem, you are asked to produce a UML diagram. If you have no UML editor installed on your machine, simply use Violet. (If your computer has Web Start properly configured, you can click on the “Try it out” link and run the program without installing it.)
    Produce a UML class diagram that denotes the following facts:

    ???

  5. [10 points] Improve the following Ant script which uses this properties file. The purpose of the script is to place the documentation for your team project onto the GlassFish server. As you can see, the script zips up all files in the doc subdirectory and adds a trivial WEB-INF/web.xml file (which GlassFish requires to deploy the file). The resulting file team-doc.war is then copied to the autodeploy directory.
    However, copying to the autodeploy directory can be a bit flaky. A better way is to inform the application server that a file is ready for deployment. Sun's asant version of Ant provides a special task for this purpose. You should rewrite the deploy target to use this task. Read through the documentation, select the appropriate task, and figure out how to tell the task about your WAR file.
    If you have the time, feel free to try it out: Place an HTML file in a doc subdirectory, start GlassFish, run asant -Dteam=foo, and point your browser to http://localhost:8080/foo-doc/myfile.html
    <target name="deploy" depends="package">
          <sun-appserv-deploy file="${doc.war}"/>
    </target>
    
  6. [10 points] Critique this use case which addresses part D described in homework 1. Your critique should address deficiencies (if they exist) in the following areas:Describe two distinct flaws. For each of them, give a snappy summary (< 10 words), followed by a brief (< 100 words) discussion
  7. [5 points] Check the following files into CVS:

    You will check your solution into your individual CVS sandbox, into a project entitled exam1. I will check out your work with the following commands:

    export CVS_RSH=/usr/bin/ssh
    export CVSROOT=:ext:username@oslo.cs.sjsu.edu:/home/cvsroot/sandbox/username
    cvs checkout exam1

Learning outcomes tested: