Advanced Software Engineering

glintplainvilleSoftware and s/w Development

Nov 18, 2013 (3 years and 11 months ago)

70 views


1







Advanced Software Engineering

Initial Exam

Dr. Mats Heimdahl


This is a short initial exam (as opposed to a final) to assess where we stand as a class and make sure you
know what I expect you to know. If you have problems, please get a textbook and l
ook up the answers for a
discussion on Thursday.





Question 1.

A requirements document typically goes through numerous changes during a project. Mention two (2)
reasons why the requirements are subject change and explain why these reasons lead to require
ments
changes.


Answer:

Numerous reasons.

The customer’s needs were not well understood from the start.

The environment changes as the project is going on.

The customers needs evolve as various parts of the software are rolled out.

Legislation may force

changes.

Competition may force changes.

Etc.



Question 2.

Verification

is concerned with assuring that we are developing a product to meet some type of specification.
Thus, we can verify that a design meets the requirements and that the implementation sa
tisfies its design.
Validation

is a different concept.


a.

What is validation?


b.

Validation is generally harder to do than verification. Why?



a.

Validation is concerned with making sure the customer gets the right produce

that we satisfy the
customers’ true ne
eds. Answer he question “Are we building the right system?”


2

b.

Validation is generally harder since it relies on us
really

understanding the customers’ true needs
and wants. This is generally a lot harder and more subjective than determining if we have built
a
system that meets what we wrote in the requirements document.


Question 3.

There is a difference between
internal

and
external

completeness of a requirements document.


a.

Briefly describe what internal and external completeness refers to.


b.

Determining ex
ternal completeness is generally much harder than determining internal
completeness. Why?
Hint:
See Question 7.



a.

Internal completeness is concerned with making sure we have not left any holes in the
requirements document with respect to what is already i
n there. For example, if we have a
requirement to say what to do if a button is pushed down (button down event) we almost certainly
need a requirement to say what to do when it is released (button up event). If we have a
requirement about what to do when t
he button has been pressed down for more that 2 seconds, we
probably need one describing what to do if it is released within 2 seconds.

External completeness is related to making sure we have covered all user requirements. For
example, if the statements a
bove were related to button A, but there is no mention of button B in
he requirements, we may be able to make them internally complete (by talking about button A
only). But, the requirements are not externally complete since we completely forgot about all
requirements related to button B.


b.

External completeness again related to capturing the customer’s true needs. He only one that can
help us determine of we are externally complete is the customer and this information can be hard
to come about. An “intellig
ent ignoramus” may be able to determine internal completeness

you
need customer help to determine external completeness.



Question 4.

Draw a class diagram for a book chapter with the following structure. A chapter comprises several sections,
each of whi
ch comprises several paragraphs and figures. A paragraph comprises several sentences, each of
which comprises several words.

Note 1:

You may ignore punctuation and you need not pursue the structure of a figure any further.

Note 2:

“Several” in the text
above refers to “
one or more”
.


For example,


Chapter
Section
Section Component
Paragraph
Sentence
Word
Picture
1
1..*
1
1..*
1
1..*
1
1..*




Question 5.


3

Draw a class diagram (using inheritance) that captures two categories of a company’s customers: external
customers, which are other companies buying goods from this c
ompany, and internal customer, which are
all the divisions of this company.


For example,


Corporate Division
Customer
Internal Customer
External Customers




Or


Company
Corporate Division
Customer
Internal Customer
External Customers
1
0..*






Question 6.

The following two class diagrams capture the Fuel Level Monitoring System in two r
ather different ways.
We want to include one of the diagrams in a requirements document to provide a framework for elicitation
and requirements capture. In your opinion, which diagram is the most suitable for inclusion in a
requirements document? Why?

Ple
ase justify your answer by pointing out why you think your choice is suitable and the alternative is not.



4

Small Tank
Large Tank
<<Actor>> Operator
Engine Fuel Pump
Engine
Pressure Sensor
1
1
1
1


monitors
1
1


Refills
1
1


Controls
Alarm
1
1


Controls
Pump
1
1
1
1
*
1
Controls

*
1
Resets


Alternative 1




Tank
Pump
Engine
Pressure Sensor
1
0..1
0..1
0..1


monitors
0..1
0..1


Refills
0..1
1


Controls
Alarm
0..1
1


Controls
1
1

Alternative 2



Alternative 1 seems more suitable for this task. The model

is closer to the problem at hand and, thus, more
likely to be understood by the customer. Alternative 2 is more abstract, but it relies on some features of
UML that are not entirely trivial to understand. For example, the fact the we may have two tanks, o
ne
monitoring the other, is not really clear from the model. An instance diagram might solve this problem for
the customer.