Part 1. 요구사항 확인 (분석 모델 확인)

Codren·2021년 4월 1일
0

정보처리기사 실기 Part 1. 요구사항 확인 (분석 모델 확인 )


Section 1. 분석 모델

1. 분석 모델의 종류

  • 구조적 분석 모델, 객체 지향 분석 모델, 정보공학 분석 모델, 정형화 분석 모델



2.구조적 분석 모델

  • " 사용자의 요구사항을 파악하기 위하여 자료의 흐름과 가공 절차를 그림 중심으로 표현하는 방법 "
  • 하향식 분석 모델
  • 자료흐름도 -> 자료사전 -> 소단위 명세서



3. 자료 흐름도

  • " 시스템 내의 모든 자료 흐름을 4가지의 기호 (처리, 자료흐름, 자료 저장소, 단말)로 기술하는 방법 "



4. 자료 사전

  • " 자료 흐름도에 있는 자료를 상세히 기록한 것 "
  • = 정의, + 연결, () 생략, [|] 선택, {} 반복, ** 설명



5. 소단위 명세서

  • " 자료 흐름도의 최하위 단계 처리 공정의 절차를 기술한 것 "



6. 상태 전이도

  • " 시스템 이벤트 발생시 시스템의 상태 변화를 모델링하는 것 "



Section 2. 분석 모델 검증

1. 분석 모델 검증 절차

  • 사례 모델 검증 -> 개념 수준 분석 클래스 검증 -> 분석 클래스 검증



2. 클래스간 다중성 표기법

    ① * : 0 또는 그 이상
    ② 0..* : 0 또는 그 이상
    ③ 1..* : 1 또는 그 이상
    ④ 0..1 : 0~1 사이
    ⑤ 1,2..6 : 1 또는 2~6사이



3. 스테레오 타입

  • " UML 기본 요소 외에 새로운 사용자 정의 분류를 적용하는 UML 확장 매커니즘 << >>로 표시 "



4. 소프트웨어 개발 자동화 도구 (CASE)

  • " 소프트웨어 개발 과정 일부 또는 전체를 자동화하기 위한 도구 "
  • " 요구사항 자동분석 및 분석 명세서 기술 "



Section 3. 개념 모델링

1. 개념 모델링

  • " 실제세계의 정보구조를 개체(Entity)와 관계(Relation) 중심으로 명확하고 체계적으로 표현하는 것 "



2. 럼바우 객체 지향 분석 기법

    ① 객체 모델링 - 객체 다이어그램
    ② 동적 모델링 - 상태 다이어그램 (시간의 흐름)
    ③ 기능 모델링 - 자료흐름도



3. UML

  • " 객체지향 S/W 개발과정에서 산출물을 명세, 시각, 문서화할 때 사용되는 모델링 기술과 방법을 통합하여 만든 모델링 언어 "



4. UML 특성

  • 비주얼화, 문서화, 명세화, 구축



5. UML 관점

  • 기능적 관점, 정적 관점, 동적 관점



6. UML 구성

  • 사물, 관계, 다이어그램



7. UML 접근 제어자(지정자)

    ① + Public
    ② - Private
    ③ # Protected
    ④ ~ Package



8. 구조적 다이어그램

  • " 정적이고 구조적인 표현을 위한 다이어그램 "
  • 클래스, 객체, 컴포넌트, 배치, 패키지, 복합체 구조



9. 행위적 다이어그램

  • " 동적이고 순차적인 표현을 위한 다이어그램 "
  • use case, activity (자료흐름), sequence state (시간흐름)



10. 클래스 다이어그램

  • " 시스템을 구성하는 객체와 객체간의 관계를 추상화한 모델을 논리적인 구조로 표현 "
  • 객체지향 개발에서 사용
  • 분석, 설계, 구현 단계 전반에 걸쳐 사용



