Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Mini-Exam Solutions for Senior Project - Fall 2007 - Prof. Kenneth Christensen, Exams of Computer Science

Solutions for a mini-exam related to product development processes, brooks' thoughts on object oriented programming (oop), the 'mythical man month', and the design process. It includes information on problem-solving, project management, and software development.

Typology: Exams

2012/2013

Uploaded on 01/12/2013

djgoodwi
djgoodwi 🇺🇸

4.6

(5)

36 documents

1 / 3

Toggle sidebar

Partial preview of the text

Download Mini-Exam Solutions for Senior Project - Fall 2007 - Prof. Kenneth Christensen and more Exams Computer Science in PDF only on Docsity! Mini-Exam for Senior Project Fall 2007 >>> SOLUTIONS <<< Welcome to your 10% mini-exam for Senior Project. You have 75 minutes for the exam. The exam is “anything on a dead tree is allowed” as a reference. That is you may have anything with you on paper including copies of old exams, your notes, your book, and so on. You may not share material or give help during the exam. If you copy your answer directly out of the textbook (or some other source), be sure to properly “quote” the answer (otherwise it is assumed that any answer is given in your own words). Read the last sentence again. There are five questions each worth 20 points and one extra credit question worth 10 points. Please use a separate sheet of paper for each question, do not write on the back of any sheet of paper, and submit your exam with this cover sheet as the topmost sheet and the problem sheets following in number order. Use of a laptop for completing the exam: These problems require a lot of writing. If you are like me, you can type better than you can write by hand. So, I will allow you to use you laptop to type the answers to this exam. At the end of 75 minutes I will ask you to hand-in to me your thumb drive with your exam file (name the file with your last name)… we will then go up to my office and print-out your exam (and return the thumb drive to you). It is your responsibility to make sure your file is properly saved and not “eaten by the computer”. During the exam you may only have your word processor open to your exam answers file, and nothing else. I will proctor the exam from the back of the room. Problem #1 a) Sketch the product development process as we have discussed and followed it in this class. (validation) +-> Requirements | | | V | Specification | | | V (verification)+---> Design | | ((Prototype Demo)) | V | Implementation | | | V +------Test | V Manufacture | V Distribute | V Maintenance | V End-of-Life (yup... you can copy this for pretty much all previous old tests. Just by copying it, maybe you learned it just a little bit better!) b) In real projects what is the procedure in going from step to step in the process? Real projects will have some kind of formal review and sign-off process to go from step to step. We simulated this with the peer design review in this class. c) In real projects how are requirements changes handled after the initial requirements sign-off? In real projects a sign-off process is used where requirement changes will be reviewed and negotiated for increased cost and/or change in final delivery date. Problem #2 What are Brooks’ thoughts on Object Oriented Programming (OOP)? Is OOP a silver bullet? Why or why not? Brooks’ views OOP as 1) forcing good programming practices (modularity, clean interfaces, encapsulation, and etc.) and 2) as a mechanism for code re-use. Code re-use can produce large in gains in productivity, but at the requirement of a large upfront, or front-loaded, investment (to produce code that is truly reusable). Brooks does not see this frontloading occurring. In any case, OOP does not remove the essential difficulties of design – as Brooks defines it – and thus cannot provide an order of magnitude improvement gain in programmer productivity. Brooks calls OOP a “Brass Bullet” and does hold out more hope for OOP than any other “technical fad of the day.” Problem #3 What exactly is the “Mythical Man Month”? Give examples of three kinds of projects where adding people can reduce the time to completion. Give examples of three kinds of projects where adding people with increase the time to completion. Explain why in all cases. The mythical man month is that people and months are interchangeable in the time needed to complete a task. More people always equals less time to complete a task is only true if there is no communication needed (between the people doing the task). Communication is overhead. Since most tasks of any intellectual significance require communication, people and months are only rarely interchangeable. See page 16 of MMM. Three examples where adding people (up to a point) can reduce completion time are: 1) harvesting a crop in a field, 2) painting a wall, and 3) searching for a lost item. None of these project require (much) communication or interaction between participants. Three examples where adding people can increase completion time are: 1) designing and implementing software, 2) developing a new process, rule, or law, and 3) writing a book. All of these projects require communication and interaction between participants. Problem #4 What are the steps in the design process as we discussed it in class? Hint: The first step is “Understand the problem”. The steps are: 1) Understand the problem (What are the objectives and assumptions?) 2) Background research (What have others done? Can you build don other’s work?) 3) Brainstorming (list all possible solutions) 4) Choose the best solution
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved