Download presentation
Presentation is loading. Please wait.
1
5. 트랜잭션 기능 유형
2
3. 데이터 기능 계산 5. 미조정 기능점수 결정 4. 트랜잭션 기능 계산 1. 계산 유형 결정 7. 조정 기능점수 결정
2. 계산 범위와 어플리케이션 경계 식별 1. 계산 유형 결정 7. 조정 기능점수 결정 6. 값 조정 인자 결정 주) 개정 사업대가기준의 기능점수는 “5. 미조정 기능점수”를 의미한다.
3
트랜잭션 기능 유형 사용자 관점에서 본 어플리케이션 기능 외부 인터페이스 파일 외부입력 측정대상 어플리케이션 외부출력
내부논리파일 (ILF) 외부입력 외부조회 외부출력 다른 어플리케이션 외부조회 External Input (EI) An elementary process that processes data or control information that comes from outside the application’s boundary External Output (EO) An elementary process that sends data or control information outside the application’s boundary. External Inquiry (EQ) application’s boundary. The processing logic contains, and creates no derived data. No ILF maintained during processing, nor is the behavior of the system altered. 사용자 관점에서 본 어플리케이션 기능
4
트랜잭션 기능의 복잡도 요소 참조 파일 유형 (FTR) 데이터 요소 유형 (DET)
트랜잭션 기능에 의해 읽히거나 유지되는 내부 논리 파일 또는 트랜잭션 기능에 의해 읽히는 외부 참조 파일이다. 데이터 요소 유형 (DET) 데이터 요소 유형은 사용자가 인식할 수 있는 유일하고 반복되지 않는 필드이다. File Type Referenced (FTR) ILF EI with 1FTR ILF EI with 2 FTR ILF EI with 3 FTR
5
외부입력(EI) 식별 규칙 주요 의도 식별 규칙
기본 프로세스의 주요 의도는 ILF를 유지하거나 시스템의 동작을 변경하는 것이다. 식별 규칙 하나 이상의 ILF를 유지하거나 시스템의 동작을 변경하려는 의도를 가진 각 기본 프로세스가 외부 입력 기능으로 식별되기 위해서는 다음의 규칙들이 적용되어야 한다. 다음의 모든 규칙을 충족해야 고유한 외부 입력의 하나로 식별될 수 있다. 데이터 또는 제어 정보를 어플리케이션 경계 밖에서 받아들인다. 어플리케이션 경계를 통해 들어온 데이터가 시스템의 동작을 바꾸는 제어 정보가 아니라면, 적어도 하나의 ILF를 유지해야 한다. 식별된 기본 프로세스는 다음 중 하나가 적용되어야 한다. 처리 논리가 어플리케이션 내 다른 외부 입력의 처리 논리와 구분될 수 있도록 고유해야 한다. 데이터 요소집합이 어플리케이션 내 다른 외부 입력의 데이터 요소집합과 구분되어야 한다. 참조한 ILF나 EIF는 어플리케이션 내 다른 외부 입력에 의해 참조된 ILF나 EIF와 구분되어야 한다. EI를 식별하기 위한 관련 산출물 - 화면 레이아웃, 프로그램 목록 - 설계서 - 요구사항 정의서 - Data Flow Diagram - Use Case, Class Diagram EI Counting Tips - Add, Modify, Activate, Post, Submit, Update, Delete 등의 단어를 포함하는 기능은 EI로 측정한다.
6
외부입력(EI) 가중치 판단 규칙 FTR 계산 규칙 DET 계산 규칙
기본 프로세스 수행 중 유지되는 각 ILF를 하나의 FTR로 계산한다. 기본 프로세스 수행 중 읽혀진 각 ILF나 EIF를 각각 하나의 FTR로 계산한다. 기본 프로세스 수행 중 유지되면서 동시에 읽히는 각 ILF는 하나의 FTR로 계산한다. DET 계산 규칙 어플리케이션 경계로 들어 오거나 나가며 외부 입력 프로세스의 완료에 필요한, 사용자가 인식할 수 있는 유일하고 반복되지 않는 각 필드를 하나의 DET로 계산한다. 예, 직무 추가시 사용자가 정하는 직무명과 급여 등급은 두 개의 필드이다. 기본 프로세스 수행 중 시스템에 의해 검색되거나 유도되어 ILF에 저장되는 필드로 어플리케이션 경계를 넘지 않는 것은 DET로 계산하지 않는다. 예, 고객주문 정보를 추가할 때, 주문 품목별 단가가 자동적으로 검색되어 계산시 레코드에 저장된 경우, 단가 필드는 어플리케이션 경계를 넘지 않았으므로 DET로 측정하지 않는다. 예, 통화가 다른 나라에서 일하는 시급직 사원들을 위해 사용자는 통화 별 시급률율 정보를 제공한다. 사원 정보의 등록에 필요한 모든 요소 데이터를 처리하는 동안 통화 시스템으로부터 환율정보를 검색하여 해당국 시급율을 환산한다. 환산된 시급율은 사원 정보를 추가한 결과로 사원 ILF에서 유지된다. 이 때 환산된 시급율은 어플리케이션 경계를 넘어 들어온 것이 아니고, 내부적으로 계산된 것이기 때문에(즉, 유도 데이터) EI의 DET로 계산하지 않는다. File Type Referenced(FTR) - An internal logical file read or maintained by a transactional function - An external interface file read by a transactional function
7
외부입력(EI) 가중치 판단 규칙 DET 계산 규칙 (계속)
예, 사용자가 ‘OK’ 버튼이나 ‘PF’ 키를 눌러 사원을 추가할 수 있다면, 이들은 같은 기능을 수행하기 때문에 하나의 DET로 계산한다.
8
EI 복잡도 행렬 EI 가중치 낮음 = 보통 = 높음 = 6
9
EI 예제 END CLAIM USER DEPT. UPDATE TABLE CLAIM PROCESSING RECORDS DEPT.
1.0 DEPT. 1.0 UPDATE TABLE Input Claim CLAIM Updates PROCESSING RECORDS DEPT. REPORT PRINTING TABLE CLAIM FILE Display Application Add Change Delete 1.0 1.0 ON-LINE ENTRY UNDER- DISPLAY Transaction PROCESS WRITING APPLICATION TRANS. AND UPDATE Multi-Screen CLAIM FILE APPLICATION FILE
10
Application Being Considered Technology is not factor
Internal Logical File process Technology is not factor Entering orders Updating employee data Changing security access Batch transactions EI EDI Input
11
EI 예제 General Preferences
1. How many data elements are there in this input screen? 2. If this screen updates one internal logical file how many unadjusted function points does this screen represent? New Customer 3. Is the Cancel command button counted as a data element?
12
EI의 계산 예: 요구사항 직원 정보를 유지, 조회, 보고하는 기능이 필요. 생성된 리포트는 다른 어플리케이션에 의해 유지되는 파일에서 얻은 직원에 대한 위치 데이터를 포함. 직무 정보를 유지, 조회, 보고하는 기능이 필요. 직무 기술(Job Description)은 80 문자 단위의 라인들로 구성되고, 이 정보는 직무(Job)와 독립적으로 유지되지 않음. 직원에 대한 직무 배정(Job Assignment)을 유지, 조회, 보고하는 기능이 필요. 회사 내의 특정 위치에 있는 직원의 리스트를 포함한 위치 데이터(Location Data)에서 위치를 조회하고 보고하는 기능이 필요. 이 위치 데이터는 읽을 수만 있고 다른 어플리케이션에 의해서 유지됨.
13
EI의 계산 예: 프로세스 모델 EMPLOYEE-MAINTENANCE CREATE-EMPLOYEE
EMPLOYEE-INQUIRY UPDATE-EMPLOYEE DELETE-EMPLOYEE EMPLOYEE-REPORT JOB-MAINTENANCE CREATE-JOB JOB-INQUIRY UPDATE-JOB DELETE-JOB JOB-REPORT
14
프로세스 모델 (계속) JOB-ASSIGNMENT-MAINTENANCE ASSIGN-EMPLOYEE-TO-JOB
JOB-ASSIGNMENT-INQUIRY TRANSFER-EMPLOYEE EVALUATE-EMPLOYEE DELETE-ASSIGNMENT JOB-ASSIGNMENT-REPORT LOCATION-REPORTING LOCATION-INQUIRY LOCATION-REPORT
15
ILF나 EIF의 계산 결과 EMPLOYEE 엔티티 타입: ILF, 서브 그룹이 존재하므로 별도의 RET 계산 않음
Employee_Name: DET 1 Social_Security_Number : DET 2 Nbr_Dependents: DET 3 Type_Code (Salaried 혹은 Hourly) : DET 4 Location_Name (외래 키): DET5 SALARIED_EMPLOYEE 엔티티 타입: EMPLOYEE 내의 RET 1 Supervisory_Level: DET 6 HOURLY_EMPLOYEE 엔티티 타입: EMPLOYEE 내의 RET 2 Standard_Hourly_Rate : DET 7 Collective_Bargaining_Unit_Number: DET 8 JOB 엔티티 타입: ILF, RET 1 Job_Name: DET 1 Job_Number : DET 2 Pay_Grade: DET 3
16
ILF나 EIF의 계산 결과 (계속) JOB_DESCRIPTION 엔티티 타입: 구현상의 이유로만 존재하는 JOB의 일부
Job_Number (외래 키): 이전에 DET 2로 계산됨 Line_Number : 구현상의 이유로만 존재 Description_Line: DET 4 JOB_ASSIGNMENT 엔티티 타입: ILF, RET 1, 자신의 속성을 가지고 별도로 유지됨 Effective_Date : DET 1 Salary : DET 2 Performance_Rating : DET 3 Job_Number (외래 키) : DET 4 Employee_SSN (외래 키) : DET 5 LOCATION 엔티티 타입 : EIF, RET 1 Location_Name : DET 1 Address : DET 2 Employee_SSN (외래 키) : DET 3
17
ILF나 EIF의 복잡도 계산 결과 ILF와 EIF에 관한 복잡도 행렬에 의해 3개의 low ILF, 한 개의 low EIF
레코드 요소 유형 (RET) 데이터 요소 유형 (DET) 1 - 19 51 < 5 낮음(low) 보통(average) 2 - 5 높음(high) > 5
18
EI의 계산 예: 복잡도 행렬 참조 파일 유형 (FTR) 데이터 요소 유형 (DET) 1 - 4 5 - 15 16
< 2 낮음(low) 보통(average) 2 높음(high) > 2
19
EI의 계산 예: DET에 관한 가정 각 입력 트랜잭션이 에러 메시지 (에러 메시지에 대해 하나의 DET로 계산)를 리턴하고, 최소한 하나의 코맨드 키(각 EI에 대해 다른 DET로 계산)를 가짐. 생성 기능과 갱신 기능은 특정 ILF의 모든 필드를 액세스 하지만, 삭제 기능은 기본 키만을 액세스. 직무 할당(assign) 기능과 전직(transfer) 기능은 Performance_Rating 필드를 액세스 하지 않으며, 직원 평가(evaluate) 기능은 급여(Salary) 필드를 액세스 하지 않음. 각 트랜잭션에 대해 에러 메시지와 코맨드 키인 추가적인 두 개의 DET를 계산.
20
EI의 계산 예: FTR에 관한 가정 유지되는 ILF와 편집 목적으로 참조해야 하는 다른 ILF 혹은 EIF를 계산해야 함.
Employee를 생성할 때 EMPLOYEE와 LOCATION이라는 두 개의 FTR을 가짐. Employee를 삭제할 때 EMPLOYEE를 유지하고 JOB_ASSIGNMENT를 참조하거나 갱신.
21
EI의 계산 예: DET와 FTR EMPLOYEE-MAINTENANCE
CREATE-EMPLOYEE: DET 10, FTR 2(EMPLOYEE, LOCATION) UPDATE-EMPLOYEE: DET 10, FTR 2(EMPLOYEE, LOCATION) DELETE-EMPLOYEE: DET 3, FTR 2(EMPLOYEE,JOB_ASSIGNMENT) JOB-MAINTENANCE CREATE-JOB: DET 6, FTR 1(JOB) UPDATE-JOB: DET 6, FTR 1(JOB) DELETE-JOB: DET 3, FTR 2(JOB, JOB_ASSIGNMENT) JOB-ASSIGNMENT-MAINTENANCE ASSIGN_EMPLOYEE-TO-JOB: DET 6, FTR 3(EMPLOYEE, JOB, JOB_ASSIGNMENT TRANSFER-EMPLOYEE: DET 6, FTR 3(EMPLOYEE, JOB, JOB_ASSIGNMENT) EVALUATE-EMPLOYEE: DET 6, FTR 1(JOB_ASSIGNMENT) DELETE-ASSIGNMENT: DET 4, FTR 1(JOB_ASSIGNMENT)
22
EI의 계산 예: 복잡도 행렬 6개의 low EI, 두 개의 average EI(create update), 두 개의 high EI(assign, transfer) 참조 파일 유형 (FTR) 데이터 요소 유형 (DET) 1 - 4 5 - 15 16 < 2 낮음(low) 보통(average) 2 높음(high) > 2
23
EI의 계산 예: 미조정된 기능 점수 6개의 low EI, 두 개의 average EI(create update), 두 개의 high EI(assign, transfer) 미조정된 기능 점수는 38 기능 요소 기능 수준 낮음(low) 보통(average) 높음(high) 내부 논리 파일(ILF) 7 10 15 외부 인터페이스 파일(EIF) 5 외부 입력(EI) 3 4 6 외부 출력(EO) 외부 조회(EQ)
24
외부출력(EO), 외부조회(EQ) 식별 규칙
주요 의도 기본 프로세스의 주요 의도는 사용자에게 정보를 제공하는 것이다. 식별 규칙 사용자에게 정보를 제공하려는 의도를 가진 각 기본 프로세스가 외부 출력이나 외부 조회로 식별되기 위해서는 다음의 규칙들이 적용되어야 한다. 다음의 모든 규칙을 충족해야 고유한 외부 출력 또는 외부 조회의 하나로 식별될 수 있다. 데이터나 제어 정보를 어플리케이션 경계 밖으로 보낸다. 식별된 기본 프로세스는 다음 중 하나가 적용되어야 한다. 처리 논리가 어플리케이션 내 다른 외부 출력이나 외부 조회의 처리 논리와 구분될 수 있도록 고유해야 한다. 데이터 요소 집합이 어플리케이션 내 다른 외부 출력이나 외부 조회의 데이터 요소 집합과 구분되어야 한다. 참조한 ILF나 EIF는 어플리케이션 내 다른 외부 출력이나 외부 조회에 의해 참조된 ILF나 EIF와는 구분되어야 한다. Additional EO Counting Rules The processing logic of the elementary process must satisfy one Or more of the following for rules: - It contains at least one mathematical formula or calculation. - It creates derived data. - It maintains at least one ILF. - It alters the behavior of the system. EO with 2 FTR
25
추가적인 외부출력 식별 규칙 기본 프로세스가 외부 출력으로 식별되기 위해서는 위의 모든 공유 규칙을 충족시키는 것 외에, 다음 규칙 중 하나를 추가로 충족해야 고유한 외부 출력으로 식별될 수 있다. 기본 프로세스의 처리 논리는 적어도 하나의 수학 공식이나 계산을 포함한다. 기본 프로세스의 처리 논리는 유도 데이터를 만들어낸다. 기본 프로세스의 처리 논리는 적어도 하나의 ILF를 유지한다. 기본 프로세스의 처리 논리는 시스템의 동작을 변경한다. Additional DET Counting Rules - Count one DET for the ability to specify an action to be taken even if there are multiple methods for invoking the same logical process. - Do not count fields that are retrieved or derived by the system and stored on an ILF during the elementary process if the fields did not cross the application boundary - Do not count literals as DETs - Do not count paging variables or system-generated stamps EO Counting Tips - 출력을 위해 입력하는 항목(Input side)과 출력되는 항목(Output side)을 모두 EO의 DET로 측정한다. - Derived Data, Calculation, Algorithm을 포함하는 기능은 EO로 측정한다. - 시스템에서 발생하는 데이터(날짜 등)은 DET로 측정하지 않는다. Notification Message는 EO인가? 예) ATM에서 현금을 인출할 때, 잔고가 부족하여 인출할 수 없다는 메시지를 출력하는 기능.
26
EO/EQ의 복잡도 기여도 규칙 EO와 EQ가 공유하는 FTR 규칙 EO, EQ의 FTR을 셀 때는 다음 규칙을 적용한다.
기본 프로세스 수행 중 읽히는 각 ILF와 EIF를 각각 하나의 FTR로 계산한다. EO에 관한 추가적인 FTR 규칙 EO의 FTR을 셀 때는 다음 규칙을 추가로 적용한다. 기본 프로세스 수행 중 유지되는 각 ILF를 하나의 FTR로 계산한다. 기본 프로세스 수행 중 유지되면서 동시에 읽히는 각 ILF는 하나의 FTR로 계산한다. EQ만의 추가적인 FTR 규칙은 없다. EO나 EQ 중 어느 하나에만 고유한 DET 계산 규칙은 없다.
27
EO/EQ가 공유하는 DET 규칙 어플리케이션 경계 밖에서 들어와, 언제, 무슨 데이터가, 어떻게 생성 또는 검색 되는지 명시하기 위해 필요한, 사용자가 인식할 수 있고, 반복되지 않는 필드는 하나의 DET로 계산한다. 예(EO/EQ): 사원 명단을 만들 때, 어떤 사원을 포함할 지를 알리기 위하여 사용자가 제공하는 것은 사원명 필드이다. 어플리케이션 경계 밖으로 나오는, 사용자가 인식할 수 있고, 반복되지 않는 필드는 하나의 DET로 계산한다. 예(EO/EQ): 텍스트 메시지는 한 단어, 문장 또는 구문일 수 있다 – 출력 보고서에 포함된 줄 또는 단락이 내용 설명을 위한 주석이라면 이것은 단 하나의 DET로 측정한다. 예(EO/EQ): 계정 번호나 날짜가 물리적으로 여러 필드에 저장되어 있어도 단일 정보로 요구된다면 하나의 DET로 계산한다. 예(EO/EQ): 파이 차트는 범주 레이블과 수치에 상응하는 그래픽 출력을 가질 수 있다. 이럴 경우는 2개의 DET(하나는 범주 레이블, 다른 하나는 수치에 상응한 그래픽)로 계산한다. 만약 어떤 DET가 어플리케이션 경계로 들어오기도 하고 나가기도 한다면, 해당 기본 프로세스에서는 이를 한번만 계산한다. 처리 중 발생한 에러를 표시하고자 할 때, 처리가 완료되었음을 표시하고자 할 때, 처리의 계속 여부를 묻고자 할 때 등, 어플리케이션 경계 밖으로 내보내는 시스템 메시지는 하나의 DET로 계산한다. 예(EO/EQ): 사용자가 사원 명단 작성을 요청하려 했으나, 정보에 접근할 수 없어 시스템으로부터 받은 응답 메시지는 하나의 DET로 계산한다.
28
EO/EQ가 공유하는 DET 규칙 동일한 논리 프로세스를 기동 시키는 여러 가지의 방법(예, 여러 종류의 기능 키)은 동일한 데이터로 간주하여 하나의 DET로 계산한다. 예(EO/EQ): 사용자가 ‘OK’ 버튼이나 ‘PF’ 키를 눌러 사원을 추가할 수 있다면, 이들은 같은 기능을 수행하기 때문에 하나의 DET로 측정한다. 기본 프로세스 수행 중 시스템에 의해 검색되거나 유도되어 ILF에 저장되나, 어플리케이션 경계를 넘지 않는 필드는 DET로 계산하지 않는다. 예(EO): 수표를 인쇄할 때, 수표가 발행되었다는 것을 표시하기 위해 사원 ILF에 상태 필드가 갱신된다. 그러나 상태 필드는 경계를 넘지 않으므로 DET로 계산하지 않는다. 문자 상수(리터럴)는 DET로 계산하지 않는다. 예(EO/EQ): 보고서 제목, 화면ID, 윈도우 ID, 칼럼 제목, 필드 제목 등은 문자 상수(리터럴)이기 때문에 DET로 간주하지 않는다. 페이지 변수나 시스템 생성 소인은 DET로 계산하지 않는다. 예(EO/EQ): 시스템 생성 변수나 소인은 다음과 같다. - 페이지 번호 - “211의 37행에서 54행으로”와 같은 거주지 정보 - GUI 어플리케이션에서 이전, 다음, 페이지 매기기 화살표와 같은 페이지 매기기 명령 - 디스플레이 시 나타나는 날짜와 시간 필드 등
29
EO/EQ 복잡도 행렬 EO 가중치 낮음 = 보통 = 높음 = 7 EQ 가중치 낮음 = 보통 = 높음 = 6
30
EO 예제 CLAIM FILE PAYROLL FILE GENERAL LEDGER PAYROLL END FORMAT
Summarized Payroll Info Payroll Checks GENERAL LEDGER PAYROLL DEPARTMENT 1.0 1.0 Summary END FORMAT SUMMARIZE USER DATA FOR TOTALS PAYROLL PAYMENT FILE TRANSACTION FILE Customer 1 1.0 END USER 1.0 Report RELEASE Customer 2 PRINT WEEKLY DATA PAYMENTS Microfiche END USER Customer 3
31
Application Being Considered Report contains derived data
EO 예제 Application Being Considered Internal Logical File process Report contains derived data Order Report EO
32
EO 예제 Activity Level By Day of Week Table
1. How many data elements are there in this Table? 2. Presenting this Table is an EO ? Activity Level By Day of Week Graph 3. How many data elements are there in this Graph? 4. Above Table and Graph is unique ? 1 or 2 EO ? 5. If a Report were available on line, paper , How should count this Report?
33
EO의 계산 예: 요구사항 직원 정보를 유지, 조회, 보고하는 기능이 필요. 생성된 리포트는 다른 어플리케이션에 의해 유지되는 파일에서 얻은 직원에 대한 위치 데이터를 포함. 업무 정보를 유지, 조회, 보고하는 기능이 필요. 직무 기술(Job Description)은 80 문자 단위의 라인들로 구성되고, 이 정보는 직무(Job)와 독립적으로 유지되지 않음 직원에 대한 직무 배정(Job Assignment)을 유지, 조회, 보고하는 기능이 필요. 회사 내의 특정 위치에 있는 직원의 리스트를 포함한 위치 데이터(Location Data)에서 위치를 조회하고 보고하는 기능이 필요. 이 위치 데이터는 읽을 수만 있고 다른 어플리케이션에 의해서 유지됨.
34
EO의 계산 예: 프로세스 모델 EMPLOYEE-MAINTENANCE CREATE-EMPLOYEE
EMPLOYEE-INQUIRY UPDATE-EMPLOYEE DELETE-EMPLOYEE EMPLOYEE-REPORT JOB-MAINTENANCE CREATE-JOB JOB-INQUIRY UPDATE-JOB DELETE-JOB JOB-REPORT
35
프로세스 모델 (계속) JOB-ASSIGNMENT-MAINTENANCE ASSIGN-EMPLOYEE-TO-JOB
JOB-ASSIGNMENT-INQUIRY TRANSFER-EMPLOYEE EVALUATE-EMPLOYEE DELETE-ASSIGNMENT JOB-ASSIGNMENT-REPORT LOCATION-REPORTING LOCATION-INQUIRY LOCATION-REPORT
36
ILF나 EIF의 계산 결과 EMPLOYEE 엔티티 타입: ILF, 서브 그룹이 존재하므로 별도의 RET 계산 않음
Employee_Name: DET 1 Social_Security_Number : DET 2 Nbr_Dependents: DET 3 Type_Code (Salaried 혹은 Hourly) : DET 4 Location_Name (외래 키): DET5 SALARIED_EMPLOYEE 엔티티 타입: EMPLOYEE 내의 RET 1 Supervisory_Level: DET 6 HOURLY_EMPLOYEE 엔티티 타입: EMPLOYEE 내의 RET 2 Standard_Hourly_Rate : DET 7 Collective_Bargaining_Unit_Number: DET 8 JOB 엔티티 타입: ILF, RET 1 Job_Name: DET 1 Job_Number : DET 2 Pay_Grade: DET 3
37
ILF나 EIF의 계산 결과 (계속) JOB_DESCRIPTION 엔티티 타입: 구현상의 이유로만 존재하는 JOB의 일부
Job_Number (외래 키): 이전에 DET 2로 계산됨 Line_Number : 구현상의 이유로만 존재 Description_Line: DET 4 JOB_ASSIGNMENT 엔티티 타입: ILF, RET 1, 자신의 속성을 가지고 별도로 유지됨 Effective_Date : DET 1 Salary : DET 2 Performance_Rating : DET 3 Job_Number (외래 키) : DET 4 Employee_SSN (외래 키) : DET 5 LOCATION 엔티티 타입 : EIF, RET 1 Location_Name : DET 1 Address : DET 2 Employee_SSN (외래 키) : DET 3
38
ILF나 EIF의 복잡도 계산 결과 ILF와 EIF에 관한 복잡도 행렬에 의해 3개의 low ILF, 한 개의 low EIF
레코드 요소 유형 (RET) 데이터 요소 유형 (DET) 1 - 19 51 < 5 낮음(low) 보통(average) 2 - 5 높음(high) > 5
39
EO의 계산 예: 복잡도 행렬 참조 파일 유형 (FTR) 데이터 요소 유형 (DET) 1 - 5 6 - 19 20
< 2 낮음(low) 보통(average) 2 - 3 높음(high) > 3
40
EO의 계산 예: DET과 FTR에 관한 가정 각 리포트가 유도된 데이터나 계산된 데이터를 가지고 있는 모든 조회는 EO로 계산됨. JOB REPORT를 제외한 각 리포트가 경계를 지나는 6개에서 19개 사이의 DET를 가짐. Employee report는 EMPLOYEE 파일과 LOCATION 파일을 참조 두 파일 간의 관계(relationship) 존재.
41
EO의 계산 예: DET와 FTR EMPLOYEE-MAINTENANCE
EMPLOYEE-REPORT: DET 6~19, FTR 2(EMPLOYEE, LOCATION) JOB-MAINTENANCE JOB-REPORT: DET 5, FTR 1(JOB) JOB-ASSIGNMENT-MAINTENANCE JOB-ASSIGNMENT-REPORT: DET 6~19, FTR 3(JOB-ASSIGNMENT, EMPLOYEE, JOB) LOCATION-REPORTING LOCATION-REPORT: DET ?, FTR 2(EMPLOYEE, LOCATION) – average로 가정
42
EO의 계산 예: 복잡도 행렬 3개의 average EO(EMPLOYEE, JOB-ASSIGNMENT, LOCATION)와 한 개의 low EO(JOB) 참조 파일 유형 (FTR) 데이터 요소 유형 (DET) 1 - 5 6 - 19 20 < 2 낮음(low) 보통(average) 2 - 3 높음(high) > 3
43
EO의 계산 예: 미조정된 기능 점수 3개의 average EO와 한 개의 low EO 미조정된 기능 점수는 19 기능 요소
기능 수준 낮음(low) 보통(average) 높음(high) 내부 논리 파일(ILF) 7 10 15 외부 인터페이스 파일(EIF) 5 외부 입력(EI) 3 4 6 외부 출력(EO) 외부 조회(EQ)
44
추가적인 외부조회 식별 규칙 기본 프로세스가 외부 조회로 식별되기 위해서는 EO와의 공유 규칙을 충족시키는 것 외에, 다음 규칙 모두를 추가로 충족해야 고유한 외부 조회로 식별될 수 있다. 기본 프로세스의 처리 논리는 ILF나 EIF로부터 데이터나 제어 정보를 검색한다. 기본 프로세스의 처리 논리는 수학 공식이나 계산을 포함하지 않는다. 기본 프로세스의 처리 논리는 유도 데이터를 만들지 않는다. 기본 프로세스의 처리 논리는 ILF를 유지하지 않는다. 기본 프로세스의 처리 논리는 시스템의 동작을 변경하지 않는다. Additional EQ Counting Rules The processing logic of the elementary process must - retrieve data or control information from an ILF or EIF. - not contain a mathematical formula or calculation. - not create derived data. - not maintain an ILF. - not alter the behavior of the system. EQ with 2 FTR
45
EQ 예제 P.O. FILE SELECT END USER PAGE HELP END DISPLAY USER PURCHASE
1.0 Selected SELECT Help END PAGE Screen USER 1.0 HELP DISPLAY END Selected USER PURCHASE Purchase Orders ORDERS HELP FILE 1.0 END DISPLAY Selected USER PART Part 1.0 Selected END DISPLAY Help USER Screen FIELD HELP 2.0 UPDATE PARTS Updates FILE (Input Function) HELP FILE Updates PARTS
46
Application Being Considered
EQ 예제 Application Being Considered Internal Logical File process Help Inquires EQ Help can have three levels of inquires. Field level help Screen level help Application level help
47
트랜잭션 기능의 예제 Weather File Report Form
The following application was designed to capture temperature and rainfall by city and state. There is only one input screen, one file and one report. Each field on the following input screen can be modified (add, changed or deleted). The add and change functions are different. All previous entries viewed by using the scroll bar. Assume a VAF of 1.0. Identify Total data elements ? Identify External Inputs ? Identify External Output ? Identify External Inquires ? Determine the total unadjusted number of function points.
48
EQ의 계산 예: 요구사항 직원 정보를 유지, 조회, 보고하는 기능이 필요. 생성된 리포트는 다른 어플리케이션에 의해 유지되는 파일에서 얻은 직원에 대한 위치 데이터를 포함. 직무 정보를 유지, 조회, 보고하는 기능이 필요. 직무 기술(Job Description)은 80 문자 단위의 라인들로 구성되고, 이 정보는 직무(Job)와 독립적으로 유지되지 않음 직원에 대한 직무 배정(Job Assignment)을 유지, 조회, 보고하는 기능이 필요. 회사 내의 특정 위치에 있는 직원의 리스트를 포함한 위치 데이터(Location Data)에서 위치를 조회하고 보고하는 기능이 필요. 이 위치 데이터는 읽을 수만 있고 다른 어플리케이션에 의해서 유지됨.
49
EQ의 계산 예: 프로세스 모델 EMPLOYEE-MAINTENANCE CREATE-EMPLOYEE
EMPLOYEE-INQUIRY UPDATE-EMPLOYEE DELETE-EMPLOYEE EMPLOYEE-REPORT JOB-MAINTENANCE CREATE-JOB JOB-INQUIRY UPDATE-JOB DELETE-JOB JOB-REPORT
50
프로세스 모델 (계속) JOB-ASSIGNMENT-MAINTENANCE ASSIGN-EMPLOYEE-TO-JOB
JOB-ASSIGNMENT-INQUIRY TRANSFER-EMPLOYEE EVALUATE-EMPLOYEE DELETE-ASSIGNMENT JOB-ASSIGNMENT-REPORT LOCATION-REPORTING LOCATION-INQUIRY LOCATION-REPORT
51
ILF나 EIF의 계산 결과 EMPLOYEE 엔티티 타입: ILF, 서브 그룹이 존재하므로 별도의 RET 계산 않음
Employee_Name: DET 1 Social_Security_Number : DET 2 Nbr_Dependents: DET 3 Type_Code (Salaried 혹은 Hourly) : DET 4 Location_Name (외래 키): DET5 SALARIED_EMPLOYEE 엔티티 타입: EMPLOYEE 내의 RET 1 Supervisory_Level: DET 6 HOURLY_EMPLOYEE 엔티티 타입: EMPLOYEE 내의 RET 2 Standard_Hourly_Rate : DET 7 Collective_Bargaining_Unit_Number: DET 8 JOB 엔티티 타입: ILF, RET 1 Job_Name: DET 1 Job_Number : DET 2 Pay_Grade: DET 3
52
ILF나 EIF의 계산 결과 (계속) JOB_DESCRIPTION 엔티티 타입: 구현상의 이유로만 존재하는 JOB의 일부
Job_Number (외래 키): 이전에 DET 2로 계산됨 Line_Number : 구현상의 이유로만 존재 Description_Line: DET 4 JOB_ASSIGNMENT 엔티티 타입: ILF, RET 1, 자신의 속성을 가지고 별도로 유지됨 Effective_Date : DET 1 Salary : DET 2 Performance_Rating : DET 3 Job_Number (외래 키) : DET 4 Employee_SSN (외래 키) : DET 5 LOCATION 엔티티 타입 : EIF, RET 1 Location_Name : DET 1 Address : DET 2 Employee_SSN (외래 키) : DET 3
53
ILF나 EIF의 복잡도 계산 결과 ILF와 EIF에 관한 복잡도 행렬에 의해 3개의 low ILF, 한 개의 low EIF
레코드 요소 유형 (RET) 데이터 요소 유형 (DET) 1 - 19 51 < 5 낮음(low) 보통(average) 2 - 5 높음(high) > 5
54
EQ의 계산 예: 복잡도 행렬 참조 파일 유형 (FTR) 데이터 요소 유형 (DET) 1 - 5 6 - 19 20 1
낮음(low) 보통(average) 2 - 3 높음(high) > 3
55
EQ의 계산 예: DET, FTR에 관한 가정 EO와 마찬가지로 EQ도 데이터 검색을 위해 어플리케이션의 경계를 들어가는 필드와 제어 정보를 가질 수 있음 각 제어 정보가 디스플레이됨을 가정 오류, 증명, 확인 메시지에 대해 하나의 DET로 계산 최소한 하나의 코맨드 키(command key)를 가짐 참조 파일은 하나만 존재 검증을 위해 다른 파일을 참조할 필요가 없고, 기본 파일을 제외한 파일에서 검색되는 필드가 없음
56
EQ의 계산 예: DET와 FTR EMPLOYEE-INQUIRY: FTR 1, DET 10
JOB-INQUIRY: FTR 1, DET 6 JOB-ASSIGNMENT-INQUIRY: FTR 1, DET 7 LOCATOIN-INQUIRY: FTR 1, DET 5
57
EQ의 계산 예: 복잡도 행렬 4개의 low EQ 참조 파일 유형 (FTR) 데이터 요소 유형 (DET) 1 - 5
6 - 19 20 1 낮음(low) 보통(average) 2 - 3 높음(high) > 3
58
EQ의 계산 예: 미조정된 기능 점수 4개의 low EQ 미조정된 기능 점수는 12 기능 요소 기능 수준 낮음(low)
보통(average) 높음(high) 내부 논리 파일(ILF) 7 10 15 외부 인터페이스 파일(EIF) 5 외부 입력(EI) 3 4 6 외부 출력(EO) 외부 조회(EQ)
59
처리논리의 예 처리 논리는 기본 프로세스를 완료하기 위해 사용자가 명확하게 요청하는 요구사항으로 정의된다. 이들 요구사항은 다음과 같은 조치를 포함할 수 있다: 검증을 수행한다 예: 조직에 신입 사원 정보를 추가할 때 사원 프로세스는 추가되는 정보를 검증하는 처리 논리를 가진다. 수학 공식이나 계산을 수행한다 예: 조직내의 모든 사원 현황을 인쇄할 때 프로세스는 월급 사원, 시급 사원, 총 사원 수를 측정하는 처리 논리를 포함한다. 대등한 가치로 변환한다 예: 기본 프로세스는 미국의 달러와 다른 나라의 통화간의 환율을 참조한다. 표에서 값을 검색하여 환산하므로 측정할 필요가 없다. 복수 데이터 집합의 비교를 위해 명시된 기준을 사용하여 데이터를 거르거나 선택한다 예: 직무별 사원 일람표를 생성하려고 할 때, 기본 프로세스는 직무 할당과 직무 번호를 비교하여 직무 수행에 적합한 사원을 선택하여 일람표를 만든다. 상황을 분석하여 어느 것이 적절한가를 결정한다. 예: 새로운 사원 정보를 추가할 때 기본 프로세스에 의해 사용되는 처리 논리는 사원이 월급 또는 시급인가에 따라 달라진다. 하나 이상의 ILF를 갱신한다 예: 사원을 추가할 때, 기본 프로세스는 사원 데이터를 유지하기위해 사원 파일을 갱신한다.
60
처리논리의 예 하나 이상의 ILF 또는 EIF를 참조한다 예: 사원을 추가할 때 사원의 시급을 결정하기 위해 통화 EIF로부터 해당 국가 통화 환율을 참조한다. 데이터나 제어 정보를 검색한다 예: 가능한 급여 등급을 보기 위해, 급여 등급 정보를 검색한다. 추가 데이터를 생성하기 위해 기존 데이터를 변환하고 유도 데이터를 생성한다 예, 환자 등록 번호(예: SMIJO01)를 정하기(파생하기) 위해 다음의 데이터를 조합한다. 시스템의 동작을 변경한다 예: 사원의 급여 지급 주기를 매주 금요일에서 매달 15일과 말일로 바꿨을 경우, 기본 프로세스의 동작이 변경된다. 정보를 준비하여 경계 밖으로 제공한다 예: 사용자에게 보여줄 사원 일람표 어플리케이션 경계 안으로 들어올 데이터나 제어 정보를 받아들이는 기능이 있다. 예: 사용자는 고객주문 정보를 시스템에 추가하기 위해 여러 가지 정보를 입력한다. 데이터를 재정렬하거나 재배치한다. 예, 사원 일람표를 알파벳 순으로 요청 주: 데이터 집합의 재정렬이나 재배치는 트랜잭션 기능의 유일성이나 유형을 식별하는데 영향을 미치지 않는다.
61
프로세싱 논리의 요약 처리 논리의 유형: 트랜잭션 기능 유형 EI EO EQ 1. 검증의 수행 c 2. 수학 공식이나 계산의 수행 m* n 3. 대등한 가치로 변환 4. 복수 데이터 집합의 비교를 위해 명시된 기준을 사용하여 데이터를 거르거나 선택 5. 상황을 분석하여 어느 것이 적절한가를 결정 6. 하나 이상의 ILF의 갱신 7. 하나 이상의 ILF 또는 EIF의 참조 m 8. 데이터나 제어 정보 조회 9. 추가 데이터를 생성하기 위한 기존 데이터 변환 및 유도 데이터 생성 10. 시스템의 동작 변경 11. 정보를 준비하여 경계 밖으로 보냄 12. 경계 안으로 들어오는 데이터나 제어 정보를 받아들임 13. 데이터의 재정렬 및 재배치 m : mandatory ; m* : mandatory(perform at least forms of processing logic) ; c : can ; n : cannot
62
EI, EO, EQ의 계산 힌트 데이터는 어플리케이션 경계 밖에서 받아들이는가?
작업 흐름을 본다. 프로세스 기능 분해의 어느 곳에서 사용자와 다른 어플리케이션 인터페이스가 일어나는지 식별한다. 사용자 관점에서 볼 때 해당 프로세스가 활동의 최소 단위인가 ? 다른 문서 또는 사용되는 온라인 서식을 본다. 프로세스 기능 분해의 어느 곳에서 사용자와 다른 어플리케이션 인터페이스가 일어나는지 식별한다. 수작업 시스템에 무슨 일이 일어나는지 본다. 논리 관점에서 볼 때 하나의 물리적인 입력이나 트랜잭션 파일 또는 화면이 여러 개의 EI, EO, EQ의 개수에 대응할 수 있다는 점에 유의하라. 처리 논리가 동일하다면 둘 이상의 물리적인 입력이나 트랜잭션 파일 또는 화면이 여러 개의 EI, EO, EQ의 개수에 대응할 수 있다는 점에 유의하라.
63
EI, EO, EQ의 계산 힌트 프로세스가 자기 완결적이고 비즈니스를 일관된 상태로 만드는가?
사용자가 정보를 가지고 어떻게 일하는지를 이해하기 위해 다른 외부 입력, 외부 출력, 외부 조회를 검토한다. 힌트를 얻기 위해 프로세스 다이어그램을 워크스루한다. 수작업 시스템에 무슨 일이 일어나는지 본다. 다른 결정과 함께 일관성을 체크한다. 처리 논리가 다른 EI, EO, EQ에 대해 유일한가? 필요한 처리 논리에 근거하여 배치 입력과 출력을 식별한다. 데이터 집합의 정렬이나 재배치가 처리 논리를 유일하게 만들지 않는다는 것을 기억하라. 데이터 요소가 다른 EI,EO,EQ의 데이터 요소와 다른가 ? 만약 데이터 요소가 다른 EI, EO, EQ의 데이터 요소의 부분집합처럼 보일 경우, 주요 데이터 요소와 그것의 부분집합 등 두 개의 기본 프로세스를 사용자가 요구한다는 것을 명심하라.
64
EI, EO, EQ의 계산 힌트 EI, EO, EQ를 구분하기 전에 먼저 기본 프로세스의 주요 의도를 식별한다.
기본 프로세스의 식별은 사용자와 개발자 간의 요구사항에 대한 공동 이해와 해석에 바탕을 둔다. 기능 분해의 각 요소는 유일한 기본 프로세스를 매핑하는 것은 아니다. 기본 프로세스를 식별하려면 사용자의 요구사항을 해석할 필요가 있다. ILF/EIF가 복수의 RET를 가질지라도 참조되는 각 ILF/EIF에 대해 오직 하나의 FTR로 계산한다.
Similar presentations