1. 기능 중심 비용산정 FP의 개요

  . FP(Function point)의 정의

   -SW를 기능단위로 정량 측정 하는 방식

  .FP등장 배경

    -프로그램 재사용으로 인한 생산성 향상으로 LOC 방식의 문제점 극복

  .FP 특징

    -사용자 기능 관점:언어 독립적,구현기술 무관

    -보정계수 적용 

 2.FP의 구성요소 및 계산법

   .구성요소

 

측정기준

요소

설명

트랜젝션

EI(External Input)

외부입력측정.
데이터,통제정보를 추가,수정,삭제하는 필수 요구 활동

 

EO(External Output)

외부출력측정.
데이터, 통제정보를 내보내는 필수 요구 활동

 

EQ(External inQuery)

외부조회 측정

데이터

ILF(Internal Logical File)

내부파일수 측정,유지보수되는 논리적 데이터 그룹

 

EIF(External Interface File)

외부 인터페이스수 측정,타시스템에서 참조되는 논리적 데이터 그룹

   .계산법

     - 기본 기능 점수(BFP) = 총합 (기능 증대요인 X 난이도)

     -  기술적 복잡도 (TCF) = 0.65 +  (총 영향도 X0.01)

          성능/품질 특성 요소별(23개 항목)

     - 총 기능 점수(TFP) = BFP X TCF

3.FP 장점 활용방안

. 개발환경 등에 무관한 일관된 점수산정(상대비교 가능), SDLC 과정 측정 가능

. 정량적 데이터 관리기반 조성(CMMi Level 2 이상 요건)

. 정량화된 규모산정을 통해 예산수립, 제안시 유용

. 벤치마킹조사, 개발비 유지보수 산정, 아웃소싱 계약 등에 활용

 

 

 

 

by 메렁키키 2015. 3. 13. 14:11

1.mccabe 회전복잡도의 개요

  . 복잡도의 정의

    -프로그램의 이해 난이도는 제어흐름 난이도의 복잡도에 따라 결정되며, 복잡도를 싸이클로메틱수(region,폐구간,그래프 영역)에 의해서 산정하는 방법

 .mccabe 복잡도 측정 특징

    1)싸이클로메틱의 개수와 원시프로그램 오류의 개수는 밀접한 관계가 있음

    2)최대 10을 넘지 않도록 하며 넘으면 이를 분해하도록 함.

2.Mccabe 계산방식 및 예제

  .변수

    -의사결정수(if ,then,else, do while,case)

    -조건수 (and, or, not )

  .복잡도 계산방식

    1)복잡도=영역수(폐구간)+1(제어흐름 그래프를 통해 파악)

    2)복잡도=화살표수 - 노드수 + 2(제어흐름 그래프를 통해 파악)

    3)복잡도=의사 결정수 + 조건수 + 1(프로그램 코드상에서 파악, 제어흐름도를 그리기 어려운 경우 활용)

  .예제

   1)복잡도=영역수+1=2+1=3                             

   2)복잡도=화살표수-노드수+2 = 7-6+2=3

   3)복잡도=의사결정수+조건수+1=2+1=3

 

3.McCabe 복잡도 척도 및 활용방안

  가 복잡도 척도

   -5이하:매우 간단한 프로그램   -5~10:매우 안정적이고 구조적

   -20이상:문장 자체가 복잡,구조가 필요 이상으로 복잡한 프로그램

   -50이상:매우 비구조적으로 불안정한 프로그램

  .McCabe 복잡도 활용방안

  -프로젝트 특성(규모,복잡도,비즈니스적 위험도),발주처 환경(인식정도,프로젝트환경) 고려

  -지표값의 지식화를 통한 신뢰성 향상, 생산성 지표 활용을 통한 개발 조직의생산성 향상

 

===================


문) McCabe 회전복잡도
답)
1. SW 제어흐름의 복잡도 통한 품질측정, McCabe 회전복잡도 개요
  가. McCabe 회전복잡도 (Cyclomatic Complexity) 의 정의
    - 원시코드의 싸이클로 메틱수 (페구간 수)를 이용하여, SW의 복잡도,
      품질을 정량적으로 측정하는 기법.
  나. McCabe 회전복잡도 특징
    - 이해 용이: 그림, 계산식 이용하여 폐구간 개수를 시각적 파악 가능
    - 정적분석도구 활용: 복잡한 코드 분석시, 자동화 도구 이용. 모듈화 대상 선정

