728x90
[ 4차시 21-01-08 금요일 ]
[필기- 소프트웨어설계] 요구사항 확인 C
- 요구사항
- 요구사항의 개념
-// 요구사항에 대한 설명, 요구사항의 제약조건들, 유지보수 과정에서 필요한 기준과 근거를 제공해준다. 요구사항으로 개발하고자하는 전반적인 소프트웨어내용을 확인할수있게해주기에 개발자들간에 의사소통을 원활하게 해준다. 요구사항이 제대로 돼 있어야 개발하는데 불편할 수 있다. 어떤문제를 해결하기위한 서비스에 대한 설명
- 요구사항의 유형
- 기술하는 내용에 따라
- //기능 요구사항 / 비 기능 요구사항으로 나뉜다.
- //기능요구사항 : 시스템이 무엇을 하는가 이시스템이 어떤기능을 하는가
사용자는 시스템을 통해서 무엇을 제공받기를 원하는가
- //비기능 요구사항 : 장비(소프트웨어 , 하드웨어) , 성능, 인터페이스 기능, 데이터 요구사항, 보안이 필요한 데이터, , Test요구사항 보안 요구사항, 품질 요구사항
- 기술관점과 대상의 범위에 따라
- //시스템 요구사항과 / 사용자 요구사항으로 나뉜다.
- //시스템 요구사항 : 개발자 관점에서 보는것 시스템전체가 다른시스템에게 제공해야될 요구사항, 전문적이고 기술적인 용어로 표현되는 소프트웨어 요구사항이다.
- //사용자 요구사항 : 사용자 관점에서 제공되어야할 요구사항을 적는것 친숙한 표현으로 이해하기 쉽게 작성해야한다.
- 요구사항 개발 프로세스
- // 도출 - 분석 - 명세 - 확인
- // 도출 : 요구사항을 체계적으로 도출함
- // 분석 : 도출된걸 분석한다.
- // 명세화 : 도출된건 반드시 문서화해야한다.
- // 확인 : 마지막으로 확인한다.
- 요구공학 : 요구사항개발은 요구공학속에 들어가는 분야? 이다.
- 요구사항
- 요구사항 도출
- // 요구사항에대한 수집이다. 사용자 개발자 들이 서로 의견을 교환하는것 , 요구사항이 무엇인지 어떻게 수집하는지에 대한과정이다.
- // 개발자와 고객간의 관계가 형성되는것이다. 서로 의사소통을 통해 의견교환을 한다.
- 소프트웨어개발 생명주기에 따라서 지속적으로 의사소통을 반복한다. 요구사항 수집은
- 인터뷰 (직접대화) /설문/ 워크샵 / 브레인스토밍/ 프로토 타이핑 등이있다.
- 요구사항 분석
- //수집한 요구사항을 걸러내는 부분이다. 모호하거나 이상한것들을 걸러낸다. 사용자가 요구하는 부분이 타당한지 비용은 어느정도인지 일정은 어느정도인지 설정한다. 소프트웨어에서 어느범위까지를 개발로 잡을건지 주변환경과 상호작용하는 방법을 이해한다.
- 요구사항 명세
- // 요구사항을 문서화하는 과정, 요구사항을 완전하고 명확하게 기술하는 과정이다.
- //기능 요구사항 / 비기능 요구사항이있다.
- //기능요구사항 : 빠짐없이 완전하고 명확하게 기술한다.
- //비기능 요구사항: 필요한 것만 명확하게 기술한다.
- 요구사항 확인
- // 정확하게 완전하게 작성되었는지 검토하는 과정 , 사용자의 요구사항을 정확하게 이해했는지 명세서는 정확하게 작성했는지 내용은 이해하기 쉽게 기술됐는지 검증하는 과정이다.
- 요구사항 확인 (응용 SW엔지니어링 ) // 요구사항 확인을 위해 어떤 지식을 갖춰야하는지 목록이다
- 지식
- 산업 분야
- // 산업 분야에대한 이해
- 프로젝트
- // 환경에대한 지식
- 업무특성
- // 업무특성에 대한지식
- 요구 공학
- // 요구공학 방법론에 대한 지식
- 소프트웨어
- // 소프트웨어 개발 방법론에 대한지식
- 통계학
- // 통계학지식
- // 요구분석을 할려면 요구분석 기법을 알아야한다. 사용자의 요구가 타당한지 판단하기위해서는 타당성 분석기법을 알아야한다.
- 기술
- 유즈케이스 작성 능력
- UML 작성기술
- 분석자동화 도구
- 요구사항 관리도구
- 리뷰진행
- 요구사항 분석 // 요구사항 분석하는 기법이다.
- 요구사항 분석 기법 // 명확하지 않거나 모호한부분을 걸러내기위한 방법이다.
- 요구사항 분류
- // 기능적인 요구사항과 비기능적인 요구사항과 분리하고
- //개발할 제품에대한것인지 개발과정에 대한것인지
- // 우선순위에대해서 분류
- // 소프트웨어에 미치는 영향에대해 분류
- // 소프트웨어 생명주기동안 변경이 되는지에대해서 분류
- 개념 모델링
- // 요구사항을 좀더 쉽게 이해할수있도록 단순화시키는게 개념 모델링이다.
- // 분석의 가장 핵심부분
- // 코끼리를 찰흑으로 빚는다면 가장큰특징인 코끼리 코를 크게 만드는것이다 이처럼 단순화시키는것
- // 유스케이스 다이어그램/ 데이터 흐름도/ 목표기반 모델/ 객체모델/
- //위의 모델링은 UML이라고 한다 영어로
- 요구사항 할당
- // 요구사항을 만족시키기위해서 구성요소를 식별하기 위해서 어떻게 작용하는지 분석하는 과정에서 추가적인 요구사항이 할당될수도있다.
- 요구사항 협상
- // 서로의 요구사항이 충돌될 경우가 있는데 이때 적절한 요구사항을 합의를 해야하는데 2명이상의 요구사항이 충돌됄수있다. 요구사항이 자원과 안맞을수도있고, 기능적요구사항과 비기능적인 요구사항이 서로 충돌할수도있다. 그래서 나름대로의 우선순위를 부여해서 문제해결에 도움이 될 수 있다.
- 정형분석
- // 정형분석, 비정형분석이다 라는 말이있는데
- // 구문, 의미등을 갖는 정형화된 언어를 이용해서 그런 요구사항을 수학적기호로 표현한후에 분석하는것을 정형분석이라고 한다.
- // 요구사항분석에서 가장 마지막 단계에서 이뤄지는 부분이다.
- 문제
- 요구사항 분석 기법중 다음이 설명하는 것은 무엇인가?
" 구문과 의미를 갖는 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현한 후 이를 분석하는 과정이다"
- 요구사항 분류
- 요구사항 협상
- 정형 분석 ( 0 )
- 개념 모델링
- 정답 3번
- 요구사항 확인기법
- 요구사항 확인 기법//검증하는 방법
- 요구사항 검토 // 시험지 검토하듯 문서화된 요구사항을 훑어보면서 확인하는것
- //명확하지 않은부분은 없나? 가정이 잘못된곳은 없다? 기준이 잘못된건 없나? 이런것을 찾아내는 과정
- 프로토타이핑
- // 모형물이라고 하면된다. 아파트지을때 모델하우스 짓는거, 요구사항을 토대로 프로토 타입을 만든다. 그러면 서로가 이해하기도 쉽고 시스템개발이 진행되는동ㄴ 요구사항을 도출하면서 잘못된 요구사항을 재작성하거나 새로운 요구사항을 추가해서 모형물을 재작성하기도한다.
- //장점 : 이해하기가 쉽다, 최종시스템을 완성하기 전에 추가해야할것 변경해야할것에대한 피드백이 가능하다. 개발자와 의뢰자간의 의사소통이 쉽다
- // 단점 : 소프트웨어 개발에 집중해야하는데 제작에 집중할수있다. 개발대상에 일부분을 대상으로 프로토 타입을 만들었는데 의뢰자가 잘못 이해할수있고, 결과물에대한 과대평가를 할수도있고 프로토타입을 만드는데 비용이 따로 또 들어가게 된다
- 모델 검증
- //모델이 요구사항을 제대로 충족했나 확인하는과정이다.
- 인수 테스트
- // 요구사항이 모두 충족되었는지 사용자과정에서 확인하는것이다.
- 문제
- 다음중 요구사항 확인 기법이 아닌 것은? // 요구사항확인기법과 요구사항분석기법이있다.
(1) 요구사항 검토
(2) 정형 분석 ( 0 )
(3) 모델 검증
(4) 인수 테스트
- // 확인 : 요구사항 검토 , 모델검증, 인수테스트, 프로토 타입
- // 분석기법 : 요구사항 분류 , 개념모델링, 요구사항 할당, 요구사항 협상, 정형분석기법
728x90