요구사항
: 어떤 문제를 해결하기 위한 필요한 조건이나 제의사항을 요구
: 요구사항은 개발에 참여하는 이해관계자들 간의 의사소통을 원활하게 하는데 도움을 줌
요구사항 유형
🔷 기술하는 내용 따라
🔸기능 요구사항 : 시스템이 무엇을 하는지, 어떤 기능을 하는지, 제공을 받기 원하는지에 대한 사항
🔸비기능 요구사항 :
▪시스템 장비 구성 : 하드웨어, 소프트웨어, 네트워크 등
▪성능 : 처리속도 및 시간, 가용성 등
▪인터페이스 : 사용자와 인터페이스에 대한 요구사항, 연결, 소통 등
▪데이터 : 데이터의 초기 자료 구축에 대한 요구사항
▪Test : 운영 여부를 테스트하고 점검하기 위한 요구사항
▪보안 : 데이터, 기능, 운영 접근을 통제하기 위한 요구사항
▪품질 : 관리가 필요한 품질 항목, 가용성, 정합성, 상호 호환성, 대응성, 신뢰성, 사용성, 유지관리성, 이식성, 확장성, 보안성 등으로 구분하여 기술
🔷 기술관점과 대상의 범위에 따라
🔸 사용자 요구사항 : 사용자 관점, 시스템이 무엇을 하는지 어떤 기능을 하는지에 대한 사항, 전문적, 기술적
🔸 시스템 요구사항(소프트웨어 요구사항) : 개발자 관점 , 시스템이 무엇을 하는지 어떤 기능을 하는지에 대한 사항, 친숙한 표현
요구사항 개발 프로세스
🌟도출 ➜ 분석 ➜ 명세 ➜ 확인
도출 (Requirement Elicitation) :
요구사항에 대한 수집과 식별하고 이해하는 과정, 개발자 - 고객 간의 관계
요구사항 도출하는 주요 기법 : 청취와의 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스 등
📌 유스케이스 (Use Case)
- 시스템의 동작을 사용자의 입장에서 표현한 시나리오
- 시스템이 무엇을 제공하는 지 간단하게 보여주는 다이어그램
분석 (Requirement Analysis) :
도출된 요구사항 중 명확하지 않거나 모호한 부분은 걸러내는 과정
타당성을 조사, 비용과 일정 제약 설정
요구사항 분석 : 자료 흐름도 (DFD), 자료 사전 (DD)
📌 자료 흐름도 (DFD : Data Flow Diagram)
- 시스템 구성요소인 프로세스와 프로세스 간의 데이터 흐름 표현하는 주요 도구
📌 자료 사전 (DD : Data Dictionary)
- 데이터 흐름도에 기술된 자료들에 대해 정의
- 자료, 자료들의 집합, 자료의 흐름, 자료 저장소와 관계 -범위 - 단위를 구체적으로 명시
명세 (Requirement Analysis) :
요구사항을 문서화하는 단계, 명확하지 않거나 모호해 이해되지 않는 부분을 발견하고 걸러내는 과정
🔸 기능 요구사항 : 빠짐없이 완전, 명확하게 기술
🔸 비기능 요구사항 : 필요한 것만 명확하게 기술
개발자가 효과적으로 설계 할 수 있고 사용자가 이해하기 쉽도록 작성
구체적인 명세를 위한 방법 : 소단위 명세서 (Mini-Spec)
확인, 검증 (Requirement Validation) :
요구사항이 정확, 완전하게 작성되었는지 검토 단계
요구사항 관리 도 구를 이 용해 요구사항 정의 문서들에 대해 형상 관리(SCM)를 수행
📌 형상관리(SCM : Software Configuration Management)
- 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것, 정보를 여러 버전으로 관리하는 것
요구사항 분석 기법
🔸 요구사항 분류 (Requirement Classification)
▪ 기능 요구사항과 비기능 요구사항으로 분류
▪ 개발한 제품에 관한 과정인지 개발 과정에 관한 것인지 분류
▪ 우선순위에 따라 분류
▪ 소프트웨어에 미치는 영향따라 분류
▪ 소프트웨어 생명주기 변경 가능성 여부에 따라 분류
🔸 개념 모델링 (Conceptual Modeling)
▪ 요구사항을 좀 더 이해하기 쉽도록 단순화하여 개념적으로 표현
▪ 모델을 만드는 과정을 모델링이라고 표현
▪ 요구사항을 이해하는 이해관계자 별로 관점이 다양하여 그에 맞게 개념 모델이 다양하게 표현
▪ 종류 : 유스케이스 다이어그램, 데이터 흐름 모델, 목표 기반 모델, 객체 모델 등
▪ 모델링 표기는 주로 UML(Unified Modeling Language) 사용
🔸 요구사항 할당 (Requirement Allocation)
▪ 요구사항을 만족시키기 위한 구성요소 식별
▪ 분석하는 과정에서 추가적인 요구사항이 발견 될 수 있음
🔸 요구사항 협상 (Requriement Negotition)
▪ 요구사항 협상 중 서로 충돌이 될 경우 적절한 기준을 찾아 합의하는 과정
▪ 요구사항이 서로 충돌되는 경우 각각 우선 순위를 부여하여 문제 해결, 적절한 기준점을 찾아 합의
🔸 정형분석 (Formal Analysis)
▪ 구문(Syntax), 의미(Semantics) ➜ 정형화된 언어를 이용 ➜ 수학적 기호으로 표현 ➜ 분석
▪ 요구사항의 마지막 단게에서 이루어짐
요구사항 확인 기법
요구사항 개발 과정을 거쳐 문서화된 요구사항 관련 내용을 확인하고 검증하는 방법
🔸 요구사항 검토
문서화된 요구사항을 훑어보면서 확인하는 것이 일반적인 요구사항 검증 방법
명확.가정. 기준이 안맞는 것을 찾아내는 과정
🔸 프로토타이핑
모형물(프로토 타입) 재작성 하는 과정
새로운 요구사항이 만들어짐
🔸 모델 검증
요구사항 분석 단계에서 개발된 모델이 요구사항 충족시키는지 검증
🔸 인수 테스트
사용자가 실제로 사용될 환경에서 요구사항이 충족되었는지 사용자 입장에서 검증
종류 : 사용자 인수 테스트, 운영상의 인수 테스트, 계약 인수 테스트, 규정 인수 테스트, 알파 검사, 베타 검사
'이외 개발 스터디 > 정보처리기사' 카테고리의 다른 글
[ 정보처리기사 ] 1과목 - 화면설계 3 (사용자 인터페이스(UI)) (0) | 2024.03.15 |
---|---|
[ 정보처리기사 ] 1과목 - 화면설계 2 (사용자 인터페이스(UI)) (1) | 2024.03.14 |
[ 정보처리기사 ] 1과목 - 화면설계 (사용자 인터페이스(UI)) (0) | 2024.03.13 |
[ 정보처리기사 ] 1과목 - 소프트웨어 생명 주기 (0) | 2024.03.08 |
[ 자격증 ] 정보처리기사 공부 내용 정리 (0) | 2024.03.08 |