#6 소프트웨어 비용 산정
기능점수
코드의 라인 수 기반 비용 산정의 문제점을 완화하기 위한 기능 중심의 비용 산정 기법이다.
소프트웨어에 있는 기능의 양과 복잡한 정도를 기준으로 규모를 산정한다.
기능 점수 산정의 구성 요소
데이터 기능 = 내부 논리 파일 + 외부 인터페이스 파일
처리 기능 = 외부 입력 + 외부 출력 + 외부 질의
기능 점수 산정 : 각 기능의 양을 count한 후 각 기능을 정의한 복잡도의 가중치를 곱한다.
기능 점수 산정 절차
단계1 : 기능 점수 산정 유형 결정 // 개발 프로젝트, 개선 프로젝트, 유지보수 프로젝트
단계2 : 범위 및 경계 선정 // 산출 범위, 획득 방법, 대상 시스템 세부 내용 정의
단계3 : 데이터 기능 산출 및 복잡도 식별 // 내부 논리 파일과 외부 인터페이스 파일 식별
단계4 : 처리 기능 산출 및 복잡도 식별
단계5 : 예비 기능 점수 산정
단계6 : 조정 인자 값 산출
단계7 : 최종 기능점수 산정
기능점수 산정의 정규법과 간이법
정규법은 상세하고 정확한 기능점수 측정, 간이법은 개략적인 예측용 기능점수 측정
간이법 산정에서 기능점수 산정 : 개발 비용관점이 아닌 사용자가 수행하는 업무 중심으로 산정한다.
간이법에 의한 기능점수 산정 절차
기능 점수 산정 유형 결정 -> 범위 및 경계 선정 -> 모든 데이터 기능 식별, 모든 처리 기능 식별 -> 기능 점수 산정
기능 점수 분석 기법 적용 시 이점
기능 점수 분석 과정을 통해 요구사항을 더욱 명확하게 이해할 수 있으며
이 값을 이용해 일정, 비용 등을 더 적절하게 산출 가능하다.
산출물 품질 척도로 활용할 수 있다.
ㅡㅡㅡㅡㅡ
#7 요구사항 도출
요구사항
소프트웨어 시스템이 수행해야 할 것과 소프트웨어 시스템에 있어야 할 특성을 기술한 문장
요구사항의 특성
전체 소프트웨어 개발 수명주기에서 가장 중요한 요소이며, 소프트웨어 개발의 기준이다.
다양한 스테이크 홀더로부터 도출, 소프트웨어가 무엇을 해야하는가를 표현한다.
기능적인 요구사항과 비기능적 요구사항이 있다.
프로젝트 실패의 가장 중요한 이유는 명확하지 못한 요구사항 정의이다.
기능적 요구사항
사용자의 업무 처리와 직접 관련되어 소프트웨어 시스템이 수행해야 하는 요구내용이다.
소프트웨어 개발에서 반드시 구현되어야 하는 항목이다.
비기능적 요구사항
소프트웨어 시스템이 제공해야 하는 행위적 속성이다.
운영 요구사항, 자원 요구사항, 보안 요구사항, 성능 요구사항, 문화적/정책적 요구사항
인터페이스 요구사항
시스템을 사용하는 과정에서 지원해야 하는 GUI 요구사항이다.
기타 제약사항
조직의 지침에 대한 적용의 필요성
국내, 국제 표준에 대한 적용 필요성
요구사항 정의 시 나타나는 치명적 과실
노이즈 발생, 침묵 발생, 과도한 스펙 명세, 모순 발생, 모호성, 전방 참조, 사실이 아닌 기대 사항
요구사항 정의하는 문서에 대한 품질 요소
정확성을 갖춘 문서, 모호성이 없는 문서, 완전성을 갖춘 문서, 일관성을 갖춘 문서, 추적성을 갖춘 문서
요구사항 수집 기법 - 대면 수집 방법
인터뷰
시스템 개발과 관련된 이해 관계자들에 대한 대면 인터뷰이다.
준비 단계 > 실시 단계 > 정리 단계로 구성된다.
인터뷰 준비 단계
(인터뷰) 대상자 선정 -> 계획 수립 -> 준비
실시 단계
시작 -> 실시 -> 종료
정리단계
인터뷰 결과 정리 -> 인터뷰 결과 공지 및 평가
JAD (Joint Application Development) 세션
프로젝트 관리자, 사용자, 개발자가 모여 요구사항 도출을 위해 상호 토론하는 방법이다.
3주에 걸쳐 총 5일 정도 수행한다.
U자형 배치는 의견 교환이 쉽고 회의에 집중할 수 있다.
모든 사람이 의견을 제시할 수 있도록 유도하고 무조건적 동의를 강요하지 않는다.
요구사항 수집 기법 - 비대면 수집 방법
관련자를 만나지 않고 설문지나 문서 분석을 통해 요구사항을 분석하는 전략이다.
다양한 정보 수집이 용이하고 시간을 절약할 수 있다.
설문지
설문 대상 선정, 설문 문항 작성, 설문지 회수 방법 (전략 필요)
관심있고 쉬운 질문으로 시작하고 서로 관련성 있는 질문 내용을 그룹으로 묶어 구성한다.
문서 분석
개발 대상 소프트웨어를 사용할 업무에서 현재 사용하고 있는 다양한 종류의 문서를 분석함으로써,
구체적인 요구사항을 확보하는 방법이다.
관찰
소프트웨어의 미래 사용자가 수행하는 활동을 살펴보는 활동이다.
소셜 네트워크 (SNS)
시간과 공간의 제약 없이 다수 사용자에게서 요구사항을 수집하고자 할 때 활용한다.
요구사항 정의서
사용자의 요구사항과 개발 관련 요구사항을 정의한 문서이다.
준수해야할 사항
모든 요구사항에 유일한 식별자를 부여한다.
요구사항에 대해 우선순위를 부여한다.
요구사항을 그룹핑하여 체계화한다.
각 요구사항은 문장의 5형식에 따라 그 의미를 정확히 표현한다.
각 요구사항을 정의하는 문장은 복문이 아닌 단문으로 작성한다.
'전공 지식 정리 > 소프트웨어 공학' 카테고리의 다른 글
#8, #9 소프트웨어 공학 - 객체지향 분석, 모듈화 (0) | 2022.12.17 |
---|---|
#5 소프트웨어 공학 - 프로젝트 관리 (0) | 2022.11.25 |
#6 소프트웨어 비용 산정
기능점수
코드의 라인 수 기반 비용 산정의 문제점을 완화하기 위한 기능 중심의 비용 산정 기법이다.
소프트웨어에 있는 기능의 양과 복잡한 정도를 기준으로 규모를 산정한다.
기능 점수 산정의 구성 요소
데이터 기능 = 내부 논리 파일 + 외부 인터페이스 파일
처리 기능 = 외부 입력 + 외부 출력 + 외부 질의
기능 점수 산정 : 각 기능의 양을 count한 후 각 기능을 정의한 복잡도의 가중치를 곱한다.
기능 점수 산정 절차
단계1 : 기능 점수 산정 유형 결정 // 개발 프로젝트, 개선 프로젝트, 유지보수 프로젝트
단계2 : 범위 및 경계 선정 // 산출 범위, 획득 방법, 대상 시스템 세부 내용 정의
단계3 : 데이터 기능 산출 및 복잡도 식별 // 내부 논리 파일과 외부 인터페이스 파일 식별
단계4 : 처리 기능 산출 및 복잡도 식별
단계5 : 예비 기능 점수 산정
단계6 : 조정 인자 값 산출
단계7 : 최종 기능점수 산정
기능점수 산정의 정규법과 간이법
정규법은 상세하고 정확한 기능점수 측정, 간이법은 개략적인 예측용 기능점수 측정
간이법 산정에서 기능점수 산정 : 개발 비용관점이 아닌 사용자가 수행하는 업무 중심으로 산정한다.
간이법에 의한 기능점수 산정 절차
기능 점수 산정 유형 결정 -> 범위 및 경계 선정 -> 모든 데이터 기능 식별, 모든 처리 기능 식별 -> 기능 점수 산정
기능 점수 분석 기법 적용 시 이점
기능 점수 분석 과정을 통해 요구사항을 더욱 명확하게 이해할 수 있으며
이 값을 이용해 일정, 비용 등을 더 적절하게 산출 가능하다.
산출물 품질 척도로 활용할 수 있다.
ㅡㅡㅡㅡㅡ
#7 요구사항 도출
요구사항
소프트웨어 시스템이 수행해야 할 것과 소프트웨어 시스템에 있어야 할 특성을 기술한 문장
요구사항의 특성
전체 소프트웨어 개발 수명주기에서 가장 중요한 요소이며, 소프트웨어 개발의 기준이다.
다양한 스테이크 홀더로부터 도출, 소프트웨어가 무엇을 해야하는가를 표현한다.
기능적인 요구사항과 비기능적 요구사항이 있다.
프로젝트 실패의 가장 중요한 이유는 명확하지 못한 요구사항 정의이다.
기능적 요구사항
사용자의 업무 처리와 직접 관련되어 소프트웨어 시스템이 수행해야 하는 요구내용이다.
소프트웨어 개발에서 반드시 구현되어야 하는 항목이다.
비기능적 요구사항
소프트웨어 시스템이 제공해야 하는 행위적 속성이다.
운영 요구사항, 자원 요구사항, 보안 요구사항, 성능 요구사항, 문화적/정책적 요구사항
인터페이스 요구사항
시스템을 사용하는 과정에서 지원해야 하는 GUI 요구사항이다.
기타 제약사항
조직의 지침에 대한 적용의 필요성
국내, 국제 표준에 대한 적용 필요성
요구사항 정의 시 나타나는 치명적 과실
노이즈 발생, 침묵 발생, 과도한 스펙 명세, 모순 발생, 모호성, 전방 참조, 사실이 아닌 기대 사항
요구사항 정의하는 문서에 대한 품질 요소
정확성을 갖춘 문서, 모호성이 없는 문서, 완전성을 갖춘 문서, 일관성을 갖춘 문서, 추적성을 갖춘 문서
요구사항 수집 기법 - 대면 수집 방법
인터뷰
시스템 개발과 관련된 이해 관계자들에 대한 대면 인터뷰이다.
준비 단계 > 실시 단계 > 정리 단계로 구성된다.
인터뷰 준비 단계
(인터뷰) 대상자 선정 -> 계획 수립 -> 준비
실시 단계
시작 -> 실시 -> 종료
정리단계
인터뷰 결과 정리 -> 인터뷰 결과 공지 및 평가
JAD (Joint Application Development) 세션
프로젝트 관리자, 사용자, 개발자가 모여 요구사항 도출을 위해 상호 토론하는 방법이다.
3주에 걸쳐 총 5일 정도 수행한다.
U자형 배치는 의견 교환이 쉽고 회의에 집중할 수 있다.
모든 사람이 의견을 제시할 수 있도록 유도하고 무조건적 동의를 강요하지 않는다.
요구사항 수집 기법 - 비대면 수집 방법
관련자를 만나지 않고 설문지나 문서 분석을 통해 요구사항을 분석하는 전략이다.
다양한 정보 수집이 용이하고 시간을 절약할 수 있다.
설문지
설문 대상 선정, 설문 문항 작성, 설문지 회수 방법 (전략 필요)
관심있고 쉬운 질문으로 시작하고 서로 관련성 있는 질문 내용을 그룹으로 묶어 구성한다.
문서 분석
개발 대상 소프트웨어를 사용할 업무에서 현재 사용하고 있는 다양한 종류의 문서를 분석함으로써,
구체적인 요구사항을 확보하는 방법이다.
관찰
소프트웨어의 미래 사용자가 수행하는 활동을 살펴보는 활동이다.
소셜 네트워크 (SNS)
시간과 공간의 제약 없이 다수 사용자에게서 요구사항을 수집하고자 할 때 활용한다.
요구사항 정의서
사용자의 요구사항과 개발 관련 요구사항을 정의한 문서이다.
준수해야할 사항
모든 요구사항에 유일한 식별자를 부여한다.
요구사항에 대해 우선순위를 부여한다.
요구사항을 그룹핑하여 체계화한다.
각 요구사항은 문장의 5형식에 따라 그 의미를 정확히 표현한다.
각 요구사항을 정의하는 문장은 복문이 아닌 단문으로 작성한다.
'전공 지식 정리 > 소프트웨어 공학' 카테고리의 다른 글
#8, #9 소프트웨어 공학 - 객체지향 분석, 모듈화 (0) | 2022.12.17 |
---|---|
#5 소프트웨어 공학 - 프로젝트 관리 (0) | 2022.11.25 |