-
정보처리기사[실기 핵심 정리] - 요구사항 분석용어 정리 2024. 4. 3. 11:53
현행 시스템 개념
- 기존 시스템의 기능, 성능, 그리고 문제점을 이해하고 평가하기 위한 과정
- 이 과정을 통해 새로운 시스템에서 개선해야 할 부분, 유지해야 할 부분, 변경해야 할 부분을 파악
플랫폼 기능 분석
- 다양한 응용 프로그램, 서비스 또는 기능이 구축되거나 실행되는 기반 또는 환경
- 플랫폼 기능
기능 설명 연결 기능 ● 연결을 가능하게 하는 장소를 제공하여 교류를 촉진
● ex) 증권 거래소, 오픈마켓, 백화점 등비용 감소 기능 ● 플랫폼을 제공하여 각 그룹이 처리할 때 발생하는 시간과 비용이 절감 브랜드 신뢰 기능 ● 플랫폼 브랜드가 사용자에게 신뢰감을 부여하는 일정 수준의 질을 보장 커뮤니티 형성 ● 그룹 간 상호 작용을 통한 커뮤니티 형성 - 플랫폼의 종류 : 하드웨어 플랫폼,소프트웨어 플랫폼, 서비스 플랫폼
- 플랫폼의 유형 : 거래 플랫폼(지마켓, 쿠팡 등), 생태계 플랫폼(앱스토어, 구글 플레이 등), 다면 플랫폼(facebook, goolge 등)
- CPND (Contents Platform Network Device) : 콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을 표현하는 무선 인터넷 서비스의 가치사슬
- CPND 요소 : Contents(텍스트, 이미지, 오디오, 비디오 등), Platform(웹사이트, 애플리케이션 등), Network(통신시스템), Device(스마트폰, 컴퓨터, 태블릿 등)
현행 시스템 분석 종류
- 운영체제 분석
- 네트워크 분석
- DBMS 분석
미들웨어 분석
미들웨어 개념
- 양쪽에서 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어
미들웨어 종류
1) 원격 프로시저 호출(Remote Procedure Call)
- 클라이언트가 원격에서 발생하는 프로세저를 호출하는 시스템
2) 메세지 지향 미들웨어(Message Oriented Middleware)
- 클라이언트가 생성한 메세지는 저장소에 요청할 때 저장하면서,다른 업무를 지속할수 있도록 하는 비동기식 미들웨어
3) ORB(Object Request Broker)
- 객체지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어
4) DB 접속 미들웨어
- 애플리케이션과 데이터베이스 서버를 연결해 주는 미들웨어
5) TP 모니터(Transaction Processing Monitor)
- 분산 시스템의 애플리케이션을 지원하는 미들웨어
- 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어
6) 웹 애플리케이션 서버(Web Application Server)
- 웹 애플리케이션을 지원하는 미들웨어
7) 엔터프라이즈 서비스 버스(Enterprise Service Bus)
- 메시지 기반으로 느슨한 결합 형태의 표준 인터페이스 통신을 지원하는 미들웨어로 기업 안밖에 있는 모든 시스템 환경을 연동하는 미들웨어
요구공학 개념
- 소프트웨어의 요구사항을 식별, 분석, 문서화하고, 이를 관리하는 과정
요구공학의 필요성
필요성 종류 품질 개선 사용자의 필요성을 잘 이해하여 제품에 반영하면 사용자 만족도가 높아지고, 제품의 품질이 향상된다. 리스크 감소 요구사항이 명확하지 않거나 불완전한 경우, 프로젝드가 실패할 가능성이 높아진다. 비용 절감 요구사항이 잘 정의되지 않으면 개발 중이나 개발 후에 변경이 발생하게 되며, 이는 비용증가를 초래한다. 효율적인 프로젝트 관리 요구사항이 잘 정의되면 개발팀은 이를 바탕으로 효율적인 개발 계획을 세울수 있다. 사용자와 개발자 간의 소통 개선 사용자와 개발자 그룹 간의 소통을 원할하게 해준다. 요구사항 개발 프로세스
도출 - 분석 - 명세 - 확인
1) 요구사항 도출
- 사용자와 이해 관계자들로부터 요구사항을 수집한다.
- 인터뷰 설문조사, 브레인스토밍, 워크샵, 직접 관찰 등 다양한 방법을 통해 수행된다.
2) 요구사항 분석
- 수집된 요구사항 중에서 불완전하거나 모호하며, 중복되거나 충돌하는 부분을 식별하여 수정한다.
- 실제로 구현할 수 있는 요구사항인지 검토하고, 가능한 경우 요구사항 간의 우선순위를 결정한다.
- 업무환경과의 상호작용 파악(도메인 분석)
요구사항 분석 도구
- DFD : 자료흐름도
- Data Dictionary : 자료 사전
- Mini-Spec : 소단위 명세서
- ERD : 개체 관계도
- STD : 상태 전의도
개체지향 분석 도구
- UML(Unified Modeling Language)
- 모델링
도메인 분석
- 요구사항의 배경을 말한다
- 설계 모델링에 필요한여러개념과 비지니스 룰을 파악한다
도메인 배경 파악을 위한 세가지 단계
- 도메인 개념찾기
- 도메인 사전 작성
- 비즈니스 규칙 정리
3) 요구사항 명세
- 분석된 요구사항은 명세서 형태로 정리한다.
- 시스템이 수행해야 할 기능, 시스템이 충족해야 할 성능, 그리고 제약 조건등을 포함한다.
요구사항 명세 기법
구분 정형 명세 기법 비정형 명세 기법 기반 수학,논리학 자연어,그림 중심 작성 기법 수학적 기호, 정형화된 표기법 일반명사, 동사등의 자연어를 기반으로 서술하거나 다이어그램으로 작성 장점 명세 오류 및 모호성을 쉽게 파악 사용자/개발자 간 의사전달 용이 단점 작성이 어렵고 시간이 많이 소요됨 내용이 모호하고, 완전한 검증이 곤란 언어 종류 VDM,Z,Petri-net,CSP FSM, Decision Table, ER모델링, State Chart(SADT) 등 요구사항 분류
분류 설명 기능 요구사항 ● 시스템이 어떤 기능을 수행해야 하는지, 또는 시스템이 제공해야 하는 서비스가 무엇인지를 정의
● 웹사이트에서 사용자는 로그인을 해야한다, 사용자는 주문을 할 수 있어야 한다. 등비기능 요구사함 ● 시스템이 어떻게 동작해야 하는지에 대한 요구사항
● 시스템을 품질 관련 특성이나 제악사항
● 시스템의 성능, 보안, 가용성, 유지보수 등4) 요구사항 확인 및 검증(Validation & Verification)
- 분석가가 요구사항을 이해했는지 확인(Validation)
- 요구사항 문서가 일관성 있고 완전환지 검증(Verification)
5) 요구사항 분석 비법
- 인터뷰
- 브레인스토밍
- 원인-효과 다이어그램
- 프로토타이핑
- 사용사례(Use Case)
- 요구사항 검토
6)요구사항 분석 도구
1) 요구사항 분석 CASE(Computer Aided Software Engineering)
- 요구사항을 자동으로 분석하고 요구사항 분석 명세서를 기술하는 도구
- 소프트웨어 개발 전반에 걸쳐 적용된다.
- CASE 도구의 분류
분류 설명 상위 CASE ● 생명주기 전반에 사용되며, 소프트웨어의 계획과 요구분석,설계 단계를 지원한다.
● 모순검사, 오류검사,자료 흐름도 작성 등의 기능을 수행한다하위 CASE ● 생명주기 후반부에 사용되며, 코드의 작성과 테스트 문서화하는 과정을 지원한다.
● 구문편집기, 코드 생성기 등의 기능을 수행한다.통합 CASE ● 소프트웨어 생명주기에 포함되는 전체 과정을 지원한다. 2) HIPO(Hierarchical Input Process Output)
- 하향식 소프트웨어 개발을 위한 문서화 도구
- 시스템의 기능을 여러 개의 고유 모듈들로 분활하여 이들 간의 계층구조를 표현한 도표
HIPO Chart 종류
종류 설명 가시적 도표
(Cisual Table of Content)● 시스템의 전체 기능과 흐름을 보여주는 Tree(계층) 구조
● 가시적 도표에는 입력, 처리, 출력 없음총체적 도표
(Overview
Diagram)● 프로그램을 구성하는 기능을 기술한 것
● 입력, 처리, 출력에 대한 전반적인 정보 제공.세부적 도표
(Detail
Diagram)● 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표
● 총체적 도표와 같은 모양이지만 내용만 좀 더 복잡하게 들어간 형태1) 모델링의 개념
- 복잡한 시스템을 이해하고 효과적으로 개발하기 위해 간단한 모델로 표현하는 과정
- 소프트웨어의 구성 모듈을 식별하고, 이들 간의 연결을 도식화 한다.
2) 모델링이 주는 도움
- 소프트웨어의 구조와 동작을 이해하는 데 도움을 준다.
- 이해 관계자 간의 의사소통을 도와 문제 해결을 용이하게 한다.
- 개념을 사용자와 고객에게 명확하게 전달한다.
- 설계, 구현, 테스팅, 유지보수에 대한 개념적 기준을 제공한다.
3) 모델링 구분
구분 설명 기능적 모델링 ● 사용자 관점에서 시스템의 기능을 표현
● 사용 사례 다이어그램, 액티비티 다이어그램등정적 모델링 ● 시스템의 구조를 클래스 단위로 표현
● 클래스 다이어그램동적 모델링 ● 시스템의 상호작용 및 동작을 표현
● 순서 다이어그램, 상태 다이어그램, 커뮤니케이션 다이어그램 등4) 분석 모델의 종류
구분 설명 구조적 분석 모델 시스템의 프로세스와 데이터 흐름을 중심으로 분석(절차지향 하향식) 객체지향 분석 모델 객체와 클래스를 중심으로 시스템을 분석(객체지향 상향식) 정보공학 분석 모델 데이터 중심의 접근방식으로 시스템을 분석 정형화 분석 모델 수학적 기법을 사용하여 시스템을 분석 5) 구조적 분석 모델
구조적 분석 방법론
- 도형화된 도구를 이용해 정형화된 분석 절차에 따라 사용자 요구사항을 파악하고 문서화하는 분석 기법
- 하향식 기능 분해 기법 등을 사용하는 특성
구조적 분석 도구
1) 자료흐름도(DFD,Data Flow Diagram)
- 시스템 내에서 자료가 어떻게 이동하고 처리되는지를 도형으로 나타내는 모델링 도구
- 기능 중심의 모델링에 특히 적합하며 자료의 흐름과 처리 과정을 시각적으로 표현한다.
- 자료 흐름 그래프 또는 버블 차트라고도 함

