정보공학
정보공학(information engineering)은 소프트웨어 공학의 기술발전에 힘입어 등장한 정보시스템 개발방법론으로 기업의 핵심부문이 요구하는 정보시스템의 계획·분석·설계·구축에 필요한 정형화된 방법으로 정보시스템 개발주기를 이용해 대형 프로젝트를 진행시키는 체계적인 방법론을 말한다.
정보공학은 CASE를 적용하는데 적절한 방법론의 필요에 의해 탄생한 개념으로 C.Finkelstein이 처음 사용하였고, 제임스 마틴에 의해 폭넓게 전파되었으며, 정보공학은 아래와 같은 특징을 지닌다.
첫째 기업중심의 시스템 개발에 적합하며, 둘째 기업 내에 유통되는 자료의 흐름을 철저하게 이해하고 모형화할 수 있도록 하며, 셋째 CASE 활용을 전제로 CASE를 이용하여 자동개발할 수 있도록 하고, 넷째 기존 개발방법론은 모든 단계의 개념을 통합을 추구할수 있도록 개발정보를 일정한 저장소(repository)에 모아 각 단계에서 이용하는 특징이 있다.
일반적으로 정보공학의 개발주기를 4단계로 나누며, 계획(Planning) 단계에서는 기업의 변화하는 목표·목적 및 기술 활용의 기회를 이해하여 무슨 분야에서 개선이 필요한가를 밝혀 내며, 분석(Analysis) 단계에서는 특정분야의 자동화를 위해 현행 업무절차와 자료 및 발전기회를 분석하고, 설계(Design) 단계에서는 요구되는 자동화를 위해 구현될 코드 모듈들의 구조를 정의하며, 마지막으로 구축(construction) 단계에서는 컴퓨터에 의해 수행 가능한 형태로 자동화를 위한 코드를 생성한다.
목차
정보공학방법론[편집]
정보공학은 '기업의 정책계획에 기반하여 이를 정확히 뒷받침해 주는 시스템의 분석.설계 및 개발을 수행하는 통합된 기법'을 의미한다. 또한 정보공학은 컴퓨터를 잘 모르는 사용자와 경영층에 적용되지만, 대신에 전략계획의 보완을 위해 경영층에게 신속한 feedback을 제공하는 시스템을 갖춘다. 또한 정보공학은 '조직모델, 데이터 모델, 프로세스 모델 등이 광범위한 지식베이스위에 구축되며, 데이터 처리시스템을 만들고 유지하는 데 사용되는 형식화된 기법의 연동체계'라고도 한다.
정보공학방법론(Information Engineering Methodology)의 정의는 기업에서 사용하는 업무 시스템 구축에 목표를 두어 기업이 전략적 경쟁우위를 확보할 수 있도록 데이터 중심 분석과 설계 관점의 개발 방법론을 말한다. 이와 같은 정의에 따라 정보공학방법론의 여러 가지 특징을 알 수 있다.
구분 설명 기업중심 -기업의 전략경영을 지원하기 위해 SISStrategic Information System에 초점 -적용 대상이 기업의 비즈니스 시스템
ISP 중심 -계획 단계에 수행되는 활동으로 경영층의 요구와 견해를 시스템에 반영 -기업의 경쟁 우위를 달성하기 위한 정보화 전략 계획이 중요한 역할 수행
데이터 중심 -자주 변동되는 업무 프로세스와 달리 데이터는 잘 변하지 않기 때문에 시스템 유지보수를 줄이고 잦은 변화에 적극 대응하고자 하는 접근 -프로세스와 데이터를 분리하여 분석 및 설계를 진행하되 상관분석을 통해 상호검증(CRUD 매트릭스)
분할과 정복 -프로젝트 관리 가능 단위로 문제의 영역을 세분화해가면서 완성해가는 방식으로 Top-Down 방식적용 공학적 접근 -Case Tool 소스코드 자동 생성 모듈화 다이어그램 사용 -분석 설계 등 초기 단계에서 철저하게 작업 후 후속 단계에서는 소스코드를 자동으로 생성하는 방식을 활용
정보공학 방법론 단계 구성도 및 구성요소[편집]
정보공학방법론 단계 구성도[편집]
정보공학 방법론 단계별 구성요소[편집]
단계 설명 정보전략계획(ISP) -Information Strategy Planning -경영전략에 근거한 정보시스템 구현 전략 수립
-정보 요구와 우선순위에 맞는 시스템 개발계획 수립
업무영역분석(BAA) -Business Area Analysis -시스템구현을 위한 업무영역 이해 및 데이터 수집
-데이터모델링ERD 프로세스모델링(DFD, PHD, PDD)
업무시스템설계(BSD) -Business System Design -선택된 프로세스들이 어떻게 구현할 것인지 설계
-업무절차정의, Presentation 설계, 분산 설계
시스템구축(SC) -System Construction -응용 프로그램 개발
- 단계별 설명
- 정보전략계획ISP Information Strategy Planning 단계
- 전사적인 기업모형청사진을 설계하는 단계
단계 수행내용 정보전략계획(ISP) 환경분석(경영환경, 정보환경) 기업의 내외부 환경분석 및 기업비전, 전략 도출
현행 업무 프로세스 분석 문제점 및 개선방안 도출 현 시스템 분석, 평가 현 시스템 문제점 도출 평가 후 개선방안 아키텍처 개발 후속작업 지원을 위해 프로세스데이터 모델 개발 전략계획 프로젝트 정의 및 우선순위 부여
- 정보전략계획ISP 산출물
산출물 산출물내용 경영전략 분석 기업의 경영전략과 IT전략을 연계하기 위해 경영전략 분석 정보체계도 조직에서 활용되고 있는 데이터와 업무활동간의 관계를 나타내는 구조도 업무시스템 체계도 정보체계도에서 파악된 데이터와 업무기능을 관련성과 인접성으로 그룹화한 구조도로 시스템이 지원하는 업무의 기능과 형태를 표현 현행 업무 프로세스, 조직 분석
기술체계도 사용자가 요구하는 업무와 데이터를 정보시스템으로 구현하는데 필요한 정보기술의 요건을 파악하여 최적의 방법으로 구축할 수 있는 시스템 조감도 정보관리조직체계도 정보관리 조직의 구성원들이 정보시스템의 구축에 있어서 어떠한 역할과 기능을 수행해야 할 것인지를 표현 정보시스템 전략계획 경영전략과 연계되는 정보화 통합 프로젝트에 대한 전략 계획 수립
- 업무 시스템 설계(BSD Business System Design)
- 데이터의 상세 설계 및 데이터 처리 시스템과 데이터의 직접 연결 하드웨어와 소프트웨어의 관계 등을 나타내어 어떻게 작업이 수행되는지 설계하는 단계
산출물 설명 엔티티관계 다이어그램 (EntityRelation Diagram)
정보전략계획ISP에서부터 시스템 구축까지 개발 전 과정에 걸쳐 사용하는 다이어그램으로 추상화된 데이터들 간의 함수적 관계 표현 분할 다이어그램 (Decomposition Diagram)
정보공학 피라미드의 최상위 단계 즉 전략수립단계에서부터 하위 단계로 진행해 나가면서 나타낸 기능 분할도, 프로세스 분할도, 프로시저 분할도 등 Top down 진행 액션 다이어그램 (Action Diagram)
CASE Tool을 사용해 분할 다이어그램을 액션 다이어그램으로 변환하며 향후 실행 가능한 코드로 전환 의존 다이어그램 (Dependency Diagram)
프로세스 간의 우선순위를 나타낼 수 없는 분할 다이어그램의 약점을 보완한 다이어그램으로 프로세스 상호간의 연관을 나타냄 데이터 흐름도 (Data Flow Diagram)
프로시저 의존도의 특별한 형태로 각 프로시저에서 사용되는 입출력 데이터의 흐름을 각 데이터의 입출력과 함께 그림으로 나타낸 것 결정트리(Decision Tree) 프로그램 로직의 분기점과 분기 조건 그 결과를 기술하기 위해 사용 대화구조 (Dialogue Structure)의 표현
계층적인 메뉴 : 컴퓨터와 사용자간의 대화 방식을 기술하기 위해 액션 다이어그램을 사용 -수평적인 대화 팝업 윈도우Popup Window를 나타내기 위해서 데이터 흐름 다이어그램(Data Flow Diagram)를 사용
자료 구조 다이어그램 (Data Structure Diagram)
BAA(업무영역분석) 단계에서 만들어진 데이터 모델을 해당 DBMS에 맞도록 Diagram을 생성(예 : RDB, HDB 등)
- 기술설계 및 구축단계(SC System Construction)
- 실제적인 데이터베이스와 선정된 하드웨어 소프트웨어 도구를 이용하여 응용 프로그램 개발
단계 특징 데이터 사용 분석 Data Usage Analysis
시스템 부하를 최적으로 분산하기 위한 기초 정보 분석(트랜잭션의 발생량을 토대로 시스템 부하를 최적으로 분산하기 위해 응용 프로그램 별 발생량을 액션 다이어그램에 주석으로 표시하거나 ERD에서 각 경로에 대한 관계비를 숫자로 표현) 물리적 데이터베이스 설계 데이터베이스 설계자가 시스템의 비용 성능 응답시간 등을 고려하여 복잡한 시스템이 서로 균형을 이루면서 동작할 수 있도록 최적의 해를 찾아 설계 분산 분석 Distribution Analysis
데이터와 프로세스를 여러 곳의 서버에 분산시켜 부하를 평준화시키기 위한 방법으로 지역, 프로세스, 데이터를 매트릭스로 구성하여 분석
정보공학 방법론의 문제점 및 구조적 방법론과 비교[편집]
- 정보공학 방법론의 문제점
- 구조적 방법의 SDLC인 폭포수 모델을 그대로 사용
- CASE 도구의 이용 및 활용의 어려움
- 중소 규모의 프로젝트 적용이 어렵고 복잡한 논리 프로젝트 관리가 어려움
- 구조적 방법론과 정보공학 방법론과의 비교
단계 구조적 정보공학 ISP 없음 정보체계, 데이터 모델, 업무 기능 모델 통합시스템 지향, 전략적 활동 모색
업무분석 기능 분할, Data flow 분석 프로세스 명세화(프로세스 중심)
데이터 모델, 기능 분할, 의존성 분석 프로세스 명세화(데이터 중심)
시스템 설계 프로세스 모델, 사용자 모델 인터페이스 설계, DB설계, 모듈 설계
이벤트 설계, 패키징 대화 설계 기술 설계, DB설계, 데이터 구조 설계
구축 절차적 프로그래밍, 코드 작성 코드 생성, CASE Tool의 활용 유지보수 코드 작성 후 다이어그램 수정 다이어그램 수정 후 코드 생성 장점 이해가 용이하고 프로세스 중심의 개발이라 요구사항이 명확한 경우 효율적 명확한 데이터 관점의 정규화 산출물이 단계별로 명확하여 대규모 프로젝트에 적합 단점 비즈니스와 같이 거시적 과점 부족 데이터와 프로세스가 별도
대규모 시스템 프로젝트에 부적합
전형적인 아키텍처 고려 못함 웹 환경에 적용 어려움
분산 환경 컴포넌트 실행 환경 지원 어려움
참고자료[편집]
- 〈정보공학〉, 《두산백과》
- coldbrew, 〈<소프트웨어공학> 정보공학방법론(Information Engineering Methodology)〉, 《티스토리》, 2023-05-06
같이 보기[편집]