본문 바로가기
반응형

개발/Architecture & Design Pattern41

아키텍처 스타일, 패턴 (Architectural Style and Pattern) Architecture & Design Pattern 전체 링크  아키텍처 스타일 (Architectural Style)- 시스템의 구조와 구성 요소들 간의 조직된 상호작용 방식을 기술하는 패턴의 집합- 일반적인 설계 접근 방식을 나타내며, 특정 문제 해결을 위한 구체적인 패턴보다는 더 큰 규모와 범위에서 사용- Client-Server, Peer-to-Peer, Event-Driven Architecture, Service-Oriented Architecture, ... 아키텍처 패턴 (Architectural Pattern)- 재사용 가능한 해결책을 제공하는 고수준의 설계 템플릿- 시스템의 기본 구조를 설계하고, 구성 요소 간의 관계와 상호작용을 규정하고, 여러 품질 속성을 동시에 고려- MVC 패턴.. 2024. 7. 19.
아키텍처 뷰 (Architectural View) Architecture & Design Pattern 전체 링크  아키텍처 뷰 (Architectural View)- 시스템의 구조를 표현한 것으로 시스템 측면을 강조- 시스템의 다양한 측면을 다른 관점에서 표현하고, 시스템을 더 잘 이해하고, 의사소통을 원할하게 하기 위해 필요- 다양한 이해당사자 관점에서 표현, 복잡도를 관리하고 상호 일관성을 유지한다. 4+1 ViewSEI View Siemens Four View4+1 View Logical View (클래스, 객체 다이어그램)- 시스템의 기능적 요구사항을 다루며, 시스템의 주요 설계 요소와 그 관계를 모델링 Development View (컴포넌트 다이어그램, 소프트웨어 모듈 구조)- 소프트웨어의 모듈 구조를 보여주며, 시스템의 소스 코드 구조와 .. 2024. 7. 18.
아키텍처 전술 (Architectural Tactics) Architecture & Design Pattern 전체 링크  참고- 품질 속성 시나리오 (Quality Attribute Scenarios) 품질 속성 Trade-off 관계 가용성 vs 성능높은 가용성을 위한 Redundancy와 장애 조치는 오버헤드로 인해 성능에 영향을 준다. 상호운용성 vs 보안다양한 시스템 간의 데이터 교환과 통합을 허용하면, 보안 취약점이 높아진다. 변경용이성 vs 성능모듈화와 추상화로 인해 성능이 저하될 수 있다. 성능 vs 보안보안을 강화하기 위한 암호화와 인증 과정으로 성능이 저하된다.Availability (가용성)- 시스템이 정상적으로 작동하고 사용 가능한 상태를 유지하는 정도 Detect Faults (장애 탐지)- Ping / Echo : 네트워크 연결 상태를.. 2024. 7. 18.
품질 속성 시나리오 (Quality Attribute Scenarios) Architecture & Design Pattern 전체 링크  참고- 아키텍처 전술 (Architectural Tactics) 품질 속성 (Quality Attritbues)- 소프트웨어 시스템이 충족해야 하는 비기능적 특성을 의미- NFR의 구체적인 형태로 시스템의 품질을 측정하고 평가한다.- Availability, Interoperability, Modifiability, Performance, Security, Testability, Usability 등 품질 속성 시나리오 (QAS, Quality Attribute Scenarios)- 시스템의 품질 속성을 구체적으로 정의하고 평가하기 위한 방법 1) 자극원 (Source) : 자극을 일으키는 주체2) 자극 (Stimulus) : 시스템에 영.. 2024. 7. 17.
UML - 상태 다이어그램 (Statechart Diagram) Architecture & Design Pattern 전체 링크 참고 - 상태 다이어그램 그리기 상태 다이어그램 (Statechart Diagram) - 객체나 구성 요소의 다양한 상태, 이벤트에 응답하여 상태 전이를 어떻게 수행하는지를 모델링한다. - 동적인 동작을 가진 복잡한 시스템의 행동을 모델링하는 데 사용할 수 있다. - 시스템이 주고 받는 이벤트를 순서대로 표현할 수 있다. 구성 요소 상태 다이어그램(Finite State Machine, Statechart)에는 다음과 같은 구성 요소가 포함된다. - State : 시스템 또는 객체가 가질 수 있는 다양한 상태를 표시 - Event : 시스템 또는 객체가 상태 변화를 일으키는 사건 - Transition : 상태 간의 변화 아래의 다이어그램에.. 2024. 3. 3.
UML 다이어그램 (Unified Modeling Language Diagram) Architecture & Design Pattern 전체 링크  UML (Unified Modeling Language)- SW 개발에서 시스템을 시각적으로 모델링하고 문서화하기 위해 사용되는 표준화된 언어- 개발자, 설계자 간의 의사소통을 돕고, 시스템의 다양한 측면을 명확히 표현하여 설계 오류를 줄인다.- SRS, SDS, 데이터 / 비즈니스 / 오브젝트 / 컴포넌트 모델링에서 사용된다. MOF (Meta Object Facility)- 모델 기반 소프트웨어 공학 분야에서 사용되는 표준 메타모델링 언어- M0 Layer : 실제 구축하고자 하는 SW 시스템의 인스턴스를 포함 (Application)- M1 Layer : M0에 대한 모델을 포함, 클래스 다이어그램 등이 속하게 된다. (UML Mod.. 2024. 3. 2.
UML - 시퀀스 다이어그램 (Sequence Diagram) Architecture & Design Pattern 전체 링크 참고 - 시퀀스 다이어그램 그리기 - https://www.ibm.com/docs/en/dma?topic=diagrams-interaction-operators-in-sequence - 싱글턴 패턴 시퀀스 다이어그램 (Sequence Diagram) - 시간에 따른 객체 또는 구성 요소 간의 상호작용을 나타낸다. - 메시지 교환 순서를 보여주어 시스템의 제어 흐름을 모델링한다. 구성 요소 시퀀스 다이어그램에는 다음과 같은 구성 요소가 포함된다. - Object : 시스템의 객체 또는 시스템이 하는 역할 - Message : 객체 간의 상호작용을 나타내는 화살표 - Lifeline : 시간의 흐름에 따라 객체의 존재를 보여주는 수직선 - Pa.. 2024. 3. 2.
C++ - 메멘토 패턴 (Memento Pattern) C, C++ 전체 링크 Architecture & Design Pattern 전체 링크 메멘토 패턴 (Memento Pattern) - 행동 패턴 - 객체의 내부 상태를 저장하고 나중에 복원할 수 있는 패턴 - 상태를 변경하면서 객체를 수정할 때 사용한다. 구현 - Originator : 상태를 가지고 있는 객체, 객체의 상태를 저장하고 복원을 할 수 있다. - Memento : 상태를 저장하는 객체, Originator 객체의 상태를 포착한다. - Caretaker : Memento를 관리하는 객체, Memento의 생성, 저장, 복원을 담당한다. 장점 - 객체 상태를 저장하고 복원하기 때문에 이전 상태로 쉽게 되돌릴 수 있다. (실행 취소, 다시 실행 기능) - Memento는 Originator의 .. 2024. 3. 1.
C++ - 중재자, 미디에이터 패턴 (Mediator Pattern) C, C++ 전체 링크 Architecture & Design Pattern 전체 링크 중재자, 미디에이터 패턴 (Mediator Pattern) - 행동 패턴 - 객체 간의 상호작용을 캡슐화하여 복잡한 통신과 제어를 한 곳으로 집중시키는 패턴 - 객체 간의 직접적인 통신을 방지하여 결합도를 낮춘다. 구현 - Mediator : 객체들 간의 상호작용을 관리하고 조정하는 주체, 중재자는 요청을 받아들이고 적절한 객체에 전달한다. - Colleague : 중재자를 통해 상호작용하는 객체, 다른 Colleague 객체와 직접 통신하지 않는다. 장점 - SRP(단일 책임 원칙), 다양한 Colleague간의 상호작용을 한 곳으로 추출한다. - OCP(개방-폐쇄 원칙), 기존의 Colleague를 변경하지 않고 .. 2024. 3. 1.
반응형