Design and Implementation Flashcards

1
Q

COTS

A

Commercial Off-the-Shelf Systems
These can be bought and adapted to the users’ requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define domain in the context of software engineering

A

A domain is a field of study that defines a set of common requirements, terminology and functionality for any software program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a shrink-wrap license?

A

An EULA that is enclosed within the software and cannot be read before purchasing the product

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Name the 3 characteristics of a bad design that should be avoided

A
  1. Rigidity - hard to change because every element affects many other parts of the system
  2. Fragility - parts of the system break after making a change
  3. Immobility - hard to reuse in another application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define the Open Close design principle

A

Software entities should be open for extension but closed for modifications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define the dependency inversion principle

A

High level modules should not depend on low level modules. Both should depend on abstractions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define the Interface Segregation Principle

A

Clients should not be forced to depend on interfaces they do not use - take care to only add methods that should be there.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define the Single Responsibility Principle

A

A class should only have one reason to change. If it has two reasons to change, it should be split into two classes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define Liskov’s Substitution Principle

A

Derived types must be substitutable for their base types - we must make sure that new derived classes can replace base classes in without any changes in the code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define OOA

A

Object oriented analysis is the procedure of identifying software engineering requirements and developing software specifications in terms of a software system’s object model, which comprises of interacting objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define OOD

A

Object Oriented Design involves implementation of the conceptual model produced during OOA. Concepts in the analysis model are mapped onto implementing classes and interfaces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly