• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/16

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

16 Cards in this Set

  • Front
  • Back
What is the purpose of software design?
To enable programmers to implement the requirements by designating the projected parts of the implementation.
What are the goals of software design?
Sufficiency, Understandability, Modularity, Cohesion, Coupling, Robustness, Flexibility, Reusability, Information hiding, Efficiency, Reliability
What makes a design sufficient?
It provides the components for an implementation that satisfies the requirements.
What makes a design flexible?
Designs must be able to anticipate changes in the requirements.
What is design modularity?
Being divided into separately named and addressable components.
What makes software robust?
Being able to deal with a wide variety of input.
What is software efficiency?
It must execute within acceptable time and space requirements.
What is cohesion?
It is organized so like minded elements are grouped together.
What is coupling?
Organized to minimize dependence between elements.
How is inheritance indicated and how is it implemented?
With an open triangle and solid line.

class MyClass extends MyOtherClass{...}
How are abstract classes denoted?
With italics.
What is realization and how is it denoted?
It is denoted by an open triangle and dotted line.

class MyClass implements MyInterface {...}
What is aggregation and how is it denoted?
Indicates the structural inclusion of objects of one class by another. The "has-a" relationship. Denoted by an open diamond with a solid line arrow.

class Company{employee emp;}
What is composition and how is it denoted?
The aggregated object exists only during the lifetime of the composing object. It is denoted by a closed diamond on a solid line arrow.

class Company
{
class Employee emp;{...}
}
What is dependency and how is it denoted?
If the class at arrow's end were to change, the dependent class would change as well. Denoted by a dotted arrow.

class MyClass
{
void myFunc(RefClass ref);
}
What is the purpose and goal of formal methods in requirements?
Formal methods are built on mathematical axioms and can be proven with mathematical correctness.