OrgPad logo

Architektury Softwaroých Sytémů

Created by Dennis Pražák

Architektury Softwaroých Sytémů

Documentation

  1. Roadmap (what lies in the documentation)
  2. Ovwerview (context, functions, stakeholders, constraints)
  3. Views
    1. How a view is documented
    2. + A documentation for each designed view
      1. Shows elements and relationships
      2. Catalog (list of elements and relationships and details)

Bass & Clemens & Kazman view

decomposition viewpoint

modules are logically decomposed into smaller ones until small enough

module viewpoint

module = implementation unit with responsibilities

relationships between modules - part of, depends on (uses), is-a

it is a development-time viewpoint

usage viewpoint

how modules use other modules

(calls, uses, is-allowed-to-use, depends on)

class viewpoint

is-a relationship

(re-use and incremental addition of functionality)

component & connector viewpoint

runtime viewpoint

helps reason about runtime qualites (availability, security...)

deployment

components, connectors, hardware communication elements (allocated to)

performance, security, availability reasoning

allocation viewpoint

implementation

modules, file structure (implemented in)

for development activities, build prcoess

work assignment

modules, people or teams (work assignment)

important for project management

logical viewpoint

decomposition of system to key functional modules (classes, services) and their attributes and methods

package diagrams, class diagrams

key internal behavior of functional modules

state machine diagrams

Software System Architecture

Architectural Views

Krutchen's 4+1 view

behavior viewpoint

functionality as runtime processes

process = group of related tasks

task = executable unit which is performed by some unit from functional viewpoint

sequence diagrams, activity diagrams

development viewpoint

decomposition to elements developed and tested by development teams with defined interfaces and what other modules a module can use

component diagrams

deployment (physical) viewpoint

assigns functional and process elements to physical configurations

deployment diagram

(user) scenarios

describe system behavior as seen by stakeholders

use case = requirement expressed as interaction with the system

discuessed last, created first

use case diagrams

Rozanski & Woods

C4 model

runtime QA

availibility

reliability + ability to recover

failure = observable by other systems and users

fault = problem occured but isn't observable -- not an availability problem

types of fault - omission, crash, incorrect timing, incorrect response

system QA

design time QA

Quality Attributes

measurable or testable property of a system that is used to indicate how well the system satisfies a

business QA

architectural QA