gb_leem.log
로그인
gb_leem.log
로그인
소프트웨어공학 3
LeemHyungJun
·
2023년 4월 20일
팔로우
0
소프트웨어공학
0
Lecture #3. 요구 분석
1. 요구란?
1-1. 요구 분석 과정
현재(as-is) 시스템에서 새로운 시스템(to-be)로 옮겨가는 과정
분석 단계
요구를 찾고, 요구를 정리
요구 분석
요구 정의
요구 추출 : 인터뷰, JAD 회의, 설문, 관찰
요구 정리 : 기능적 모델링, 정적 모델링, 동적 모델링
요구 검토
1-2. 요구 분석 사전 능력
응용 분야에 대한 지식이 필수적
하드웨어, 소프트웨어를 포함한 컴퓨터에 대한 기술을 이해
의사소통
능력인 듣고, 말하고, 쓰고, 발표하는 능력이 매우 중요
-> 오감을 사용
상대의 관점(고객 관점)
에서 문제를 볼 수 있는 눈이 필요
-> 오감을 사용
사용자 및 고객과의 대화를 통하여 그들의 다양한 관점을 통합하는 의무
사용자들로부터의 모순되는 요구사항을 해결하는 능력
분석에 있어서 키워드!
쉬운 용어
의사소통을 위한 그림 (쉽고 간단한 표현)
주도적인 일처리
많은 대화
사용자의 요구사항과 도메인 전문가의 전문지식을 뽑아내기
라포
rapport
고객과 마음의 다리를 놓기 - 공감 형성, 친근감
라포는 태도다, 목소리나 눈빛
1-3. 요구 분석 모델링
실체를 축약하여 표현하는 작업
기능적 모델
사용자와 환경이라는 관점의 모델
정적(구조적) 모델
클래스(프로세스와 자료의 묶음)의 구조 관점
동적 모델
시스템의 동작과 내부요소의 상호작용
1-4. 요구 분석 과정? 또 나옴
요구사항 수집의 특징 (사람의 성격과 관련)
당돌함
공평성
제약에 얽매이지 않는 특성
세심한 주의력
참신성
1-5. 요구 정의
요구란?
시스템이 무엇을 하여야 하는지, 어떤 특성을 가져야 하는지를 기술한 것
사용자가 필요한 것
요구는 설계, 구현에 이르면서 계속 변경될 수 있음
요구의 종류
What: 비즈니스 요구 (분석 단계)
How: 시스템 요구 (설계 단계)
1-6. 기능적 요구와 비기능적 요구
기능적 요구
시스템이 수행하여야 할 처리나 정보 저장 등의 기능
ex) 상품검색, 장바구니, 상품주문, 마일리지, 상품 찜
비기능적 요구
성능, 사용용이성, 보안, 프로젝트 환경
ex) 평균 반응 시간, 가용성, 개인 정보 보호, 처리량, 데이터 복구
1-7. 요구 정의 사례
명세서
1-8. 요구 정의 작성
반복적이며 계속적인 작업
요구 작성 과정
1-9. 요구 결정
비즈니스나 IT 측면에서 요구를 결정
사용자와 엔지니어가 정보를 나누고 이해
비즈니스 프로세스 분석 기법을 사용
2. 프로세스 분석
2-1. 비즈니스 프로세스 분석 기법
시스템에 담길 변화의 종류에 따라 세가지로 나눔
BPA :
자동화
BPI :
개선
BPR :
리엔지니어링
-> 완전히 바꾸기
BPA와 BPR이 BPI보다 더 효과적이지만, 위험성이 높다.
2-2. 비즈니스 프로세스 분석
세 가지 단계
현 상황을 이해 (as-is)
개선할 점 파악 (BPA, BPI, BPR)
새 시스템을 정의 (to-be)
2-3. 비즈니스 프로세스 자동화
컴퓨터 기술의 도입이 필요한 프로세스
효율을 높일 수는 있지만, 비즈니스 가치나 영향이 적음
문제 분석 : ex) 수작업 시스템에서 개선할 부분 (BPA)
근본 원인 분석
2-4. 비즈니스 프로세스 개선
조직을 운영하는 방법을 적절히 바꾸는 것
효율과 효과를 높일 수 있음
BPA보다 시스템 이해에 시간을 적게 할애하고 비즈니스 프로세스에 집중
기간 분석
ex) 현재 시스템에 있는 각 프로세스를 수행하는데 걸리는 시간 조사
작업 비용
분석
ex) 가장 비용이 많이 드는 프로세스를 찾아낸 후 이를 개선
비공식
벤치마킹
ex) 다른 기관과 비교 연구
2-5. 비즈니스 프로세스 리엔지니어링
조직이 수행하는 기본 틀을 수정
새 아이디어와 기술에 초점
성과 분석
기술 분석
작업 제거
2-6. 분석 방법의 비교
표 외워버리기~
리엔지니어링이 가치가 높지만, 비용과 위험도도 높다
3. 요구 추출
3-1. 요구 추출 방법
분석가는 명탐정이 되어야
요구 추출의 실제
파생 효과가 있음
누가 참여할 것인지 신중히 결정
참여자에게 감사의 표시
인터뷰, JAD 회의, 설문, 문서분석, 관찰 중 적합한 방법 선택
3-2. 인터뷰
사용자와의 심층 대화로부터 요구를 끌어내는 방법
질문의 준비가 중요
인터뷰 질문 작성 - 중요!!
다른 곳에서 찾을 수 있는 질문은 피하기
대상자가 알 수 있다고 예상되는 질문만 하기
세가지 유형
폐쇄형
자유 대답형
유도형
인터뷰 후속 조치
인터뷰 보고서 작성
상대의 검토로 명확하게 하고 고칠 수 있게 함
3-3. JAD 회의 - 중요!!
Joint Application Development
프로젝트 팀, 사용자, 관리자의 협의 회의
브레인스토밍 아이디어 회의
아이디어에 대한 자신의 의견을 말하지 않음
발언권을 골고루 주기!
E-JAD : 무기명, 자유로움, 대기시간 줄임
JAD 회의 과정
3-4. 설문
개인으로부터 정보를 취하기 위한 질의서
광범위한 사용자로부터의 의견이 필요할 때
지면, 이메일, 웹
설문지 설계가 중요
일관된 형식
사실과 의견을 묻는 질문 구별
관심을 끌도록 유도
3-5. 서류 분석(문서 분석)
현재 시스템을 이해하기 위하여
보고서, 메모, 정책 매뉴얼, 교육 매뉴얼, 조직도 등 문서 분석
사용한 적이 없는 문서는 제외
변경, 개선할 필요성을 찾아내기
3-6. 관찰
작업 과정을 지켜보면서 현재 시스템에 관한 정보 수집
직접 경험
메모, 촬영
인터뷰 정보를 보완할 목적으로 사용
3-7. 요구 취합 방법의 비교
시험에 안나옴 ? 나올수도 있음?
인터뷰와 JAD 회의 가 좋은 방법
JAD회의는 여러명이 오기 때문에 더 많이 사용
인터뷰는 사람마다 결과가 달라질 수 있다는 단점
4. 요구 정리, 문서화
4-1. 요구 문서화
사용자와 엔지니어가 같이 볼 수 있어야 함
포함될 내용
제목, 버전 번호, 수정 이력
문제와 시스템 개요
배경 지식과 환경
기능적/비기능적 요구
인수 테스트를 위한 기준
Github 버전관리!!
4-2. 요구 분석서 검토
개발 지침 가이드라인을 준수
리뷰 회의
발견된 결함은 수정하여 다시 검토
기준
명확성 통일성
일관성, 모호성
실현가능성
문제 해결
...
LeemHyungJun
팔로우
이전 포스트
소프트웨어공학 2
다음 포스트
소프트웨어공학 4
0개의 댓글
댓글 작성