소프트웨어 리팩토링
(SW Refactoring)
[정의] 소프트웨어 생산성, 유지보수 용이성 향상을 위해 모듈의 외부적 기능은 수정하지 않고, 내부적인 구조, 관계 등을 단순화하여 소프트웨어 코드의 단순성, 명확성을 향상시키는 소프트웨어 코드 개선 기법
[절차] 대상선정 > 테스트 코드 작성 > 리팩토링 수행 > 테스트 수행 > 종료
[대상] 중복된 코드, 긴 메소드, 큰 클래스, 긴 파라미터 리스트, 산탄총 수술
[기법] 이동(Move), 분리(Extract), 일반화, 통합
[Good SW 조건] 단순성, 명확성, 일반성, 자동화
Refactoring, Pullup Method, Extract Interface, Move Method 내부 기능만 변경, 외부는 변화는 없음 , bad smell, 수행 절차 [절차] 데코리테종
[대상] 중긴큰긴산
[기법] 이분(에) 일통
[조건] 단명일자

 

토픽 이름 소프트웨어 리팩토링 (Refactoring)
분류 SW > 유지관리(유지보수 변경)
키워드(암기) Inline Class, Inline Method
Extract Class, Extract Method, Extract Interface
Move Class, Move Method, Move Field
Pull Up Method, Pull Up Field, / Push Down Method, Push Down Field
Rename Method
암기법(해당경우)  

기출문제

번호 문제 회차
1 5. 은행에서 계좌의 당좌 대월액을 계산하는 프로그램이다. 새로운 계좌 타입이 가지 추가될 예정이고, 이들은 당좌 대월액을 계산하는 각각의 규칙이 필요하여 메소드 overdraftCharge() 클래스 AccountType으로 옮기려고 한다. 리팩토링 기법 중의 하나인 Move 메소드의 개념과 절차를 설명하고 이를 활용하여 리팩토링한 코드를 작성하시오. 110.관리.3교시
2 3. DB Refactoring 대하여 다음 질문에 답하시오.
(1) DB Smell 대하여 설명하시오.
(2) DB Refactoring 유형 절차에 대하여 설명하시오.
95.관리.4교시
3 2. 리팩토링 기법 Extract Interface 대해 설명하시오. 합숙_17.08.3일차.공통
4 12. 디자인패턴과 리팩토링을 설명하시오. 모의_18.05.관리.1
5 12. 리팩토링의 목적과 기법을 설명하시오. 합숙_14.07.3일차.관리
6 리팩토링에서의 Pull Up Method 대하여 설명하시오. 합숙_14.01.5일차.공통
7 데이터베이스 냄새(DB Smell) DB 리팩토링의 분류에 대해 설명하시오. 합숙_12.08.4일차.공통
8 2. 리팩토링 기법 Extract Interface 대해 설명하시오. 합숙_17.08.3일차.공통
9 7. 리팩토링의 목적과 기법을 설명하시오 모의_09.05.공통.1
10 소프트웨어 리팩토링(Refactoring) 대해 설명하시오. 모의_15.05.응용.1
11 소프트웨어 리팩토링(Refactoring)에서 Pullup Method Extract Interface 대해 설명하시오. 모의_16.01.응용.1
12 4. SW 리팩토링에 대해 다음을 설명하시오.
   . SW 리팩토링(SW Refactoring) 개념을 설명하시오.
   . 코드악취(Bad Smells in Code) 유형을 5 이상 제시하시오.
   . Inline Method 기법을 설명하고, 이를 활용하여 아래 제시된 코드를 리팩토링 하시오.
-----------------------------------------------------------------------
    int getRating( ){
        return (moreThanFiveLateDeliveries( )) ? 2 : 1;
    }


    boolean moreThanFiveLateDeliveries( ){
        return _numberOfLateDeliveries > 5;
    }
-----------------------------------------------------------------------
모의_16.06.관리.2

 

  1. 소프트웨어 코드의 정제를 통한 생산성 향상기법, SW 리팩토링의 개요

. SW 리팩토링(Refactoring) 정의

  • 소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적인 구조, 관계등을 단순화하여 소프트웨어의 유지보수성을 향상시키는 기법

 

  1. SW 리팩토링의 목적
목적 내용
소프트웨어 디자인 개선 - 설계 의도와 구현 코드의 일관성을 유지하여 설계 변경 용이
소프트웨어 이해도 향상 - 이해하기 쉬운 코드는 개발자의 작업시간 단축
오류발견 용이성 확보 - 소스 구조를 명확히 함으로써 버그 원인 쉽게 발견
전체 개발 생산성 유지 - “좋은 디자인 유지 -> 개발자 이해 향상 -> 오류감소” 개발 가속화

 

  1. Good 소프트웨어의 조건
조건 내용
단순성(Simplicity) - 프로그램을 짧고 관리하기 편하게 만들어 주는 기능
명확성(Clarity) - 이해하기 쉽게 만들어 주는 기능
일반성(Generality) - 새로운 상황에 잘 적응하고 확장이 가능하도록 해주는 기능
자동화(Automation) - 사람이 해야 하는 수고를 덜어주는 기능

. 리팩토리 대상

  1. SW 리팩토리 수행절차와 기법

  . SW 리팩토리 수행절차

. SW 리팩토링의 주요 기법

기법 내용
Extract Method - 그룹으로 함께 묶을 있는 코드 조각이 있으면, 코드의 목적이 드러나도록 메소드의 이름을 지어 별도의 메소드를 추출
Replace Temp With Query - 어떤 수식의 결과값을 저장하기 위해서 임시변수를 사용하고 있다면, 수식을 추출해서 메소드로 만들고, 인시변수를 참조하는 곳을 찾아 모두 메소드 호출로 교체
Move Method
(기출문제)
- 메소드가 자신이 정의된 클래스보다 다른 클래스의 기능을 더 많이 사용하고 있다면, 메소드를 가장 많이 사용하고 잇는 클래스에 비슷한 몸체를 가진 새로운 메소드 생성
Extract Class - 개의 클래스가 해야 일을 하나의 클래스가 하고 있는 경우 새로운 클래스를 만들어 관련 있는 필드와 메소드를 예전 클래스에서 새로운 클래스로 이동
Rename Method - 메소드의 이름이 목적을 드러내지 못하고 있다면 메소드의 이름 변경
Pull Up Field - 서브 클래스가 동일한 필드를 가지고 있다면, 해당 필드를 슈퍼 클래스로 이동
Pull Up Method - 동일한 기능을 하는 메소드를 여러 서브클래스에서 가지고 있다면 이 슈퍼클래스로 이동
Encapsulation Field - Public 필드가 있는 경우, 필드를 Private으로 하고 접근자 제공
Inline Temp - 간단한 수식의 결과값을 가지는 임시변수가 있고, 임시변수가 다른 리팩토링을 하는데 방해가 된다면, 임시변수를 참조하는 부분을 모두 원래의 수식으로 변경
Introduce Explaing Variable - 복잡한 수식이 있는 경우에는, 수식의 결과나 또는 수식의 일부에 자신의 목적을 설명하는 이름으로 임시변수를 사용
Split Temporary Variable - 루프안에 있는 변수나 collecting temporary variable 아닌 임시변수에 값을 여러 대입하는 경우에는, 각각의 대입에 대해서 따로따로 임시변수를 작성
Remove Assignments to Parameters - 파라미터에 값을 대입하는 코드가 있으면, 대신 임시변수를 사용하도록 하라
Substitute Algorithm - 알고리즘을 보다 명확한 것으로 바꾸고 싶을 때는 메소드의 몸체를 새로운 알고리즘으로 변경
Replace Magic Number with Symbolic Constant - 특별한 의미를 가지는 숫자 리터럴이 있으면, 상수를 만들고, 의미를 나타내도록 이름을 지은 다음, 숫자를 상수로 변경
Decompose Conditional - 복잡한 조건문(if-then-else)이 있는 경우, 조건, then 부분, 그리고 else부분에서 메소드를 추출
Consolidate Duplicate Conditional Fragments - 동일한 코드 조각이 조건문의 모든 분기 안에 있는 경우, 동일한 코드를 조건문 밖으로 이동
Remove Control Flag - 일련의 boolean식에서 컨트롤 플래그 역할을 하는 변수가 있는 경우, break 또는 return 대신 사용
Replace Nested Conditional with Guard Clauses - 메소드가 정상적인 실행경로를 불명확하게 하는 조건 동작을 가지고 있는 경우, 모든 특별한 경우에 대해서 보호절(guard clause) 사용
Add Parameter - 어떤 메소드가 메소드를 호출하는 부분으로부터 더 많은 정보를 필요로 한다면, 정보를 넘길 있는 파라미터를 추가
Remove Parameter - 파라미터가 메소드 몸체에서 이상 사용되지 않는다면, 파라미터를 제거하라
Parameterize Method - 몇몇 메소드가 메소드 몸체에 다른 값을 포함하고 있는 것을 제외하고는 비슷한 일을 하고 있다면, 다른 값을 파라미터로 넘겨 받는 하나의 메소드를 작성
Replace Parameter with Explicit Methods - 파라미터의 값에 따라서 다른 코드를 실행하는 메소드가 있다면, 각각의 파라미터 값에 대한 별도의 메소드를 작성
Replace Parameter with Methods - 메소드를 호출한 다음, 결과를 다른 메소드에 대한 파라미터로 넘기고 있다. 수신자(파라미터를 넘겨 받는 메소드) 또한 메소드를 호출할 있다면, 파라미터를 제거하고 수신자가 메소드를 호출

 

