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

CS 428 Software Engineering II Final Exam, University of Illinois at Urbana-Champaign - Pr, Exams of Software Engineering

The final exam for the cs 428 software engineering ii course at the university of illinois at urbana-champaign. The exam covers various topics in software engineering, including agile development processes, ui design patterns, and software testing. Students are required to answer multiple-choice and short-answer questions.

Typology: Exams

2010/2011

Uploaded on 06/14/2011

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

5

(1)

10 documents

1 / 18

Toggle sidebar

Related documents


Partial preview of the text

Download CS 428 Software Engineering II Final Exam, University of Illinois at Urbana-Champaign - Pr 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 2009 May 8, 2009 TIME LIMIT = 3 hours COVER PAGE + 17 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 12 questions on this exam and the maximum grade on this exam is 130 points. Page Points Score 1 6 2 11 3 6 4 5 5 6 6 15 7 9 8 8 Total: 66 Page Points Score 9 11 10 10 11 7 12 6 14 10 15 10 16 5 17 5 Total: 64 CS 428 Final Exam netid: 1. Fact and Fallacies of Software Engineering Software Engineering in the real world is shrouded in fear, uncertainty and doubt perpetuated by people who don’t know any better. But because you have taken CS428, you are now prepared to provide compelling arguments to your peers on why each of the following is a not a good idea. (a)2 When a project is falling behind, we should just add more people to bring it back on schedule. (b)2 When a new technology that promises an order of magnitude increase in productivity debuts, we should switch to it immediately before our competitor does. (c)2 The most costly part of software development is creating the software itself. Once we ship our software, maintenance is a piece of cake. Page 1 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: Designing Interfaces: Patterns for Effective Interaction Design We discussed the following patterns from Designing Interfaces in class: Two-Panel Selector, One-Window Drilldown, Wizard, Extras on Demand, Intriguing Branches, Visual Framework, Center Stage, Titled Sections, Card Stack, Closable Panels, Movable Panels, Diagonal Balance, Responsive Disclosure, Responsive Enabling, Liquid Layout, Action Panel, Smart Menu Items, Progress Indicator, Multi-Level Undo and Command History. For the following two questions please answer using the patterns that we have listed. 3. Which pattern would you use in the following situations: (a)1 You want to create a strong corporate identity/branding among all the different applica- tions in your suite. (b)1 You want to present your users with a list of all the actions that they have invoked so that they can easily re-invoke those actions. (c)1 You are designing a website that needs to display properly across web browsers with different window sizes. (d)1 You wish to provide helpful tips and hints to your users as they use your application but you want to do so in some non-intrusive way i.e. it is easy for your users to ignore those hints. (e)1 You have a time-consuming operation and you want to show the user how much of it has already been completed. Page 4 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: Figure 1: Eclipse IDE screenshot 4.6 Patterns are seldom used in isolation. Identify three design interface patterns that are clearly apparent/visible in the screenshot of Eclipse shown in Figure 1 by circling them. For each pattern that you identify, briefly describe the benefit/reason of using that pattern. Page 5 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 5. Agile Software Development Development Processes (a)15 In CS428 you have learned a number of different agile development processes, some of which you have followed in your project. Different processes have different characteristics, strengths and weaknesses. In the table given below, compare and contrast XP, Scrum and Crystal Clear for three categories. Select the categories from the ones listed below. Testing, Roles, Activities, Values, Planning, Risk Management, Deliverables Page 6 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 7. Web Engineering and Service Oriented Architecture (SOA) (a)2 According to Paul Graham in his article The Other Road Ahead, how do users benefit from a web service architecture? And how do developers benefit from a web service architecture? (b)3 Many well-designed web applications follows the Model-View-Controller architectural pat- tern. Describe how each component — model, view, controller — is handled in a web application. (c)3 Web applications have different requirements that need to be tested compared to a typical application on a personal computer. Briefly describe two such requirements and give the importance of each. (d)3 Briefly describe what a service oriented architecture (SOA) is. Give an example of an SOA. Page 9 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 8. Performance Testing (a)3 The art of performance tuning and the art of debugging share similar techniques. Explain whether you agree or disagree with this statement. (b)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 whats wrong with this approach. 9. Code Review (a)3 In a code review, finding the defects is more important than solving the defects. Explain. (b)2 Briey describe the roles of the moderator and reviewer in a code review. Page 10 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: 10. Security (a)4 We discussed three security patterns used in qmail: Compartmentalization, Distributed Delegation, and Least Privilege. Pick two of the patterns and for each describe the problem that it is trying to solve and the solution that it offers. (b)3 How will your software development process change if security becomes important to your project? Briefly describe three changes/ steps that you will take. Page 11 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (a)10 Show the class diagram for the delivery coordination software such that it implements all the features for the first iteration. Be sure to include all the details (instance variables, methods, relations between classes) in order to handle the main functional requirements. You do not need to include the accessor methods in the UML diagram. Page 14 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (b)10 Consider this scenario: Bob is sending Alice a gift basket for her birthday. Bob places an order to be picked up by the transporter. Once the transporter picks up the package, he will send an update message to the system every hour. Meanwhile, Alice is very excited about Bob’s gift, and she can check the delivery status of the package whenever she wants. Note that checking the delivery status is asynchronous to the delivery process. Show the sequence diagram for the scenario. If you don’t remember the UML standard for an asynchronous call, you can simply mark it with a legend or a label. Page 15 of 17 Please go on to the next page. . . CS 428 (Continued) Final Exam netid: (c) Identify two use cases for the delivery coordination software and describe them as fully dressed use cases. i.5 Use Case #1 Title: Primary Actor: Goal in Context: Scope: Level: Stakeholders and Interests: Precondition: Minimal guarantees: Trigger: Main Success Scenario: Extensions: Page 16 of 17 Please go on to the next page. . .
Docsity logo



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