CS/SWE 321 Spring 2012 Mid-term Examination Version A Student Name:___________________________________ Student G#: ________________________ Student Signature for Honor Code: ________________________________ Part 1. Short answer (you may use bullet points) 1. LIST five generalizable reasons why software projects fail. For each reason, provide one software engineering technique or methodology that could have prevented that failure. (10 points) 2. LIST three generalizable situations/properties under which you would NOT want or NOT be able to use XP (6 pts) 3. Imagine we are at time X in our schedule, and our planned value is $25, and our actual cost at this time is $35. Complete the following items: (10 pts). a. If we were on schedule, our earned value at time X would be: ________________ b. Can you tell if we are on budget? Circle YES or NO and explain in one phrase/sentence why: c. If our earned value at time X is $35, are we on budget? Circle YES or NO and explain in one phrase/sentence why: d. If our earned value at time X is $30, are we on schedule? Circle YES or NO and explain in one phrase/sentence why: e. Let’s imagine our earned value at time X + 3 is $25. Are we on schedule? Circle YES or NO and explain in one phrase/sentence why: 4. LIST two unique, generalizable benefits of developing software with an incremental/iterative approach. (4 points) 5. Complete the following table (10 pts) Requirement Functional/Nonfunctional (and why) The system shall store usernames and passwords The user must have Adobe Acrobat installed The system must prevent 99% of viruses The user interface should be easy to use The system shall allow a user to log in Good/Bad (and why) Part 2. Diagrams 1. Draw a UML Class Diagram for the following Restaurant System below. Make sure you document all variable and method types (arguments and return). Document your assumptions, if any. (13 pts) a. A single order is associated with many customers b. An item must be associated with at least one order c. An order is associated with one and only one store d. An item is part of an order e. An order has a price as well as an order number f. A customer can exist in the system without any orders g. An item is a generalization of a food item and a beverage item h. A food item has an prepared-on date i. A beverage item can be alcoholic or non-alcoholic j. An item has an operation to return its name k. A food item has an operation to return the number of calories it contains 2. Draw a swimlane diagram for the following student record website. Each actor is underlined below (i.e. should be a column in your diagram). (20 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 (and possibly other) 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. Once the user enters a matching username and password, the website starts a bookkeeping process that must write to a database file once between the current time and the time the user is actually logged out of the system by the website. Note that the User must activate this logout process. An authenticated User is first presented with a main menu, where they can choose to search, view their schedule, or logout. After searching or viewing their schedule, they are always returned to the main menu. Note that the website is not an actor in this diagram. (answer on next page) 3. Draw a Sequence diagram for question 2 (the student record system), BUT ONLY MODEL THE PARTS OF THE DESCRIPTION THAT ARE BOLD. (7 pts) Part 3. True/False. Justify your answers. (20 points) 1. According to Boehm, “hacking culture” came about in the 1960s as an influx of non-engineering programmers started to write heavily-patched code. TRUE FALSE 2. According to the paper How Natural is Natural Language? How Well do Computer Science Students Write Use Cases?, “display” is a term that should be avoided in use cases because it is too technical for some stakeholders to understand. TRUE FALSE 3. According to the paper Investigating the Role of Use Cases in the Construction of Class Diagrams, using class diagrams to validate requirements derived from other natural language documents (as opposed to deriving the requirements from the use cases themselves), led to more complete requirements. TRUE FALSE 4. According to the paper JaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs, deadlock occurs when two threads are waiting for the same resource. TRUE FALSE 5. According to the paper Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study, a de-facto standard for software process models can be created by combining elements from each model that are found across 50% of the software process models investigated. TRUE FALSE 6. According to the paper The Costs and Benefits of Pair Programming, pair programming reduces the number of defects in code. TRUE FALSE 7. According to the paper Scrum to Support Mobile Application Development Projects in a Just-in-time Learning Context, teams of developers like using Scrum. TRUE FALSE 8. According to the paper Transition from a Plan-Driven Process to Scrum – A Longitudinal Case Study on Software Quality, using Scrum resulted in more defects being found than using a prescriptive approach. TRUE FALSE 9. According to the DART paper, you can automatically unit test software for verification against all requirements. TRUE FALSE 10. You can transition in a state diagram without a trigger from one state to another. TRUE FALSE Extra credit: List one thing you learned from the paper Software Requirements Negotiation: Some Lessons Learned by Boehm and Egyed.(this is the paper you read the first week, but we didn’t have time to go over in class).
© Copyright 2024