Software II Concepts

0.0(0)
studied byStudied by 2 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/23

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

24 Terms

1
New cards

Subsystems Guidline 1

Minimize Number of Collaborations

2
New cards

Subsystems Guidline 2

Minimize Delegations of Subsystem Contracts

3
New cards

Subsystems Guidline 3

Minimize Number of Contracts

4
New cards

Cohesion

The degree to which all elements of a component are directed towards a single task.

High cohesion is good because if there is a change, there is a high probability that the impact will be localized.

5
New cards

Coincidental Cohesion

Parts of the component are unrelated.

6
New cards

Logical Cohesion

Elements of a component are related logically but not functionally.

7
New cards

Temporal Cohesion

Elements are related by timing involved.

8
New cards

Procedural Cohesion

Related only to ensure a particular order of execution.

9
New cards

Communicational Cohesion

Functions performed on the same data or to produce the same data.

10
New cards

Sequential Cohesion

The output of one part is the input to another.

11
New cards

Functional Cohesion

Every essential element to a single computation is contained in this component.

12
New cards

Exceptional Post Condition

Says what is true when a method throws an exception.

13
New cards

Process for Writing Protocols

For each class, For each contract, For each responsibility - Specify complete protocol (set of signatures) to

support the responsibility.

<p>For each class, For each contract, For each responsibility - Specify complete protocol (set of signatures) to</p><p>support the responsibility.</p>
14
New cards

A Protocol

Set of signatures for methods to be implemented.

15
New cards

Coupling

The degree of dependence such as the amount of interactions among components.

Changes to a component are localized and do not cascade.

16
New cards

Content Coupling

One component modifies another.

17
New cards

Common Coupling

More than one component share data such as global data structures.

Problem: Difficult to determine components that edit.

18
New cards

External Coupling

Two components share something externally imposed.

Low = changes in external entity has little impact

Medium = Some impact (introduce interfaces)

High = Substantial impact

19
New cards

Control Coupling

Component passes control parameters (boolean flags) to coupled components.

Bad if control flow paths are unrelated, good if reusable.

20
New cards

Stamp Coupling

Component passes a data structure to another component that does not need access to the entire structure.

Problem: Requires 2nd component to know how to manipulate data, Security Risks.

21
New cards

Data Coupling

Component passes data (NOT DATA STRUCTURES) to other component.

22
New cards

Uncoupled

Completely uncoupled components are not systems.

23
New cards

Semi-formal Notation

knowt flashcard image
24
New cards

Private Responsibilities

Responsibilities not part of a contract.