어드밴스드대전략~

2014.08.22 00:57

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

참고 URL

2014.06.09 14:03

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

그래비티 & 삶

미래 준비 | 2013.12.03 09:36
Posted by papilion

http://www.cine21.com/news/view/mag_id/75134


좋은 글이네요.. 

신고

프리스타일 대시보드

Hobbys | 2013.11.22 14:04
Posted by papilion



신고

Function Point를 활용한 소프트웨어 비용산정

 

프로젝트 데이터베이스 축적해 효율성 확보가 목적



임호진|동양종합금융증권 과장


우리는 소프트웨어의 적절한 비용을 알기 위해 많은 노력을 해 오고 있다. 하지만 소프트웨어를 비용으로 추정하는 데에는 많은 어려움이 있다. 그것은 소프트웨어는 일반 하드웨어와는 다르게 비가시성, 변경, 비마모성, 복잡성 등의 특징을 가지고 있고 이러한 특징은 비용예측을 어렵게 만드는 요인이기도 하다.


기존에는 소프트웨어의 비용산정시에 간단하게 비용을 계산 할 수 있는 LOC(Line Of Code)방식이 사용됐다. 하지만 LOC는 소프트웨어의 비용을 산정할 때 ‘양’적인 측면만을 강조하고 ‘기능’적인 측면의 비용산정에는 문제가 발생한다.


이러한 LOC의 문제점을 해결하고 사용자 관점의 기능과 양을 고려한 비용산정 기법이 바로 Function Point이다. 지금부터 Function Point의 산정절차에 대해서 자세히 알아보자.


측정유형 결정


Function Point는 비용을 산정하기 전에 개발 프로젝트, 개선 프로젝트, 애플리케이션이라는 3가지 유형으로 분류한다. 즉, Function Point의 첫번째 단계는 이러한 세가지 유형 중 하나를 결정하는 단계이다.




측정범위와 애플리케이션 경계식별


측정범위와 애플리케이션 경계식별은 현재 개발하고 있는 혹은 변경할 소프트웨어에 대한 전체범위를 결정하고 각 어플리케이션의 경계를 분류하는 과정이다.


- ILF(Internal Logical File): 어플리케이션 경계 내에서 유지되는 데이터 및 제어정보
- EIF(External Interface File): 어플리케이션 경계 밖에서 유지되는 데이터 및 제어정보





데이터 기능점수 산정


데이터 기능점수 산정은 먼저 앞에서 나온 ILF와 EIF를 식별하는 것이다. ILF와 EIF를 식별하면 각각 복잡도와 기여도를 결정하여 데이터 기능점수를 도출한다. 먼저 복잡도 산정 방법은 DET(Data Element Type)과 RET(Record Element Type)을 통해서 이루어진다. DET는 ILF나 EIF에 유지되는 필드 중에서 사용자가 식별 가능하고 비반복적인 필드를 의미하고 RET는 DET의 서브 셋을 의미한다. 이 둘을 식별하고 개수를 파악하는 것이다.


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


 1~19 DET20~50 DET51이상 DET
1 RET낮음낮음보통
2~5 RET낮음보통높음
6이상 RET보통높음높음

 ILF 미 조정 기능점수EIF 미 조정 기능점수
낮음75
보통107
높음1510

트랜잭션 기능점수


트랜잭션 기능점수는 사용자가 식별 할 수 있고 최소한의 업무를 처리 할 수 있는 단위 프로세스를 식별하고 각 단위 프로세스 별로 EI/EO/EQ로 분류한 다음 복잡도와 기여도를 계산하여 트랜잭션 기능 점수를 계산한다.


EI/EO/EQ의 단위 프로세스가 식별되면 DET와 FTR(File Transfer Reference)를 통하여 복잡도를 계산한다. DET는 앞에서 이야기 한 것 처럼 반복되지 않고 사용자가 식별 가능한 필드이고 FTR은 어플리케이션에서 참조하는 ILF나 EIF의 수를 의미한다.



EI/EO/EQ 별로 DET와 FTR이 계산 되었으면 복잡도와 기여도를 계산하면 된다.


EI의 FTR/DET1~4 DET5~15 DET16이상 DET
0~1 FTR낮음낮음보통
2 FTR낮음보통높음
3이상 FTR보통높음높음

