Chapter 4 - Models Flashcards

1
Q

Formal Methods

A

These methods use a mathematical notation—based on logic, set theory, or Petri Nets, for example—to derive formal specifications for software systems.

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

Unified Modeling Language (UML)

A

a graphical notation for software modeling

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

CASE tools (Computer-Aided Software Engineering)

A

tools emerged to create and edit UML diagrams

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

UML as blueprint

A

after the requirements specification phase, a set of models—or blueprints—used to be produced to document various aspects of a system

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

UML as programming language

A

The goal was to automatically generate code from UML models. This approach is also known as Model-Driven Development (MDD)

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

UML as sketch

A

we use UML to build light and informal diagrams of parts of a system, hence the name sketch

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

Forward Engineering

A

developers use UML to discuss design alternatives before any code is written

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

Reverse Engineering

A

developers use UML to analyze and discuss a feature that is already implemented in the code.

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

Static (or Structural) Diagrams

A

model the structure and organization of a system, including information about classes, attributes, methods, packages, and more

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

Dynamic (or Behavioral) Diagrams

A

model events that occur during a system’s execution. For example, they can model a sequence of method calls.

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

Class diagrams

A

They provide a visual representation of a set of classes, offering information about attributes, methods, and relationships among these classes. In a class diagram, each class is represented by a rectangle with three compartments. These compartments contain the class name (usually in bold), attributes, and methods.

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

Associations

A

When class A has an attribute b of type B, we say there is an association from A to B, represented by an arrow from A to B

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

multiplicity

A

indicates how many objects can be associated with the attribute responsible for the association.

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

composition

A

the destination class cannot exist independently of the source class

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

aggregation

A

when the two classes have independent life times

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

Inheritance

A

represented using arrows with an unfilled end. These arrows connect subclasses to their base class.

subclasses inherit all the attributes and methods from the base class, while also being able to add new ones

17
Q

dependency

A

A dependency exists from class A to class B, represented by a dashed line from A to B, when class A uses class B, but this use is not through an association (i.e., A does not have an attribute of type B) or inheritance (i.e., A is not a subclass of B). Dependencies occur, for example, when a method in A has a parameter or local variable of type B or when a method in A throws an exception of type B.

18
Q

Package diagrams

A

recommended when we want to provide a higher-level view of a system, showing only groups of classes—that is, packages—and the relevant dependencies among them

19
Q

Sequence Diagrams

A

dynamic diagrams, also known as behavioral diagrams. Rather than modeling classes, they model objects within a system. Additionally, they provide information about the methods that are executed in a specific usage scenario of a program.

20
Q

Activity Diagrams

A

represent, at a high level, a business process flow. The main elements of these diagrams are actions, represented by rectangles. There are also control elements that define the execution order of the actions.