You are on page 1of 6

CMPE 203 Midterm Solution - 2012

YOUR NAME: ___________________________________


README

Make sure you put your name on the midterm.


This is an individual close book midterm. Please clear your desk and do not sit too
close to another student.
DO NOT talk about the exam, COMPARE the exam, DISCUSS the exam,
WORK WITH OTHER PEOPLE on the exam or CHEAT in any way you could
think of. If two answers are found to be the same due to cheating. An F will be
given for the course as a result and a letter might be sent to Dean of Students and
the Engineering Department. I do not want to do any of that, so LEARN the
materials and DO IT YOURSELF.
You have ONE HOUR and 15 MINUTES for this exam.

MID TERM QUESTIONS

The exam will total to 100 points.


If you think the questions are not stated clearly in any way, WRITE down your
assumptions and answer the questions. No answer can be obtained from the
instructor individually in order to be fair to all the students.
Good Luck and have fun.

Questions
1.
What is integration testing? How can project scheduling affect integration testing?

Testing of integration of different completed modules. The availability of completed


modules can affect the order and strategy for integration. Project status must be known so
that integration planning can be accomplished successfully.

2.
Why is there often tension between a software engineering group and an
independent software quality assurance group? Is this healthy?

There is often a natural "tension" that exists between these two groups. The reason is
simple: if the SQA group takes on the role of the "watch dog," flagging quality problems
and high-lighting shortcomings in the developed software, it is only normal that this
would not be embraced with open arms by the software engineering group. As long as the
tension does not degenerate into hostility, there is no problem. It is important to note,
however, that a software engineering organization should work to eliminate this tension
by encouraging a team approach that has development and QA people working together
toward a common goalhigh quality software.

3.
Assume that 10 errors have been introduced in the requirements model and that
each error will be amplified by a factor of 2:1 into design and an addition 20 design
errors are introduced and then amplified 1.5:1 into code where an additional 30
errors are introduced. Assume further that all unit testing will find 30 percent of all
errors, integration will find 30 percent of the remaining errors, and validation tests
will find 50 percent of the remaining errors. No reviews are conducted. How many
errors will be released to the field? Show your steps in getting the answer.
Sol:
15.3 10 requirements errors amplified 2:1 to become 20 errors in design
20 new design errors introduced 20 + 20 = 40 and amplified 1:1.5 to become 60
code errors
30 new errors introduced during coding 30 + 60 = 90 at the start of testing
30% of 90 errors uncovered during unit testing leaving 90 0.3 * 90 = 63 errors
30% of 63 errors uncovered during integration testing leaving 63 0.3 * 63 = 45
errors
50% of 45 errors uncovered during validation testing leaving 45 0.5 * 45 = 23
errors

4.
Is a software design a program or not? Describe what a software design is.

No. The intent of software design is to apply a set of principles, concepts, and practices
that lead to the development of a high quality system or product. The goal of design is to
create a model of software that will implement all customer requirements correctly and
bring delight to those who use it.

5.
Describe the organization structure that you will use for Lab 1s startup company.
Assume you only have four persons in the company and you are building a geotarget
mobile application that will locate the cheapest restaurant around you with a certain
type of food.
CEO
Dev / QA
Marketing / Business Dev

6.
What three domains are considered during requirements modeling?

Analysis models represent the customer requirements by depicting the software in three
different domains: the information domain, the functional domain, and the behavioral
domain.

7.
What is a backlog in the scrum agile software development method?

P83 A prioritized list of project requirements or features that provide business value for
the customer. Items can be added to the backlog at any time (this is how changes are
introduced). The product manager assesses the backlog and updates priorities as required.

8.
In a small company, using any software development process slows down software
development in general. True or False. Discuss your answer.

False Pick the right process for the right product. You need a process in any software
development project.

9.
What is a workflow analysis?

P325 User Interface design. It is a technique that allows you to understand how a work
process is completed when several people (and roles) are involved.

10.
What is the difference between a nongenerative and a generative pattern?

12.2 Non-generative - describes a context and a problem but it does not provide any
clear-cut solution. Generative - used to generate an application or computer-based
system whose architecture enables it to adapt to change.