테스트 관련 강좌2018. 12. 4. 12:50
소프트웨어 요구사항 3
국내도서
저자 : 칼 위거스,조이 비티(Joy Beatty) / 최상호,임성국역
출판 : 위키북스 2017.04.27
상세보기



소프트웨어 요구사항


* 학습목표

1) 소프트웨어 요구사항의 정의, 요구사항 개발과 관리, 좋은 요구사항 프로세스의 이점, 고객과 개발자 간의 협력 관계, 요구공학의 우수 사례에 대해 설명할 수 있다.

2) 비즈니스 분석가의 역할과 업무, 분석가의 필수 역량과 필수 지식, 비즈니스 분석가 육성, 애자일 프로젝트에서 분석가의 역할, 협력적인 팀 구성하기에 대해 설명할 수 있다.


1) 소프트웨어 요구사항의 정의, 요구사항 개발과 관리, 좋은 요구사항 프로세스의 이점, 고객과 개발자 간의 협력 관계, 요구공학의 우수 사례에 대해 설명할 수 있다.

2) 비즈니스 분석가의 역할과 업무, 분석가의 필수 역량과 필수 지식, 비즈니스 분석가 육성, 애자일 프로젝트에서 분석가의 역할, 협력적인 팀 구성하기에 대해 설명할 수 있다.


1) 필수 소프트웨어 요구사항 : 소프트웨어 요구사항의 정의

2) 요구사항 개발과 관리 : 요구사항 개발과 관리 / 좋은 요구사항 프로세스의 이점/ 고객과 개발자 간의 협력 관계

3) 요구공학의 우수 사례 : 요구공학의 우수 사례를 설명

4) 비즈니스 분석가 : 비즈니스 분석가의 역할과 업무 / 분석가의 필수 역량과 필수 지식 / 비즈니스 분석가 육성 / 애자일 프로젝트에서 분석가의 역할 / 협력적인 팀 구성하기


주요키워드


☞ 요구사항 : 요구사항이란 무엇을 구현해야 하는가에 대한 명세다. 요구사항은 시스템이 동작하는 방법이나 시스템 속성 혹은 특성을 설명한 것이다. 이는 시스템 개발 프로세스의 제약조건이라고 볼 수도 있다.


☞ 비즈니스 요구사항 : 비즈니스 요구사항은 제품 개발 조직이나 제품을 구매하는 고객의 비즈니스 목표이다.


☞ 제약조건 : 제약조건은 개발자가 제품을 설계하거나 구현하며 선택이 필요할 때 이에 영향을 미치는 제약이다. 


☞ 품질 속성 : 품질 속성은 제품의 서비스나 성능 특성을 기술하는 비기능적 요구사항의 한 종류이다.


☞ 사용자 요구사항 : 사용자 요구사항은 특정 사용자 클래스가 시스템을 통해 반드시 수행해야 하는 목표나 태스크, 혹은 원하는 제품 속성이다.


* 요약정리



☞ 요구사항만큼 프로젝트의 모든 이해관계자의 이익이 교차하는 곳은 어디에도 없다. 고객, 사용자, 비즈니스 분석가, 개발자 등이 이해관계자에 포함된다. 이러한 접점을 잘 다루면 고객을 기쁘게 하고 개발자를 만족스럽게 한다. 그러나 이를 잘 다루지 못하면 제품의 품질과 비즈니스 가치를 떨어뜨리는 오해와 갈등의 원인이 된다. 요구사항은 소프트웨어 개발과 프로젝트 관리 활동의 토대가 되기 때문에 모든 이해관계자는 품질이 우수한 제품을 만들기 위해 요구사항 실천 지침들은 적용하는 데 충실해야 한다. 


☞ 요구사항 관리의 주요 활동은 아래와 같다. 

- 특정 시기에 일련의 기능적/비기능적 요구사항에 대한 합의 검토, 승인을 나타내는 스냅숏과 같은 요구사항 기준 정의하기

- 요구사항 변경 제안의 영향을 평가하고 통제할 수 있는 범위 내에서 승인된 변경 요청을 프로젝트에 반영하기

- 요구사항 중가에 따라 프로젝트 계획을 최신으로 유지하기

- 요구사항 변경으로 인해 예상되는 영향을 기반으로 새로운 합의안 협상하기

- 요구사항 간에 존재하는 관계 및 의존성 정의하기

- 개별 유구사항에 해당하는 설계, 소스 코드, 테스트 추적하기

- 프로젝트 전반에 대해 요구사항 상태와 변경 활동 추적하기


