본문 바로가기

정보처리기사_실기

[정보처리기사 실기]Section 008 요구사항 분석 CASE와 HIPO ~ Section 018 패키지 다이어그램

008 요구사항 분석 CASE와 HIPO

1. 요구사항 분성용 CASE (자동화 도구)

CASE 도구의 필요성

: 대규모 개발 프로젝트에서는 다양한 이해관계자들이 요구 사항 명세서를 검토해야 하고 요구사항 명세서에 대해 형상관리를 수행해야 하기 때문에 요구사항 관리 툴을 사용한다. 또한 요구사항 변경을 추적하고 분석 및 관리할 수 있으며 표준 준수 여부를 확인할 수 있다. 또 분산된 환경에서 다양한 이해 관계자가 공동 작업할 수 있으며 , 테스트 연계 및 결함 관리 등의 기능을 제공하기 때문에 시스템 구축 업무를 효율적으로 수행할 수 있다.

 

형상관리

 

:소프트웨어의 생산물(프로그램 , 문서, 데이터 등)을 확인하고 소프트웨어 통제, 변경 상태를 기록하고 보관하는 일련의 작업이다.

 

20년 2회 실기 기출

소프트웨어 (  )는 변경 제어, 개발 전반 산출물에 대하여 관리한다. 관리 도구로 git SvN 등이 있다.

답: 형상관리

 

2. HIPO

HIPO (Hierarchu Input Process Output)

특징

 

- 분석, 설계 ,문서화에 사용되는 도구이며, 기본 시스템 모델은 입력,처리,출력 입력, 처리, 출력으로 구성된다.

- 하향식 소프트웨어 개발을 위한 문서화 도구로서 이해하기 쉽다

- 변경, 유지 보수 용이

 

HIPO Chart종류

 

1) 가시적 도표 = 구조도

- 시스템 전체적인 기능과 흐름을 보여주는 계층(tree) 구조도

2) 총체적 다이어그램 = 개요 도포 집합

- 입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표

3) 세부적 다이어그램 = 상세 도표 집합

- 총체적 다이어그램을 상세 기술하는 도표

009 UML(Unified Modeling Language)의 개요

UML 

객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 랑 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어이다.

 

UML은 사물 관계 다이어그램으로 구성된다.

 

  • 사물: 다이어그램 안에서 관계가 형성될 수 있는 대상들을 말한다.
    • 구조 사물 :시스템의 개념적 , 물리적 요소를 표현 클래스 / 유스케이스 / 컴포넌트/ 인터페이스 / 노드 등
    • 행동 사물: 시간과 공간에 따른 요소들의 행위를 표현 상호작용 / 상태머신
    • 그룹 사물: 요소들을 그룹으로 묶어서 표현 / 패키지
    • 주해 사물: 부가적인 설명이나 제약 조건등을 표현

010 UML - 관계 (Relationships)

  • 관계(Relationships): 사물과 사물 사이의 연관성을 표현하는 것이다.
    • 연관 관계 (Association): 2개 이상의 사물이 서로 관련되어 있는 관계
    • 집합 관계 (Aggregation): 하나의 사물이 다른 사물에 포함되어 있는 관계 [ 컴퓨터 ◇━ 프린터 ]
    • 포함 관계 (Composition): 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에 영향을 미치는 관계[ 문 ◆━ 키 ]
    • 일반화 관계 (Generalization) : 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계                                                                      [ 커피 ◁━ 아메리카노 ]
    • 의존 관계 (Dependency) : 의존 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계                                                                        [ 등급 ---▷ 할인율 ]
    • 실체화 관계(Realization): 사물이 할 수 있거나 해야 하는 기능으로, 서로를 그룹화 할 수 있는 관계                                                                  [ 날 수 있다 ◁ --- 비행기 / 새 ]

011 UML - 다이어그램 (Diagram)

  • 다이어그램 : 사물과 관계를 도형으로 표현한 것이다. 여러 관검에서 시스템을 가시화한 뷰 를 제공함으로써 의사소통에 도움이 된다

