본문 바로가기

반응형

: Architecture

(5)
[OOAD] SOLID SOLID Principles Table of Contents 1. What is SOLID? 2. SOLID Principles 2.1. SRP, Single Responsibility Principle (단일 책임 원칙) 2.2. OCP, Open-Closed Principle (개방 폐쇄 원칙) 2.3. LSP, Liskov Substitution Principle (리스코프 치환 원칙) 2.4. ISP, Interface Segregation Principle (인터페이스 분리 원칙) 2.5. DIP, Dependeny Inversion Principle (의존성 역전 원칙) 1. What is SOLID? 소프트웨어 공학에서 솔리드 원칙(솔리드)는 OOD(Object-Oriented Design..
[OOAD] GRASP GRASP Table of Contents 1. What is GRASP? 2. GRASP 2. 1. Creator 2. 2. Information Expert (정보 전문가) 2. 3. Controller (컨트롤러) 2. 4. Low Coupling (낮은 커플링) 2. 5. High Cohesion (높은 응집력) 2. 6. Pure Fabrication (순수 제조) 2. 7. Polymorphism (다형성) 2. 8. Indirection (간접 참조) 2. 9. Protected Variations 변경 보호 1. What is GRASP? General Responsibility Assignment Software Patterns(or Principles) OOD(Object-Oriente..
[UML] Sequence Diagrams 우선 Interaction Diagram에 대해서 알아보자. Interaction Diagram은 objects간 상호작용을 메세지로 표현한 것이다. 이것은 추상화 개념 중 하나이고, 이것을 그릴 수 있는 다이어그램으로는 4가지가 있다. Sequence Diagram 모델 간 상호작용을 시간순서대로 그린 다이어그램 아키텍쳐 구성할 때, 가장 자주 사용 Communication Diagram 효율적으로 그리기 위해, 모델간 상호작용에만 집중해서 그린 다이어그램(보기에는 Sequence Diagram보다 어렵다) 화살표의 번호로 시간 순서를 나타냄 문제 설명을 위해 그릴 때 주로 사용 Timing Diagram 정확한 시간를 나타내기 위한 다이어그램 Sequence Diagram과 개념상 유사하지만, 좀 더..
[UML] Class Diagram Class Diagram Terminology Object: 시스템 개별 객체들, 구현할 대상을 지칭한다. Class: Obejct를 만들어 내기 위한 틀 Attribute(내부 변수)과 Operation(함수)으로 구성되어 있다. Writing Convention Object의 이름은 소문자로 시작하고, camelCase 로 작성한다. Class의 이름은 대문자로 시작하고, CamelCase 로 작성한다. 예시 boyWithLuv: BtsSong ${objectName}: ${ClassName} anonymous object : BtsSong UML Class Diagrams 같은 UML Class 다이어그램이어도 다양한 관점에서 사용할 수 있다. Domain model DCD (Desgin Class..
[UML] Use Case Diagram Use Case Diagram 제목은 Use case diagram 이지만, 주로 use case 에 대한 정리가 되어버렸다. use case 에 대해서 제대로 알고 있다면, diagram 을 그리는 것은 어렵지 않다고 생각한다. Use cases 우선 actor 의 개념을 먼저 정리하고 내려가겠다. Actor actor는 특정 역할을 가진 시스템과 상호작용을 하는 유저이다. 유저는 꼭 사람일 필요는 없다. 기관, 장치, 외부 시스템일 수도 있다. Primary Actor / 직관적으로도 알 수 있겠지만, Primary는 Usecase 를 진행하는 주체이며, Secondary는 Primary 가 상호작용에서 관련있는 객체이다. Use case 시스템의 목표를 달성하기 위해서 특정 역할(들)을 가진 사용자..