III. 리팩토링을 제대로 하기 위한 기술 및 적용시점

  1. 리팩토링을 제대로 하기 위한 기술
항목 내용
나쁜코드 식별 - 문제가 있는 코드를 식별해 내는 능력
- 어느 정도의 경험이 필요
좋은코드 식별 - 어떤 방향으로 고치면 좋은지를 아는
테스트 - 테스트를 만들어 내는 방법을 익혀야 한다.
- 테스트프레임워크를 선택하고, 이를 이용해서 단위테스트를 구축해서 자동화까지 하도록 만들어야 한다.
- 중간에 Mock과 같은 것을 이용할 수 있어야 하기에, 대부분 경우 TDD(Test Driven Development) 같은 곳에서 사용하는 방법을 같이 적용해 있다.
시간확보 - 리팩토링을 있는 시간을 확보
- 작게 시작하려고 노력
- 리팩토링 테크닉이 익숙해지기 전에는 대규모로 수 있다는 생각은 잠시 접어두는 것이 좋다.

 

  1. 리팩토링 적용시점
시점 적용사유
삼진규칙 - 비슷한 중복이 세번째 나타나는 경우 수행 -> 기본가이드제공
기능추가시 - 기존코드의 구조를 개선으로 이해향상 -> 기능추가를 쉽고 빠르게 수행
버그수정시 - 버그수정 전에 깊은 이해를 제공 -> 버그수정용이
코드리뷰중 - 코드의 명확성 유지,더 나은 설계 아이디어가 제안 -> 품질향상

 

 

[참고]

  1. Pull up Method

 

- 동일기능 중복해서 구현되었을 경우, 확산적 변경현상이 발생할 확률 농후

- 중복된 기능(메소드, 클래스) 상위로 올리는

  1. Extract Interface

- 클래스에 공통적인 기능(메소드, 클래식) 있을 경우 인터페이스로 분리하여 참조 받는 방식

  1. Move Method

- 메소드가 자신이 정의된 클래스보다 다른 클래스의 기능을 더 많이 사용하고 있다면 이 메소드를 가장 많이 사용하고 있는 클래스에 비슷한 몸체를 가진 새로운 메소드를 만들어라

 

-- 2018.06.04 추가내용 

<참조 사이트>

https://www.refactoring.com/catalog/

http://arisu1000.tistory.com/search/Inline%20Class

 

기법 개념도 설명
Inline Class
클래스가 별로 하는일이 없다면 해당 클래스의 기능을 다른 클래스안으로 옮기고 클래스를 삭제
Inline Method
 

메소드의 본문이 메소드 이름 만큼이나 명확하다면 해당 본문을 메소드를 호출하는 호출자 안으로 옮기고 메소드를 삭제
Extract Class
두개의 클래스에서 작업 되야 하는 하나의 클래스가 있다면 새로운 클래스를 만들고 이전 클래스에 있던 관련된 필드와 메소드를 새로운 클래스로 옮김
Extract Method
 
함께 그룹화될 수 있는 코드 조각이 있다면 적절한 메소드를 만들고 코드들을 해당 메소드 안으로 옮김
Extract Interface
인터페이스가 같은 부분을 사용하면, 인터페이스의 같은 부분은 추출하여 인터페이스를 통합 추출 적용함.
Move Class
기능과 관련 없는 다른 클래스들이 패키지에 포함되어 있다면 해당 클래스를 더 관련성이 높은 패키지로 옮기거나 추후 사용될 가능성이 있는 새 패키지를 생성
Move Method
메소드가 정의된 클래스보다 다른 클래스에서 더 많이 사용된다면 해당 클래스로 메소드를 옮기고, 이전 메소드에는 단순 대리자를 만들거나 전체에서 제거
Move Field
필드가 정의된 클래스보다 다른 클래스에서 더 많이 사용된다면 필드를 더 많이 사용되는 다른 클래스로 옮기고, 필드를 사용하는 모든 사용자들을 변경
Pull Up Method
서브클래스들에 같은 결과를 반환하는 메소드들을 가지고 있다면 해당 메소드들을 슈퍼클래스로 옮김
Pull Up Field
두개의 서브클래스가 같은 필드를 가지고 있다면 해당 필드를 슈퍼클래스로 옮김
Push Down Method
슈퍼클래스의 행위가 특정 서브클래스하고만 관련있다면 해당 메소드를 그 서브클래스로 옮김
Push Down Field
어떤 필드가 특정 서브클래스에서만 쓰인다면 그 서브클래스로 필드를 옮김.
Rename Method
메소드의 이름이 메소드의 목적을 나타내지 못한다면 메소드의 이름을 변경
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

SW사업 대가산정 가이드  (0) 2024.04.22
간이법 계산  (0) 2024.04.21
Function Point / ISO/IEC 14143  (0) 2024.04.20
SW 비용 산정 일반  (0) 2024.04.19
감리결과보고서 작성하기  (1) 2024.04.18
SW사업 대가산정 가이드 [정의] 소프트웨어의 기획, 현 운영 등 수명 주기 전 단계에 대한 사업을 추진함에 있어 이에 대한 예산 수립, 사업 발주, 계약 시 적정 대가를 산정하기 위한 가이드
[대가산정기준 개발비 산정 절차] 사기보보직소
사전준비, 기능점수 산정, 보정전 개발원가 산정,
보정후 개발원가 산정, 직접경비 및 이윤산정, SW개발비 산정
[SW개발비] 개발원가 + 이윤 + 직접경비
※ 이윤은 개발원가의 25% 이내에서 산정
※ 보정전 개발원가 산정 (2021 년 현재 553,114 원)
[보정계수]
규모산정, 연계복잡성, 성능 요구사항, 운영환경 호환성, 보안성 수준
※ 보정계수
규모(500미만 1.28%, 3000이상 1.1530), 연계시스템, 성능, 운용성, 보안
[개발원가] 보정 후 개발원가
2021년 개정
사기보보직소
토픽 이름 () SW사업 대가산정 가이드
분류 SW 규모 산정(원가산정) > SW사업 대가산정 가이드
키워드(암기) ISO12207 기반, 소프트웨어 생명주기,
사업유형 식별(기획, 구현, 운영),
대가산정 시점 식별(예산확보, 사업발주, 사후정산),
대가산정 모형 선정(컨설팅지수방식, 투입공수방식, 기능점수방식, 재개발비 등)
데이터베이스 구축비 산정 가이드 추가, 투입공수방식의 Man-Hours 적용사례 추가
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 2017 6월 한국소프트웨어산업협회에서 "SW 사업 대가산정 가이드(2017년 개정판)" 공표하였다. 개정 내용 중에 데이터베이스 구축비의 구성요소와 투입공수방식에 의한 데이터베이스 구축비 산정절차에 대해 설명하시오 합숙_2017.08.2일차.공통.4
2 4. A사는 공공 소프트웨어 개발 프로젝트 규모를 산정하기 위해 기능점수(Function Point) 사용하고자 한다. 다음에 대하여 설명하시오. (, "SW사업 대가산정 가이드 2018 개정판" 기준)
 . 기능점수 방식의 정의 및 특징
 . 기능점수 산정방식의 종류 및 소프트웨어 개발비의 구성요소
 . 기능점수 방식에 의한 소프트웨어 개발비 산정절차, 개발원가 보정의 필요성, 5가지 보정원가 계수
정보관리 119 관리
2교시

 

I. 합리적이고 객관적인 대가 산정을 위한 기준, SW 사업 대가 산정 가이드의 개요

. SW 대가 산정 가이드의 정의

- 소프트웨어의 기획, 운영 수명 주기 단계에 대한 사업을 추진함에 있어 이에 대한 예산 수립, 사업 발주, 계약 적정 대가를 산정하기 위한 가이드

 

. SW 대가 산정 가이드의 특징

-  2012 2 26 이후 정부에서 민간으로 이양

