Unsolved Final Exam for Software Engineering II | CS 427, Exams of Software Engineering

Material Type: Exam; Professor: Johnson; Class: Software Engineering I; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Spring 2006;

Typology: Exams

2010/2011

Uploaded on 06/14/2011

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

5

(1)

10 documents

1 / 12

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS428 Final Exam NetID:
University of Illinois at Urbana-Champaign
Department of Computer Science
Final Exam
CS 428 - Software Engineering II
May 11, 2006
Time Limit: 3 hours
Instructions for the Student
Print your name and NetID in the space provided below; print your NetID in the
upper right hand corner of every page.
Name:
NetID:
This is a closed book, closed notes examination. No scratch paper allowed.
You may not use calculators or any other electronic devices. Any form of
cheating on the examination will result in a zero grade. All work should be
noted on the page the question is asked. If the grader cannot understand
your handwriting you may get 0 points.
This exam has 31 questions, for a total of 150 points. On the left hand side of each
question you will find how many points it is worth. The exam has 12 pages including this
cover sheet.
Page Points Score Grader
2 16
3 16
4 16
5 12
6 12
7 12
8 12
9 8
10 16
11 30
Total: 150
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Unsolved Final Exam for Software Engineering II | CS 427 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 May 11, 2006 Time Limit: 3 hours

Instructions for the Student Print your name and NetID in the space provided below; print your NetID in the upper right hand corner of every page.

Name:

NetID:

This is a closed book, closed notes examination. No scratch paper allowed. You may not use calculators or any other electronic devices. Any form of cheating on the examination will result in a zero grade. All work should be noted on the page the question is asked. If the grader cannot understand your handwriting you may get 0 points.

This exam has 31 questions, for a total of 150 points. On the left hand side of each question you will find how many points it is worth. The exam has 12 pages including this cover sheet.

Page Points Score Grader

2 16

3 16

4 16

5 12

6 12

7 12

8 12

9 8

10 16

11 30

Total: 150

(4) 1. Your manager tells you that your product should have full testing coverage before it is released. What does your manager mean? Is this possible? Does this provide a 100% guarantee that there will be no bugs?

(4) 2. A team works independently on different parts of a program and later merges them back together. Several iterations later, someone realizes that a vital piece of functionality is no longer available in the system. What could the team have done to avoid this problem? Give three possibilities.

(4) 3. From the perspective of a software tester, which is better: a large number of failing tests or a small number of failing tests? Justify your answer.

(4) 4. What does the slogan ”Kick the nearest wolf from the door” mean and how does it apply to software? (Bonus point: come up with a better slogan)

(4) 9. In this class we discussed that making code changes can be an integral part of reverse engineering. Yet reverse engineering is interested only in understanding the code and not improving it. Explain this contradiction.

(4) 10. Which of the following is a more accurate description of component-based design and why? (a) Designing an application by breaking it into components (b) Designing an application by building it from existing components

(4) 11. When is software reuse a bad idea? Give three examples of when this might be true.

(4) 12. You are the creator of the Banner system. This system is used by different universities to provide registration, grades, etc. on the web. Each university has different specific requirements, but the larger ”needs” are the same. Is this a situation where you should use an iterative approach to creating reusable software? Why or why not?

(4) 13. Two students are interested in registering for CS527. There is one available space in the course. Both students decide to register for the course and click the appropriate link. How could the designer avoid allowing the course to have too many students? What could have been done to stop both students from attempting to register for the same spot at the same time?

(4) 14. Compare and contrast maintenance and reengineering. Give two similarities and two differences.

(4) 15. You are hired by a company to maintain a piece of software. You soon realize that there were some poor design decisions made that will make it more difficult to fix bugs in some parts of the software. What options are available to you? What factors would cause you to choose one over the other?

(4) 19. Compare and contrast the following variations of the client-server architecture:

(a) distributed presentation vs thin client (b) remote database vs distributed database

(4) 20. What 2 types of testing are more difficult to do when testing distributed systems?

(4) 21. List 3 architectural qualities that make the HTTP protocol suitable for web systems and explain why these qualities are important for HTTP.

(4) 22. What web engineering problem is solved by cookies?

(4) 23. Compare and contrast - refactoring and reengineering.

(4) 24. The FAMOOS project describes 4 stages of reverse engineering. Describe 2 techniques for reverse engineering in the ”First Contact” stage and 1 technique in the ”Detailed Model Capture” stage.

(4) 27. Explain the idea of Model Driven Architecture using the concepts from round-trip engi- neering. Hint: Define both terms clearly.

(4) 28. Give examples of 2 similarities and 2 differences between the cleanroom software method- ology and XP.

(4) 29. What is the highest CMM level that a perfect project in the Software Engineering class could realistically attain? Explain.

(4) 30. According to the paper ”How to Think about Security,” locking an account access after unsuccessful login is not a sufficient protection from security threats for a bank. Why? What larger problem do such low-level security measures miss?

(30) 31. List 15 software development tools that we talked about in Software Engineering II and state what each one is good for. List the category of tool, not the brand name. For example, we didn’t talk about compilers, but if we did then an answer could be ”Com- pilers translate a program in a high level language that is easy for people to understand into a program in a machine language that can be understood by a computer.” Don’t give more than 3 tools for the section on software configuration management, 4 for testing, 2 for component software/reuse, 2 for client/server computing, 3 for web engineering, 3 for reverse engineering, or more than 1 in any other section.