2011년 3월 24일 목요일

IDEF방법론

1.IDEF의 배경
2.IDEF모형화 방법
3.유용한 웹사이트
4.Erwin, BPWin

1. IDEF의 배경

IDEF(ICAM DEFinition) 방법론은 1981년 미 공군에서 ICAM(Integrated Computer Aided Manufacturing)프로젝트의 생산 시스템 분석 및 설계 목적으로 개발되었다. 생산 시스템을 세가지 관점 즉, 기능, 정보, 그리고 동적 관점으로 나누고 각각의 관점을 모형화 할 수 있는 방법론을 개발하였다.
가장 많이 사용되고 있는 것은 기능 모형을 위한 IDEF0(IDEF Function Modeling)와 정보 모형화를 위한 IDEF1(IDEF Information Modeling), 시스템 내부의 데이터를 모델링하는 기법인 IDEF1X, 동적 모형을 위해서는 IDEF2(IDEF Dynamics Modeling)방법론이 있고, 시스템의 작동 프로세스를 모델링하는 IDEF3(IDEF Process Modeling)등이 있다.
또한 객체지향 설계 기법인 IDEF4(IDEF Object-Oriented Design)와 온톨로지 표현 기법인 IDEF5(IDEF Ontology Description Capture)도 개발 중이다.

IDEF는 조직이나 방법론은 조직이나 시스템의 의사결정, 행동, 활동을 모델화 할 수 있는 툴로서 시스템을 분석하고 조직화하고 분석가와 고객사이의 효과적인 커뮤니케이션을 촉진시킨다.
조직과 기능을 분리시켜 조직부문의 공통된 기능적 연관관계를 규정하여, CIM이나 CE발의에 의해 요구된 것과 같은 협동적인 상호작용 팀 프로젝트에 대하여 효과적인 분석도구를 제공한다.

데이터를 표준화하고, 일관성 있으며, 예측 가능한 방법으로 모델링하기 위해 사용되고 주된 목적은 데이터 자원을 완전히 이해하고 분석하기 위한 수단을 제공, 데이터의 복잡성을 표현하고 전달하기 위한 공통의 수단을 제공하여 데이터의 통합된 관점을 표현, 물리적인 데이터 베이스로 변환될 수 있는 독립적인 데이터의 관점을 정의 하기 위한 수단을 제공, 기존의 데이터 자원으로부터 통합된 데이터 정의를 이끌어내기 위한 방법을 제공한다.

IDEF 방법론의 목표는

- 대응력이 강하고 유연하고 믿을만한 시스템
- 개발, 운용, 유지에 비용이 덜 드는 시스템
- 품질을 개선시킬 수 있는 시스템
- 개발의 리드타임을 줄이는 시스템을 엔지니어링하는 것이다.

그 중에서 IDEF0는 관계형 데이터 모델링(Relational Data Modeling)을 위한 그래픽 언어로서, 시스템과 환경의 기능들 그리고 기능과 관련된 정보 또는 객체들을 그래픽 표현을 이용하여 구조적으로 표현하는 기능 모형이다.
IDEF0는 신규 시스템에 대해서 사용자 요구사항과 기능들을 규정하고 요구사항을 충족시키며 필요한 기능이 수행될 수 있도록 구현 설계(Implementation Deign)를 지원한다.
한편 기존 시스템에 대해서는 시스템이 수행하고 있는 기능을 분석하고 기능이 수행되는 방식을 기술하는데 사용된다.
IDEF1X는 데이터를 표준화하고 일관성 있으며, 예측 가능한 방법으로 모델링하기 위해 사용되는 정보 모델링 기법으로 Entity를 정의하고 그 속성을 기술하고 Entity간의 관계를 정의하여 모델 구축한다

2. IDEF모형화 방법

2.1 IDEF0을 이용한 기능 모델링(Function Modeling)

기능을 모형화 하는 도구로써 IDEF0는 제약조건 아래서 입력을 출력으로 변환시키는 활동을 묘사하는 데 사용된다.
IDEF0의 가장 중요한 요소는 그래픽 표현과 계층적 구조이다.
IDEF0모형은 [그림 3.1]과 같이 정의하는 도표(Diagram)의 연속된 계층으로 구성되는데, 박스(Activity)와 화살표(Concept)를 통한 기능 및 기능간의 관계를 정의하고 부수적으로 글과 설명을 통한 보조 정보를 표현한다.