- 글로벌 표준에 입각한 ISO 12207 기반의 소프트웨어의 수명 주기 (기획, 구현, 유지 보수/운영) 전반에 걸쳐 설명하고, 보다 편리하게 수행할 있는 도구를 제공

 

II. SW 대가 산정의 일반적인 절차 사업 유형

. SW 대가 산정의 일반적인 절차

- 대가 산정의 대상이 되는 사업의 유형과 대가 산정 시점에 따라 적절한 모형을 선택하여 적용

. 사업 유형 식별

- 대가 산정 시점은 예산 확보, 사업 발주, 사후 정산 단계 각각에서 수행함

 

III. 대가 산정 시점과 대가 산정 모형

. 대가 산정 시점 구분

구분 설명
예산확보 단계 SW사업의 예산 확보를 위해 사업비를 개괄적으로 산정하는 단계
사업발주 단계 SW 사업을 발주하기 위해 제안요청서 등을 작성하고, 발주 금액을 산정
사후정산단계 SW사업이 종료된 후에 실제 투입된 사업비와 집행된 사업비의 차이를  파악하여 필요시 정산을 위한 대가를 산정하는 단계

 

. SW 대가 대가 산정 모형별 적용시점(2018)

 

1) - SLA기반 유지관리 운영비 정산법은 예산확보 단계 사업발주 단계에 사업비를 산정하기 위해 직접 적용되지는 않으나, SLA기반의 정산법을 사용하는 경우 사전에 사후 정산의 가능성을 고려해야 한다.

. 수명 주기별 대가 산정 방식

IV. 소프트웨어 개발비 절차

 

. 대가산정 방법별 주요 내용

 

 

IV. SW개발비 산정 사례

- 복잡도 보정요소를 반영하여 20FP() 산정되었다 다음 항목을 반영하여 SW개발비를 산정하시오

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

소프트웨어 리팩토링(SW Refactoring)  (1) 2024.04.23
간이법 계산  (0) 2024.04.21
Function Point / ISO/IEC 14143  (0) 2024.04.20
SW 비용 산정 일반  (0) 2024.04.19
감리결과보고서 작성하기  (1) 2024.04.18
간이법 계산 데이터 기능 - 내부논리파일(ILF)-7.5, 외부연계파일(EIF)-5.4
트랜잭션 기능 - 외부입력(EI)-4.0, 외부출력(EO)-5.2, 외부조회(EQ)-3.9
정통법 vs 간이법 비교
[개념] 기능별 복잡도 매트릭 이용 FP 산정-개략적 요구사항 평균복잡도로 산정
[사용시기] 분석/설계 이후, 사후정산단계 - 예산확보, 사업발주 단계
[사용목적] SW분석설계/개발/유지보수 활용 - 예산수립, 제안단계
[측정항목] DET/RET/FTR 측정 - 데이터, 트랜젝션 기능
[복잡도] 기능별 복잡도 매트릭(Low,Avg,High) - 평균복잡도
평균복잡도 내외입출조
토픽 이름 () 간이법 계산
분류 SW 규모 산정(원가산정) > 기능점수(FP)
키워드(암기) 사개보후지소, 규연성운보
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 기능점수(Function Point) 산출방법에 대하여 설명하고 간이법을 적용하여 아래의 이벤트(Event) 리스트와 "ISBSG(International Software Benchmark Standard Group) 평균복잡도" 근거로 하여 기능점수를 산출하시오
<이벤트(Event) 리스트)
. 담당자는 고객주문을 입력,수정,삭제 한다(고객DB)
. 인사담당자는 사원목록을 부서단위로 조회한다(사원DB, 부서DB)
. 인사담당자는 사원복록을 단순 출력한다(사원DB)
. 인사담당자는 일정 금액 이상의 급여 수령자 사원목록을 검색한다(사원DB, 급여DB)
. 원화에 대한 미국 달러(USD) 가치를 찾기 위해 A은행 외환DB에서 환율을 검색한다(외환DB)
. 인사담당자는 5 경력 이상이고, 해당 직무 수행겸험이 있는 사원목록을 추출한다(사원DB)
. 인사담당자는 신입/경력사원 입사 사원 파일을 갱신한다(사원DB)
. 인사담당자는 외국 사원 입사 시 사원의 급여를 결정하기 위해 H연합외 통화정보를 참조한다(사원DB, 급여DB, 통화DB)
. 회계시스템은 전표번호(부서번호 앞자리 2+년도+일련번호) 자동채번한다(전표DB)
. 인사담당자는 사원현왕을 엑셀 파일을 업로드 시킨다(사원DB)


기능유형 : 평균 복잡도
EI : 4.3
EQ : 5.4
EQ : 3.8
ILF : 7.4
EIF : 5.5
105.관리.2.6
2 3.2. 기능점수(Function Point) 측정에 대하여 아래의 내용을 근거로 질문에 답하시오.
<Application Boundary>
 [업무기능요건] 
         . 인사담당자가 인사기본정보(사원DB, 부서DB) 관리한다.
         .인사담당자가 임직원의 직무정보(사원DB, 직무DB) 산업인력관리공단의 표준직무 DB 연계하여 관리한다.
         . 인사담당자가 부서별 각종 최신 통계자료(사원DB, 직무DB, 부서DB) 조회?출력한다.
         . 기능점수 산출방법의 간이법과 정규법의 차이점을 비교 설명하시오.
         . 간이법을 적용하여 주어진 [업무기능요건] 대한 트랜잭션 기능(Transaction Function) 데이터기능(Data Function) 산출 하시오.
         . 간이법을 적용하여 주어진 [업무기능요건] 대한 기능점수를 산출하시오. (복잡도는 ISBSG 평균데이타를 이용할 )
 ISBSG(International Software Benchmarking Standards Group) 평균복잡도
84.관리.3.2

[문제에서 데이터 기능측정, 트랜잭션 기능측정 주어짐]

  1. 소프트웨어 복잡도에 의한 규모 산정방식, FP 개요

. FP(Function Point, ISO/IEC 14143-1)의 정의

  • 정보처리 규모와 기능의 복잡도 요인에 의거한 SW 규모 산정 방식
  • 소프트웨어 크기를 결정하는 소프트웨어 기능 유형별 수량과 성능 및 품질요인들의 영향도를 고려하여 계산되는 SW 규모 산정 방식
  1. FP 산정방식 /* 사개보후지소 */

 

 

II. 기능점수 산출방법 사례를 통한 답안 작성

. 담당자는 고객 주문을 입력, 수정 삭제한다. (고객 DB)
. 인사 담당자는 사원 목록을 부서 단위로 조회한다. (사원 DB, 부서 DB)
. 인사 담당자는 사원 목록을 단순 출력한다. (사원 DB)
. 인사 담당자는 일정 금액 이상의 급여 수령자 사원 목록을 검색한다. (사원 DB, 급여 DB)
. 원화에 대한 미국 달러(USD) 가치를 찾기 위해 A 은행 외환 DB에서 환율을 검색한다. (외환 DB)
. 인사 담당자는 5 경력 이상이고, 해당 직무 수행 경험이 있는 사원 목록을 추출한다. (사원 DB)
. 인사 담당자는 신입/경력 사원 입사 사원 파일을 갱신한다. (사원 DB)
. 인사 담당자는 외국 사원 입사 시 사원의 급여를 결정하기 위해 H연합회 통화 정보를 참조한다.
    (사원 DB, 급여 DB, 통화 DB)
. 회계 시스템은 전표 번호(부서 번호 앞자리 2 + 년도 + 일련 번호) 자동 채번한다. (전표 DB)
. 인사 담당자는 사원 현황을 엑셀 파일로 업로드 시킨다. (사원 DB)

 

[문제풀이]

1. 사전준비
   - 요구사항 명확화 / 간이법 결정
2. 개발대상 SW 기능점수 산정
   - 기능점수를 산정한다.
   - 58.3 + 51.2 = 109.5 FP
3. 보정전 개발원가 산정(2021 현재 553,114)
   - 보정 전 개발원가 = 기능점수 X 기능점수당 단가
   - 109.5 X 530,000 = 58,035,000

 

 

III, 기능점수 산출 방법의 두가지 유형(정규법과 간이법)비교

