본문 바로가기
Computer Science

Arcitecture - Decision

by OKOK 2021. 8. 3.

Architectural Decision

  • Architectural decisions are design decisions that address architecturally significant requirements; they are perceived as hard to make and/or costly to change.
  • Architecturally significant requirements(ARSs) are those requirements that have a measureable effect on a software system's architecture.
  • It is necessary to manage the relationship between quality requirements and structural decision making.
  • There is a trade-off relationship in quality that is important depending on one variable.

 

Architecture Drivers

  • Architectural drivers are requirements that will shape the software architecture.
  • Architectural drivers include : 

 

Functional Requirements

  • What a system must compute
    Describes the core functionality of the system from a user's perspective
    Avoids details of implementation
  • Usually available as part of a standard requirements specification for a product.
    However, some functional requirements may be hidden
    Examples : error behavior.

 

Constraints

  • Describes the context
    - Decisions that are already made about the design
    - Factors that influence the design

 

Quality Attributes

  • Function and quality could be confused.
  • If it is originally required, it is a function.
  • Define qualities that a system must have beyond its functionality
  • Functionality and qaulity attributes are largely orthogonal.
  • Architectural choices implement functionality, promote some quality attributes, and inhibit others. Tradeoffs.

 

Performance

  • Source : Internal or external to the system
  • Stimulus : Arrival of a periodic, sporadic, or stochastic event
  • Artifact : System or one or more components in the system
  • Environment : Operational mode : normal, emergency, peak load, overload
  • Response : Porcess events, change level of service
  • Response Measure : Latency, deadline, throughput, miss rate

 

Performance Tactics

  • Control Resources Demand
  • Manage Resources

 

Modifiability

  • Reduce size of a module
  • Increase cohesion
  • Reduce coupling
  • Defer binding

 

Availability

  • How to respond to unusual situations is important.
  • When a crash occurs, how is it restored?

 

 

Quality Characteristics

 

'Computer Science' 카테고리의 다른 글

Requirements Engineering  (0) 2021.08.05
Architecture - product  (0) 2021.08.05
Associate Architect - View  (0) 2021.08.03
얄팍한 코딩 사전 - 객체지향 디자인패턴1  (0) 2021.08.01
점프투 자바 목차  (0) 2021.08.01

댓글