박스는 기본적으로 활동, 프로세스, 운용, 또는 변환작용을 나타내는 기능을 정의한다.
즉, 표현된 기능에서 무슨 일이 일어났는지에 관한 설명이다. 박스의 이름으로는 기능을 설명하는 적절한 동사(구)를 사용하고, 하나의 도표에는 최소한 3개에서 최대 6개의 박스를 좌상에서 우하의 대각선으로 배열하게 된다.
박스를 구별하기 위해서는 적절히 번호를 부여하게 되는데, 우선 도표에는 모형의 각 계층에서의 위치에 따라 ‘A’로 시작하는 노드번호가 주어지고, 도표 내에서의 박스의 일련번호가 노드번호에 추가되어 박스를 지칭하게 된다.
따라서 부모-자식의 계층 관계에 의해 표현되는 전체 모형에서 부모 도표의 박스 번호는 자식 도표의 노드 번호가 된다.

  idef1.gif (1671 bytes)

 [그림 1] IDEF0 모형의 도표(Diagram)

기능을 나타내는 박스와 관련되는 데이터 또는 객체를 표현하기 위해서 하나 또는 그 이상의 화살표를 사용하는데, 명사(구)를 사용해서 라벨을 단다.
또 ICOM이라 불리는 이 화살표는 [그림 3.2]와 같이 박스에서의 상대적인 위치에 따라 역할이 주어진다.
즉, 박스의 왼쪽으로 들어가는 입력 화살표는 기능에 의해 출력으로 변환되는 데이터나 객체를 의미하고, 박스의 위쪽으로 들어가는 제어 화살표는 올바른 출력을 나타내기 위해 필요한 조건이나 환경을 의미한다.
박스의 아래쪽으로 들어가는 메커니즘 화살표는 기능을 수행하기 위한 수단을 의미하고, 박스의 오른쪽으로 나오는 출력 화살표는 기능에 의해 산출되는 데이터나 객체를 의미하게 된다.
기능을 나타내는 박스를 연결하는 화살표는 한 박스의 출력이 다른 박스의 기능 수행에 필요한 입력, 제어, 도는 메커니즘의 제공을 의미하게 된다. 화살표는 여러 박스로의 입력을 위해서 분기하기도 하고, 여러 박스에서의 입력을 위해 병합되기도 한다.
하나의 박스에 대해서 다수의 입력, 제어 그리고 메커니즘이 들어가고 다수의 출력이 나오기도 하지만 모든 출력에 대하여 이들 입력과 제어, 메커니즘이 모두 동시에 작용하는 것을 의미하는 것은 아니다.
즉, 입력과 제어, 그리고 메커니즘의 조합이 서로 다른 출력의 조합을 산출하게 된다.

  idef2.gif (1904 bytes) 

 [그림 2] IDEF0의 ICOM 구조

IDEF0 모형은 처음에는 일반적인 시스템의 활동을 표현하고, 점차 자세하게 기능을 분해해 가는 계층적 구조를 가지고 있다.
즉, 하향식 접근 방법을 사용하고 있는데, 이러한 접근 방법을 통해서 복잡한 시스템을 체계적으로 분석하고 논리적으로 일관성 있는 모형을 확보하며, 관련 부문의 작업자들 사이에 보다 쉬운 이해와 의사소통을 가능하게 한다.

3.2.2 IDEF1X을 이용한 정보 모델링(Information Modeling)

IDEF1X는 정보요구가 알려지고 관계 데이터베이스의 활용을 실행하기로 결정한 후에, 논리적 데이터베이스 디자인에 대하여 아주 유용하다. IDEF1X 관점은 관계 데이터베이스 속에서 실행되는 논리적 데이터 구조의 디자인에 초점을 맞춘다.