구분 정규법 간이법
개념 - 논리적인 설계를 바탕으로 , 기능의 속성을 정의하여 기능별 복잡도 매트릭에 의한 기능점수 산정 방식 - 개략적인 사용자 요구사항을 바탕으로 기능 점수를 도출하여 평균 복잡도에 의한 기능 점수 산정 방식
사용시기 - 상세한 기능점수 측정 - 프로젝트 초기에 측정
사용목적 - SW 분석/설계, 개발, 유지보수의 개발 범위, 일정 원가 산정 - 예산 수립,  - 제안서 견적 산정
- 계약의 SW 사업대가 산정
측정항목 - 데이터 기능 DET, RET 도출
RET: Record Element Type
DET: Data Element Type
- 트랜잭션 기능 DET, FTR 식별
FTR: File Type Reference(참조파일수)
DET: 데이터 항목
- 데이터 기능, 트랜잭션 기능
복잡도 - 기능별 복잡도 매트릭(Low, Avg, High) - 평균 복잡도
반응형
Function Point / ISO/IEC 14143 [정의] 정보처리 규모와 기능의 복잡도 요인에 의거한 SW 규모산정방식
[등장배경(LOC문제점)] 추정의 어려움, 환경의 영향, 파라미터 영향
[특징] 최종 사용자 입장, 사전 개발 소요공수 예측모델, 기능설계시 개발중에도 측정 가능,
생산성과 품질척도 활용가능
[절차] 측정형결정, 측정위 어플리케이션 경계식별, 이터 기능측정, 랜잭션 기능측정,
미조정 기능점수 결정, 조정인자 결정, 조정 기능점수 결정
[지표] ILF, EIF, EI, EO, EQ, DET, REF, FTR
  유범(이의)데(이)트 미조기
토픽 이름 () Function Point
분류 SW 규모 산정(원가산정) > Function Point
키워드(암기) 기능점수, 절차, 특징
트랜잭션 유형, EI, EO, 데이터 기능 유형, EQ, ILF, EIF
측정유형결정, 측정범위 어플리케이션 경계식별, 데이터 기능측정, 트랜잭션 기능측정,
미조정 기능점수 결정, 조정인자 결정, 조정 기능점수 결정
암기법(해당경우) 유범이의 데이트

 

기출문제

번호 문제 회차
1 S/W프로젝트의 규모척도인 기능점수(Function Point) 장단점을 설명하고, LOC(Line Of Code) COCOMO(Constructive Cost Model)와의 차이를 설명하시오. 107.컴시응.4.2
2 6. 비용 산정 모델에 대한 다음 물음에 답하시오.
  (1) 비용 산정을 위한 COCOMO(Constructive Cost Model) 기능 점수의 특징과 장점을 비교 설명하시오.
  (2) 개의 모듈로 구성된 프로젝트가 있다. LOC(Line of Code) 기반으로 모듈의 규모 추정이 아래와 같을 , 프로젝트의 총 규모는 몇 LOC 인지 계산하시오.
87.관리.3.6

 

  1. 소프트웨어 복잡도에 의한 규모 산정방식, FP 개요

. FP(Function Point, ISO/IEC 14143-1) 정의

  • 정보처리 규모기능의 복잡도 요인에 의거한 SW 규모 산정 방식
  • 소프트웨어 크기를 결정하는 소프트웨어 기능 유형별 수량과 성능 및 품질요인들의 영향도 고려하여 계산되는 SW 규모 산정 방식

. FP의 등장배경 (LOC 문제점)

구분 내용
추정의 어려움 - 소프트웨어 개발 초기에 프로그램 라인 예측 어려움
환경의 영향 - 동일 기능 수행 소프트웨어라도 개발 언어에 따라 원시코드 라인수는 크게 다름
파라미터 영향 - 기능은 동일하여도 3단계 C/S 방식, 1단계 C/S 방식, 환경 등에 따라 비용 산정의 어려움

. FP의 특징

사용자 관점 최종 사용자 입장에서 SW 규모 산정 (개발자 입장에서 SW견적량인 소스코드 양과 무관)
개발 소요공수 예측 모델 프로젝트 완료 후 생산성 평가 위해 개발되었으나, 사전에 개발 소요공수 예측하는 모델로 사용
개발환경, 기술 독립적 개발환경과 기술에 무관하게 측정가능, 사용자 요구에 따라 기능 설계 개발 중에도 측정 가능
생산성 척도 생산성과 품질의 척도로도 활용 가능
기능, 복잡도 가정 제안단계까지는 추정은 가능하나 측정(산정) 불가능, 기능과 복잡도에 대한 가정 허용
  1. FP 개념도 구성요소

. FP의 개념도

- FP 개념도와 구성요소

 유형 기능 내용
트랜잭션 유형
(Transaction Type)
외부 입력(EI) :
External Input
- 외부 입력 (입력 트랜잭션, 입력 화면)
  외부 출력(EO):
External Output
- 외부 출력 되는 (출력 트랜잭션, 출력보고서)
  외부 조회(EQ) :
External inQuery
- 데이터의 가공을 수반하지 않는 입출력 (문의)
데이터 기능 유형
(Data Function Type)
ILF
(Internal Logical File)
- 내부 논리 파일
- 측정 대상 소프트웨어 시스템이 유지/관리하는 데이터의 집합
  EIF
(External Interface File)
- 외부 인터페이스 파일
- 측정 대상 시스템이 참조하는 데이터의 집합
  1. FP산정 절차 상세내용

. FP의 산정 절차

. FP의 상세내역

  1. 측정 유형 결정
구분 종류 내용
측정형 결정 개발 프로젝트 - SI 프로젝트가 종료된 , 사용자에게 인도되는 SW
  개선 프로젝트 - SW 추가, 수정, 삭제 부분에 대한 SW 비용 산정
  어플리케이션 - 사용자가 사용하고 있는 소프트웨어의 현장 기능을 측정
(설치된 기능 점수 측정)
  1. 측정 범위와 어플리케이션 경계 식별
구분 종류 내용
측정위와 어플리케이션 경계 식별 범위결정 - 개별 변경할 SW 대한 전체 범위 결정
  경계식별 - 어플리케이션의 경계를 분류하는 과정

  • 사용자와 어플리케이션 경계 식별 구성도
  1. 데이터 기능 유형(Data Function Type)

구분 종류 내용
데이터
기능 유형 식별
내부 논리 파일(ILF) - 사용자가 식별할 있는 논리적으로 연관된 데이터 그룹 또는 제어정보
- 어플리케이션 경계 내에서 유지되는 Data 제어정보(, 내부 DB)
  외부 연계 파일(EIF) - 데이터 그룹은 측정되는 어플리케이션의 외부에서 참조
- 어플리케이션 경계 밖에서 유지되는 Data 제어정보(, 외부 DB)
복잡도 및 기여도
결정
데이터요소유형
(DET)
- 사용자가 식별 가능하고 반복되지 않는 유일한 필드
  레코드요소유형
(RET)
- 사용자가 식별 가능한 데이터 요소의 서브 그룹

- 복잡도 산정 방법은 DET(Data Element Type) RET(Record Element Type) 통해서 이루어짐.

- DET ILF EIF 유지되는 필드 중에서 사용자가 식별 가능하고 비반복적인 필드 의미하고 RET DET 서브 셋을 의미. 둘을 식별하고 개수를 파악하는 것.

- DET RET를 계산 후에 이것을 기여도 테이블로 변환해서 최종 데이터 기능점수를 계산.

- DET: 반복되지 않고 사용자가 식별 가능한 필드(속성값)

 

  1~19 DET 20~50 DET 51 이상 DET     ILF 미조정 기능점수 EIF 미조정 기능점수
1 RET 낮음 낮음 보통   낮음 7 5
2~5 RET 낮음 보통 높음   보통 10 7
6 이상 RET 보통 높음 높음   높음 15 10

 

  1. 트랜잭션 기능 유형(Transaction Function Type)

사용자가 식별할 수 있고 최소한의 업무를 처리할 수 있는 단위 프로세스 식별
식별된 각 단위 프로세스 별로 EI/EO/EQ 분류한 다음 복잡도와 기여도를 계산하여 트랜잭션 기능 점수 계산
EI/EO/EQ 단위 프로세스가 식별되면 DETFTR(File Transfer Reference) 통하여 복잡도 계산
EI/EO/EQ별로 DET FTR 계산되었으면 복잡도와 기여도 계산
  • FTR: 어플리케이션에서 참조하는 ILFEIF 수를 의미
구분 분류 설명
트랜잭션 기능 유형식별 외부입력(EI) - 애플리케이션 경계 안으로 들어오는 데이터나 제어정보를 처리하는 단위 프로세스
  외부출력(EO) - 애플리케이션 경계 밖으로 조회되는 것으로 파생 데이터 생성과 같은 처리로직을 포함하는 단위 프로세스(계산 처리 된 후 외부로 나가는 것)
  외부조회(EQ) - EO 같으나 파생 데이터 생성과 같은 처리로직을 포함하지 않는 단위 프로세스(계산 처리 없이 단순 데이터가 외부로 나가는 )
복잡도 및 기여도결정 데이터 요소유형
(DET)
- 사용자가 식별 가능하고 반복되지 않는 유일한 필드
  참조 파일유형
