정보처리기사/[수제비] 정보처리기사 실기

I. 요구사항 확인_03. 요구사항 확인

web_seul 2023. 4. 4. 17:59
반응형

1) 요구사항

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

요구사항의 목적 : 이해관계자 사이에 효과적인 의사소통 수단 제공, 시스템 개발의 요구사항에 대한 공통된 이해 설정, 요구사항 누락 방지 및 이해 오류로 인한 불필요한 비용 절감, 요구사항 변경 추적 가능

요구사항의 분류

기능적 요구사항 비기능적 요구사항
시스템이 제공하는 기능, 서비스에 대한 요구사항
특정 입력에 대해 시스템이 어떻게 반응해야 하는지에 대한 기술
특정 상황에 대해 시스템이 어떻게 동작해야 하는지에 대한 기술
시스템을 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약 사항에 관한 요구사항
품질 속성에 관련하여 시스템이 갖춰야 할 사항에 관한 기술
시스템이 준수해야 할 제한 조건에 관한 기술
온라인 홈페이지에서는 쇼핑카드에 주문하고자하는 품목을 저장할 수 있는 장바구니 기능을 제공해야 함 특정 함수의 호출시간은 3초를 넘지 않아야 함
시스템은 하루 24시간 가동되어야 하며 고동률 99.5%를 만족해야 함
기능성, 완전성, 일관성 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성, 품질관련, 제약사항

 

요구공학 프로세스 : 요구사항 개발 단계 + 관리 단계

개발 도출 소프트웨어가 해결해야할 문제 이해, 고객으로부터 제시되는 추상적 요구에 대해 관련 정보 식별, 수집 방법 결정, 수집된 요구사항을 구체적으로 표현하는 단계
이해관계자가 식별, 개발팀과 고객 사이의 관계 형성, 효율적인 의사소통 중요

주요활동으로는 고객 분석, 조직 환경 분석, 후보 요구사항 분류, 후보 요구사항 정제, 요구사항 소스관리가 있음
분석 도출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성, 일관성 확보 단계
요구사항들 간 상충 해결, 소프트웨어의 범위 파악, 환경과의 상호작용 이해 단계
시스템 요구사항을 정제하여 소프트웨어 요구사항 분류 후보 요구사항 모델링, 요구사항의 우선순위 부여, 해당 릴리즈에 수행할 요구사항 선정, 요구사항 협의가 있음
비용과 일정에 대한 제약설정, 타당성 조사, 요구사항 정의와 문서화 수행
명세 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 단계
동의한 요구사항을 하나 이상의 형태로 저장하여 정형화된 요구사항 생성
주요 활동으로는 요구사항 명세 기준 정의, 요구사항 명세서 작성, 요구사항 추적 관련 정보 저장이 있음
확인 및 검증 분석가가 요구사항을 이해했는지 확인하고 요구사항 문서가 회사의 표준에 적합하고 이해가능하며 일관성이 있고 완전한지 검증하는 단계
요구사항 명세서 검토, 요구사항 용어 검증, 요구사항 베이스라인 수립
이해관계자들이 요구사항 문서 검토 및 요구사항 관리 툴을 이용하여 요구사항 정의
문서들에 대한 형상관리 수행
리소스가 요구사항에 할당되기 전에 문제를 파악하기 위하여 검증 수행

요구사항 도출 단계 주요기법 / 산출물

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

요구사항 분석 단계

요구사항 분류 요구사항이 기능인지 비기능인지 확인
요구사항이 소프트웨어 생명주기동안 변경이 발생하는지 확인
하나이상의 상위 요구사항에서 유도된 것인지 또는 이해관계자나 다른 원천으로부터 직접 발생한 것인지 분류
개념 모델링 생성 및 분석 문제의 도메인의 엔터티들과 개별 관계 및 종속성을 반영하는 개념 모델링 생성단계
유스케이스 다이어그램, 데이터프름모델(DFD), 상태모델(State Model), 목표기반 모델, 사용자 인터랙션, 객체모델, 데이터 모델 등과 같은 다양한 개념 모델 작성 가능
모델링 표기는 주로 UML을 사용
요구사항 할당 요구사항을 만족시키지 위한 아키텍처 구성요소를 식별하는 활동
다른 구성요소와 어떻게 상호작용하는지 분석을 통해 추가적인 요구사항 발견 가능
요구사항 협상 두 명의 이해관계자가 서로 상충되는 내용 요구시 적절한 지점에서 합의하기 위한 활동
요구사항이 서로 충돌되는 경우 각각의 우선순위 부여, 문제 해결
정형 분석 형식적으로 정의된 의미를 지닌 언어로 요구사항을 표현하는 활동
구문과 의미를 갖는 정형화된 언어를 사용하여 수학적 기호로 표현
요구사항 분석의마지막 단계에서 이루어짐

 

요구사항 분석단계 기법 : 청취기술, 인터뷰와 질문기술, 분석기술, 중재기술, 관찰기술, 작성기술, 조직기술, 모델작성 기술

자료흐름 지향 분석 데이터 흐름도 및 자료 사전으로부터 소프트웨어 구조를 유도하는 방법
객체 지향 분석 시스템의 기능과 데이터를 함께 분석, UML로 표준화

 

소프트웨어 시스템 모델링 기법