IDEF1X는 모델작업자가 하나의 실체를 다른 것과 구별하는 핵심 클래스를 지정하도록 요구한다.
하나의 실체에 속한 속성이지만 서로 핵심적 속성으로 기능하는 ‘성질을 달리하는 키(foreign key)’을 확실히 레이블하는 것도 필요하다.

IDEF1X 기본 개념은 아래와 같다.

(1) 실체(Entity)

개별적으로 서로 구분될 수 있는 유사한 상황의 집합(혹은 세트)(사람, 장소, 물건, 사건 등에 관한 데이터 기록)을 의미한다. IDEF1X의 실체 박스는 현실적 영역에서의 일련의 데이터 아이템을 표시한다.

[그림 3]과 같이 독립된 실체는 직사각형을 표현하고, 종속된 실체는 둥근 사각형으로 나타낸다. 실체의 명칭과 번호는 사각형의 상단에 표시한다.

idef3.gif (2043 bytes)

[그림 3] 실체의 표현

(2) 속성(attribute)

세트의 각 개별적 성원(실체적 경우)과 연관된 슬롯 값(slot value)이다. 각 실체의 속성은 [그림 3.4]와 같이 실체를 표현하는 사각형의 내부의 그 이름을 기재함으로써 표현한다. 기본키(Primary-Key)에 해당하는 속성은 가로선의 위쪽에 표시한다.

(3) 관계(Relationship)

데이터 실체들 간의 관계는 부모실체(Parent Entity)와 자식(Child Entity)을 이어주는 선으로 표현한다

idef4.gif (2951 bytes)

[그림 4] 속성과 기본키

idef5.gif (2080 bytes)

[그림 5] 관계의 정의

IDEF1X방법의 강한 특성은 ‘일반화/특수화 구조’로 알려진 분류구조의 사용을 통하여 논리적 데이터 형태의 모델화를 지원하고, 연관된 데이터 구조가 아니라 객체 그 자체만을 모델화 하는 방법으로 가장 잘 사용될 것이다. 이런 형태의 모델은 종종 ‘개념 모델’이라 한다.

(4) SMARTER에서의 정보의 연계

SMARTER는 IDEF 방법론을 KBSI사에서 적용한 제품이다. SMARTER에서의 정보의 연계는 [그림 3.6 ]과 같다.
Model Nodelist Window는 Entity List와 View List로 구성되고 Entity List에 나오는 Entity들은 Entities의 Pool에서 정의된 것을 사용하고 Attribute는 Entity의 구성 필드로서 SQL 데이터 type을 정의 하기 위해 사용된다.
E/A Matrix에서는 Entity 와 Attribute의 관계를 표현하고, E/E Matrix는 Entity 간의 관계를 나타내고 Model Nodelist Window안에서 수정 가능하다.
View Windows에서는 시스템에서 설계한 정보들을 보여준다.

 

idef6.gif (10274 bytes)

[그림 6] SMARTER에서의 정보 연계

3.유용한 웹사이트

mball.gif (527 bytes)제니시스 기술(주)
http://www.genesis.co.kr/
mball.gif (527 bytes)Knowledge Based System. Inc
http://wwww.kbsi.com/
 

4.ERWin, BPWin

Logic Works' ERwin은 로직웍스社의 제품으로 클라이언트/서버, 웹/인트라넷, 데이터웨어하우스 애플리케이션용 데이터베이스 모델링 및 설계를 할 수 있는 CASE툴 입니다.

[출처] IDEF방법론|작성자 cluejjh


2011년 3월 7일 월요일

exe

The fuel cell also has a key role to play in the overall
process for ensuring that buildings reduce their harmful carbon dioxide emissions.
Fuel cells convert the energy from a chemical reaction directly into electricity and
heat and could provide the future CHP solution for buildings. Although most fuel
cells are still under development, they seem certain to play a large part in providing
CHP in the hydrogen economy, which promises to eliminate many of the
problems the fossil fuel economy creates. It could reduce depletion of natural
resources and eliminate pollution (including greenhouse gases) caused by burning
fossil fuels.