구조적 다이어그램 (Structural Diagram)

  • 클래스 다이어그램
  • 객체 다이어그램
  • 컴포넌트 다이어그램
  • 배치 다이어그램
  • 복합구조체 다이어그램
  • 패키지 다이어그램

행위적 다이어그램 (Behavioral Diagram)

  • 유스케이스 다이어그램
  • 순차/시퀀스 다이어그램
  • 커뮤니케이션 다이어그램
  • 상태 다이어그램
  • 활동 다이어그램
  • 상호작용 개요 다이어그램
  • 타이밍 다이어그램

스테레오 타입 (Stereotype)

  • UML에서 표현하는 기본 기븡 외에 추가적인 기능을 표현하는 것이다.
  • 길러멧 이라고 부르는 겹화살괄호 << >>사이에 표현할 형태를 기술한다

 012 유스케이스(Use Case) 다이어그램

1. 기능적 모델링 

 

- 사용자의 요구사항을 분석하여 개발될 시스템이 갖춰야 할 기능을 정리한 후 사용자와 함께 정리된 내용을 공유하기 위해 그림으로 표현한 것이다. 

- 기능 모델링의 종류

  • 유스케이스 다이어 그램
  • 액티비티 다이어그램 

2. 유스케이스 다이어그램 

 

- 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것이다.

- 외부 요소와 시스템 간의 상호작용을 확인할 수 있다.

 

3. 유스케이스 다이어그램 구성요소

구성요소 내용
시스템 / 시스템 범위 - 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현한 것
액터 (Actor) 주 액터 / 부 액터 - 시스템과 상호작용을 하는 모든 외부 요소
- 주로 사람이나 외부 시스템을 의미함
- 주액터 : 시스템을 사용함으로써 이득을 얻는 대상으로, 주로 사람이 해당된다.
- 부액터 : 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템으로, 조직이나 기관 등이 될 수 있음
유스케이스 - 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 표현한것
관계 ( 포함 / 확장 / 일반화 ) - 유스케이스 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음 
- 유스케이스에서 나타날 수 있는 관계: 포함 (Inculde) 관계, 확장 (Extends)관계, 일반화 ( Generalization) 관계

013 활동(Activity) 다이어그램

1. 활동 다이어그램 

 

- 활동 다이어그램은 사용사의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것이다.

- 하나의 유스케이스 안에서 혹은 유스테이스 사이에 발생하는 복잡한 처리의 흐름을 명확하게 표현할 수 있다.

 

2. 활동 다이어그램 구성요소 

  • 액션 / 액티비티 
  • 시작 노드
  • 종료 노드
  • 조건 노드
  • 병합 노드
  • 포크 노드
  • 조인 노드
  • 스윔레인 

014 클래스 (Class) 다이어그램

1. 정적 모델링

 

- 정적 모델링은 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것이다.

- 정적 모델링은 객체들을 클래스로 추상화하여 표현한다.

 

2. 클래스 다이어그램

 

-  클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것이다.

- 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램이다.

 

3. 클래스 다이어그램 구성 요소

  • 클래스
  • 제약조건
  • 관계

4. 연관 클래스

 

- 연관 클래스는 연관 관계에 있는 두 클래스에 추가적으로 표현해야 할 속성이나 오퍼레이션이 있는 경우 생성하는 클래스이다. 

015 순차 다이어그램

1. 동적 모델링

 

- 동적 모델링은 시스템의 내부 구성 요소들의 상태 변화 과정과 과정에서 발생하는 상호 작용을 표현한 것이다.

- 시스템 내부 구성 요소들 간에 이루어지는 동작이라는 관점에서 표현

- 시스템이 실행될 때 구성 요소들 간의 메시지 호출, 즉 오퍼레이션을 통한 상호 작용에 초점을 둔다

- 동적 모델링의 종류

  • 순차 다이어그램
  • 커뮤니케이션 다이어그램
  • 상태 다이어그램

