ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OOP/UML] Object-Oriented Development
    Learn/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에서는 그렇지 않음 (Encapsulation)

     

    # SASD (Structured Analysis and Structured Design)

    기본 컨셉  --> Top-Down, Divide and Conquer

     

    DFD(Data Flow Diagram)을 통해 표현 --> 중요

    DFD에서는 데이터가 알아서 들어와서 계산되어 나가는 것 같지만 실제론 들어오고 나가는 곳도 구현이 필요

     

    SA(Structured Analysis) 단계에서는 DFD가, 

    SD(Structured Design) 단계에서는 Structured Chart가 중요

     

    # Object-Oriented Programming

    Object: data와 operation으로 구성

    Object들끼리 잘 소통하는게 OOP의 핵심

     

    <예시>

    -는 private, +는 public

    OOAD (Object-Oriented Analysis and Design)

    - OOA + OOD

     

    Object-Oriented Analysis (OOA)

    - 개발할 도메인의 컨셉과 오브젝트 찾기

    - 요구사항 정의하기

     

    Object-Oriented Design (OOD)

    - 오브젝트 정의하기 (더 자세하게)

       (static model --> 대표적으로 class diagram)

    - 요구사항을 충족하기 위해 오브젝트들이 어떻게 커뮤니케이션할지 정의하기

       (dynamic model --> 대표적으로 Sequence Diagram))

    OOA -> OOD 순으로 개발하는게 Waterfall 방식

    Iteration방식도 가능 --> Agile

     

    # Rational Unified Process (RUP) 또는 UP

    Waterfall, Iterative 방식등을 다 합친 개발 방식

    --> 전체는 Iterative이고 small waterfall cycle을 가짐. 

        --> 무조건 Iteration은 3주 단위. Agile과 다르게 무조건 3주. 

     

    Risk-driven (Client, Architecture)

    SI업체에서 많이 사용함. 표준이라고 보면 됨. 

    (뒤에서 다시 나옴)

     

    # QUIZ

    정답: 정답없음. 다 맞음. 굳이 굳이 따지자면 1번임. 방법론이 아니라 프로세스라서. 

    근데 일반적으론 다 맞음. 

     

    정답: 3번. Client, Architecture 모두 중요하다. 물론 보통 Architecture쪽에서 오는 Risk가 더 많긴 하다. 

     

     

     

     

     

    'Learn > OOP&UML' 카테고리의 다른 글

    [OOP/UML] Class Diagram  (0) 2022.08.12
    [OOP/UML] Use Case Diagram  (0) 2022.08.10
    [OOP/UML] UML  (0) 2022.08.09
    [OOP/UML] Principles  (0) 2022.08.06
    [OOP/UML] Object Oriented  (0) 2022.08.02

    댓글

Designed by Tistory.