(FTR)
- 트랜잭션 기능에 의해 읽히거나 유지되는 ILF 또는 EIF

 

EIFTR/DET 1~4 DET 5~15 DET 16 이상 DET     EI/EO EQ
0-1 FTR 낮음 낮음 보통   낮음 7 5
2 FTR 낮음 보통 높음   보통 10 7
3 이상 FTR 보통 높음 높음   높음 15 10

 

  1. 미조정 기능점수 결정
  2. 조정인자결정
1. 데이터 통신(Data Communications)
2. 분산 데이터 처리(Distributed Data Processing)
3. 성능(Performance)
4. 사용환경(Heavily Used Configuration)
5. 처리율(Transaction Rate)
6. 온라인 데이터 입력(Online Data Entry)
7. 최종사용자 편리성(End-Used Efficiency)
8. 온라인 갱신(Online Update)
9. 처리복잡성(Complex Processing)
10. 재사용성(Reusability)
11. 설치용이성(Installation Ease)
12. 운영용이성(Operational Ease)
13. 복수 사이트(Multiple Sites)
14 변경 용이성(Facilitate Change)

- 조정인자 계산: [ { (14 항목 * 0 ~ 5) } * 0.01 ] + 0.65 계산공식

 

  1. 조정 기능점수 결정(±35% 조정가능)

(AFP: Adjusted Function Point, UFP: Unadjusted Function Point, VAF: Value Adjustment Factor)

 

 

  1. 기능점수 산출 방법의 두가지 유형(정규법과 간이법)비교 규모산정 방식 비교

. 기능점수 산출 방법 비교

구분 정규법 간이법
개념 - 논리적인 설계를 바탕으로 , 기능의 속성을 정의하여 기능별 복잡도 매트릭에 의한 기능점수 산정 방식 - 개략적인 사용자 요구사항을 바탕으로 기능 점수를 도출하여 평균 복잡도에 의한 기능 점수 산정 방식
사용시기 - 상세한 기능점수 측정 - 프로젝트 초기에 측정
사용목적 - SW 분석/설계, 개발, 유지보수의 개발 범위, 일정 원가 산정 - 예산 수립,  - 제안서 견적 산정
- 계약의 SW 사업대가 산정
측정항목 - 데이터 기능 DET, RET 도출
RET: Record Element Type
DET: Data Element Type
- 트랜잭션 기능 DET, FTR 식별
FTR: File Type Reference(참조파일수)
DET: 데이터 항목 수
- 데이터 기능, 트랜잭션 기능
복잡도 - 기능별 복잡도 매트릭(Low, Avg, High) - 평균 복잡도

 

. 규모산정방식 비교

구분 FP
(Function Point)
LOC
(Line of Code)
COCOMO
(Constructive Cost Model)
측정
방법
- 신뢰성 높음
- 재사용성 가능
- 규정이고 계측방식의 공식화
- S/W양적, 측정의 신뢰성부족
- 산출방식의 재사용 안됨
- 개인경험과 예측의 일관성부족
- 공수(Man/Month)
추정모델로 원시 프로그램의 규모에 의한 비용 예측 방법
적용 - 개발초기나 기획에도 적용
- 현상의 타당성 제공
- 개발초기에 적용은 어려움
- 가격협상에 투명하지 못함
- 개발규모를 알고 있는 경우에, 작업량이나 공기를 견적하는데 유효한 방법
종속성 - S/W마다 고유의 비용 측정 가능
- 독립적인 계산 가능
- S/W 고유하지 않음
- 개발기술이나 환경에 의존
- 개발규모를 알고 있는 경우의 견적 방법이기 때문에, 개략견적 시 보다 상세 견적 시에 더욱 유효
  1. FP 활용 부문 문제점

. FP의 활용부문

  • 생산성과 품질 등의 척도로 활용 가능, 생산성 = FP / MM, 품질 = 결함 / FP,

비용 = 비용 / FP, 문서량 = 문서페이지 / FP

. FP의 문제점

  • Data Function: 사용자 관점에서 측정되기 때문에 감추어진 EI, EO, EQ를 찾기 힘듦
  • Transaction Function: 사용자 관점에서 사용되는 파일수를 정확히 찾기 힘듦
  • 기술도 복잡도 측면: 14 항목에 대한 측정자의 주관에 의존
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

SW사업 대가산정 가이드  (0) 2024.04.22
간이법 계산  (0) 2024.04.21
SW 비용 산정 일반  (0) 2024.04.19
감리결과보고서 작성하기  (1) 2024.04.18
감리 절차  (0) 2024.04.17
SW 규모 산정(원가산정) SW 비용 산정 일반 [정의] 소프트웨어 규모파악(양적 크기, 질적 수준) 통한 소요공수와 투입자원 및 소요기간 파악하여 실행 가능한 계획 수립하기 위한 비용 산정하는 과정
[비용산정방법]
- 상향식 ( 전문가 감정, 델파이 방식 )
- 하향식 ( LOC 기법, Man/Month )
- 수학적 ( 기능점수(FP), COCOMO, Parametric Estimation )
프로젝트 원가관리
토픽 이름 () SW 비용 산정 일반
분류 SW > SW 규모 산정(원가산정) > SW 비용 산정 일반
키워드(암기) 하향식, 상향식, 수학적, LOC, Man/Month, COCOMO, 기능점수(PF), Parametric Estimation
암기법(해당경우)  

기출문제

번호 문제 회차
1 2. 소프트웨어 비용 산정 방법 상향식 비용 산정 방법, 하향식 비용 산정 방법에 대하여 설명하시오. 117 관리 2교시
2 6. 비용 산정 모델에 대한 다음 물음에 답하시오.
(1) 비용 산정을 위한 COCOMO(Constructive Cost Model) 기능 점수의 특징과 장점을 비교 설명하시오.
(2) 개의 모듈로 구성된 프로젝트가 있다. LOC(Line of Code) 기반으로 모듈의 규모 추정이 아래와 같을 , 프로젝트의 총 규모는 몇 LOC 인지 계산하시오.
87 관리 3교시
3 4.1. Function Point 특징 요구분석 단계 이후의 Function Point를 이용한 소프트웨어 비용산정 절차와 활성화 방안에 대해 기술하시오. 84 컴시응 4교시
4 소프트웨어 비용 산정 방식에 대해 상세히 설명하시오.
. SW Metrics 유형과 대상에 따른 분류
. 개발비용 산정 고려항목
. 기능 점수 방식 절차와 데이터기능과 트랜잭션 기능 설명
합숙2011.2.D3

 

I. 소프트웨어의 적정한 비용산정 통한 대가산정방식, 소프트웨어 비용 산정의 개요

. 개발비용 산정의 정의

  • 소프트웨어 규모파악(양적 크기, 질적 수준) 통한 소요공수와 투입자원 소요기간 파악하여 실행 가능한 계획 수립하기 위한 비용 산정하는 과정
  • 단위작업공수(비용) 통한 총공수(총비용) 산정 (WBS 근거해 비용산정)

. 규모산정의 의의

구분 내용
낮게 산정 시 - 품질문제 발생, 납기문제, 개발자 부담 가중
높게 산정 시 - 예산낭비(개발비, 유지보수비), 일의 효율성 저하

 

II. 소프트웨어 비용산정 방법 비교

. 소프트웨어 규모산정 방법 종류

산정방법 내용 기법
하향식
(Top Down)
- 경험적 단언(시스템 이해한 ), 개발자 합의(인력, 시스템 크기, 예산) - 전문가 감정
- 델파이 방식
상향식
(Bottom UP)
- 업무분류구조 정의, 구성요소에 대한 독립적 산정, 집계 - LOC 기법
- Man/Month
수학적 - 소프트웨어 비용산정의 자동화, 수치화에 의한 비용을 산정 - 기능점수(FP)
- COCOMO
- Parametric Estimation

- 기획단계: Man/Month

- 구현단계: 기능점수

- 운영단계: 요율제, 투입공수 (SW사업대가산정가이드, 2018)

 

. 소프트웨어 규모산정 방법 비교

산정방법 하향식(Top Down) 상향식(Bottom UP)
특징 - 전체 시스템 차원 비용 산정
- 인력비용은 유사한 과거 프로젝트의 비용 검사하여 추정
- 모듈에 대한 여러 가지 기술요인 반영
- 모듈 또는 서브시스템을 개발 비용 우선 산정하고, 합산하여 전체비용 산정
- 시스템 차원 비용은 고려하지 못할 수도 있음, 연산방식에 의한 비용 산정
장점 간편, 신뢰감 객관성 부여
단점 비과학적, 낙관적 세부 기술적 난이도 배제
산정방식 그룹에 의한 산정, 전문가 감정 LOC, 기능점수, COCOMO

 

