정보공학방법론(Information Engineering Methodology)의 개요
가. 정보공학방법론(Information Engineering Methodology)의 정의
- 기업에서 사용하는 업무 시스템 구축에 목표를 두어 기업이 전략적 경쟁우위를 확보할 수 있도록 데이터 중심 분석과 설계 관점의 개발 방법론
나. 정보공학방법론의 특징
구분 | 설명 |
기업중심 | - 기업의 전략경영을 지원하기 위해 SIS(Strategic 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 - 응용 프로그램 개발 |
정보공학(Information Engineering) 방법론 단계별 설명
가. 정보전략계획(ISP : Information Strategy Planning) 단계
- 전사적인 기업모형(청사진)을 설계하는 단계
단계 | 수행내용 |
환경분석(경영환경, 정보환경) | 기업의 내.외부 환경분석 및 기업비전,전략 도출 |
현행 업무 프로세스 분석 | 문제점 및 개선방안 도출 |
현 시스템 분석, 평가 | 현 시스템 문제점 도출 평가 후 개선방안 |
아키텍처 개발 | 후속작업 지원을 위해 프로세스,데이터 모델 개발 |
전략계획 | 프로젝트 정의 및 우선순위 부여 |
나. 정보전략계획(ISP) 산출물
산출물 | 산출물내용 |
경영전략 분석 | 기업의 경영전략과 IT전략을 연계하기 위해 경영전략 분석 |
정보체계도 | 조직에서 활용되고 있는 데이터와 업무활동간의 관계를 나타내는 구조도 |
업무시스템 체계도 | 정보체계도에서 파악된 데이터와 업무/기능을 관련성과 인접성으로 그룹화한 구조도로 시스템이 지원하는 업무의 기능과 형태를 표현 현행 업무 프로세스, 조직 분석 |
기술체계도 | 사용자가 요구하는 업무와 데이터를 정보시스템으로 구현하는데 필요한 정보기술의 요건을 파악하여 최적의 방법으로 구축할 수 있는 시스템 조감도 |
정보관리조직체계도 | 정보관리 조직의 구성원들이 정보시스템의 구축에 있어서 어떠한 역할과 기능을 수행해야 할 것인지를 표현 |
정보시스템 전략계획 | 경영전략과 연계되는 정보화 통합 프로젝트에 대한 전략 계획 수립 |
다. 업무영역분석(BAA: Business Area Analysis)
- 정보전략계획(ISP) 단계 산출물인 정보체계도를 통해 상세 업무 논리를 규명하는 과정을 업무 영역모델로 발전시키는 단계
산출물 | 설명 |
데이터 모델 다이어그램 | - ISP과정에서 만들어진 ERD를 보다 상세하게 확장한 다이어그램 |
프로세스 분할 다이어그램 | - 업무영역 내의 기능들을 프로세스들로 분할하여 Tree구조로 만듦 |
프로세스 의존 다이어그램 | - 프로세스간의 Dependency 관계를 나타내는 다이어그램 |
프로세스/데이터 매트릭스 | - 프로세스와 데이터 간에 일어나는 행위를 매트릭스로 가시화 - CRUD 매트릭스를 이용하여 프로세스, 데이터 모델 검증 가능 |
라. 업무 시스템 설계(BSD: Business System Design)
- 데이터의 상세 설계 및 데이터 처리 시스템과 데이터의 직접 연결, 하드웨어와 소프트웨어의 관계 등을 나타내어 어떻게 작업이 수행되는지 설계하는 단계
산출물 | 설명 |
엔티티-관계 다이어그램 (Entity-Relation Diagram) |
정보전략계획(ISP)에서부터 시스템 구축까지 개발 전 과정에 걸쳐 사용하는 다이어그램으로 추상화된 데이터들 간의 함수적 관계 표현 |
분할 다이어그램 (Decomposition Diagram) |
정보공학 피라미드의 최상위 단계 즉 전략수립단계에서부터 하위 단계로 진행해 나가면서 나타낸 기능 분할도, 프로세스 분할도, 프로시저 분할도 등 Top down 진행 |
액션 다이어그램 (Action Diagram) |
CASE Tool을 사용해 분할 다이어그램을 액션 다이어그램으로 변환하며 향후 실행 가능한 코드로 전환 |
의존 다이어그램 (Dependency Diagram) |
프로세스 간의 우선순위를 나타낼 수 없는 분할 다이어그램의 약점을 보완한 다이어그램으로 프로세스 상호간의 연관을 나타냄 |
데이터 흐름도 (Data Flow Diagram) |
프로시저 의존도의 특별한 형태로 각 프로시저에서 사용되는 입출력 데이터의 흐름을 각 데이터의 입출력과 함께 그림으로 나타낸 것 |
결정트리(Decision Tree) | 프로그램 로직의 분기점과 분기 조건, 그 결과를 기술하기 위해 사용 |
대화구조(Dialogue Structure)의 표현 | - 계층적인 메뉴 : 컴퓨터와 사용자간의 대화 방식을 기술하기 위해 액션 다이어그램을 사용 - 수평적인 대화 : 팝업 윈도우(Pop-up 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의 활용 |
유지보수 | 코드 작성 후 다이어그램 수정 | 다이어그램 수정 후 코드 생성 |
장점 | 이해가 용이하고 프로세스 중심의 개발이라 요구사항이 명확한 경우 효율적 | 명확한 데이터 관점의 정규화 산출물이 단계별로 명확하여 대규모 프로젝트에 적합 |
단점 | 비즈니스와 같이 거시적 과점 부족 데이터와 프로세스가 별도 대규모 시스템 프로젝트에 부적합 |
전형적인 아키텍처 고려 못함 웹 환경에 적용 어려움 분산 환경, 컴포넌트 실행 환경 지원 어려움 |
'IT의 모든것 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] 일정 관리 기법, 일정 단축 기법 (0) | 2023.06.21 |
---|---|
XP(eXtreme Programming) 정의, 구성요소 ,특징 (0) | 2023.06.21 |
(소프트웨어공학) 객체지향 프로그래밍 구성요소 (0) | 2023.06.15 |
[소프트웨어공학] RAD (Rapid Application Development) (0) | 2023.05.05 |
[소프트웨어공학] V모델 (0) | 2023.05.04 |
[소프트웨어공학] 나선형 (Spiral) 모델 (0) | 2023.05.04 |
[소프트웨어공학] 프로토타입 모델(Prototype Model) (0) | 2023.01.02 |
[소프트웨어공학] 폭포수 모델 (Waterfall Model) (0) | 2023.01.01 |
댓글