자료흐름도 구성요소 2) 자료사전(DD, Data Dictionary)
- 자료 흐름도(DFD)에 기술된 모든 자료들에 대해 자세한 정의와 설명을 제공하는 중요한 도구이다.
- 시스템에 사용되는 데이터의 성격, 형식, 구조 등을 명확하게 정의한다.
자료사전(DD, Data Dictionary) 사용기호
기호 의미 설명 = 자료의 정의 특정자료가 어떤 구성요소로 이루어져 있는지를 나타낸다 + 자료의 연결 여러 자료가 순차적으로 결합되어 있는 상태를 나타낸다 () 자료의 생략 필요에 따라 생략할 수 있는 자료를 나타낸다. [|] 자료의 선택 여러 대안 중 하나를 선택할 수 있는 자료를 나타낸다. {} 자료의 반복 자료가 반복될 수 있음을 나타낸다. ** 자료의 설명 해당 자료에 대한 추가적인 설명이나 주석을 제공한다. 3) 소단위 명세서(Mini-Specification)
- 자료 흐름도에서 각 처리가 수행하는 업무를 상세하게 작성하는 문서
- 프로세스 명세서라고도 한다.
- 처리 과정에서 어떤 일이 수행되는지 정의 하고 구체적인 작업 단계와 조건을 명시한다.
4) 개체 관계도(ERD, Entity Relationship Diagram) - 구성