III. 소프트웨어 규모산정 고려요소

구분 항목 내용
프로젝트 요소 문제의 복잡도 난이도, 유형, 개발언어
  시스템 크기 트랜잭션(입력, 출력), 데이터 연계
  시스템 신뢰도 정확성, 견고성, 완전성, 일관성
자원 요소 인적 자원 관리자, 개발자, 지원체계
  하드웨어 자원 개발장비, 운영장비
  소프트웨어 자원 개발지원 도구, 테스트
생산성 요소 개발자 능력 경험, 전문지식 습득 정도
  고객 능력 업무 요건에 대한 지식
  개발 방법론 최신기법, 개발 방법론, 관리 방법론
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

간이법 계산  (0) 2024.04.21
Function Point / ISO/IEC 14143  (0) 2024.04.20
감리결과보고서 작성하기  (1) 2024.04.18
감리 절차  (0) 2024.04.17
정보시스템 감리/Framework  (0) 2024.04.16
감리결과보고서 작성하기 [개선권고유형] 필수, 협의, 권고
[개선시점] 장기, 단기
[과업내용이행여부] 적합, 부적합, 점검 제외
123회 기출 필협권
장단
접부점
토픽 이름 () 감리결과 보고서
분류 SW공학 > 정보시스템관리 > 감리결과 보고서
키워드(암기) 개선 권고 사항, 필수 개선, 협의 개선, 권고 사항, 적합/부적합
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 정보시스템감리기준(행정안전부고시 2012-11) 따른 종료단계 감리수행결과보고서 목차를 작성하시오. 모의_2012.11
 

 

I. 정보시스템 감리 보고서의 개념

- “감리보고서”란 감리인이 감리 시정조치확인을 수행한 결과를 기록한 문서

- “감리보고서”에는 감리대상사업 단계별 점검결과를 명시한 “감리 수행결과보고서”와 시정조치사항을 확인한 결과를 명시한 “시정조치확인보고서”가 있다

 

II. 감리수행결과보고서의 주요목차 구성 주요목차 설명

. 감리수행결과보고서의 주요목차 구성

 

감리계획서

관련근거

감리목표

감리적용기준

사업개요

감리단계

감리영역별 점검항목

감리일정

투입인력편성

감리계획서 및 보고서 통보 기관

기타 행정사항

감리수행결과보고서

I. 종합의견

1. 전제조건

2. 총평

3. 감리영역별 세부점검결과 요약

II. 과업내용반영여부 점검결과

1. 점검현황

2. 점검결과

3. 세부점검결과

III. 감리영역별 점검결과

1. 점검항목별 점검결과

2. 상세점검결과

별첨

감리계획서

 

 

. 감리보고서의 주요목차 설명

목차 내용
I. 감리계획서 - 근거공문: 감리의뢰인이 발송한 감리의뢰공문 명시
- 감리목적: 감리의 목적 및 감리대상 사업 범위의 명시
- 감리기준: 감리 시 적용할 감리기준을 명시
- 감리대상: 감리대상기관, 대상사업, 감리의 범위에 대해 정의
- 감리 중점사항 기술: 프로젝트 방법론, 기술사항, 대상사업의 목적, 개발단계, 범위, 환경요인,
감리의뢰인의 요청사항 (사업관리 및 품질보증, 응용시스템, 데이터베이스, 시스템구조)
- 감리기간: 감리 시행 시 단계별 상세일정 명기
- 감리절차 요약: 감리업무 프로세스의 주요사항을 기술
- 감리인 편성: 중점검토사항에 따른 전문 감리인 구성
II. 사업개요 사업명, 사업기간, 사업목표, 사업범위, 적용방법론, 감리대상 범위, 사업비, 투입인력, 기타 사항
III. 종합의견 전제 조건, 분야별 현황(적정, 보통, 미흡, 부적정), 장려/권장 사항, 종합의견
2011 7 1일부터 분야별 현황(적합, 부적합) 적용
IV. 개선권고
사항
- 개선유형: 필수개선, 협의개선, 권고사항
- 세부개선사항
V. 상세검토
사항
- 검토현황: 검토항목, 검토의견
- 문제점 개선권고사항
VI. 붙임 - 과업내용 이행여부 점검결과의 “관련 증빙”을 수록함

 

III. 정보시스템 감리 평가 유형

구분 유형 및 평가 설명
개선 권고
유형
필수 발견된 문제점 중 사업목표를 달성하기 위하여 반드시 개선해야 할 사항
  협의 발견된 문제점 또는 발생 가능성이 큰 문제점 중 발주기관과 피감리인이 상호 협의를 거쳐 반영여부를 결정할 수 있는 사항
  권고 감리의 대상범위를 벗어나지만 사업목표 달성에 도움이 되는 사항
개선 시점 장기 장기적인 관점에서 지속적으로 개선해야 하는 사항
  단기 감리대상 사업의 해당 구축 단계 종료 이전에 개선해야 하는 사항
과업내용
이행 여부
적합 검사기준의 검사방법에 따라 점검한 결과가 예상결과와 판정기준에 부합한 경우
  부적합 검사기준의 검사방법에 따라 점검한 결과가 예상결과와 판정기준에 부합하지 않거나
중대한 결함이 발생한 경우
  점검 제외 1) 점검과정에서 테스트 환경이 준비되지 않거나,
2) 선행 기능의 결함으로 점검하지 못한 경우와
3) 외부환경 변화,
4) 발주기관의 요청이나 합의에 의해 진행중인 경우
- 점검제외 경우 관련 증빙에 점검 제외 사유를 명확히 작성하여야 함.
[주의] 점검 제외는 작업이 미완료된 작업이 아니라, 점검을 못하는 것이다.

 

IV. 정보시스템 감리 관점 점검 기준

감리 관점 점검 기준 상세 설명
절차
(Process) 
계획 적정성
(Plan Reasonability)
- 사업수행계획, 인력운용계획 등 각종 계획 수립의 적정성
  절차 적정성
(Process Reasonability)
- 개발 / 운영 / 유지보수 절차 수립 적정성, 위험 / 일정 /  품질
/ 형상 / 인력 / 변경관리 절차 등의 수립 적정성
  준수성
(Compliance)
- 각종 계획의 준수 여부, 위험/일정/품질/형상 /인력/변경관리
절차 및 활동의 준수 적정성
산출물
(Product)
기능성(Functionality) - 기능의 충분성, 완전성, 정확성, 상호 운용성, 연계성
  무결성(Integrity) - 데이터 무결성 정확성
  편의성(Usability) - 사용 편의성, 운영 편의성, 학습성
  안정성(Stability) - 시스템 안정성, 서비스 연속성, 복구 신속성
  보안성(Security) - 시스템 기밀성, 안전성
  효율성
(Efficiency)
- 정보자원 활용의 효율성, 업무 효율성, 응답시간 신속성, 시스템
확장성, 기술발전 부합성
  준거성
(Compliance)
- 산출물 관련 기준/절차/표준/방법론 준수성
  일관성
(Consistency)
- 분석성, 변경성, 현황화, 추적성, 유지보수성
성과
(Performance)
실현성
(Realizability)
- 구체성, 실현가능성, 투자대비 효과성, 성과목표 달성,시스템 사용 가능성
  충족성
(Sufficiency)
- 업무/기술적 요건 만족, 사업목표 달성, 과업범위 충분성
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Function Point / ISO/IEC 14143  (0) 2024.04.20
SW 비용 산정 일반  (0) 2024.04.19
감리 절차  (0) 2024.04.17
정보시스템 감리/Framework  (0) 2024.04.16
CMMI / CMMI 2.0  (0) 2024.04.15
감리 절차 [정의] 정보시스템 감리를 하는 법인 또는 기관이 전자정부법 시행령 제72조 2항 규정에 따라 수행해야하는 원칙
정보시스템 감리업무의 수행 형태에 따라 일부 절차를 변경, 생략 가능
[공통 감리 절차] : 예비조사, 현장감리, 조치 확인
1) 예비조사 : 예비조사 준비, 예비조사 실시, 감리계획서 작성/제출
2) 현장감리 : 감리시작, 착수회의, 감리수행, 보고서 작성/검토, 종료회의, 보고서 확정/통보
3) 조치확인 : 확인준비, 시정조치 확인, 확인보고서 작성/협의, 확인보고서 확정/제출

예현조
준실감
감착감보종보
준시작보
토픽 이름 감리절차
분류 SW > 정보시스템감리 > 감리절차
키워드(암기) 고객(발주기관), 피감리인, 감리업체,
계약->예비조사/계획->착수회의->시행/보고서작성->종료회의->보고서 통보->시정조치 결과확인/통보
암기법(해당경우) 계예착시()종보()(확통)

