[정보처리기사_필기] 1-1. 요구사항 확인 - 3

팔랑이·2023년 6월 26일
0

정보처리기사

목록 보기
3/20
post-thumbnail

7. 요구사항 분석 (⭐️⭐️⭐️⭐️)

1) 개요

개발의 실질적인 첫 단계, 사용자의 요구 이해하고 문서화

  • 타당성 조사 및 비용, 일정 제약 설정
  • 요구 정확히 추출, 방법 분석
  • 정확하고 일관성있게 분석하여 문서화

2) 구조적 분석 기법

자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법

  • 도형중심의 분석용 도구/절차 : 분석가와 사용자간 대화 용이
  • 하향식 방법 (기능을 전체->상세 수준으로 단계별 분리해 모델링) 사용하여 시스템 세분화, 분석의 중복 배제
  • DFD, DD, Mini-Spec., ERD, STD, 제어명세서 등

3) 자료흐름도(DFD; Data Flow Diagram)

자료의 흐름 및 변환과정과 기능을 도형중심으로 기술, 자료 흐름 그래프 또는 버블 차트라고도 함.

  • 프로세스(Process), 자료 흐름(Data Flow), 자료 저장소(Data Store), 단말(Terminator) -> 구성요소 이름들 영어로도 외우기

4) 자료사전(DD; Data Dictionary)

자료 흐름도에 있는 자료 더 자세히 기록, Meta Data의 개념

= : 자료의 정의 (~로 구성되어 있다)
+ : 자료의 연결 (그리고 and)
( ) : 자료의 생략 (Optional)
[ | ] : 자료의 선택 (or)
{ } : 자료의 반복 (Iteration of)
* * : 자료의 주석 (Comment)


8. 요구사항 분석 CASE와 HIPO (⭐️⭐️⭐️)

1) 요구사항 분석 위한 CASE (자동화 도구)

자동으로 요구사항 분석, 명세서 기술하도록 개발된 도구

  • SADT (Structured Analysis and Design Technique) : SoftTech사 개발, 널리 이용되어 온 구조적 분석 및 설계도구, 블록다이어그램 채택
  • SREM (Software Requirements Engineering Methodology) = RSL/REVS: TRW 사가 우주 국방 시스템 그룹에 의한 실시간 처리 소프트웨어 시스템에서 요구사항 명확히 기술하도록 할 목적으로 개발

    RSL: 요소, 속성, 관계, 구조 기술
    REVS: RSL로 기술된 요구사항 분석하여 분석명세서 출력

  • PSL / PSA

    PSL : 문제(요구사항) 기술 언어
    PSA: PSL이 기술한 요구사항 자동 분석하여 다양한 보고서 출력

  • TAGS(Technology for Automated Generation of Systems): 개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구, IORL: 요구사항 명세 언어

2) HIPO(Hierarchy Input Process Output)

  • 입력, 처리, 출력의 기능
  • 하향식 소프트웨어 개발, 체계적 관리
  • 기호 도표 등 사용하여 기능과 자료의 의존관계 동시 표현 가능
  • 변경 유지보수 용이

HIPO Chart: 시스템의 기능 여러 모듈로 분할하여 이들간의 인터페이스 계층구조 표현한 것

  • 가시적 도표(도식 목차, Visual Table of Contents): 전체적 기능 Tree 구조도
  • 총체적 도표(총괄도표, 개요도표, Overview Diagram): 프로그램 구성 기능, 입력 처리 출력 전반적정보제공
  • 세부적 도표(상세도표, Detail Diagram): 총체적도표 표시된 기능 구성하는 기본요소 상세 기술

9. UML(Unified Modeling Language) (⭐️⭐️⭐️⭐️)

1) 개요

개발자-고객 상호 의사소통 원활히 이루어지도록 표준화한 대표적 객체지향 모델링 언어

  • 구성 요소: 사물(Things), 관계(Relationships), 다이어그램(Diagarm)

2) 사물(Things)

구조 사물, 행동 사물, 그룹 사물, 주해(Annotation) 사물

3) 관계(Relationships)

연관관계 (Association): 2개 이상의 사물이 서로 관련되어 있음을 표현

  • 사물사이 실선연결, 방향성은 화살표, 다중도 표현
  • 양방향 관계면 화살표 생략 only 실선

    다중도
    1: 1개의 객체가 연관
    n: n개의 객체가 연관
    0..1: 0 or 1개의 객체가 연관
    0..* or * : 0 or 다수의 객체가 연관
    1..* : 1개 이상의 객체가 연관
    n..* : 적어도 n개 이상의 객체가 연관
    n..m : n개 이상 m개 이하의 객체가 연관

집합관계 (Aggregation): 하나의 사물이 다른 사물에 포함

  • 포함하는 쪽(전체)과 포함되는 쪽(부분)은 서로 독립적
  • 부분에서 전체로 속이 빈 마름모를 연결하여 표현

포함관계 (Composition): 포함하는 사물의 변화가 포함되는 사물에 영향 미치는 관계

  • 독립X, 생명주기 함께함
  • 부분에서 전체로 속이 채워진 마름모로 표현

