Lecture 5 - How do we structure the software (Architecture)?

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/12

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.

13 Terms

1
New cards

The Architect

  • distinctive role and character in a project

  • broad training

  • extensive experience

  • deep understanding of the domain

  • leads the team

  • good communicator

  • decision maker

  • deals with a higher level of abstraction than those performing construction

  • often serves as the interface to key business stakeholders/customers

2
New cards

Why architecture in software engineering?

  • intellectual control

  • conceptual integrity

  • effective project communication

  • reusability

  • maintainability (management of a set of variant systems)

3
New cards

What is Software Architecture (1)?

the set of principal design decisions about the system

<p>the set of <em>principal design decisions</em> about the system</p>
4
New cards

What is Software Architecture (2)?

the blueprint for a software system’s construction and evolution

<p>the blueprint for a software system’s construction and evolution</p>
5
New cards

World Wide Web (WWW)

  • collection of resources, each with a unique name (URL)

  • URL is used to determine the identity of a machine on the Internet (origin server), from which the resource is obtained

  • clients (user agents / web browsers) make requests of servers for their resources

  • clients manipulate representations of resources

  • all communication between user agents and origin servers must be:

    • performed by a simple, generic protocol (HTTP)

    • fully self-contained

6
New cards
<p>What Architecture Diagram is this?</p>

What Architecture Diagram is this?

Uber - ride apps

7
New cards

Software Architecture’s Elements

  • components (

  • connectors (interaction)

Components and Connectors are arranged into configurations

8
New cards

Prescriptive Architecture

as designed / as intended architecture

  • planned — neater

9
New cards

Descriptive Architecture

as implemented / as real architecture

  • sometimes messier

10
New cards
<p>Linux Architecture: Prescriptive or Descriptive?</p>

Linux Architecture: Prescriptive or Descriptive?

Prescriptive

11
New cards
<p>Linux Architecture: Prescriptive or Descriptive</p>

Linux Architecture: Prescriptive or Descriptive

Descriptive

12
New cards

Architectural Erosion

  • when a system evolves, ideally the prescriptive architecture is modified first

  • in practice, the system (thus descriptive architecture) is often directly modified

13
New cards

Architectural Erosion Causes

  • developer sloppiness

  • short deadlines

  • lack of (documented) prescriptive architecture

  • code optimizations

  • inadequate techniques or tool support