연료 전지 또한 전체 재생 중요한 역할을했습니다
건물들이 유해한 이산화탄소 배출량 줄일 수 있도록 대한 처리합니다.
연료 전지 전기 직접 화학 반응에서 에너지 변환
건물의 미래 고속도로 순찰대 솔루션을 제공할 수있다. 대부분의 연료이지만
세포 개발중인 여전히, 그들 제공에 큰 역할을 특정
제거하기 위해 약속 수소 경제, 고속도로 순찰대 많은
문제는 화석 연료 경제 만들어집니다. 그것 자연 고갈 줄일 수있다
자원 제거 오염 (온실 가스 포함) 레코딩에 의한
화석 연료.

2010년 11월 30일 화요일

GeoServer 2.1

지원환경

- WMS1.1.1, WFS(1.0 and 1.1, 트랜잭션, 락기능), WCS(1.0, 1.1) 스펙 지원

- 지원 Database 및 FORMAT : PostGIS, ArcSDE, DB2, Oracle, Shapefile, VPF(Vector Product Format), MySQL, MapInfo, Cascading WFS

- GeoTIFF, GTOPO30, ArcGrid, WorldImages, ImageMosiacs and Image Pyramids 를 위한 Native Java 지원

- GDAL ImageIO Extension을 통한 MrSID, ECW, JPEG2000, DTED, Erdas Imagine, and NITF 지원

- 기본적으로 수백가지의 EPSG projection을 내장하고 있음.

- 웹에서 표현 가능한 Output 형식 : JPEG, GIF, PNG, PDF, SVG, KML, GeoRSS

- Google Earth 지원, 벡터와 래스터의 중첩, 2.5D extrudes, Time, pop-ups와 titles에 대한 고급 템플릿 옵션, SLD 스타일링

- Ability to 'publish' data to Google's geo crawlers, so data from GeoServer can be exposed on Google Maps and Earth searches. (see blog post, docs coming soon)

GeoWebCache 와 통합된 가속 타일 매핑(like Openlayers, Google Maps)

- Raw 벡터 데이터를 WFS를 통해서 GML(2.1.2 and 3.1.1), GeoJSON, zipped Shapefiles 로 이용 가능.

- 기본적인 Anti-aliased Image : 성능향상을 위한 custom defined palette 옵션

- OpenLayers 와 통합된 기본적인 ajax 뷰어와 프리뷰 엔진.

- 모든 데이터 형식에서 WFS-T 프로토콜 표준을 통해 자동 데이터베이스 트랜잭션을 지원

- Versioning WFS to support wiki-style history, attribution, and rollbacks on geospatial data.

- powerful acegi 자바 프래임워크를 통한 통합 보안(개인정보 및 유저의 레이어 그룹을 확보)

- Component WMS / Feature Portrayal Service 지원

- WFS Locking 의 전체 지원을 통한 긴 트랜잭션

- Streaming data readers: no memory bound limit to the amount of data that can be returned.

- 사용자 인터페이스를 프랑스, 독일, 스페인, 포르투칼, 네덜란드, 일본, 중국, 러시아 등 으로 번역

- 모든 SLD를 지원, 공개 표준 지도의 스타일을 정의하고, POST, GET, 기본적인 스타일링 구성을 사용

- WFS(but optimized for backend format where possible)의 모든 데이터 포멧에 대한 필터를 지원

- Innovative Validation Engine that checks inserted features against a configured set of topological and attributed based rules, to maintain backend integrity.

- 자바(J2EE) 서블릿 기반으로, 어떤 서블릿 컨테이너든지 가능. 64-bit 아키텍쳐와 고급 멀티스레딩 기능을 지원.

- GeoTools DataStore 인터페이스 및 helper 클래스와 함께 새로운 데이터 포맷을 쉽게 쓸 수 있음, GeoServer는 legacy 데이터에 대한 표준 인터페이스를 기반으로 만들어짐

- 데이터 포맷을 지원하기위한 리컴파일이 필요치 않고, GeoTools DataStores instantly plug-in to GeoServer, even showing up as an option in the configuration gui.

- Active Community modules, for developers to experiment with plug-ins before they are ready for core distribution, including modules for REST Configuration API, as well as using REST for User role management and SLD management. Plus CSV and Excel and HTML Image Map


