본문 바로가기
  • 適者生存
WorkOut/정보처리기사

요구사항 확인 | 현행 시스템 분석 2

by lcrvvxln 2024. 4. 22.

01. 요구사항 확인

Chapter 02. 현행 시스템 분석

 

2. 요구사항 ⭐⭐⭐ 

(1) 요구사항 개요 

[1] 요구공학 (Requirements Engineering)의 개요

 
요구공학은 사용자 요구가 반영된 시스템 개발을 위해 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동
 
 

[2] 요구공학의 목적

 

  • 이해관계자 사이 효과적 의사소통 수단을 제공하고 시스템 개발 요구사항에 대한 공통된 이해를 설정
  • 요구사항 누락 방지이해 오류로 인한 불필요 비용 절감 및 요구사항 변경 추적
  • 초기 요구사항 관리로 개발 비용시간 절약, 효과적 의사소통 수단 제공

 
 

[3] 요구사항의 분류 - 2021년 1회

 
- 요구사항 파악의 기본은 시스템 요구사항에 대한 파악
- 요구사항은 기능적 요구사항비기능적 요구사항으로 분류
 

  • 기능적 요구사항

시스템이 제공하는 기능, 서비스에 대한 요구사항
 
- 특정 입력에 대해 시스템이 어떻게 반응해야 하는지 기술
- 특정 상황에 대해 시스템이 어떻게 동작해야 하는지 기술
 
기능성, 완전성, 일관성
 
ex.
- 온라인 홈페이지에서는 쇼핑카트에 주문하고자 하는 품목을 저장할 수 있는 장바구니 기능을 제공해야 함
- 상품 결제수단은 신용카드, 무통장 입금, 포인트 결제가 가능해야 함
 
 

  • 비기능적 요구사항

✅ 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항
 
- 품질 속성과 관련하여 시스템이 갖춰야 할 사항에 관한 기술
- 시스템이 준수해야 할 제한 조건에 관한 기술
 
신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성 및 품질 관련 요구사항, 제약사항
 
ex.
- 특정 함수 호출시간은 3초를 넘지 않아야 함
- 시스템은 하루 24시간 가동되어야 하며 가동률 99.5%를 만족해야 함
- 시스템은 운영되는 중에 패치 및 업그레이드를 할 수 있어야 함
 
 

※ 기능적 요구사항과 비기능적 요구사항은 사례 위주 학습 필요 
    특성은 암기할 것 !!

 
 

(2) 요구공학 프로세스

- 요구공학 프로세스는 요구사항 개발 단계요구사항 관리 단계로 구성


 
 

[1] 요구사항 개발 단계 구성 (CMM Level 3 프로세스 영역)

 
도출 (Elicitation)
- 요구사항 소스
- 도출 기법
 
분석 (Analysis) 
- 요구사항 분류
- 개념 모델링
- 기술 구조 설계 및 요구사항 할당
- 요구사항 협상
 
명세 (Specification)
- 시스템 정의서
- 시스템 요구사항 명세서
- 소프트웨어 요구사항 명세서
 
확인 (Validation)
- 검토
- 프로토타이핑
- 모델 검증 
- 인수 테스트
 

📌 요구사항 개발 프로세스

※ 도분명확 : 요구사항 도출 / 요구사항 분석 / 요구사항 명세 / 요구사항 확인 및 검증
→ 도둑의 분노는 명확해졌다.

 
1. 요구사항 도출 단계

  • 소프트웨어가 해결해야 할 문제 이해
  • 고객으로부터 제시되는 추상적 요구에 대한 관련 정보 식별 및 요구사항 수집 방법 결정
  • 수집된 요구사항 구체적으로 표현 

 
요구사항 도출 단계 주요 기법
 
⑴ 인터뷰 (Interview)
- 이해관계자와 직접 대화로 필요 정보를 얻는 공식적, 비공식적 정보 수집 방법
 
⑵ 브레인스토밍 (Brainstorming)
- 말을 꺼내기 쉬운 분위기로 만들어 회의 참석자들이 내놓은 아이디어들을 비판 없이 수용할 수 있도록 하는 회의
 
⑶ 델파이 기법 (Delphi Method)
- 전문가경험적 지식을 통한 문제 해결 및 미래예측을 위한 방법
 
⑷ 롤 플레잉 (Role Playing)
- 현실에 일어나는 장면 설정하고 여러 사람이 각자 맡은 역을 연기함으로써 요구사항 분석하고 수집하는 방법
 
⑸ 워크숍 (Workshop)
- 단기간의 집중적 노력을 통해 다양하고 전문적인 정보를 획득하고 공유하는 방법
- 프로젝트에 참여하는 모든 핵심 인물의 참여가 필요
- 참석자들은 해당 전문 영역별팀 협력이 필요하며 사전 준비가 요구
 
⑹ 설문 조사 (Survey)
- 설문지 또는 여론조사 등을 이용 간접적으로 정보를 수집하는 방법
- 개발될 시스템 사용자가 다수일 때 의견 수렴에 용이  
 
 
2. 요구사항 분석 단계

  • 추출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성일관성을 확보하는 단계

➕ 요구사항 분석 단계 기법
 