EI(External Input)ㆍ 애플리케이션 경계 밖에서 경계 안으로 들어오는 데이터나 제어정보를 처리하는 단위 프로세스
EO(External Output)ㆍ 애플리케이션 경계 밖으로 조회되는 것으로 파생 데이터 생성과 같은 처리로직을 포함하는 단위 프로세스
EQ(External Inquiry)ㆍEO와 같으나 파생 데이터 생성과 같은 처리로직을 포함하지 않는 단위 프로세스

 EI/EQEO
낮음34
보통45
높음67


미조정 기능점수의 결정


미조정 기능점수는 데이터 기능점수와 트랜잭션 기능점수의 합으로 계산된다.


조정인자 결정


Function Point는 14개의 조정인자를 가지고 있다. 이러한 14개의 조정인가는 0~5까지의 영향도로 이루어지며 이것은 미조정 기능점수 값을 35% 조정 할 수가 있다.


[조정인자]
1. 데이터 통신 (Data Communication)
2. 분산 데이터 처리 (Distributed Data Processing)
3. 시스템 성능 (System Performance)
4. 자원 제약 정도 (Heavily Used Configuration)
5. 트랜잭션 비율 (Transaction Rate)
6. 온라인 데이터 비율 (On-Line Data Entry)
7. 최종 사용자 효율성 (End-User Efficiency)
8. 온라인 갱신 (On-Line Update)
9. 처리 복잡도 (Complex Processing)
10. 재사용성 (Reusability)
11. 설치용이성 (Installation Ease)
12. 운영용이성 (Operational Ease)
13. 다중 설치성 (Multiple Sites)
14. 변경 용이성 (Facilitate Change)

조정 기능점수 결정


조정인가 값이 결정되면 개발, 개선, 어플리케이션의 유형에 따라 조정인자를 반영하여 최종 Function Point 값을 계산하게 된다.


애플리케이션 기능점수 = 미조정 기능점수 * 조정값


이렇게 Function Point를 통해서 소프트웨어의 비용을 계산 할 수가 있다. 지금까지 알아본 방식은 이미 요구분석과 설계가 끝난 다음에 비용을 산정하는 상세법 이다. 하지만 소프트웨어 개발 제안단계에서는 이러한 방법을 통해서 소프트웨어의 비용을 추정 할 수가 없을 것이다. 이러한 경우는 통계적인 데이터를 활용하여(평균값) 소프트웨어 비용을 추정한다. 이러한 방법을 기안법이라고 한다.


지금까지 수학적 소프트웨어 비용산정인 Function Point에 대해서 알아보았다. 실제로 많이 쓰이고 있으므로 기본 개념과 경험을 확실히 알 필요가 있을 것이다. 또한 기안법을 활용하기 위해서는 과거 프로젝트에 대한 정보가 축척 되어 있어야 한다. 그러므로 프로젝트 종료 후에 프로젝트에 대한 경험적 교훈이 무엇보다 형식지로 표현된 데이터베이스에 축척 돼야 한다.


제공 : DB포탈사이트 DBguide.net

출처명 : 경영과컴퓨터 [2006년 1월]

-- 저작권 문제시  삭제하겠습니다.

신고

윈도우 스크립트

분류없음 | 2013.04.04 14:22
Posted by papilion

배치 파일로 스크립트를 짤 때 참고 


echo love >> C:\a.txt         --> 이전 내용에 love 를 추가 하는 경우

echo love > C:\a.txt           --> 이전 내용을 모두 지우고 love 만 남겨짐



신고

Dreams Come True

Hobbys | 2012.12.13 11:31
Posted by papilion

http://www.youtube.com/playlist?list=AL94UKMTqg-9A4nMMuaJ5fJjMej8cUYaHy


DCT 정말 한참 좋아했었는데. 나이 들어 다시 들어도 너무 좋다 ~



신고

iOS-Video Data

iOS | 2012.04.03 16:12
Posted by papilion

http://stackoverflow.com/questions/6189409/how-to-get-bytes-from-cmsamplebufferref-to-send-over-network


http://stackoverflow.com/questions/6227130/hold-multiple-frames-in-memory-before-sending-them-to-avassetwriter


http://stackoverflow.com/questions/4622850/how-to-record-filtered-video-for-iphone


http://stackoverflow.com/questions/3751664/how-do-i-convert-a-cgimage-to-cmsamplebufferref


http://stackoverflow.com/questions/5244768/making-transparent-video-on-ios


