정보처리기사 필기시험을 공부하면서 내용을 정리하고 있습니다. 이번 시간에는 소프트웨어공학 '전통적 개발 방법론' 과목은 '요구사항 분석', '설계', '구현', '시험', '유지보수' 단계 순으로 이루어집니다. 이 과정 중 이번 시간에는 요구사항 분석에 대해 공부한 내용을 정리해 보겠습니다.
정보처리기사 자격증을 획득하는 것은 정보통신기술자 수첩 중급을 획득하는 가장 빠른 방법이라 생각됩니다. 꼭 정보처리기사 자격증이여만 하는 것은 아니지만 제가 관심 있게 공부할 수 있는 기사 자격증 중에 하나라고 생각되어 시작하게 되었습니다.
목차
요구사항 분석
반응형
- 요구사항 분석의 개념
- 프로젝트를 이해할 수 있는 개발의 실질적인 첫 단계
- 소프트웨어가 가져야 될 기능을 기술하는 단계
- 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 단계
- 현재의 상태를 파악하고 문제를 정의한 후, 문제 해결과 목표를 명확히 도출하는 단계
- 요구사항 분석 작업
- 문제 인식 사용자 면접, 설문조사를 통한 의견 수렴, 현재 사용 중인 각종 문서 검토 등을 통해 사용자의 요구 분석을 함
- 평가와 종합추출된 요구사항에 대한 정보를 평가하고 여러 가지 해결책을 종합함
- 모델 제작 평가와 종합을 바탕으로 자료와 제어의 흐름, 기능 처리, 동작 행위, 정보 내용등을 이해하기 쉽도록 모델을 작성
- 문서화 검토요구사항 분석 명세서를 작성하고, 소프트웨어의 기능, 성능, 제약 조건 등에 대하여 기술하고 검토함
- 요구사항 분석의 어려움
- 사용자의 요구사항이 모호하고, 부정확하며, 불완전함
- 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않음
- 개발하고자 하는 시스템 자체가 복잡함
- 요구사항 분석가의 자질
- 요구사항 분석가(Analyst)요구사항을 효율적으로 분석하고 정확한 명세화 작업을 하는 사람
- 요구사항 분석가가 갖추어야 할 능력
- 추상적인 개념을 파악하여 논리적인 구성요소로 분해할 수 있는 능력
- 서로 상반되고 모호한 정보로부터 필요한 사항을 수렴할 수 있는 능력
- 관련된 하드웨어와 소프트웨어에 관한 최신 기술
- 거시적 관점에서 세부적인 요소를 관찰할 수 있는 능력
- 구조적 분석 도구
- 구조적 분석 기법은 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
- 구조적 분석 도구 종류
- 자료 흐름도, 자료 사전, 소단위 명세서, 개체 관계도 등
- 자료 흐름도 (DFD, Data Flow Diagram)
- 자료 흐름도
- 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
- 자료 흐름도의 구성 요소 표기법
- 자료 흐름도의 구성 요소 : 프로세스(Process), 자료 흐름(Data Flow), 자료 저장소(Data Store), 단말(Terminator)
- 표기법
- 자료 흐름도
구성 요소 | 의미 | 표기법 | |
프로세스 (Process, 처리 공정) |
_자료를 변환시키는 시스템의 한 부분(처리 공정)을 나타냄 _버블이라고도 함 |
||
자료 흐름 (Data Flow) |
_자료의 이동(흐름)을 나타냄 | ||
자료 저장소 (Data Store) |
_시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄 | ||
단말 (Terminator, 종착지) |
_자료의 출처와 도착지를 나타냄 _정보의 생산자와 소비자 |
- 기본 DFD의 특성
- 시스템 내의 모든 자료 흐름은 4가지의 기본 기호로 표시됨
- 각각의 변환(처리)에 대하여 개별적인 상세화가 가능함
- 변환(처리) 과정이 버블로 표현됨
- 자료 흐름도를 작성하는데 지침이 되는 항목
- 어떤 처리(Process)가 출력자료를 산출하기 위해서는 반드시 입력자료가 발생해야 함
- 자료흐름은 처리(Process)를 거쳐 변환될 때마다 새로운 이름을 부여함
- 처리(Process)와 하위 자료흐름도의 자료 흐름은 서로 일치해야 함
- 자료 흐름도의 예
4. 자료 사전 (DD, Data Dictionary)
- 자료 사전
- 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
- 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고도 함
- 표기법
기호 | 의미 | 설명 | |
= | 자료의 정의 | ~로 구성되어 있다 | |
+ | 자료의 연결 | 그리고(and) | |
( ) | 자료의 생략 | 생략 가능한 자료(Optional) | |
[ | ] | 자료의 선택 | 또는(or) 하나 이상의 선택이 필요할 때 사용하는 기호 |
|
{ } | 자료의 반복 (interation of) |
|
|
* * | 자료의 설명 | 주석(Comment) |
- 기출 문제 풀이 - 다음 내용을 자료 사전의 형태로 표기하시오.
- 고객명세는 고객성명, 고객번호, 고객주소로 구성되어 있으며, 고객성명과 고객번호는 둘 중 하나만 선택이 가능함
- 고객명세=[고객성명|고객번호]+고객주소
5. 소단위 명세서 (Mini-Specification)
- 소단위 명세서
- 세분화된 자료 흐름도에서 최하위 단계 버블(프로세스)의 처리 절차를 기술한 것
- 프로세스 명세서라고도 함
- 특징
- 반 페이지나 한 페이지 정도의 크기로 세분화된 모듈을 작성할 때 사용
- DFD에서는 한 개의 처리 공정이 그 대상이 되지만, 한 공정의 기능이 두 가지 이상이거나 세분화함으로써 소단위 명세서를 이해하기가 쉬워진다면 더욱 세분화될 수도 있음
- 소단위 명세서는 구조적 언어를 사용하고, 작성하는 도구에는 서술 문장, 의사 결정 나무, 의사 결정표, 그래프 등이 있음
6. 개체 관계도 (ERD : Entity Relationship Diagram)
- 개체 관계도(ERD)
- 데이터 구조들과 그들 간의 관계들을 표현하기 위해 사용됨
- 개체 관계도의 작성 순서
- 주요 키를 포함하여 개체(Entity)의 속성을 모두 찾아냄
- 기본적인 개체(Entity)와 주요 키를 정의하며, 개체(Entity) 사이의 관계를 정의함
- 1:M 관계를 단순화하기 위해 속성 개체(Entity)를 추가하며, 연관 관계를 정의하여 M:N 관계를 표현함
- 각 개체(Entity)를 정규화. 누락된 개체(Entity) 점검 및 클래스 구조가 필요한지 결정함
* 여기까지 '5. 구조적 분석 도구 내용' 관련된 내용입니다.
6. 자동화 분석 도구
- 자동화 분석 도구 : 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구
- 자동화 분석 도구 종류
- SREM : TRW사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발
- PSL/PSA : 미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구
- EPOS
7. HIPO
- HIPO (Hierarchy Input Process Output) *Hierarchy : 계층
- HIPO 다이어그램은 분석 및 설계 도구로서 사용됨
- 시스템의 분석 및 설계나 문서화할 때 사용되는 기법이며, 기본 시스템 모델은 입력, 처리, 출력으로 구성됨
- 기능과 자료의 의존 관계를 동시에 표현할 수 있음
- 구조도, 개요 도표 집합, 상세 도표 집합으로 구성됨
- 보기 쉽고 이해하기 쉬움
- HIPO 의 종류
- 가시적 도표 (Visual Table of Contents, 도식 목차)
- 시스템의 전체적인 기능과 흐름을 보여주는 계층(Tree) 구조도
- 총체적 다이어그램 (Overview Diagram, 총괄 도표·개요 도표)
- 프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력을 기술
- 세부적 다이어그램 (Detail Diagram, 상세 도표)
- 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표
- 가시적 도표 (Visual Table of Contents, 도식 목차)
'국가 자격증' 카테고리의 다른 글
(정보처리기사)소프트웨어공학 '전통적 개발 방법론'의 설계 단계 공부 내용 정리 (1) | 2024.01.31 |
---|---|
정보통신기술자 경력수첩 온라인 신청방법 및 등급상향신청 (4) | 2021.09.02 |
2021년 사무자동화산업기사 기출문제풀이-엑세스편 (2) | 2021.08.27 |
사무자동화 산업기사 자격증 실기 합격! 사무자동화자격증 공부하는 방법! 2021년 사무자동화실기 기출문제풀이 - 엑셀편 (1) | 2021.08.26 |
댓글