2. 순차 다이어그램

 

- 시스템이나 객체들이 메시지를 주고받으며 상호 작용하는 과정을 그림으로 표현한 것이다.

- 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 표현한다.

- 각 동작에 참여하는 시스템이나 객체들의 수행 기간을 확인할 수 있다.

 

3. 순차 다이어그램 구성 요소

  • 액터 (Actor) : 시스템으로부터 서비스를 요청하는 외부 요소, 사람이나 외부 시스템을 의미함
  • 객체 (Object) : 메시지를 주고받는 주체
  • 생명성 (Lifeline) : 객체가 메모리에 존재하는 기간으로, 객체 아래쪽에 점선을 그어 표현함
  • 실행상자 (Active Box) 객체가 메시지를 주고받으며 구동되고 있음을 표현함
  • 메시지 (Message): 객체가 상호 작용을 위해 주고받는 메시지
  • 객체 소멸 : 해당 객체가 더 이상 메모리에 존재하지 않음을 표현한 것
  • 프레임 (Frame) : 다이어그램의 전체 또는 일부를 묶어서 표현한 것

016 커뮤니케이션 (Communicaition) 다이어그램

1. 커뮤니케이션 다이어그램

 

- 시스템이나 객체들이 메시지를 주고받으며 상호 작용하는 과정과 객체들 간의 연관을 그림으로 표현한 것이다.

- 동작에 참여하는 객체들 사이의 관계를 파악하는 데 사용된다.

 

2. 커뮤니케이션 다이어그램 구성요소

  • 액터 (Actor) : 시스템으로부터 서비스를 요청하는 외부 요소, 사람이나 외부 시스템을 의미함
  • 객체 (Object) : 메시지를 주고받는 주체
  • 링크 (Link) : 객체들 간의 관계를 표현한 것 / 액터와 객체, 객체와 객체 간의 실선을 그어 표현한다
  • 메시지 (Message): 객체가 상호 작용을 위해 주고받는 메시지

017 상태 (State) 다이어그램

1. 상태 다이어그램

 

- 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것이다.

- 특정 개게 가 어떤 이벤트에 의해 상태 변환 과정이 진행되는지 확인하는 데 사용된다.

 

2. 상태 다이어그램 구성요소 

  • 상태 (State) : 객체 상태를 표현한 것
  • 시작 상태 
  • 종료 상태
  • 상태 전환 : 상태 사이의 흐름, 변화를 화살표로 표현한 것
  • 이벤트 (Event) : 상태에 변화를 주는 현상
  • 프레임 (Frame) : 상태 다이어그램의 범위를 표현한 것

018 패키지 (Package) 다이어그램

1. 패키지 다이어그램

 

- 패키지 다이어그램은 유스케이스나 클래스 등의 요소들을 그룹화한 패키지 간의 의존관계를 표현한 것이다.

- 패키지는 또 다른 패키지의 요소가 될 수 없다. 

- 대규모 시스템에서 주요 요소 간의 종속성을 파악하는 데 사용한다.

 

2. 패키지 다이어그램의 구성 요소

  • 패키지 (package) : 객체들을 그룹화한 것
    • 단순 표기법 : 패키지 안에 패기지 이름만 표현
    • 확장 표기법 : 패키지 안에 요소까지 표현
  • 객체 (Object) : 유스케이스, 클래스, 인터페이스, 테이블 등 패키지에 포함될 수 있는 다양한 요소들
  • 의존 관계 (Dependency) 
    • 패키지와 패키지, 패키지와 객체 간을 점선 화살표로 연결하여 표현함
    • 스테레오타입을 이용해 의존 관계를 구체적으로 표현할 수 있음
    • 의존 관계의 표현 형태는 사용자가 임으로 작성할 수 있으며, 대표적으로 import와 access가 사용됨
      • <<import>> : 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계
      • <<access>> : 인터페이스를 통해 패키지 내외 객체에 접근하여 이용하는 관계