Object-Oriented Development

doran·2024년 10월 14일

Associate Architecture

목록 보기
1/6

OOD(Obejct-Oriented Development


Software Development

  1. Natural Language(Description of Problems/through Identyfying Requirements)
  2. Prgramming Language(Description of Solutions/through Designing Programs)
    • Procedural Programming(SASD) : 절차지향, C, Fortran
    • Object-Oriented Programming(OOAD) : 객체지향, C++ Java
  3. Program Execution with Computer System
Software Development = 1 + 2 + 3 

Object-Oriented Programming

  • 언어 : C++, Java, Ada
  • Object 가 중심이 되는 언어로써 Object 간 Communication 이 잘 되는 것이 핵심
    • Object : Data + Operation
    • Object Communication : Call

OOAD (Object-Oriented Analyses and Design)

- Object-Oriented Programming 을 통한 Software Development 방법론
- OOA + OOD

OOA (Object-Oriented Analysis)

  • ⭐️ Domain concepts/objects Identify(찾기)
    - SW, 사용 환경, 사람, 법, 다른 기계들

    Domain Model

  • Requirement Identify(찾기)

    Use Case Diagram = Functional Requirement

OOD (Object-Oriented Design)

  • Software Object 더 정확히 정의 (static model)
    - 5가지 관계 정의, operation 정의

    Class Diagram

  • Collaborate 하는 방법 정의 (dynamic model)

    Sequence Diagram

	* interaction diagrmas 는 category 이다.
    * 모든 Use Case에 대한 Domain Model 을 다 그리고, 그 후에 Interaction Diagram 그리고 Class Diagram 의 Operation 채운다. (Waterfall)
    * 개발할 만큼만 그리고 채우고, 그 다음꺼 그리고 채우기 반복하면 (Iteration)
    

Iterative Model - UP

Rational Unified Process(RUP) or UP (개념)

  • OO software 를 만드는 실질적인 표준

  • Iterative(Incremental, Evolutionary)

    • 3주에 한번씩 small waterfall 이 반복
  • ⭐️ Risk-driven

    • Client-driven
      - Client 가 중요하게 생각하는 Requirement(UI/UX) 다 찾아서 미리 구현해서 Requirement workshop(3주마다) 에서 미리 정확히 정의한다. (요구공학)
    • Architecture-centric
      - 반드시 필요한 구조가 있는 경우를 미리 다 찾아야 한다.
      • 최종 Architecture 를 미리 고정해야한다. (elaboration 단계에서 fix)
        ex) Client-Server 구조가 아닌 Standalone 구조
  • Use-Case-driven

  • 4 Phases and 9 Disciplines

profile
Hi :)

0개의 댓글