2. McCabe 회전복잡도 계산방식 및 척도
  가. McCabe 복잡도 계산방식 및 사례
    - 제어흐름 그래프이용: 폐구간 영역수 + 1, 화살표수 - 노드수 + 2
    - 코드 구문 이용: 의사결정수 + 조건수 + 1
    - IF-THEN-ELSE, DO WHILE, CASE, AND/OR/NOT의 의사결정 수 이용.
  -----------------------------------------------------------
   A -> B   페구간 개수:2, 화살표수:5, 노드수: 4
   ∧\   |   - 복잡도 = 폐구간수(2) + 1 = 3.
   |   ↘∨   - 복잡도 = 화살표수(5) - 노드수(4) + 2 = 3.
   C <- D
  -----------------------------------------------------------
  나. McCabe 회전복잡도 척도
    - 5이하: 매우 간단한 프로그램
    - 5~10: 매우 구조적이고 안정적 프로그램
    - 20 이상: 구조가 필요 이상으로 복잡한 프로그램
    - 50이상: 매우 비 구조적이며 불안정한 프로그램.

3. McCabe 회전 복잡도의 활용방안 및 고려사항
  가. 모듈화 기준: 10 이상의 회전복잡도, 이해용이성/유지보수정 고려 리펙토링.
  나. 서비스 단위 기준: 서비스 흐름도의 복잡도 계산, 10 이상시 서비스 단위 세분화.
  다. 복잡도 계산에 많은 시간 소요되므로, 프로젝트 성격/특징에 따라 우선순위 별 적용
  라. 개발조직 역량/생산성 측정 및 향상 위하여, 지표의 지속적인 관리/개선방안 공유 필요.
"끝"

'정보관리기술사 > sw공학' 카테고리의 다른 글

visitor 패턴,observer 패턴 ,유지보수  (0) 2015.03.13
구조적 테스트, whitebox test검증기준  (0) 2015.03.13
정성적,정량적sw위험분석  (0) 2015.03.13
FP  (0) 2015.03.13
소프트웨어 품질보증  (0) 2015.03.13
by 메렁키키 2015. 3. 13. 14:08

문제1) 소프트웨어 품질보증기법 리뷰,워크스루,인스펙션

)

1.소프트웨어 품질보증 기법의 개요

  . 품질보증 기법의 정의

    -어떤 소프트웨어 제품이 이미 설정된 요구사항과 일치하는지 확인하는데 필요한 개발       단계 전체에 걸친 체계적 작업

  . 품질보증 기법의 필요성

    1) 사용자 요구사항 최대 만족을 통한 생산성 향상

 2) 개발 과정에서 품질문제점 조기 발견 및 제거

 3) 납기준수, 제품의 견고성, 제품의 확장성

 4) 비용노력절감, 생산성 향상, 재사용성 증가

2. 품질보증 기법

 1) 개발자간 자유로운 sw 품질활동 리뷰(review)

    -공식 절차없이 sw개발 산출물을 점검하는 품질보증 기법

   .특징

   - 요구명세서와의 일치 여부 검토

   - 부적절한 정보, 누락되거나 관련 없는 정보의 발견

   - 개발자, 관리자, 사용자, 외부전문가 참여

 2) 결함을 조기에 발견하기 위한 품질활동 walkthrough

    -설계 및 프로그램 오류를 탁상에서 발견하기 위한 회의

  .특징

   - 비공식적인 검토 과정

   - 개발에 참여한 팀들로 구성

  3) 훈련된 리더에 의해 진행되는 공식검토회의 Inspection

    -sw품질향상을 위해 훈련된 리더에 의해 진행되는 공식회의

   .특징

    - 소프트웨어 구성요소들의 정확한 평가 Review보다 엄격, 정형화됨

    - Check List 등 사용

    - 전문가 검토, 공식적 평가, 수정지침 제시

 

'정보관리기술사 > sw공학' 카테고리의 다른 글

visitor 패턴,observer 패턴 ,유지보수  (0) 2015.03.13
구조적 테스트, whitebox test검증기준  (0) 2015.03.13
정성적,정량적sw위험분석  (0) 2015.03.13
FP  (0) 2015.03.13
mccabe 회전복잡도  (0) 2015.03.13
by 메렁키키 2015. 3. 13. 14:04
| 1 2 |