http://stackoverflow.com/questions/6783214/reading-video-frame-by-frame-under-ios

신고

OpenGL & C++ & iOS

iOS | 2012.04.03 16:01
Posted by papilion

(openGL)고정기능을 사용한 HellowArrow

1. 3D 앱의 코드 구조
이 프로그램의 핵심은 C++로 작성되고 아이폰에 종속적인 부분만 Objective-C로 구현하는 앱 코드를 구성하는 두가지 방법을 아래 그림으로 표현하였다. 오른쪽 구조는 앱 엔진을 렌더링 엔진과 분리한 구조이다. 

이 구조를 응용하여 렌더링 엔진에대한 인터페이스를 정의하여, 어떤 플랫폼에도 사용할 수 있도록 한다. 여기서는 이 렌더링 엔진을 IRenderingEngine으로 정의하였다. 이 샘플에서는 다음과 같은 클래스를 구현한다.
 - RenderingEngine1 과 RenderingEngine2(표준 C++)
거의 모든 작업은 이 클래스에서 수행한다. 이 클래스가 실제로 OpenGL ES API를 호출하게 된다. RnederingEngine1은 ES 1.1을, RenderingEngine2는 ES 2.0을 호출한다.

 - HelloArrowAppDelegate(Objective-C)
   앱 델리게이트 객체는 NSObject로부터 상속받으며, UIApplicationDelegate 프로토콜을 따른다. 이 클래스는 OpenGL이나 EAGL을 사용하지 않는다. 이 클래스가 하는 일은 GLView 객체를 초기하하고 앱이 종료될 때 메모리를 해제하는 것이다.

 - GLView (Objective-C)
   UIView 클래스로부터 상속받으며, EAGL을 사용하여 OpenGL을 위한 렌더링 표면 객체 인스턴스를 생성한다.

2. 시작하기
   Xcode 에서 새로운 프로젝트를 선택한 후 Empty Application 으로 생성한다. 

3. OpenGL과 쿼츠 라이브러리 연결하기
   프로젝트의 Build Pharse 부분에서 Link binary With Libraries 에서 'OpenGLES.Framework' 와 'QuartzCore.Framework'를 추가한다.

4. UIView 클래스 상속하기
  아이폰에서 그리는 것은 결국은 뷰 안에 놓여져야 하기 때문에, HellowArrow 예제 코드에서도 UIView의 하위 클래스를 하나 만들어야 한다. Xcode에서 'Add->New File' 로 'Cocoa Touch Class' 의 'Objective-C Class' 를 생성하도록 하자. 'SubClass of' 메뉴에서 UIView 클래스를 선택하고 클래스 파일 이름을 'GLView.mm'으로 입력한다.



#import <UIKit/UIKit.h>

#import <OpenGLES/ES1/gl.h>

#import <OpenGLES/ES1/glext.h>

#import <OpenGLES/EAGL.h>

#import <QuartzCore/QuartzCore.h>


@interface GLView : UIView

{

    EAGLContext *m_context;

}


-(void)drawView;


m_context 필드는 OpenGL 컨텍스트를 관리하는 EAGL 객체에 대한 포인터이다. EAGL은 애플의 고유한 API로서 아이폰 OS 와 OpenGL을 연결시켜 준다.


-- http://hanjw8410.egloos.com/ 에서 퍼왔습니다. 문제되면 삭제하겠습니다.

신고

스마트폰 개발 시 유용한 정보 - 링크

iOS | 2012.04.03 14:03
Posted by papilion

http://comeddy.wordpress.com/category/%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%8F%B0-%EA%B0%9C%EB%B0%9C%EC%8B%9C-%EC%95%8C%EC%95%84%EB%91%90%EB%A9%B4-%EC%9C%A0%EC%9A%A9%ED%95%9C%EC%A0%95%EB%B3%B4/



좋은 정보 입니다. 링크로 가져왔습니다.

신고
블로그 이미지

papilion

아직 한 게 없으니 설명도 없다. 꾸준히 해 나가는 것이 목표일 뿐.

카테고리

분류 전체보기 (77)
Books (2)
Hobbys (6)
History (0)
Toeic (0)
plandas (0)
MVs (0)
Poem (1)
미래 준비 (8)
AS (38)
VC++ (8)
ASP (0)
Flex (1)
iOS (4)

티스토리 툴바