☞ 프로젝트 이해관계자 사이에 갈등이 생길수도 있다. 비즈니스 요구사항은 종종 사용자는 잘 알 수 없는 조직의 전략이나 예산에 대한 제약조건을 반영한다. 관리자에 의해 강제로 신규 정보 시스템을 사용하게 된 사용자는 소프트웨어 개발자에게 협조하려고 하지 않고 원하지 않는 미래의 불길한 징조 정도로 볼 것이다. 이러한 사람들을 ""패자 그룹""이라 부르기도 한다. 이러한 잠재적인 갈등을 관리하기 위해, 공감을 얻고 악감정을 피할 수 있는 프로젝트 목표 및 제약조건에 대한 의사소통 전략을 사용해야 한다. 


☞ 개발할 제품이나 제품의 일부에 대한 요구사항 합의에 도달하는 것은 고객과 개발자 간의 협력 관계에 있어 핵심이다. 이러한 합의에는 여러 당사자가 포함돼 있다. 

- 고객은 요구사항이 그들의 니즈를 충족함에 동의한다. 

- 개발자는 요구사항을 이해하고 개발 가능함에 동의한다.

- 테스터는 요구사항이 검증 가능함에 동의한다. 

- 관리자는 요구사항이 비즈니스 목표를 달성하리라는 데 동의한다. 


☞ 요구사항 분석은 모든 이해관계자들이 이해하기 쉽게 요구사항을 정제하고, 오류나 누락, 부족한 요구사항이 없도록 면밀히 검토하는 것을 말한다. 상위 요구사항을 적절한 수준으로 분해하거나 프로토타입 구현, 타당성 평가, 우선순위 협상 등이 분석이 포함된다. 요구사항 분석의 목표는 관리자가 현실적인 프로젝트 견적을 내거나 기술 직원들이 설계나 구현, 시험을 수행할 수 있는 정도의 충분한 품질과 정확도를 가진 요구사항을 개발하는 것이다. 


☞ 개발자나 사용자가 요구사항에 대한 확신이 없을 때 개념이나 가능성을 가시화하기 위해 프로토타입을 구현하자. 프로토타입은 요구사항을 검증하는 데 도움이 되고 개발자와 사용자가 해결해야 할 문제에 대한 상호 이해에 도달하게 된다. 


☞ 비즈니스 분석가는 직책으로 필요하기보다는 프로젝트 역할로서 필요하다. 비즈니스 분석가는 요구사항 분석가, 시스템 분석가, 요구공학자, 요구사항 관리자, 애플리케이션 분석가, 비즈니스 시스템 분석가, IT 비즈니스 분석가 등과 같은 의미이며, 단순히 분석가라고 하기도 한다. 이러한 직책은 조직 간에 일관성 없이 사용된다. 어떤 프로젝트에서 한 명 이상의 전담 전문가가 해당 역할을 수행할 수 있으며, 다른 직군의 팀 구성원에게 할당할 수도 있다. 프로젝트 관리자나 제품관리자, 제품 주인, 주제 전문가(SME), 개발자, 심지어 사용자도 이런 역할을 수행할 수 있다. 


☞ 비즈니스 분석가의 업무

- 비즈니스 요구사항 정의하기

- 요구사항 접근법 계획하기

- 프로젝트 이해관계자 및 사용자 클래스 식별하기

- 요구사항 도출하기

- 요구사항 분석하기

- 요구사항 문서화하기

- 요구사항 전달하기

- 요구사항 검증 이끌기

- 수월하게 요구사항 우선순위 할당하기

- 요구사항 관리하기


문제1) 다음 괄호에 들어갈 말은 무엇인가? P7. 비기능적 요구사항은 시스템이 꼭 제공해야 하는 속성이나 특징, 혹은 시스템이 고려해야 하는 제약조건에 대한 설명이다.


(              )은 시스템이 꼭 제공해야 하는 속성이나 특징, 혹은 시스템이 고려해야 하는 제약조건에 대한 설명은 무엇입니까?

   사용자 요구사항

   기능적 요구사항

   시스템 요구사항

   비기능적 요구사항



문제2) 다음 괄호에 들어갈 말은 무엇인가?  P18. 요구사항 명세는 지속적이고 체계적인 방식으로 수집된 요구사항에 대한 지식을 표현하고 보관하는 것을 포함한다.


(              )는 지속적이고 체계적인 방식으로 수집된 요구사항에 대한 지식을 표현하고 보관하는 것을 포함한다.

   요구사항 검증

    요구사항 명세

   요구사항 분석

   요구사항 도출



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터