2010년 11월 25일 목요일

PostGIS Type

PostGIS는 OpenGIS에서 정의한 공간객체를 표현하는 방법을 지원하고 있음.

OpenGIS
- WKB(Well-Known Binary) form 과 WKT(Well-Known Text) form 으로 공간 개체의 종류와 좌표정보를 표현 할 수 있음.

PostGIS
- 기존의 표현 방법에서 SRID와 z값이 포함된 EWKB(WKB + SRID + Z) 와 EWKT(WKT + SRID) 사용

ex)

WKT(Well-Known Text)
- ex)
• POINT(0 0)
• LINESTRING(0 0,1 1,1 2)
• POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))
• MULTIPOINT(0 0,1 2)
• MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
• MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
• GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4))

EWKT(WKT + SRID)

• POINT(0 0 0) -- XYZ
• SRID=32632;POINT(0 0) -- XY with SRID
• POINTM(0 0 0) -- XYM
• POINT(0 0 0 0) -- XYZM
• SRID=4326;MULTIPOINTM(0 0 0,1 2 1) -- XYM with SRID
• MULTILINESTRING((0 0 0,1 1 0,1 2 1),(2 3 1,3 2 1,5 4 1))
• POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))
• MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((-1 -1 0,-1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0)))
• GEOMETRYCOLLECTIONM(POINTM(2 3 9), LINESTRINGM(2 3 4, 3 4 5))

※ dimension 의 표현법

• 0 => point
• 1 => line
• 2 => area
• T => {0,1,2}
• F => empty set
• * => don’t care

※ 기본 지원 Indexing의 종류

B-Tree indexes
- 하나의 축에 대해서 정렬이 가능 할 때 사용하며 GIS 데이터에 대해서는 사용하지 않음.
ex) 숫자, 문자, 날짜 등

R-Tree indexes
- 공간을 최소경계의 사각형(Rectangles) 들로 분할하여 저장하는 방식으로 GIS데이터의 인덱싱하는 기법.
PostGIS의 R-Tree 인덱스 구현은 GiST 기법 만큼 견고하지는 않음.

GiST(Generalized Search Tree) indexes
- 단일 종류의 인덱스가 아닌 다른 많은 인덱스 전략(R-tree, B+-tree, hb-tree, TV-tree, Ch-Tree 등)이 가능하게 할 수 있는 기법.
복수의 이차원 기하데이터형용의 GiST연산자 클래스가 포함되어 있음.
ex) <<, &<, &>, >>, |&>, @>, =, && 등

2010년 11월 24일 수요일

PostGIS

http://postgis.refractions.net/

PostGIS
- 오픈소스인 PostgreSQL DBMS기반에 지리적 객체(geographic object)의 지원을 더한 GIS용 DBMS

현재 버전 : 1.5.2

라이센스 : GPL(General Public License)

기본 지원 기능

1. Basic Topology
2. 데이터 정합성 체크(data Validation)
3. 좌표변환(coordinate transformation)
4. 기본SQL + 공간쿼리 API 제공(programming APIs)

향후 발전방향

1. Full Topology
2. 래스터, 네트워크 및 라우팅(Raster, Network and Routing)
3. 3차원 입체표현(three dimensional surface)
4. 곡선과 스플라인 및 기타기능(curves and splines..)

관련 OpenSource 및 PostGIS 지원 솔루션

uDig(User-friendly Desktop Internet GIS) : Java Eclipse 기반의 GIS Framework
MapServer : Free and Open Source GIS Server
GeoTools : Java GIS Toolkit
GeoServer : Free and Open Source GIS Server
GRASS : Geographic Resources Analysis Support System
Open JUMP : Java desktop GIS viewer
QGIS(quantum GIS)


2010년 11월 18일 목요일

WMS 요청 URL 매개변수



GetLegendGraphic의 요청 매개변수

 요청매개변수필수/선택
 설명
 VERSION=1.3.0필수
요청 버전
 REQUEST=GetLegendGraphic필수
서버에 저장된 범례이미지 요청
FORMAT=output_format
필수
이미지의 출력형식
 LAYER=layer_name필수
해당 레이어명