⑴ 데이터 흐름도 (DFD; Data Flow Diagram)
- 데이터가 각 프로세스 따라 흐르면서 변환되는 모습을 나타낸 그림
- 시스템 분석설계에서 매우 유용하게 사용되는 다이어그램
 
⑵ 자료 사전 (DD; Data Dictionary)
- 자료 요소, 자료 요소 집합, 자료 흐름, 자료 저장소의 의미와 그들 간 관계, 관계 값, 범위, 단위들을 구체적으로 명시하는 사전
 
⑶ UML (Unified Modeling Language)
- 객체 지향 소프트웨어 개발 과정에서 산출물 명세화, 시각화, 문서화할 시 사용되는 모델링 기술방법론을 통합해 만든 표준화범용 모델링 언어
 
 
3. 요구사항 명세 단계

  • 체계적으로 검토, 평가, 승인될 수 있는 문서 작성하는 단계
  • 요구사항 명세 단계는 산출물로 요구사항 명세서가 있음
🔎 요구사항 명세서 (Requirement Specification ; 요구사항 정의서)

- 소프트웨어 개발 프로세스의 시작인 소프트웨어 요구사항분석하고 정의하는 단계에서 작성되는 최종 산출물

 
 
➕ 요구사항 명세 단계 주요 기법
 
⑴ 비정형 명세 기법

  • 사용자 요구 표현에 자연어를 기반으로 서술하는 기법
  • 사용자와 개발자 이해 용이
  • 명확성 및 검증에 문제

⑵ 정형 명세 기법

  • 사용자 요구 표현을 수학적 원리표기법으로 서술하는 기법
  • 정형 명세 언어Z-스키마, Petri Nets, 상태차트 활용
  • 표현이 간결, 명확성 및 검증 용이
  • 기법 이해가 어려움

 
4. 요구사항 확인 및 검증 단계

  • 요구사항 확인 및 검증은 요구사항 명세서에 사용자 요구가 올바르게 기술되었는지 검토, 베이스라인을 설정하는 활동
  • 프로젝트 참여자들이 요구사항 이해했는지 확인(Validation)
  • 요구사항 문서가 회사 표준적합한지, 일관성 만족하는지, 완전한검증(Verfication)

➕ 요구사항 확인 및 검증 단계 주요 기법
 
⑴ 동료 검토 (Peer Review)

  • 2~3명이 진행하는 리뷰
  • 요구사항 명세서 작성자가 요구사항 명세서 설명 > 이해관계자들이 설명 들으며 결함 발견하는 형태로 진행

⑵ 워크 스루 (Walk Through)

  • 오류 조기 검출에 목적이 있는 검토 방법
  • 검토 자료회의 전 배포하여 사전 검토 후, 짧은 시간 동안 회의 진행하는 형태
  • 리뷰를 통해 오류검출하고 문서화하는 비공식적 검토 방법

⑶ 인스펙션 (Inspection)

  • 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외 다른 전문가 또는 검사하여 오류 찾는 공식적 검토 방법
  • 인스펙션 절차는 계획 > 사전 교육 > 준비 > 인스펙션 회의 > 수정 > 후속 조치 순서로 진행

 

※ 요구사항 개발 프로세스 - 요구사항 확인 및 검증 

확인(Validation) : 프로젝트 참여자들이 요구사항이해했는지 확인
검증(Verification) : 요구사항 문서회사 표준적합하고 일관성 있고, 완전한지 검증

반면, 요구사항 관리 프로세스
에서의 요구사항 확인 및 검증은 요구사항 개발 이후,

프로그램 설계, 개발, 테스트 단계를 거치는 동안 요구사항기대부합하는지 확인하는 단계 

 
 

[2] 요구사항 관리 단계 (CMM Level 2 프로세스 영역)

 
프로젝트 진행 과정에서 요구사항 변경에 대해 일치성무결성을 제공하기 위해 변경 제어추적 등 일련의 관리를 수행하는 활동 
 
▶ 주요 산출물로는 요구사항 변경요청서, 요구사항 변경승인서, 요구사항 추적표가 있다.
 
 

  •  요구사항 관리 단계 절차

 
1. 요구사항 협상 

  • 가용 자원수용 가능 위험 수준에서 구현 가능한 기능협상하기 위한 기법

▶ 기법/산출물 : 우선 순위 설정, 시뮬레이션
 
 
2. 요구사항 기준선 설정

  • 공식적으로 검토하고 합의요구사항 명세서를 통해 기준선을 설정하기 위한 방법

▶ 기법/산출물 : 공식 회의, 형상 관리
 
 
3. 요구사항 변경 관리

  • 요구사항 기준선을 기반으로 모든 변경공식적으로 통제하기 위한 기법

▶ 기법/산출물 : 형상통제 위원회, 영향도 분석
 
 
4. 요구사항 확인 및 검증

  • 구축된 시스템이해관계자가 기대한 요구사항부합하는지 확인하기 위한 방법

▶ 기법/산출물 : 확인 및 검증
 
 

🔎 형상 관리
 
- 소프트웨어 생명주기 동안 발생하는 변경 사항을 체계적으로 관리하여 소프트웨어 품질보증향상시키는 관리적 활동

 

🔎 형상통제위원회 (CCB; Configuration Control Board)

- 형상 관리에 대한 주요 방침을 정하고 산출물검토하며, 단계별 의사결정을 수행하는 조직