소프트웨어 요구사항 3
도서명:소프트웨어 요구사항 3
저자/출판사:칼,위거스,조이,비티/위키북스
쪽수:752쪽
출판일:2017-04-28
ISBN:9791158390594
목차
[1부] 소프트웨어 요구사항: 무엇을, 왜, 누가
▣ 01장: 필수 소프트웨어 요구사항
소프트웨어 요구사항의 정의
- “요구사항”의 여러 해석
- 요구사항의 단계와 유형
- 세 단계로 요구사항 작성하기
- 제품 요구사항 vs. 프로젝트 요구사항
요구사항 개발과 관리
- 요구사항 개발
- 요구사항 관리
모든 프로젝트는 요구사항을 갖는다
좋은 사람이 나쁜 요구사항을 만날 때
- 사용자 참여 부족
- 부정확한 계획
- 점점 늘어나는 사용자 요구사항
- 모호한 요구사항
- 금도금
- 간과된 이해관계자
좋은 요구사항 프로세스의 이점
▣ 02장: 고객 관점의 요구사항
기대치 차이
누가 고객인가?
고객과 개발자 간의 협력 관계
- 소프트웨어 고객을 위한 요구사항 권리장전
- 소프트웨어 고객을 위한 요구사항 의무장전
요구사항을 존중하는 문화 만들기
의사결정자 식별하기
요구사항 합의에 도달하기
- 요구사항 기준
- 합의에 도달하지 못하면 어떻게 할까?
- 애자일 프로젝트에서 요구사항에 동의하기
▣ 03장: 요구공학의 우수 사례
요구사항 개발 프로세스 프레임워크
우수 사례: 요구사항 도출
우수 사례: 요구사항 분석
우수 사례: 요구사항 명세
우수 사례: 요구사항 검증
우수 사례: 요구사항 관리
우수 사례: 지식
우수 사례: 프로젝트 관리
새로운 사례 시작하기
▣ 04장: 비즈니스 분석가
비즈니스 분석가의 역할
비즈니스 분석가의 업무
분석가의 필수 역량
분석가의 필수 지식
비즈니스 분석가 육성
- 전직 사용자
- 전직 개발자나 테스터
- 전직(혹은 현직) 프로젝트 관리자
- 주제 전문가
- 초심자
애자일 프로젝트에서 분석가의 역할
협력적인 팀 구성하기
[2부] 요구사항 : 개발
▣ 05장: 비즈니스 요구사항 정립하기
비즈니스 요구사항 정의하기
- 원하는 비즈니스 이득 식별하기
- 제품 비전 및 프로젝트 범위
- 상충하는 비즈니스 요구사항
비전 범위 문서
- 1. 비즈니스 요구사항
- 2. 범위 및 한계
- 3. 비즈니스 컨텍스트
범위 표현 기법
- 컨텍스트 다이어그램
- 생태계 맵
- 기능 트리
- 이벤트 목록
범위에 집중하기
- 범위 결정을 위해 비즈니스 목표 활용하기
- 범위 변경의 영향력 평가하기
애자일 프로젝트의 비전과 범위
완료 여부 결정을 위해 비즈니스 목표 활용하기
▣ 06장: 고객의 목소리 찾기
사용자 클래스
- 사용자 분류하기
- 사용자 클래스 식별하기
사용자 페르소나
사용자 대표와 함께하기
제품 챔피언
- 외부 제품 챔피언
- 제품 챔피언에 대한 기대
- 다수의 제품 챔피언
- 제품 챔피언의 아이디어 수용하기
- 피해야 할 제품 챔피언의 함정
애자일 프로젝트의 사용자 대표
상충하는 요구사항 해결하기
▣ 07장: 요구사항 도출
요구사항 도출 기법
- 인터뷰
- 워크숍
- 포커스 그룹
- 관찰
- 설문지
- 시스템 인터페이스 분석
- 사용자 인터페이스 분석
- 문서 분석
프로젝트 요구사항 도출 계획
요구사항 도출 준비
요구사항 도출 활동 수행하기
요구사항 도출 후속 조치
- 노트 정리 및 공유
- 미해결 이슈 문서화하기
고객 의견 분류하기
요구사항 도출 완료 시점은 어떻게 알 수 있을까?
요구사항 도출 시 주의할 점
가정 요구사항과 암묵적 요구사항
누락된 요구사항 찾기
▣ 08장: 사용자 요구사항 이해하기
유스케이스와 사용자 스토리
유스케이스 접근법
- 유스케이스와 사용 시나리오
- 유스케이스 식별하기
- 유스케이스 탐색하기
- 유스케이스 검증하기
- 유스케이스와 기능적 요구사항
- 피해야 할 유스케이스의 함정
사용 중심 요구사항의 장점
▣ 09장: 규칙에 따르기
비즈니스 규칙의 분류체계
- 팩트
- 제약조건
- 동작 활성자
- 추론
- 계산
- 원자 수준의 비즈니스 규칙
비즈니스 규칙 문서화하기
비즈니스 규칙 발견하기
비즈니스 규칙 및 요구사항
모두 함께 묶기
▣ 10장: 요구사항 문서화하기
소프트웨어 요구사항 명세서
- 요구사항 명명하기
- 불완전성 다루기
- 사용자 인터페이스와 SRS
소프트웨어 요구사항 명세서 템플릿
- 1. 소개
- 2. 전반적인 설명
- 3. 시스템 특징
- 4. 데이터 요구사항
- 5. 외부 인터페이스 요구사항
- 6. 품질 속성
- 7. 국제화 및 현지화 요구사항
- 8. [기타 요구사항]
- 부록 A: 용어사전
- 부록 B: 분석 모델
애자일 프로젝트에서의 요구사항 명세서
▣ 11장: 좋은 요구사항 작성하기
좋은 요구사항의 특징
- 요구사항 문장의 특징
- 요구사항 모음의 특징
추적 가능한
요구사항 작성을 위한 지침
- 시스템/사용자 관점
- 스타일에 따라 작성하기
- 세부 수준
- 표현 기법
- 모호함 피하기
- 불완전성 피하기
- 개선 전후의 견본 요구사항
▣ 12장: 백문이 불여일견
요구사항 모델 만들기
고객의 목소리로 분석 모델 만들기
올바른 표현 기법 선택하기
데이터 흐름 다이어그램
스윔레인 다이어그램
상태 전이 다이어그램과 상태표
대화상자 맵
의사결정 일람표와 의사결정 트리
이벤트 반응표
UML 다이어그램에 대한 몇 마디
애자일 프로젝트에서 모델 만들기
당부사항
▣ 13장: 데이터 요구사항 명세화하기
데이터 관계 모델 만들기
데이터 사전
데이터 분석
보고서 명세화하기
- 보고서 요구사항 도출하기
- 보고서 명세의 고려사항
- 보고서 명세 템플릿
대시보드 보고서
▣ 14장: 기능, 그 이상을 향해
소프트웨어 품질 속성
- 품질 속성 찾기
품질 요구사항 정의하기
- 외부 품질 속성
- 내부 품질 속성
Planguage로 품질 요구사항 명세화하기
품질 속성의 트레이드오프
품질 속성 요구사항 구현하기
제약조건
애자일 프로젝트에서 품질 속성 다루기
▣ 15장: 프로토타이핑을 활용한 위험 감소
프로토타이핑: 무엇을 그리고 왜
목업과 개념 증명
일회성 프로토타입과 진화형 프로토타입
종이 프로토타입과 전자 프로토타입
프로토타입으로 작업하기
프로토타입 평가
프로토타이핑의 위험
- 프로토타입의 출시 압력
- 구제화 정도에 기인한 산만함
- 비현실적인 성능 예측
- 프로토타입에 과도한 노력 투자하기
프로토타이핑 성공 요소
▣ 16장: 중요한 것 먼저: 요구사항 우선순위 할당하기
왜 요구사항의 우선순위를 나눠야 하는가?
몇 가지 우선순위 화용론
우선순위와 심리적 게임
몇 가지 우선순위 할당 기법
- 할까? 말까?
- 짝 비교와 순위 나누기
- 3단계 규모 조정
- MoSCoW
- 100달러
가치와 비용, 위험에 따른 우선순위 할당하기
▣ 17장: 요구사항 검증하기
검증과 확인
요구사항 검토하기
- 검사 프로세스
- 결함 체크리스트
- 요구사항 검토 팁
- 요구사항 검토의 어려움
요구사항 프로토타이핑하기
요구사항 테스트하기
인수 기준에 따라 요구사항 검증하기
- 인수 기준
- 인수 테스트
▣ 18장: 요구사항 재사용
왜 요구사항을 재사용하는가?
요구사항 재사용의 관점
- 재사용 범위
- 수정 범위
- 재사용 원리
재사용을 위한 요구사항 정보의 종류
일반적인 재사용 시나리오
- 소프트웨어 제품군
- 시스템 개량 및 교체
- 기타 재사용 기회
요구사항 패턴
재사용에 유용한 도구
요구사항을 재사용할 수 있게 만들기
요구사항 재사용 장벽과 성공 요소
- 재사용 장벽
- 재사용 성공 요소
▣ 19장: 요구사항 개발, 그 이상을 향해
요구사항 노력 산정하기
요구사항을 기반으로 프로젝트 계획하기
- 요구사항을 기반으로 프로젝트 규모와 필요한 노력 산정하기
- 요구사항과 일정 산정
요구사항을 기반으로 설계 및 구현하기
- 아키텍처와 할당
- 소프트웨어 설계
- 사용자 인터페이스 설계
요구사항에서 테스트까지
요구사항에서 성공까지
[3부] 다양한 프로제트 유형을 위한 요구사항
▣ 20장: 애자일 프로젝트
폭포수 개발 방법의 한계
애자일 개발 방법론
요구사항에 대한 애자일 접근 방식의 필수 요소
- 고객 참여
- 문서의 상세 수준
- 백로그와 우선순위 할당
- 시기
에픽, 사용자 스토리, 기능, 맙소사!
- 변경 예측
애자일 프로젝트에 요구사항 사례 실천하기
애자일로 갈아타기: 이제 뭘 하지?
▣ 21장: 개선 프로젝트와 교체 프로젝트
예측 가능한 문제
기존 시스템에 적용할 수 있는 요구사항 기법
비즈니스 목표에 따라 우선순위 할당하기
- 갭 주의하기
- 성능 수준 유지하기
기존 요구사항이 존재하지 않을 때
- 어떤 요구사항을 명세화해야 할까?
- 기존 시스템의 요구사항을 찾는 방법
신규 시스템 도입 장려하기
반복할 수 있을까?
▣ 22장: 패키지 솔루션 프로젝트
패키지 솔루션 선택을 위한 요구사항
- 사용자 요구사항 개발하기
- 비즈니스 규칙 고려하기
- 필요한 데이터 식별하기
- 품질 요구사항 정의하기
- 솔루션 평가하기
패키지 솔루션을 구현하기 위한 요구사항
- 구성 요구사항
- 통합 요구사항
- 확장 요구사항
- 데이터 요구사항
- 비즈니스 프로세스 변경
패키지 솔루션의 일반적인 문제
▣ 23장: 외주 프로젝트
요구사항의 적절한 명세화 수준
인수자와 납품업체 간 상호작용
변경 관리
인수 기준
▣ 24장: 비즈니스 프로세스 자동화 프로젝트
비즈니스 프로세스 모델 만들기
- 요구사항 도출을 위해 현재 프로세스 활용하기
- 미래의 프로세스 먼저 설계하기
비즈니스 성과 지표 모델 만들기
비즈니스 프로세스 자동화 프로젝트의 우수사례
▣ 25장: 비즈니스 분석 프로젝트
비즈니스 분석 프로젝트의 개요
비즈니스 분석 프로젝트를 위한 요구사항 개발
- 의사결정을 활용해 작업에 우선순위 할당하기
- 정보가 사용되는 방법 정의하기
- 데이터 니즈 구체화하기
- 데이터를 변환하기 위한 분석 정의
분석의 진화적 특성
▣ 26장: 임베디드 및 기타 실시간 시스템 프로젝트
시스템 요구사항, 아키텍처 및 할당
실시간 시스템 모델 만들기
- 컨텍스트 다이어그램
- 상태 전이 다이어그램
- 이벤트 반응표
- 아키텍처 다이어그램
인터페이스
타이밍 요구사항
임베디드 시스템을 위한 품질 속성
임베디드 시스템의 도전과제
[4부] 요구사항 관리
▣ 27장: 요구사항 관리 사례
요구사항 관리 프로세스
요구사항 기준
요구사항 버전 관리
요구사항 속성
요구사항 상태 추적
요구사항 이슈 해결
요구사항 노력 측정
애자일 프로젝트에서 요구사항 관리
왜 요구사항을 관리하는가?
▣ 28장: 변경의 발생
왜 변경을 관리하는가?
범위 추가 관리하기
변경 관리 정책
변경 관리 프로세스의 기본 개념
변경 관리 프로세스 기술서
- 1. 목적 및 범위
- 2. 역할과 책임
- 3. 변경 요청 상태
- 4. 시작 기준
- 5. 작업
- 6. 종료 기준
- 7. 변경 관리 상태 보고서
- 부록: 각 요청이 포함하는 속성
변경 관리 위원회
- CCB 구성
- CCB 헌장
- 합의 재협상하기
변경 관리 도구
변경 영향 분석
- 영향 분석 절차
- 영향 분석 템플릿
애자일 프로젝트의 변경 관리
▣ 29장: 요구사항의 연결 고리
요구사항 추적하기
요구사항 추적을 위한 동기부여
요구사항 추적 매트릭스
요구사항 추적을 위한 도구
요구사항 추적 절차
요구사항 추적은 타당한가? 정말 필요한 것인가?
▣ 30장: 요구공학을 위한 도구
요구사항 개발 도구
- 요구사항 도출 도구
- 프로토타이핑 도구
- 모델링 도구
요구사항 관리 도구
- RM 도구 사용의 이점
- RM 도구의 기능
요구사항 도구의 선택과 구현
- 도구 선택하기
- 도구와 프로세스 준비하기
- 사용자의 도구 도입 촉진하기
[5부] 요구사항 구축하기
▣ 31장: 요구사항 프로세스 개선하기
요구사항이 다른 프로젝트 프로세스와 연관되는 방법
요구사항 및 다양한 이해관계자 그룹
변경에 대한 합의 구하기
소프트웨어 프로세스 개선의 기본 원칙
근본 원인 분석
- 프로세스 개선 주기
- 현재 방법 평가하기
- 개선 활동 계획하기
- 프로세스 만들기, 시험하기, 공개하기
- 결과 평가하기
요구공학 프로세스 자산
- 요구사항 개발 프로세스 자산
- 요구사항 관리 프로세스 자산
아직 멀었나?
요구사항 프로세스 개선 로드맵 만들기
▣ 32장: 소프트웨어 요구사항과 위험 관리
소프트웨어 위험 관리의 기본 원칙
- 위험 관리 요소
- 프로젝트 위험 문서화하기
- 위험 관리 계획
요구사항 관련 위험
- 요구사항 도출
- 요구사항 분석
- 요구사항 명세서
- 요구사항 검증
- 요구사항 관리
위험 관리는 여러분의 친구다
▣ 에필로그
▣ 부록 A장: 현재 요구사항 실천 지침에 대한 자기 평가
▣ 부록 B장: 요구사항 문제 해결 가이드
▣ 부록 C장: 요구사항 문서 샘플
▣ 용어사전
▣ 참고문헌