본문 바로가기

정보처리기사

분석 (참고) 모델

분석 (참고) 모델개념

 

분석 모델은 소프트웨어 개발 과정에서 시스템을 이해하고 설계하기 위해 사용되는 추상적인 표현입니다. 구조적 분석, 객체지향 분석, 정보공학 분석 및 정형화 분석은 주로 사용되는 분석 모델의 유형입니다.

  1. 구조적 분석(Structured Analysis):
    • 구조적 분석은 소프트웨어 시스템을 데이터 흐름, 데이터 저장소 및 처리 기능으로 분해하여 시스템의 구조를 분석하는 기법입니다. 주로 데이터 흐름 다이어그램, 자료 사전 및 자료 사전 표를 사용하여 시스템의 기능과 데이터 흐름을 모델링합니다.
  2. 객체지향 분석(Object-Oriented Analysis, OOA):
    • 객체지향 분석은 현실 세계의 개체(Entity)와 개체 간의 상호작용을 기반으로 시스템을 분석하는 기법입니다. 객체, 클래스, 상속 등의 개념을 사용하여 시스템의 구조와 기능을 모델링하며, 주로 클래스 다이어그램, 객체 다이어그램 등의 모델을 사용합니다.
  3. 정보공학 분석(Information Engineering, IE):
    • 정보공학 분석은 데이터 중심의 시스템을 분석하고 설계하기 위한 기법입니다. 데이터 흐름, 자료 사전, 엔터티 관계 다이어그램 등의 모델을 사용하여 시스템의 데이터 요구사항을 분석하고 명세화합니다.
  4. 정형화 분석(Formal Analysis):
    • 정형화 분석은 수학적 기호나 언어를 사용하여 시스템의 동작을 정형화하고 검증하는 기법입니다. 주로 수학적 모델, 특히 형식적인 언어나 기호를 사용하여 시스템의 속성을 분석하고 검증합니다.

 

구조적 분석 모델

  1. 자료 흐름도(Data Flow Diagram, DFD):
    • 자료 흐름도는 시스템 내에서 데이터의 흐름을 그래픽으로 표현하는 도구입니다. 주로 원과 화살표로 표시되며, 데이터의 흐름 경로와 처리 과정을 나타냅니다.
  2. 자료 흐름도의 작성 원칙:
    • 자료 흐름도를 작성할 때는 시스템의 입력, 출력, 처리 과정을 식별하고, 이들 간의 관계와 상호작용을 명확하게 표현해야 합니다. 또한 모든 데이터 흐름이 처리되고 유지되는지를 확인하여 시스템의 완전성을 보장해야 합니다.
  3. 자료 흐름도의 구성요소:
    • 자료 흐름도는 기본적으로 외부 개체(external entity), 데이터 흐름(data flow), 처리 과정(process)으로 구성됩니다. 이들 요소는 데이터의 흐름 경로와 처리 과정을 명확하게 설명하고 시스템의 구조를 이해하는 데 도움을 줍니다.
  4. 자료 사전(Data Dictionary):
    • 자료 사전은 시스템에서 사용되는 모든 데이터 요소와 이들의 정의, 속성 등을 기록하는 문서입니다. 자료 사전은 자료 흐름도와 함께 사용되며, 데이터 요소의 일관성과 정확성을 보장하는 데 사용됩니다.
  5. 소단위 명세서(Subprocess Specification):
    • 소단위 명세서는 자료 흐름도의 처리 과정을 세부적으로 설명하는 문서입니다. 각 처리 과정의 입력, 출력, 처리 과정, 제어 조건 등을 상세히 기술하여 시스템의 동작을 명확하게 이해할 수 있도록 돕습니다.
  6. 개체 관계도(Entity Relationship Diagram, ERD):
    • 개체 관계도는 시스템 내에서 사용되는 개체와 개체 간의 관계를 그래픽으로 표현하는 도구입니다. 주로 개체, 속성, 관계로 구성되며, 시스템의 데이터 모델을 이해하는 데 사용됩니다.
  7. 상태 전이도(State Transition Diagram):
    • 상태 전이도는 시스템이 갖는 상태와 상태 간의 전이를 그래픽으로 표현하는 도구입니다. 주로 상태, 이벤트, 전이 등으로 구성되며, 시스템의 상태 전이 및 동작을 설명하는 데 사용됩니다.

객체지향 분석 모델

객체지향 분석 모델은 소프트웨어를 현실 세계의 객체와 객체 간의 상호작용으로 모델링하는 방법론입니다. 이 모델은 다양한 요소들을 사용하여 소프트웨어 시스템을 이해하고 설계합니다. 주요 개념은 다음과 같습니다:

  1. 객체(Object): 현실 세계의 개체(Entity)를 나타내는 소프트웨어 요소로, 속성과 메서드로 구성됩니다. 객체는 시스템 내의 다른 객체와 상호작용합니다.
  2. 클래스(Class): 비슷한 특성과 행동을 가진 객체들을 묶어놓은 추상화된 개념입니다. 클래스는 객체를 생성하기 위한 템플릿 역할을 합니다.
  3. 상속(Inheritance): 하나의 클래스가 다른 클래스의 특성을 상속받아 재사용하는 개념입니다. 상속을 통해 클래스 간의 계층 구조를 형성할 수 있습니다.
  4. 다형성(Polymorphism): 동일한 이름의 메서드가 서로 다른 형태로 동작할 수 있는 특성을 의미합니다. 다형성을 통해 코드의 유연성이 증가하고 재사용성이 높아집니다.
  5. 캡슐화(Encapsulation): 데이터와 메서드를 하나의 단일 단위로 묶어 정보 은닉을 통해 보호하는 개념입니다. 캡슐화를 통해 객체의 내부 구현을 외부로부터 숨길 수 있습니다.
  6. 연관 관계(Association): 클래스들 간의 관계를 나타내며, 한 클래스가 다른 클래스를 참조하는 것을 의미합니다. 예를 들어, 주문 클래스와 제품 클래스 간의 관계는 주문이 제품을 포함하고 있음을 나타낼 수 있습니다.

객체지향 분석 모델은 UML(Unified Modeling Language)과 함께 사용되어 시스템을 시각적으로 표현하고 이해하는데 도움을 줍니다. UML은 클래스 다이어그램, 시퀀스 다이어그램, 상태 다이어그램 등의 다양한 다이어그램을 제공하여 소프트웨어 시스템을 모델링합니다.

 
 
 
 

'정보처리기사' 카테고리의 다른 글

분석 모델 검증  (0) 2024.03.21
객체지향 분석 모델  (0) 2024.03.21
요구사항 관리  (0) 2024.03.21
요구사항 개발  (0) 2024.03.21
개발 기술 환경 분석  (0) 2024.03.21