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>> : 인터페이스를 통해 패키지 내외 객체에 접근하여 이용하는 관계
'정보처리기사_실기' 카테고리의 다른 글
| [정보처리기사 실기]Section 001 소프트웨어 생명 주기 ~ Section 007 요구사항 분석 (0) | 2023.06.26 |
|---|---|
| [정보처리기사 실기] 요구사항 확인 목차 (0) | 2023.06.24 |