요구사항
요구사항이란 문제의 해결 또는 목적 달성을 위하여 고객에 의해 요구되거나, 표준이나 명세등을 만족하기 위하여 시스템이 가져야 하는 서비스 또는 제약사항입니다.
요구사항 파악의 기본은 시스템의 요구사항에 대한 파악이며, 기능적 요구사항과 비기능적 요구사항으로 분리됩니다.
구분 | 기능적 요구사항 | 비기능적 요구사항 |
개념 | 시스템이 제공하는 기능, 서비스에 대한 요구사항 | 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항 |
도출방법 | 특정 입력에 대해 시스템이 어떻게 반응 / 동작 하는지 기술 |
시스템이 준수해야할 제약조건과 품질 속성에 관련하여 시스템이 갖춰야할 사항 기술 |
특성 | 기능성, 완전성, 일관성 | 신뢰성, 사용성, 효율성, 유지보수성, 이식성 |
요구사항 개발 프로세스
요구사항의 개발 프로세스는 요구사항 도출, 분석, 명세, 확인 총 4단계의 순서로 진행됩니다.
도출 | 분석 | 명세 | 확인 |
요구사항 소스 도출 기법 |
요구사항 분류 개념 모델링 기술 구조 설계 및 요구사항 할당 요구사항 협상 |
시스템 정의서 시스템 요구사항 명세서 소프트웨어 요구사항 명세서 |
검토 프로토타이핑 모델검증 인수테스트 |
도출 (Elicitation)
요구사항 도출 단계는 요구사항이 어디에 있고, 어떻게 수집하는 건지 파악하는 단계입니다. 또한 이해관계자가 요구사항을 식별하고 개발팀과 고객사이의 효율적인 의사소통이 되기 위한 단계입니다.
요구사항 도출 기법으로는 1:1 관계에서 사용자와 시스템에 대한 요구사항을 추출하는 인터뷰, 설문지 또는 여론조사를 통해 다수의 의견을 간접적으로 수집하는 설문조사, 말을 꺼내기 쉬운 분위기에 회의에 나온 아니디어를 비판없이 수용하는 브레인 스토밍, 프로젝트의 핵심인물이 참여해 단기간의 집중적인 노력을 통해 전문적인 정보를 획득 공유하는 워크숍이 있습니다.
분석 (Analysis)
요구사항 분석 단계는 상충되는 요구사항을 해결, 소프트웨어의 범위를 파악과 소프트웨어가 환경과 어떻게 상호작용하는지 이해하는 단계입니다.
요구사항 분석 기법으로는 DFD(Data Flow Diagram)로부터 소프트웨어 구조를 유도하는 자료 흐름 지향 분석과 시스템의 기능과 데이터를 함께 분석해 UML(Unified Modeling Language)로 표준화하는 객체지향 분석이 있습니다.
명세 (Specification)
요구사항 명세 단계는 체계적으로 검토와 평가, 승인이 될 문서를 작성하는 단계로 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항을 작성합니다.
요구사항 명세 기법은 사용자와 개발자의 이해가 용이하지만 명확성 및 검증에 문제가 있는 자연어에 의한 방법과 명확서성 및 검증에는 용이하지만 기법의 이해가 어려운 정형화 기법 사용 방법이 있습니다.
확인 (Validation)
요구사항 확인 단계는 요구사항 문서가 표준에 적합하고 이해 가능하며 일관성이 있고 완전한지에 대해 검토하는 단계입니다.
요구사항 확인 기법은 2~3명이 진행하는 리뷰 형태로 요구사항 명세서 작성자의 설명을 들으며 이해 관계자가 결함을 발견하며 진행되는 동료 검토(Peer Review), 오류를 초기에 검출하는 목적으로 회의 전에 검토 자료를 배포해 짧은 시간동안 회의를 진행해 오류를 검출해 문서화 하는 워크 스루(Walk Through), 소프트 웨어 요구, 설계, 원시 코드 등의 저작자 외 다른 전문가나 팀이 검사해 오류를 찾아내는 공식적인 검토 방법인 인스펙션(Inspection)이 있습니다.
비용산정 모델
비용산정 모델이란 소프트웨어 규모 파악을 통한 투입자원과 소요 시간을 파악하여 실행가능한 계획을 수립하기 위해 비용을 산정하는 기법입니다.
비용산정 모델로는 하향식 산정방법과 상향식 산정방법이 있습니다.
하향식 비용산정 모델
하향식 산정방법은 경험이 많은 전문가에게 비용산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는 방식입니다.
하향식 산정방법의 두가지 종류로는 조직내에 있는 겸험이 많은 두 명 이상의 전문가에게 비용산정을 의뢰하는 기법인 전문가 판단과 편견과 분위기에 지배되지 않기 위해 여러 명의 전문가와 한명의 조정자가 경험적 지식을 바탕으로 문제해결과 미래 예측하는 기법인 델파이 기법이 있습니다.
상향식 비용산정 모델
상향식 산정방법은 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식입니다.
상향식 산정방법의 다섯가지 종류가 있습니다.
첫번째 방법인 LoC(Lines of Code)는 소프트웨어의 각 기능의 원시코드 라인 수의 비관치, 낙관치, 중간치를 측정해 예측치를 구해 이를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정하는 방법으로 측정이 쉽고 이해하기가 쉬워 많이 사용되고 있습니다.
낙관치는 가장적게 측정된 코드 라인 수이며, 비관치는 가장 많이 측정된 코드 라인 수 마지막으로 중간치는 측정된 모든 코드 라인 수의 평균입니다.
두번째 방법인 Man Month는 한사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 기법입니다.
Man Month = LoC ÷ 한 프로그래머의 월간 생산성
프로젝트 기간 = Man Month ÷ 프로젝트 총 인력
세번째 방법인 COCOMO는 COnstructive COst MOdel의 약자로 개발 노력 승수를 결정하는 방식입니다. 이보헴(Bohem)이 제안한 모형으로 프로그램 규모에 따라 단순형, 중간형, 임베디드형으로 나눠 비용을 산정하는 방식입니다.
단순형(Organic Mode)는 기관 내부에서 개발된 중 · 소규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리 개발에 적용되며 5만 라인 이하의 소프트웨어를 개발하는 유형입니다.
중간형(Semi-Detached Mode)는 단순형과 임베디드의 중간형입니다. 트랜잭션 처리 시스템이나 운영체제 데이터베이스 관리 시스템 개발에 적용되며 30만 라인 이하의 소프트웨어를 개발하는 유형입니다.
임베디드형(Embedded Mode)는 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 개발에 적용되며 30만 라인 이상의 소프트웨어를 개발하는 유형입니다.
네번째 방법인 푸트남(Putnam)모형은 소프트웨어 개발 주기의 단계별로 요구할 인력의 분포를 가정하는 모형입니다. 자동화 추정 도구로는 SLIM이 있습니다.
마지막 방법인 기능점수(Function Point)모형은 요구기능을 즌가시키는 인자별로 가중치를 부여하여 기능 점수를 계산해 비용을 산정하는 방식입니다. 입력, 출력, 질의, 파일. 인터페이스의 개수로 소프트웨어의 규모를 표현합니다. 원시코드의 구현에 이용되는 프로그래밍 언어에 독립적이며 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여합니다.
프로젝트의 영향도와 가중치의 합을 이용하여 기능점수를 계산합니다.
정규법은 각 기능의 속성을 정의하여 기능별 복잡도 매트릭에 의한 기능 점수를 산정한 방식이며 산세한 기능점수 측정이 가능합니다.
간이법은 개략적인 사용자 요구사항을 바탕으로 기능점수를 도출하여 평균 복잡도에 의한 기능점수를 산정하는 방식이며 프로젝트 초기에 개발 비용을 측정 가능합니다.
관련글
'공부' 카테고리의 다른 글
정보처리기사 공부 인터페이스 구현 (0) | 2021.02.16 |
---|---|
정보처리기사 공부 서버 프로그램 구현 (0) | 2021.02.15 |
정보처리기사 공부 통합 구현 (0) | 2021.02.13 |
정보처리기사 공부 데이터 입출력 구현 (0) | 2021.02.12 |
2021년 정보처리기사 시험일정 총정리 (0) | 2020.12.13 |
댓글