일반화관계 (Generalization): 하나의 사물이 다른 사물에 비해 더 일반적인지, 구체적인지 표현

  • 일반적 개념 = 상위, 구체적 개념 = 하위
  • 하위 -> 상위로 속이 빈 화살표 연결

의존관계 (Dependency): 연관은 있으나 짧은시간동안만 연관 유지

  • 소유관계는 아니나 하나가 다른쪽에 영향을 미침
  • 일반적으로 하나가 다른쪽의 매개변수로 사용될때
  • 영향 주는 사물이 받는 사물 쪽으로 점선화살표 연결

실체화관계(Realization): 사물이 할 수 있거나 해야 하는 기능 (오퍼레이션, 인터페이스)으로 서로를 그룹화 할 수 있는 관계 표현

  • 사물에서 기능쪽으로 속이 빈 점선화살표 연결

4) 다이어그램

사물과 관계를 도형으로 표현

  • 정적모델링 - 구조적 다이어그램, 동적모델링 - 행위 다이어그램

구조적 다이어그램

  • 클래스 다이어그램: 클래스 사이의 관계 표현
  • 객체 다이어그램: 객체(인스턴스) 사이의 관계 표현 / 럼바우
  • 컴포넌트 다이어그램: 실제 구현모듈인 컴포넌트 간의 관계 또는 인터페이스 표현, 구현 단계에서 사용
  • 배치 다이어그램: 결과물, 프로세스, 컴포넌트 등의 물리적 요소 위치 표현, 노드와 의사소통 경로로 표현
  • 복합체 구조 다이어그램: 클래스나 컴포넌트가 복합 구조 갖는 경우, 그 내부구조 표현
  • 패키지 다이어그램: 유스케이스, 클래스 등의 모델요소 그룹화한 패키지 관계 표현

행위 다이어그램

  • 유스케이스 다이어그램: 사용자와 사용 사례로 구성되는 요구 분석 기능 모델링 작업에서 사용
  • 시퀀스 다이어그렘: 상호작용 시스템/객체 주고받는 메시지 표현
  • 커뮤니케이션 다이어그램: 시퀀스 다이어그램에서 메시지 + 객체연관관계 표현
  • 상태 다이어그램: 다른객체와의 상호작용에 따른 상태 변화 표현 / 럼바우
  • 활동 다이어그램: 객체의 처리 로직이나 조건에 따른 처리 흐름 표현
  • 상호작용 개요 다이어그램: 상호작용 다이어그램간의 제어 흐름 표현
  • 타이밍 다이어그램: 객체 상태 변화와 시간제약 명시적 표현

참고) 스테레오타입(Stereotype)

: UML에서 표현하는 기본 기능 외에 추가적 기능 표현하기 위해 사용
: 길러멧이라고 부르는 겹화살괄호 <<.>> 사이에 표현할 형태 기술


10. 주요 UML 다이어그램 (⭐️⭐️⭐️⭐️)

1) 유스케이스(Use Case) 다이어그램
사용자와 외부시스템 기능을 사용자의 관점(View) 에서 표현
외부요소와 시스템간의 상호작용 확인
UML - 다이어그램 - 동적모델링 (행위 다이어그램)

구성 요소

  • 시스템 범위: 시스템 내부 기능을 외부시스템과 구분 위해 내부 유스케이스를 사각형으로 묶어 시스템 범위 표현
  • 액터: 외부요소, 사람, 외부시트템

    주액터: 시스템으로부터 이득 얻는 대상 (사람)
    부액터: 주액터 목적달성 위해 서비스 제공하는 외부시스템(조직, 기관 등)

  • 유스케이스: 사용자 관점에서 시스템이 액터에게 제공하는 서비스, 기능
  • 관계: 액터-유스케이스, 유스케이스-유스케이스 사이의 관계로, 포함/확장/일반화 3종류의 관계가 있음

2) 클래스 다이어그램
클래스 - 속성 및 오퍼레이션 - 제약조건 사이의 관계 표현
시스템 구성요소 문서화 및 이해
코딩에 필요한 객체 속성, 함수 등의 정보 표현하여 시스템 모델링하는데 자주 사용
UML - 다이어그램 - 정적모델링 (구조 다이어그램)

구성 요소

  • 클래스: 각 객체가 갖는 속성과 오퍼레이션(동작), 3개 구획 나눠 클래스의 이름, 속성, 오퍼레이션 표기
  • 제약조건
  • 관계: 클래스-클래스 사이 관계, 연관/집합/포함/일반화/의존 관계 있음

3) 시퀀스 다이어그램
시스템이나 객체들이 메시지 주고받으며 시간의 흐름에 따라 상호작용하는 것을 그림으로 표현
UML - 다이어그램 - 동적모델링 (행위 다이어그램)

구성 요소

  • 액터
  • 객체
  • 생명선: 객체가 메모리에 존재하는 기간, 객체 아래쪽에 점선 그어 표현
  • 실행 상자: 메시지 주고받으며 구동되고 있음 표현
  • 메시지: 상호작용 위해 주고받는 메시지

참고 도서 📚
2022 시나공 정보처리기사 필기

profile
정체되지 않는 성장

0개의 댓글