421 Review Questions 1. Does software engineering add documentation that slows down the project? 2. Is there one software process that is better than the others for different software types (engineering software, application software, etc…)? 3. What are 3 reasons software projects fail? 4. Is there ever a reason not to add a new feature to my product? 421 Review Questions 1. Why do we use UML in the software process? 2. What are some changes that will happen in the UML diagrams as you migrate your models from the specification to implementation phases? 3. During the analysis phase, are you thinking about the final implementation? If not, why not? If so, what changes are made during analysis because of this? 421 Review Questions 1. How do use-cases help: developers? End-users? Customers? Testers? 2. What does a use-case represent? 3. What is the difference between a user-goal and a system interaction? 4. Explain <<extends>> ? 421 Review Questions 1. What are some of the umbrella activities in a software project? 2. What are the goals of a software process like CMMI, ISO900, etc… In general how do they help projects achieve those goals? 3. What is the problem with the requirement “The system shall provide an immediate response to a user query”? How should it be re-written? 421 Review Questions • What is meant in XP by Test Driven Development? • How do XP practices make the need for a specification disappear? • When is a project NOT a good candidate for XP? Class Diagram Questions • How do I “read” this arrow: Class A Class B • How about this arrow: Class A Class B Class C Sequence Diagrams/Leadership • How do I model a return value? • Which arrow is for a synchronous versus asynchronous message? • What are the important things you do as software leader? Diagrams - ERD, DFD, State, Activity • Is a state diagram for a class or the whole system? • What goes on the arrow between states? (Or what does that arrow “mean”?) • Why use swimlanes? • What is the difference between an ERD and a DFD? • Describe a level 0 DFD. • Can an activity diagram have parallel processing? If so, how? More Review • Given http://developers.sun.com/jsenterprise/learni ng/tutorials/jse8/uml_class_diagram/Complete d-Class-Diagram.gif • How many Entry stations can an ATM have? • Is it clear what to do when you put money (physically) into a Cashier Station? What about an ATM? More Review • In XP, explain the concept of “Sustainable Pace”? What specifically does it mean? • Explain XP’s Test Driven Development? • What are the steps in the generic process framework? • What is component based software development? • What is a non-functional requirement of your web browser? • Negotiation is a step in the requirements process… what happens then? • On sequence diagram (http://dev2dev.bea.com/images/articles/ssosaml-3.jpg) starts the J-security check? who More Review • When do you apply risk management in the software process? • What is a software practice? • • • • • What is a metric? Give me an example Why do we create them? What is defect removal efficiency? Does a metric need to be actionable? What does that mean? In Python: root = Tk() root.title(“Some title”) What is the name of the method to set the title? root.title heading title window • What is verification versus validation? • What is dynamic testing? Static? • When should testing begin? What stage of the software development lifecycle? • Testing lecture coming up in CS dept • Essays due NEXT WEEK! Test Coverage Criteria • What is test coverage criteria and what are some advantages over traditional testing methods? • What is the fault/error/failure model? Test Coverage Criteria • What is test coverage criteria and what are some advantages over traditional testing methods? stopping rule, progress metrics, better efficiency • What is the fault/error/failure model? • Fault is the actual problem in the code • Error is the incorrect system state when running • Faiure is the external incorrect behavior • Guest lecture from Ben Booth on experiences using Agile XP/SCRUM development techniques • What is unit testing and how to automate some of it using Junit and test coverage • Refactoring overview • Course Evaluations – Volunteers? Notice • Remember you have a paper due this semester! • I missed your last birthday… so class 10/9 – Cancelled (Midterm is 10/7…. BE THERE) • What is the difference between Agile and Prescriptive development? • Why is it important to have a rationale for a requirement? Notice • What are some important characteristics of good requirements? • Send draft User Stories to your clients for feedback. Explain decisions you had to make. cc: Dan Fleck • Today: Guest speaker Ben Booth from Near Infinity http://www.nearinfinity.com/ Questions • In XP planning game how do you calculate your velocity for the next phase? • Explain test driven development? • How might pair programming help and hurt? • How do you model non-functional requirementsor constraints in User Stories? • The system must have up-time of 99% over a week period This Week • Predecessors in a schedule • Begin Analysis Phase discussion • Answer any questions from the review • Reminder: Next week is the midterm! • Closed book, 1 3x5 handwritten notecard allowed This Week • Finish up Analysis Phase • Question: What is the purpose of the analysis phase? • CRC Cards • Project Management and Scheduling This week • Finish up testing • JUnit • Review CRC Cards (example) • Leadership – what do I do? Today • Discuss Project Presentation • Schedule presentations • Discuss final project deliverable • Folder – everything should be in it • Will grade final version of schedule and risk list • Code – Needs to be executable (not a printout) – email is fine • Finish up design • Start Refactoring