[기출문제]

번호 문제 회차
1 5. 소프트웨어 개발 프로젝트 품질보증(Quality Assurance) 위한 정보시스템 감리 절차에 대하여 설명하시오 105.정보관리.3
2 2. 공통감리절차 중 시정조치확인 과정에 대하여 설명하시오. 104.컴시응.2
3 6. 정보화사업 공통 감리절차에 있어서 현장감리는 어떠한 활동인지 기술하시오.
또한 현장감리에서 이루어지는 6가지 절차를 설명하시오
101.컴시응.4

 

I. 정보시스템 감리 절차의 개념

- 정보시스템 감리를 하는 법인 또는 기관이 전자정부법 시행령 722 규정에 따라 수행해야하는 원칙

- 정보시스템 감리업무의 수행 형태에 따라 일부 절차를 변경, 생략 가능

 

II. 정보시스템 감리 수행 절차 구성도 및 절차

. 정보시스템 감리 수행 절차 구성도

 

 

. 정보시스템 감리 수행 절차

 

 

수행 절차 주요내용 산출물
감리 계약
체결
- 감리 제안, 종합감리계획서 작성 및 통보, 확정
- 감리 기관은 감리비, 감리 일정, 장소 감리 계약에 필요한 기본적인 사항 등 감리계약서에 포함될 내용을 협의
- 감리 기관과 감리의뢰기관 사이의 법적인 충돌을 방지하는 목적으로 상호합의에 따라 감리계약서를 작성
감리 계약서
예비조사 실시 및 감리 계획 수립 - 감리 규약에 규정한 사항을 토대로 감리 계획 수립
: 사용 개요, 목적, 감리대상 범위, 일정, 감리 영역 및 점검 항목 등
- 감리 준비: 감리 일정, 감리대상, 사업 개략적 조사 및 이해
- 개별감리계획서 작성: 개별 감리 실시계획 작성
- 예비조사: 감리대상 사업의 특성, 중점검토사항 도출
감리기본 점검표
감리 수행 계획서
감리 착수
회의 실시
- 감리 계획 설명 점검 항목 협의
: 사업현황 파악 현업 담당자 확인
- 공식적인 감리 시작을 알리는 행위
- 감리 기관, 감리의뢰기관, 피감리인 관계기관의 참여 하에 공식적인 감리의 시작을 위한 착수 회의 실시
착수 회의 자료

감리 시행 및
감리 보고서 작성
- 계획에 기초하여 현장 감리 실시
: 자료 검토, 인터뷰, 관찰, 시험 활동, 상호 검증을 수행
: 감리 보고서 작성 검토
- 감리인이 현장 실사, 감리인 감리의뢰기관 관계자와의 면담 등을 통하여 중점 검토 항목별 문제점 및 개선사항을 발견하여 문서화
- 감리인들이 현장감리기간 동안 발견된 주요 문제점 및 개선사항을 보고서화하고 감리의뢰인 및 피 감리인에게 확인
감리수행 결과
보고서()
감리 종료
회의 실시
- 관련자에 감리결과 설명, 의견 청취, 추후 일정 협의
감리기간 중 발견된 중대 사항을 확인하기 위해 종료 회의를 실시하며 회의는 감리 총괄이 진행
- 주관감리인이 종합적인 감리 의견(총평) 개선권고사항을 설명하고 피 감리인의 질의, 응답 과정을 통해 발견된 사항을 조정 확정
감리수행 결과
보고서()
- 회의록
감리 보고서
통보
- 감리 보고서 확정 작성 통보
감리종료회의 실시 후 각 감리인들은 상세검토사항의 내용을 조정
- 종료회의가 끝난 날로부터 10 이내에 감리의뢰기관 감리기관의 장에게 통보
감리 수행 결과보고서
감리에 따른 시정 조치 결과의 확인 및   통보 - 개선사항에 따른 조치계획 수립 검토
: 개선사항 조치 조치 결과 확인
피 감리인은 조치계획을 감리의뢰인에게 즉시 제출하고 감리의뢰기관은 감리결과 조치계획 및 조치결과를 감리인에게 제출
- 조치사항에 대한 검토는 산출물 위주로 이루어지며, 조치결과 검토공문을 통보함으로써 조치사항 검토 종료
시정조치 확인 보고서

 

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

SW 비용 산정 일반  (0) 2024.04.19
감리결과보고서 작성하기  (1) 2024.04.18
정보시스템 감리/Framework  (0) 2024.04.16
CMMI / CMMI 2.0  (0) 2024.04.15
ISO/IEC 25010(ISO 9126)  (1) 2024.04.14
정보시스템 감리/Framework [정의] 제3자적 관점에서 정보시스템의 구축·운영에 관한 사항을 종합적으로 점검하고 문제점을 개선을 하도록 하는 활동
[법적근거]
<전자정부법>제57조(행정기관등의 정보시스템 감리) 행정기관등의 장은 정보시스템의 특성 및 사업 규모 등이 대통령령으로 정하는 기준에 해당하는 정보시스템에 대하여 제58조제1항에 따른 감리법인으로 하여금 정보시스템 감리를 하게 하여야 한다. 다만, 제64조의2에 따라 전자정부사업관리를 위탁한 경우로서 대통령령으로 정하는 전자정부사업에 대해서는 그러하지 아니하다.
[사업유형/감리시점] EA, IS, SD, DB, OP, MA
[감리영역]
EA(기반정립, 현행아키텍처구축, 이행계획, 목표아키텍처구축, 관리체계, 품질보증활동, 사업관리)
IS(업무, 기술, 정보화계획, 품질보증활동, 사업관리)
SD(시스템 아키텍처, 응용시스템, 데이터베이스, 시험활동, 운영준비, 품질보증활동, 사업관리)
DB(데이터 수집 및 시범 구축, 데이터 구축, 품질검사, 사업관리)
OP(서비스 제공, 서비스 지원, 사업관리)
MA(유지보수 이행, 사업관리)
[감리관점/점검기준] 성과, 산출물, 절차
  시영관(사업유형/감리시점, 감리영역, 감리관점/점검기준)
성산절(성과, 산출물, 절차)
토픽 이름 정보시스템 감리 Framework
분류 SW공학 > 정보시스템감리 > Framework  (p.441)
키워드  
암기법 시영관, 성산절
관련 토픽  

 

기출문제

회차 종목 유형 문제
119 관리 4 6. 소프트웨어사업의 복잡도가 증가하면서 정보시스템 감리역할이 중요해지고 있다. 고시된 감리기준(행정안전부 고시 2017-1) 대해 설명하시오.
. 감리 실시시기 감리인력 배치기준
. 감리 제안서 기술평가 항목
119 컴시응 3 4. 정보시스템감리 과업이행여부 점검 표본조사가 원칙이나 현실적으로는 발주기관에서 전수조사를 원칙으로 요구하는 사례가 많은 실정이다. 다음에 대하여 설명하시오.
1) 과업이행여부 전수점검에 대한 현실적 한계성과 감리에 미치는 문제점
2) 과업이행여부 전수점검에 대한 개선방안인 문서검토확인과 3 검증 방법
118 관리 3 5. 정보시스템 감리와 사업관리위탁(PMO, Project Management Office) 비교 설명하시오.
117 관리 3 6. 정보시스템 감리 시행 절차의 활동(감리법인 관점) 산출물을 설명하시오.
114 컴시응 4 5. 대규모로 운영중인 시스템을 개편하기 위해 PMO 감리가 참여하는 프로젝트를 추진하고자 한다. 개발단계에서의 PMO와 감리간의 역할, PMO한계점 해결방안에 대하여 설명하시오.
111 관리 3 4.정보시스템 감리와 정보통신공사 감리를 설명하고, 감리보고서의 주요 내용을 비교하시오
108 컴시응 4 5.최근 프로젝트의 위험성을 최소화하기 위해 PMO(Project Management Office)활성화에 대한 방안이 여러 분야에서 논의되고 있다. PMO에 대해서 기술하고, 정보시스템감리 유형 상주감리와의 차이점을 설명하시오. 또한 PMO 활성화하기 위한 방안에 대해 설명하시오.
105 관리 3 5. 소프트웨어 개발 프로젝트 품질보증(Quality Assurance)을 위한 정보시스템 감리 절차에 대하여 설명하시오
104 컴시응 2 2. 공통감리절차 시정조치확인 과정에 대하여 설명하시오.
101 컴시응 4 6. 정보화사업 공통 감리절차에 있어서 현장감리는 어떠한 활동인지 기술하시오.
또한 현장감리에서 이루어지는 6가지 절차를 설명하시오.
98 시스템응용 3 2. 정보시스템 감리의 프레임워크와 감리절차를 설명하시오.
95 조직응용 4 5.EA Framework 추진방안에 대하여 설명하시오
92 관리 4 1. u-City 구축에 대한 정보시스템 감리 프레임워크 절차를 설명하시오.
90 관리 1교시 13. 정보시스템 감리 점검프레임워크에 대해 설명하시오.
87 조직 3 2. ITA(Information Technology Architecture)/EA(Enterprise Architecture) 프레임워크(Framework) 개념 구성에 대하여 설명하시오.
83 관리 3 3. 정보화 전략계획수립(ISP)사업에 대한 정보시스템 감리 프레임워크를 제시하고 중요 감리점검사항에 대하여 설명하시오.
83 조직 3 6. ITA/EA(Information Technology Architecture/Enterprise Architecture)에서 프레임워크 (Framework) 정의, 필요성, 구성요소에 대하여 설명하시오. -> 가장 기본적인 문제가 나왔음.
83 조직 4 6.정보시스템 운영감리의 범위와 운영감리를 수행하기 위한 기본요소에 대해 설명하시오.
81 관리 1 13. 수석감리원, 감리원 자격기준에 대하여 설명하시오.
    [수석감리원]