기능적 모델링 기능(행위)적 관점, 구조적 분석기법
시스템이 어떠한 기능(행위)를 수행하는가의 관점에서 시스템을 분석하는 기법
자료흐름도(DFD), 자료사전(DD), 소단위 명세서(Mini-Spec)
자료 모델링 데이터 관점, 정보 공학적 기법
시스템에 사용되는 자료를 찾아내고 자료의 구성 자료들 사이의 관계와 연관성을 규명하여 자료구조를 분석하는 기법
ER 모델링
동적 모델링 동적 관점, 객체지향 기법
시간의 변화에 따른 시스템의 동작과 제어에 초점을 맞춰 분석하는 기법
유스케이스 다이어그램(Usecase Diagram), 상태변화도(STD, State Transition Diagram)

 

요구사항 명세 단계 주요기법

비정형 명세 기법 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법
사용자와 개발자의 이해가 용이
명확성 및 검증에 문제
정형 명세 기법 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술하는 기법
Z-스키마, Petri Nets, 상태 차트 활용
표현이 간결, 명확성 및 검증이 용이하지만 기법의 이해가 어려움

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

요구사항 명세 원리 및 검증 항목 : 명확성, 완전성, 검증가능성, 일관성, 수정용이성, 추적가능성, 개발후이용성

 

요구사항 확인 및 검증 절차

요구사항 목록확인 요구사항 목록에서 업무 기능에 대한 요구사항 반영 여부 확인
요구사항 정의서 작성여부 확인 요구사항 목록 중 수용인 경우 요구사항 정의서(유스케이스 명세서)가 작성되었는지 확인
요구사항 정의서(유스케이스 명세서)에서 시스템의 동작 방식을 명확하고 구체적으로 기술하고있는지 검토
비기능적 요구사항의 확인 시스템 득성, 품질, 제약사항 등 비기능적 요구사항이 명확하게 도출되었는지 검토
성능, 가용성, 사용용이성, 유지보수 용이성, 안전성, 보안성 등에 대한 요구사항의 문서화 여부 확인
타시스템 연계 및
인터페이스 요구사항 확인
타 시스템 또는 하위 시스템 등과의 모든 인터페이스 요구사항이 정의되어 있는지 확인
인터페이스 구분(내부/외부), 주기, 방법, 제공자, 요청자 등이 명확하게 정의되어 있는지 확인

 

요구사항 확인 및 검증단계의 주요기법

요구사항 검토 여러 검토자들이 에러, 잘못된 가정, 불명확성, 표준과의 차이 검토
고객중심 프로젝트에서 검토자 그룹에 고객 대표자 1명 이상 포함 필요
시스템 정의서, 시스템 사양서, 소프트웨어 요구사항 명세서를 완성한 시점에서 검토
정형기술 검토활용
(FTR)
동료검토 2-3명이 진행하는 리뷰의 형태
요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행
워크스루 오류를 조기에 검출하는데 목적(비형식적)
검토 자료를 회의전에 배포해서 사전 검토한 후 짧은 시간동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서화
인스펙션 소프트웨어 요구, 설계, 원시코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법
프로토타이핑 활용 개발할 시스템에 대한 주요기능이나 일부분을 개발하여 최종 사용자나 고객을 대상으로 시연하면서 시스템이 작동하는 모습을 경험할 수 있게하여 요구사항을 확인
모델 검증 분석단계에서 개발된 모델의 품질 검증 필요
객체 모델의 경우 객체들 사이의 의사소통 경로를 검증하기 위한 정적 분석 수행에 유용
테스트케이스/
테스트 확인
최종 제품이 요구사항을 만족시키는지 확인하기 위해서 테스트 케이스 작성
테스트 케이스는 단계별 테스트 및 인수 테스트(알파, 베타)에서 활용
CASE 도구 활용 검증 구조화된 요구사항 명세서에 대해서는 자동화된 일관성 분석을 제공하는 CASE 도구 활용
대규모 개발 프로젝트에서 다양한 이해관계자들의 요구사항 명세서 검토와 형상관리수행이 가능한 CASE도구 활용
베이스라인을 통한 검증 요구사항 변경을 체계적으로 추적하고 통제하는 시점인 베이스라인을 통한 요구사항에 대한 지속적 검증 수행
요구사항 추적표를 통한 검증 요구사항 정의서를 기준으로 개발단계별 최종 산출물이 어떻게 반영되고 변경되었는지 확인이 가능한 문서인 RTM을 통한 검증

 

정형기술 검토기법

관리리뷰(Management Review), 기술리뷰(Technical Review), 인스펙션(Inspection), 워크스루(Walk Through), 감사(Audit)

 

요구사항 관리단계 절차

요구사항 협상 가용한 자원과 수용 가능한 위험 수준에서 구현가능한 기능을 협상
요구사항 기준선 설정 공식적으로 검토되고 합의된 요구사항 명세서 설정
요구사항 변경관리 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제
확인, 검증 구축된 시스템이 이해관계자가 기대한 요구사항에 부합하는지 확인

 

2) 요구사항의 시스템화 타당성 분석

요구사항의 기술적 타당성 검토 항목 : 성능 및 용량 산정의 적정성, 시스템 간 상호 운용성, IT시장 성숙도 및 트렌드 부합성, 기술적 위험 분석

요구사항의 기술적 타당성 분석 프로세스 : 타당성 분석 결과 기록, 타당성 분석 결과의 이해관계자 검증, 타당성 분석 결과 확인 및 배포/공유

 

반응형