ER Diagram 구성요소 5) 상태 전이도(STD, State Transition Diagram)
- 시스템의 상태와 상태 간의 전이를 모델화하는 도구
- 시스템에 어떤 사건이 발생했을 때 시스템의 상태변화를 보여준다
- 개발자는 이를 통해 시스템의 행위를 정의하고 예측할 수 있다.
6) 객체 지향 분석 모델
객체 지향 분석
- 사용자 요구사항을 객체 지향적 관점에서 분석하고 모델링한다.
- 관련된 모든 클래스, 그 속성과 연산, 그리고 객체 간의 관계를 포함한다.
객체지향 분석 방법론
1) Rumbaugh(럼바우) 방법
- 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행
- 분석 절차
종류 설명 객체 모델링(Object Modeling) ● 객체 다이어그램을 통해 시스템이 속성, 연산, 관계를 표현
● 세 가지 모델 중 가장 선행되어야 한다동적 모델링(Dynamic Modeling) ● 상태 다이어그램을 사용하여 시간에 따른 객체의 행동과 상호작용을 표현 기능 모델링(Functional Modeling) ● DFD를 이용해 데이터 흐름과 처리 과정을 표현 2) Booch(부치) 방법
- 미시적 및 거시적 개발 프로세스를 모두 사용
- 시스템의 구조와 행동을 상세히 모델링
3) Jacobson 방법
- Use case를 중심으로 한 분석 방법을 사용
- 사용자의 요구사항과 시스템의 상호작용을 중심으로 분석
4) Code 와 Yourdon 방법
- E-R 다이어그램을 사용하여 객체의 행위를 모델링
5) Wirfs-Brock 방법
- 분석과 설계의 구분없이 연결
'용어 정리' 카테고리의 다른 글
정보처리기사[실기 핵심 정리] - 소프트웨어 아키텍처 (1) 2024.04.03 정보처리기사[실기 핵심 정리] - 소프트웨어 설계 기본 원칙 (0) 2024.04.03 정보처리기사[실기 핵심 정리] - 프로젝트 계획 (0) 2024.03.30 정보처리기사[실기 핵심 정리] - IT 서비스 관리 (0) 2024.03.28 정보처리기사[실기 핵심 정리] - 에자일 방법론 (0) 2024.03.28