Software Engineering Design
1 Introduction:
Fox (2006) distinguishes between two different (but related) design
activities:
Software Product Design
|
is the process of specifying
software product features, capabilities and interfaces to satisfy
client needs and desires.
|
Software Engineering Design
|
is the process of
specifying programs and subsystems, and their constituent parts
and workings, to meet software product specifications.
|
The following questions are related to software engineering design.
2 Questions:
- What is the difference between inheritance and realizing
an interface?
- Compare and contrast inheritance and
interface realization in terms of their advantages and
disadvantages.
- The following
Elevator
class is
part of an elevator control system.
Is this class well-designed? If so, why? If not, how
would you improve it?
- Use an abstract class to improve the following
design:
- The following collaboration diagrams are part of
an in-vehicle navigation system:
Identify the type of control used in each.
-
What effects might different control styles have on the
reusability of collaborating components?
3 Submission:
Your answers to these questions must be submitted using the
normal submission process. (See the relevant
course policy.)
4 Visibility:
Your submission will be kept private.