- 80 / 관리/전자계산조직응용기술사 등 수석감리원 등급자
    [감리원]
81 조직 2 감리 비용

 

 

  1. 효율적인 정보시스템 구축 및 운영을 위한 감리 개요
  • 정보시스템의 효율성 향상 및 안정성 확보를 위해 이해관계자로부터 독립된 자가 제3자적 관점에서 정보시스템 구축에 관한 사항을 점검하고 문제점을 개선하도록 하는 활동

 

  1. 정보시스템 감리의 등장배경
구분 설명
객관적 검증 - 정보시스템의 신뢰성, 안정성, 운영/구축, 효율성 확보를 위한 객관적 검증 필요
표준 준수 - 프로젝트 표준 준수 및 표준 설정의 완성도 향상
비용의 객관성 - 투자 및 적정 개발비용에 대한 객관성 필요

 

  1. 정보시스템 감리의 목적
목적 설명
법적 요건 준수 (Compliance)  
안전성 향상 (Security)  
효율성 향상 (Efficiency)  
효과성 향상 (Effectiveness)  
  • 감리의 목적은 주어진 요건을 준수하고, 정보시스템의 안전성, 효율성, 효과성을 향상시키는데 있음.

 

  1. 정보시스템 감리 점검 프레임워크 구성도 및 구성요소

  • 개념모델에 근거하여 사업유형/감리시점, 감리영역, 감리관점/점검기준의 세축으로 구성
  1. 감리점검 프레임워크 구성 요소
  2. 구성도 구성요소 설명


    사업유형 - 정보기술아키텍처구축(EA)
    - 정보화전략계획수립(IS)
    - 시스템개발(SD), 데이터베이스구축(DB)
    - 시스템운영(OP), 유지보수(MA)
      감리영역 - 사업유형 별 감리 대상
    - 품질보증(QA)은 시스템개발까지 공통사항
    - 사업관리(프로젝트관리계획서)는 전체 유형
      감리관점
    점검기준
    - 감리의 기준이 되는 내용
    - 절차, 산출물, 성과
  1. 감리관점/점검기준 설명
감리관점 내용
절차 (Process) 사업에 대한 각종 관리활동 및 구축/운영 계획 절차의 수립과 준수 여부의 적정성을 검토
산출물 (Product) 적정한 구축/운영 절차를 통하여 생산된 각종 문서, 시스템, 서비스 등에 대한 적정성을 검토
성과 (Performance) 궁극적인 사업의 성과목표 및 기대효과의 달성가능성 및 달성여부에 대한 검코
  1. SD 감리 프레임워크의 구성 감리 영역 점검 사항
    1. SD 감리 프레임워크 구성도
    2.  

  1. SD 감리의 감리 영역 점검 사항
감리시점 내용
요구분석(분석) 현행 시스템 운영환경과 업무를 분석하고 사용자 및 시스템 요구사항을 충분히 도출하였으며, 요구사항을 만족하기 위한 기술적 아키텍처 및 업무프로세스 분석을 적정하게 수행하였는지 점검
분석/설계(설계) 사용자 요구사항 및 분석 결과에 근거하여 시스템의 구조적 설계와 업무기능, 사용자 인터페이스 및 내/외부 인터페이스 등을 구현 가능한 수준으로 적정하게 설계하였는지 점검
구현 설계에 따라 시스템 도입, 설치를 위한 시험 검증 수행을 수행하고 시스템 계획을 시험계획을 적정하게 수립하였는지 점검

응용시스템 기능의 충분성
, 완전성, 무결성, 편의성, 적정성을 확보할 있도록 구현하고 단위기능에 대한 검증을 수행하였는지 점검
시험 통합시험, 시스템시험을 통하여 구현된 시스템이 통합적인 관점에서의 기능과 완전성과 성능, 안전성, 보안성 확보 여부를 검증하였는지 점검
전개 시스템을 운영하기 위한 시스템 설치 및 배포, 초기데이터 구축 등의 준비를 완료하고, 시스템이 사용자에게 이관 운영될 있도록 준비하였는지 점검

 

  1. DB 구축사업 감리 Framework 점검사항

 

  1. DB 구축사업 감리 점검사항
감리시점 감리영역 감리사항
준 비 데이터수집

시범구축
- 충분한 현황조사를 통한 데이터 구축자료 유형 범위 설정여부
- 데이터 구축요건/품질기준/구축공정/작업지침 마련여부
- 시범구축 공정을 통한 검증수행으로 목표일정 내 사업목표달성 준비여부
구 축 데이터구축 - 데이터 유형별 구축공정/작업지침/구축계획에 의거 품질목표를 만족하는
데이터의 누락없이 정확한 구축여부
  품질검사 - 공정별 품질보증계획에 따른 품질보증활동의 적정한 수행여부
- 전수검사 또는 표본추출검사를 통한 최종 데이터 품질목표 달성여부

 

“끝”

[ 참고문헌 ]

기필반 87 교재 SW공학 / 프로젝트 관리 2 p.432

기필반 86 숙제 게시물

 

[참고] 사업유형/감리시점별 감리사항 설명

사업유형 감리시점 감리영역 기반 감리사항
정보기술 및 아키텍처 구축(EA) 기반정립 및 현행
아키텍처 구축
 
  목표아키텍처 구축 및 이행계획 수립  
정보화 전략 계획 수립(IS) 현황분석 및 전략 수립  
  개선모델 및 실행계획 수립  
시스템개발(SD) // SD 사업 감리 점검 사항과 동일  
DB 구축(DB) // DB 구축 사업 감리 점검 사항과 동일  
시스템운영(OP) 운영  
유지보수(MA) 유지보수 - 유지보수 절차/표준의 수립여부
- 실제 유지보수의 적절한 수행여부
  • 품질보증은 전 영역에 걸쳐 있으며, 각 영역에 맞게 관련 계획을 수립/이행과 관련 산출물의 적정한 작성여부를 점검함.

 

V. 정보시스템 감리 대상기준 시행절차

  1. 정보시스템 의무감리 대상 기준 (전자정부법 시행령 71)
구분 대상 기준 예외인 경우
정보시스템 특성 1. 대국민 서비스를 위한 행정업무 또는 민원업무 처리용으로 사용하는 경우
2. 여러 행정기관 등이 공동으로 구축하거나 사용하는 경우
총 사업비 1억원 미만의 소규모 사업으로써 비용대비 효과가 낮다고 행정기관 등의 장이 인정하는 경우는 제외
사업비 규모 정보시스템 구축사업으로써 사업비가 5억원 이상인 경우 ( 사업비 중에서 하드웨어, 소프트웨어 단순한 구입비용을 제외한 금액) 또는 사업 수행기간이 5개월 이상인 경우 단순한 구입비인지 여부는 행정기관 등의 장이 판단
행정기관 장의 필요성 판단 감리 시행이 필요하다고 해당 행정기관의 장이 인정한 경우 감리시행의 필요성을 판단하는 근거는 “정보시스템 특성”기준 참조
  1. 감리시행절차

  • 감리계약은 감리법인과 공공기관간에 체결하여야 하며 각 감리회차 별로 위 프로세스가 진행
  1. 감리수행 절차(감리법인 관점)

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

감리결과보고서 작성하기  (1) 2024.04.18
감리 절차  (0) 2024.04.17
CMMI / CMMI 2.0  (0) 2024.04.15
ISO/IEC 25010(ISO 9126)  (1) 2024.04.14
품질통제(QC)  (0) 2024.04.13

+ Recent posts