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

Final Exam - Questions for Solution - Software Engineering II | CS 428, Exams of Software Engineering

Material Type: Exam; Professor: Marinov; Class: Software Engineering II; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Spring 2008;

Typology: Exams

2010/2011

Uploaded on 06/14/2011

koofers-user-cxq
koofers-user-cxq 🇺🇸

5

(1)

10 documents

1 / 16

Toggle sidebar

Related documents


Partial preview of the text

Download Final Exam - Questions for Solution - Software Engineering II | CS 428 and more Exams Software Engineering in PDF only on Docsity! University of Illinois at Urbana-Champaign Department of Computer Science Final Exam CS 428 Software Engineering II Spring 2008 May 7, 2008 TIME LIMIT = 3 hours COVER PAGE + 15 PAGES Upon receiving your exam, print your name and netid neatly in the space provided below; print your netid in the upper right corner of every page. Name: Netid: This is a closed book, closed notes examination. You may not use calculators or any other electronic devices. Any sort of cheating on the examination will result in a zero grade. We cannot give any clarifications about the exam questions during the test. If you are unsure of the meaning of a specific question, write down your assumptions and proceed to answer the question on that basis. Do all the problems in this booklet. Do your work inside this booklet, using the back of pages if needed. The problems are of varying degrees of difficulty so please pace yourself carefully, and answer the questions in the order which best suits you. Answers to essay-type questions should be as brief as possible. If the grader cannot understand your handwriting you may get 0 points. There are 16 questions on this exam and the maximum grade on this exam is 130 + 1 (bonus) points. Page Points Score 1 15 2 10 3 7 4 10 5 7 6 8 7 8 Total: 65 Page Points Score 8 6 9 15 10 9 11 9 12 6 14 10 15 10 Total: 65 CS 428 Final Exam netid: 1. Short answers (a)1 What is the most important factor in project success? A. the development tools B. the skill of the programmer C. the programming languages used D. the development methodology (b)1 The best programmers are how many times more productive than the worst? A. ' 2x B. ' 10x C. ' 30x D. ' 50x (c)1 True or False: For every 25% increase in problem complexity, there is a 100% increase in complexity of the software solution. (d)1 True or False: Performance and maintainability are functional requirements of a system. (e)1 Fill in the blanks: A good design should strive for cohesion and coupling. 2. Code Review (a)2 In a code review, finding the defects is more important than solving the defects. Explain. (b)4 Briefly describe the roles of the moderator and reviewer in a code review. (c)4 How is a code review different from an inspection? How is a code review different from a walkthrough? Page 1 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 6. Open Source Software Engineering (a)4 If open source software is supposed to be free, how would companies and developers make any money? Briefly explain two business models for open source software. (b)2 Some open source projects behave more like the bazaar than others. Illustrate this fact by giving examples. (c)2 Fred Brooks, author of The Mythical Man-Month is famous for saying “plan to throw one away; you will anyhow”. Give one advantage and one disadvantage of rewriting your software from scratch. 7. Software Performance (a)2 In the context of performance, what does throughput measure? What does response-time measure? Page 4 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (b)2 What software development tools are most important if you are concerned about perfor- mance? Give two examples of such tools. (c)3 The art of performance tuning and the art of debugging share similar techniques. Explain whether you agree or disagree with this statement. (d)2 Some programmers rely solely on conventional wisdom to make their programs faster. They micro-manage the code inside each function by reusing local variables for multiple purposes and tweaking every variable to fit within byte boundaries. Without doing any- thing else they expect to gain significant performance from such tweaks. Explain what’s wrong with this approach. (e)1 (bonus) What is Johnson’s Law? Also come up with a suitable Chen’s Law or Rabb’s Law for Nick or Maurice. Page 5 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 8. User Interface Design (a)2 What is Tog’s mile high menu bar? Why is it useful? (b)2 What does Fitt’s Law say? Why is it useful? (c)4 What does Joel mean by “users don’t read, can’t control the mouse, or remember”? What impact does this notion have on good UI design? Page 6 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 12. Licenses and Intellectual Property (a)3 Name three types of intellectual property that we discussed in class. (b)6 Explain the characteristics of a good software license. Name three characteristics. (c)2 Why are Creative Commons licenses not recommended for software? (d)2 Explain the main difference between the MIT License and the GPL license. 13. Web Services and Service Oriented Architecture (SOA) (a)2 Briefly describe what a service oriented architecture is. Page 9 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (b)2 According to Paul Graham in The Other Road Ahead, how do users benefit from a web service architecture? How do developers benefit from a web service architecture? (c)3 In web services, content is king. What can a web developer do to make sure that the data presented is accurate and up-to-date? (d)4 SOAP and REST are two popular styles of implementing SOA. Briefly contrast how the two different styles work. Page 10 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 14.9 Software Engineering Processes In this class, we discuss many different software engineering processes: XP, RUP, Crystal Clear, Scrum, Bazaar. For this question, please pick two software engineering processes to compare and contrast with XP. Also, choose two other criteria for the comparison. The first criterion – roles – has been provided for you. Fill in your answers in the table below. Figure 2: Compare and contrast between different software engineering processes Page 11 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (a)10 Show the class diagram for our Snakes and Ladders model. Be sure to include all the details (instance variables, methods, relations between classes) in order to handle Scenario 1 and Scenario 2. You can assume that each class has accessor methods for each instance variable that you define. These methods do not need to be included in the UML diagram. Hint: Your class(es) must support the operations to add squares and players from Scenario 1! Page 14 of 15 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (b)10 Show the sequence diagram for Scenario 2. You can assume that the board has been setup according to Scenario 1 for you. Hint: Remember to show all the methods that are called in this scenario leading to the final positions of the players. Page 15 of 15 End of exam.
Docsity logo



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