Software Engineering 2 - Lecture 2

0.0(0)
studied byStudied by 7 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
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

Software Architecture

It is a representation that enables a software engineer to analyze the effectiveness of the design, consider architectural alternatives, and reduce the risks associated with the construction of the software.

2
New cards

Software architecture

Provides a representation that facilitates communication among all stakeholders interested in the development of a computer-based system.

3
New cards

Architecture

highlights early design decisions that will have a profound impact on all software engineering work that follows.

4
New cards

Architecture

Constitutes a relatively small, intellectually graspable mode of how the system is structured and how its components work together.

5
New cards

IEEE-Std-42010-2011

Describes the use of architecture viewpoints, architecture frameworks, and architecture description languages as a means of codifying the conventions and common practices for architectural description.

6
New cards

Achitectural description

A collection of products to document an architecture.

7
New cards

Set of components

Perform a function required by a system.

8
New cards

Set of connectors

Enable “communication, coordination and cooperation” among components.

9
New cards

Constraints

Define how components can be integrated to form the system.

10
New cards

Semantic models

Enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts.

11
New cards

Data Centered Architecture

Focuses on a central data store that different components access, update, and share.

12
New cards

Data Flow Architecture

Uses a pipeline or series of transformations where input data flows through processing steps until output is produced.

13
New cards

Call Return Architecture

Organizes software into modules with a hierarchy of control, where higher-level modules call lower-level ones and get results back.

14
New cards

Object-Oriented Architecture

Structures the system as a collection of interacting objects that encapsulate data and behavior.

15
New cards

Layered Architecture

Divides the system into layers where each layer provides services to the one above it.

16
New cards

User Interface Layer
Application Layer
Utility Layer
Core Layer

Layers of Architecture

17
New cards

Model View Controller Architecture

Separates data, user interface, and control logic, improving modularity and maintainability.

18
New cards

Economy
Visibility
Spacing
Symmetry
Emergence

Architectural Considerations

19
New cards

Economy

Software is uncluttered and relies on abstraction to reduce unnecessary detail.

20
New cards

Visibility

Architectural decisions and their justifications should be obvious to software engineers who review.

21
New cards

Spacing

Separation of concerns in a design without introducing hidden dependencies.

22
New cards

Symmetry

Architectural symmetry implies that a system is consistent and balanced in its attributes.

23
New cards

Emergence

Emergent, self-organized behavior and control are key to creating scalable, efficient, and economic software architectures.

24
New cards

Archetype

An abstraction that represents one element of system behavior.