Learn/OOP&UML
-
[OOP/UML] Sequence DiagramLearn/OOP&UML 2022. 8. 14. 22:33
# Interaction Diagrams Interaction Diagram은 실제 존재하는 Diagram은 아니고 개념적인 것. (아래 4개를 통칭하는 이름) Interaction Diagram은 functional requirement별로 하나씩 그림 [OOP] 4. UML OMG라는 회사에서 만든 Unified Modeling Language # MOF (Meta Object Facility) - Layer M3: Meta-meta model layer (The MOF model) - Layer M2: Meta model layer (The UML meta model) - Layer M1: Model lay.. push-and-sleep.tistory.com - Sequence diagram - C..
-
[OOP/UML] Class DiagramLearn/OOP&UML 2022. 8. 12. 00:31
# UML Class Diagram OOD에서 UML Class Diagram은 두 가지 뜻으로 쓰인다. 1. Domain model 2. Design Class Diagram (DCD) # Object - 소문자로 시작 - 어느 클래스에서 왔는지 적고싶으면 콜론하고 적음 - Operation은 해당 클래스는 다 같은 것을 가지므로 표시하지 않음 # Object Diagram - 별거없고 관련있는 오브젝트끼리 연결한 것. # Attribute Syntax + : public (default for operation) - : private (default for attribute) # : protected ~ : package / : 값을 직접 넣는게 아니라 계산되는 값 name : 소문자로 시작 type..
-
[OOP/UML] Use Case DiagramLearn/OOP&UML 2022. 8. 10. 00:38
# Use Case - External Actor가 시스템을 어떻게 사용하는지 - use case는 diagram이 아닌 텍스트 - 3가지 포멧(레벨) : brief -> casual -> fully dressed - Casual: OOA단계에 해당. Main / Alternate Scenario를 구분함. - Fully dressed: OOD단계에 해당. Main / Alternate / Precondition / Extension Scenario를 구분함. - Use case가 곧 functional requirements임. # User Case Diagram - use case를 모아놓은 그림 - 일을 직접 하는 actor를 primary actor, 일을 시키는 사람을 secondary acto..
-
[OOP/UML] UMLLearn/OOP&UML 2022. 8. 9. 00:06
OMG라는 회사에서 만든 Unified Modeling Language # MOF (Meta Object Facility) - Layer M3: Meta-meta model layer (The MOF model) - Layer M2: Meta model layer (The UML meta model) - Layer M1: Model layer (The UML model) - Layer M0: Information layer (the Application) --> 보통 M1에서 모델링, M0에서 구현 # UML Diagrams 보통 2.0을 많이 씀. (Profile Diagram은 2.2에서 추가됨.) Structure / Behavior / Interaction Diagram은 실제 다이어그램이 아니라..
-
[OOP/UML] Object-Oriented DevelopmentLearn/OOP&UML 2022. 8. 8. 00:01
# Software Development 컴퓨터의 소프트웨어로 문제를 푸는 것을 뜻함. 이를 위해 프로그래밍 언어가 필요. - Procedural Programming --> SASD (C) - Object-Oriented Programming --> OOAD (C++, JAVA) # Procedural Programming Procedure: variable을 바꾸는 statement procedure를 얼마나 잘 만드는지가 핵심 algorithm: statement를 언제 어떻게 실행하는지 data structure: 데이터를 어떻게 어디에 저장할 것인지 procedure와 data의 dependency어서 자유롭게 접근하도록 하는게 SASD의 핵심 --> OOAD에서는 그렇지 않음 (Encapsul..
-
[OOP/UML] PrinciplesLearn/OOP&UML 2022. 8. 6. 23:33
# Basic Principles of Object-Oriented 1. Abstraction 2. Encapsulation 3. Inheritance 4. Polymorphism 5. Composition 1. Abstraction 하려는 일에 관련된 것만 남겨두고, 관련 없는건 지우는 것. 2. Encapsulation 내부적으로 어떻게 동작하는지 몰라도 사용할 수 있게 만드는 것. (Information hiding) ex. 자동차 내연기관이 어떻게 작동하는지 몰라도 운전 방법만 알면 가능 get/set을 통해서 데이터를 얻거나 수정 아래 예시에서 client는 interface를 통해서만 데이터에 접근 가능 operation이 어떤식으로 구현(implement)되었는지는 전혀 알 필요 없음. 3...
-
[OOP/UML] Object OrientedLearn/OOP&UML 2022. 8. 2. 23:03
# Object Object는 unique ID, State(attribute), Behavior(operation)이 있어야 함. - State: Object의 상태 --> Encapsulation함 (밖에서 못보게; information hiding) ex. 교수일 경우 --> 이름 / 사번 / 입사일 / 전공 등 - Behavior: Object가 할 수 있는 일 ex. 교수일 경우 --> 수업하기, 학점 결정 등 object는 다른 object의 데이터를 쓸 수 없다. --> 단 get/set 함수가 열려 있으면 가능하다. (object collaboration) # Class object을 만드는 틀 class object들은 같은 attribute, operation을 가진다. (Instant..