정보시스템 감리 기출해설/소프트웨어공학 해설

(제 25회) 소프트웨어 공학 / (48)~(50) 해설

아이티신비 2025. 1. 24. 09:00

48. IFPUG의 기능점수는 개발 기능점수(DFP), 개선 기능점수(EFP), 어플리케이션 기능점수(AFP)로 구분된다. 다음과 같은 조건이 주어졌을 때, 개선기능점수(EFP)를 구하는 식으로 가장 적절한 것은?

 

 
  • ADD = 개선 프로젝트에 의해 추가된 기능의 미조정 기능점수값
  • CHGA = 개선 프로젝트에 의해 수정된 기능의 미조정 기능점수값
  • CFP = 데이터 변환에 의해 포함된 기능점수값
  • VAFA = 개선 프로젝트 종료 후의 어플리케이션 값 조정인자
  • DEL = 개선 프로젝트에 의해 삭제된 기능의 미조정 기능점수값
  • VAFB = 개선 프로젝트 이전의 어플리케이션 값 조정인자.

① EFP = [(ADD+CHGA+CFP+DEL)×VAFA]

② EFP = [(ADD+CHGA+CFP-DEL)×VAFA]

③ EFP = [(ADD+CHGA+CFP)×VAFA]-(DEL×VAFB)

④ EFP = [(ADD+CHGA+CFP)×VAFA]+(DEL×VAFB)

 

■ 해설

  1. 측정유형 결정
  • 측정할 대상의 성격에 개발 프로젝트, 개선 프로젝트, 애플리케이션으로 구분

가. 기능점수 측정 유형의 종류

 

1) 개발 프로젝트

  • 신규 소프트웨어를 개발하는 시점부터 유지보수전까지 최초기능의 크기를 산정
  • 측정공식 : (UFP+CFP)*VAF

 

2) 개선 프로젝트

  • 소프트웨어 개발이 끝난 시점부터, 소프트웨어 수정/변경이 필요한 프로젝트에서의 크기산정
  • 측정공식 : [(ADD+CHGA+CFP)*VAFA] + (DEL*VAFB)

 

3) 어플리케이션

  • 사용자에게 제공된 어플리케이션의 현행 기능을 측정한 값으로, 운영규모 파악 및 개발 및 개선 이후에 적용함
  • 측정공식 : [(UFPB+ADD+CHGA) - (CHGB+DEL)]&VAFA

 

* ADD(Add) : 개선프로젝트에 의해 추가된 기능의 미조정 기능점수

* CFP(Count) : 데이터 컨버터에 의해 포함되는 기능점수

* CHGA(Change After) : 개선 프로젝트에 의해 수정되는 기능의 조정 전 기능점수

* CHGB(Change Before) : 변경된 기능에 대해 개선 프로젝트 전의 미조정기능점수

* DEL : 개선 프로젝트에 의해 삭제되는 기능의 조정 전 기능점수

* UFP : 조정전 기능점수

* VAFB : 개선 프로젝트가 시작되기 전의 어플리케이션에 대한 조정인자

* VAFA : 개선 프로젝트가 종료된 후의 어플리케이션에 대한 조정인자

 

정답 : ④

 

 

49. 다음 Java 프로그램의 출력 결과로 가장 적절한 것은?

public class Test
{
public final int a = 10;
public void runIt()
{
int a = 20;
Runnable b = new Runnable(){
public final int a = 30;
public void run(){
int a = 40;
System.out.println(this.a);
}
};
b.run();
}
public static void main(String...args)
{
Test c = new Test();
c.runIt();
}
}

 

① 10 ② 20

③ 30 ④ 40

 

■ 해설

  • 요약 : Java 코드는 내부 클래스(inner class) 와 변수 소코프(variable scope) 에 대한 개념을 보여줌. 내부 클래스 내에서 변수 접근 및 가려짐(shadowing) 현상이 발생하는 것을 확인가능

 

코드 실행 과정 설명

  1. 메인 메서드 실행

Test c = new Test(); ← Test 클래스의 인스턴스 c 가 생성

c.runlt(); ← runlt() 메서드가 호출 실행

 

2. runlt() 메서드 실행

int a = 20; ← 메서드 내부에 지역 변수 a 가 선언되고 값 20이 할당

Runnable b = new Runnable() {...}; ← 익명 내부클래스(anonymous inner class) 생성되고,

Runnable 인터 페이스를 구현, 내부에 또 다른 지역 변수 a 선언 값 30이 할당

b.run(); ← 익명 내부 클래스의 run() 메서드가 호출

 

3. 익명 내부 클래스의 run() 메서드 실행

int a = 40; ← 메서드 내부에 또 다른 지역 변수 a 가 선언되고 값 40이 할당

System.out.println(this.a); ← this 는 익명 내부클리스 자신을 가리키며, 이 때 a 는 내부 클래스 내부에 선언된

a (값 30)를 가르킴

 

 

정답 : ③

 

50. 다음은 애자일 성과지표와 해당 지표의 정의를 나타낸다. (가)~(라)에 해당하는 가장 적절한 것은?

 
지표
정의
(가)
전체 제품 백로그 대비 현재까지 완료한 제품 백로그 개수
(나)
시간 경과에 따른 남은 작업량을 그래프로 표시한 도표
(다)
시간 경과에 따른 완료된 작업량을 그래프로 표시한 도표
(라)
스프린트 기간에 수행된 제품 백로그들의 스토리 포인트 합

 

① (가) 백로그 진척률 (나) 번업 차트

(다) 번다운 차트 (라) 속도

② (가) 백로그 진척률 (나) 번다운 차트

(다) 번업 차트 (라) 속도

③ (가) 속도 (나) 번다운 차트

(다) 번업 차트 (라) 백로그 진척률

④ (가) 속도 (나) 번업 차트

(다) 번다운 차트 (라) 백로그 진척률

 

■ 해설

  • Velocity(속도) : 한 팀이 단위 스프린트기간 내에 완료시킨 스토리 포인트 총합
 
프로세스
내용
일일 스크럼 미팅
  • 스탠드업 미팅(15~20분)
  • 매일 정해진 시간에 정해진 장소에서 개발팀이 모여 각자가 어제 했던 일, 오늘할 일, 작업을 수행하는 중에 문제가 되는 일과 도움이 필요로 하는 일에 대해 이야기
스프린트 리뷰
  • 스프린트가 종료되면 개발팀은 스프린트 동안 개발한 제품을 고객을 포함한 이해관련자에게 구현된 기능을 보여 주면서 데모를 수행
  • 고객은 자신의 요구사항이 해당 스프린트 동안 잘 반영되었는지 평가를 하고 피드백
스프린트 회고
(Retrospective)
  • 스프린트가 끝나는 시점이나 일정 주기로 수행
  • 프로젝트를 진행하는 과정에서 드러난 좋았던 점, 여러 가지 문제나 미진한 점 등을 도출
번-다운 차트
(Burn-down chart)
번-업 차트
(Burn-up chart)
  • 번 다운 차트 : 작업량이 얼마나 남아있는지 보여줌으로써 스프린트의 진행 상황을 나타낸다
  • 번 업 차트 : 시간 경과에 따른 프로젝트 진행률을 나타낸다

 

정답 : ②

 

 

 




 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