11. 일반화 / 집합 / 포함(복합) / 실체화

    ① 일반화 (Generalization) - 상속
    ② 집합 (Aggregation) - 라이프사이클 독립
    ③ 포함=복합 (Composition) - 라이프사이클 종속
    ④ 실체화 (Realization) - 인터페이스를 구현



11. Use Case 다이어그램

  • " 사용자의 요구사항을 기능적 측면에서 기술할 때 사용 "
  • 외부적 관점
  • 시스템 경계, 액터, 유스케이스 등등



Section 4. 디자인 패턴

1. 디자인 패턴

  • " 객체지향 설계 시 반복적인 문제들에 대한 솔루션 "
  • Gof (Gang of four)



2. 디자인 패턴 구성 요소

  • 필수 요소 - 패턴 이름, 문제 및 배경, 해법(해결법), 결과
  • 추가 요소 - 사례, 샘플 코드, 예제



3. Gof 디자인 패턴

    ① 생성 패턴 - " 객체를 생성하는 것과 관련된 패턴 "
    ② 구조 패턴 - " 복잡한 형태의 구조를 갖는 시스템을 개발하기 쉽게 만들어주는 패턴 "
    ③ 행위 패턴 - " 반복적으로 사용되는 객체의 행위 또는 객체들의 상호작용을 패턴화 "



4. 생성 패턴

    ① Factory Method - " 객체를 생성하기 위한 인터페이스를 정의하며 서브 클래스가 객체 생성 "
    ② Singleton - " 오직 하나의 객체만 생성 "
    ③ Prototype - " 원본 객체를 복제하여 객체를 생성 "
    ④ Builder - " 인스턴스를 조합하여 객체 생성 "
    ⑤ Abstract Factory - 구체적인 클래스에 의존하지 않고 서로 연관 되거나 의존적인 객체들의 조합을 만드는 인터페이스 제공



5. 구조 패턴

    ① Adapter - " 호환성이 없는 인터페이스 때문에 함께 사용할 수 없는 클래스를 개조하여 함께 작동 시킴 "
    ② Bridge - " 기능 클래스와 구현 클래스 계층을 연결 "
    ③ Decorator - " 객체의 결합을 통해 기능을 동적으로 확장 "
    ④ Facade - " 서브시스템과 외부 사이의 인터페이스 단순화 "
    ⑤ Flyweight - " 인스턴스를 매번 생성하지 않고 공유해 메모리를 효과적으로 사용 "
    ⑥ Froxy - " 접근이 어려운 객체에 연결하려는 다른 객체와 인터페이스 역할 수행 "
    ⑦ Composite



6. 행위 패턴

    ① Command - " 요청을 객체로 캡슐화하며 오퍼레이션 취소 가능 "
    ② Interpreter - " 언어에 따라서 문법에 대한 표현 정의 "
    ③ Iterator - " 복합 객체 원소를 순차적으로 접근할 수 있는 방법을 제공 "
    ④ Mediator - " 객체간의 상호작용을 캡슐화하며 참조 관계를 객체에서 분리 (M:N -> 1:N)
    ⑤ Memento - " 객체 상태를 저장하여 나중에 객체가 이전 상태로 복구 가능하게 한다 "
    ⑥ Observer - " 객체 사이의 일대다 관계로써 한 객체가 변하면 자동으로 다른 객체들도 수정 "
    ⑦ State - " 내부 상태에 따라 행위 변경 "
    ⑧ Strategy - " 알고리즘군이 존재하며 알고리즘을 다양하게 변경 "
    ⑨ Template Method - " 알고리즘의 처리 과정만 정의하고 수행할 구체적 처리는 서브클래스에서 정의 "
    ⑩ Visitor



7. 아키텍처 패턴과 디자인 패턴

  • 아키텍처 패턴이 더 상위 설계임
  • 아키텍처 패턴 - 시스템 전체 구조 설계
  • 디자인 패턴 - 서브시스템 내 컴포넌트와 그들간의 관계 구성 참조 모델



8. 디자인 패턴 구조

  • context, problem, solution

0개의 댓글