업무/용어 | Posted by 은우 아빠 2008. 10. 14. 14:28

REST [ representational state transfer ]


확장성 생성 언어(XML) 파일로 된 웹 페이지를 읽어 원하는 정보를 수집하는 기능. 웹 페이지를 만드는 사람은 주기적으로 내용을 개정하고 사용자는 그 페이지의 URL만 알면 웹 브라우저로 읽어 정보를 얻을 수 있다. 하이퍼텍스트 전송 규약(HTTP)과 XML을 포함한 웹 기술 및 프로토콜을 사용하는 구조적 형태로서 단순 객체 접근 프로토콜(SOAP)보다 사용이 간편하고, 사이트 내용을 기술하는 RSS(RDF Site Summary)의 정보 편집 기능과 유사하다. RSS는 자원 기술 개념(RDF)을 사용한다.
업무/용어 | Posted by 은우 아빠 2008. 10. 8. 14:23

BPR (Business Process Re-engineering)


BPR[비피알]은 1990년대 초 미국에서 제창한 개념으로서, 사업활동을 영위하는 조직의 측면에 있어, 작업을 개선하고 자원의 사용을 보다 효율적으로 만들기 위하여, 하나의 목적으로 처음부터 다시 근본적인 변화를 만드는 것을 의미한다. BPR은 업무 프로세스의 근본적인 재고(再考)가 수반되며, 원가, 서비스품질, 직원들의 활력 등과 같은 중대한 지표들이나 또는 그 모두를 강화하기 위한 업무활동의 재설계로 이어진다. 일반적으로 BPR의 개념에는 데이터를 조직화하고, 방향을 설정하기 위하여 컴퓨터정보기술을 사용하는 것이 포함된다.

업무/용어 | Posted by 은우 아빠 2008. 10. 8. 11:52

관리기법1



관리기법/1

 

(1) 개요 

관리기법/1 시스템 개발의 단계 , 계획수립에서 분석 설계, 설치 운용까지를 지원하는 시스템개발방법론이며 시스템 개발 운용 관리, 품질보증활동 등을 지원하는 프로젝트관리 방법론이다. 

 

 

(2) 구성체계

 

관리기법/1 개발경로, 작업 오브젝트, 기법 3개의 주요 구성요소로 이루어 진다.

 

1) 개발경로

 

개발 경로는 다음과 같이 정의된다.

·         일련의 시스템 개발 또는 유지관리와 관련된 활동으로

·         이러한 활동 태스크는 다음과 같다.

-        특정한 목적을 갖는다.

-        작업을 완료할 생성, 검토, 또는 갱신할 작업 오브젝트 또는 전달물을 지시한다.

-        전형적으로 작업을 수행할 직능 유형을 정의한다.

 

이러한 정의에 따라 관리기법/1에서는 프로젝트의 규모, 기술적 범위,  업무절차를 고려하여 주요 개발경로로 정보계획수립, 클라이언트/서버 시스템 개발, 호스트 시스템 개발, 패키지 시스템 개발, 소규모 프로젝트 개발, 고속개발로 나눈다.

 

·         정보 수립계획전략적 업무 필요 기술 요건을 파악하고 정의한다.  또한 개별적인 프로젝트 수준에서 계획수립을 다룬다.

·         클라이언트/서버 개발클라이언트/서버 환경에서 분산되고 협동적인 처리를 요구하는 정보 시스템을 위한 것이다. 경로에서는 새로운 구성요소를 생성하는 방법과 필요한 경우 기존의 시스템을 통합하는 방법을 제공한다.

·         호스트 개발기존의 호스트 환경에서 전통적인 온라인 처리를 요구하는 정보 시스템을 위한 것이다.

·         패키지 시스템 개발시중의 소프트웨어로 충족될 있는 업무 그리고 정보 요구를 위한 것이다.  가용한 소프트웨어 패키지를 평가하고 선정하며 필요한 경우 표준 또는 요구사항을 충족시키도록 사용자화하여 설치하는 절차들이 포함된다.

·         소규모 프로젝트 개발클라이언트/서버 개발과 호스트 개발 경로의 부분 집합이다.  경로의 범위는 넓은 방법론(클라이언트/서버와 호스트 개발 경로와 같은) 소규모의 고속 개발 접근방법 사이에 있다.

·         고속 개발소규모 프로젝트 팀으로 3개월에서 6개월의 기간 동안에 고품질의 응용 시스템을 구축하는 것이다.  팀은 JAD(joint application development), 타임박스, 프로토타이핑과 같은 특정한 기법을 적용하여고속으로 수행한다.

·         시스템 운용 관리사용자에게 최소한의 혼란으로 시스템 수정이 효과적으로 관리되고 구현되는 것을 보장한다.

 

또한 관리기법/1에서는 이러한 개발경로와 관련되어 프로젝트 관리, 기반구조 관리를 제공한다. 

·         프로젝트 관리수행중에 있는 업무의 계획이나 관리, 기술이나 경험을 적절하게 섞어서 결합하는 , 업무의 진행과 질을 감시하는 등과 같이 핵심적인 프로젝트 기능을 규정한다.

·         기반구조 관리 - 응용개발 환경과 아키텍쳐를 지원하는 방법론을 제공한다.

 

 

2) 개발기법

 

관리기법/1에서는 개발경로에서 진행되는 분석, 설계, 프로젝트 관리, 품질, 기반구조 관리를 지원하기 위하여 개발기법을 제공한다.

 

 

3) 작업 오브젝트

 

작업 오브젝트란 방법론에서 어떤 작업을 완수하기 위해 작성하고 참조하며 관리하게 되는 전달물이며 시스템에 관한 지식의 집합이다. 작업 오브젝트는 다음 태스크에 필요한 입력사항이 되며 프로젝트 팀간에 활용을 위하여 리포지터리에 저장되어 관리되는 것이 바람직 하다. 

 

관리기법/1에서는 개발자가 표준양식에 따라 작성하는 전달물로써 작업 오브젝트에 대한 샘플을 제공한다.

(3) 구조

 

관리기법/1 개발경로들로 나뉘어 지는데, 개발경로들은 단계와 세그먼트 태스크의 가지 유형의 항목으로 구성된다. 개발경로들은 프로젝트의 업무 범위와 기술적 요소, 자원 요소에 의해 정의된다. 단계 관리기법/1에서 최고 수준의 항목이다. 단계는 방법론 계층에서 다음 수준의 세부사항을 나타내는 세그먼트 나뉘어진다. 세그먼트는 태스크 나뉘어 진다.  태스크는 계층에서 최하위 수준이다.

세그먼트와 태스크가 작업 오브젝트와 전달물을 만드는 실제 활동들이다.


관리기법/1

 

   관리기법/1에서 제공하는 단계중 클라이언트/서버 개발 단계가 대규모 프로젝트를 기준으로 전체 경로들을 포함하고 있으므로, 클라이언트/서버 개발 단계를 보고서의 분석에 이용한다.

 

   클라이언트/서버 개발경로에서는 새로운 시스템의 요건을 계통적으로 조직화하고 이러한 요건에 맞도록 시스템을 설계하고 시스템을 구축, 시험, 전개하는 세그먼트들을 포함한다. 여기에는 아키텍쳐(개발, 실행, 운용) 설계하고 구축, 시험하며 전환하는 세그먼트도 포함된다.

 

 

 

관리기법/1 클라이언트/서버 개발경로 세그먼트 분석

 

 

   클라이언트/서버 개발경로 분석 설계, 개발, 설치 단계에 해당되는 세그먼트들은 다음과 같다.

 

1) 사용자 요구사항

 

사용자가 필요로 하는 요구사항과 새로운 시스템이 운용될 새로운 전반적인 업무 흐름 조직을 이해하고 문서화한다. 또한 프로젝트팀은 사용자의 요구사항과 아울러 기존 시스템과 새로운 시스템의 차이를 찾아 새로운 시스템의 관점에서 필요한 변경사항과 변경되지 않을 구성요소들을 식별한다.

 

개발기법 - JAD, 면담

 

2) 품질요건

 

시스템이 기능을 얼마나 성공적으로 수행해낼 있을 것인가를 기술한다. 일반적으로 성능, 신뢰성, 사용성, 유연성 등의 품질요건을 분석하여 측정 방법과 목표치를 정한다. 또한 품질요건들 간에 상충되는 사항이 있는 경우에는 예산, 구현일정 등을 고려하여 품질요건의 순위를 정한다.

 

3) 요구사항 분석

 

사용자요구사항 세그먼트에서 분석된 사항들을 사용자와 프로젝트팀 모두가 이해하고 확인할 있도록 업무프로세스의 프로토타입을 작성하고 이벤트 모델, 데이터 모델, 프로세스 모델을 통하여 요구사항 모델을 공식화 한다.  

 

4) 업무절차 설계

 

사용자 관점에서 신규 시스템의 모습을 정의하는 세그먼트로 주요 활동은 대화설계, 윈도우와 기타 입출력 설계, 상세한 작업 흐름을 정의한다.

 

5) 기술설계

 

세그먼트는 응용 아키텍쳐의 정의 작업부터 시작된다. 요구사항을 기술적 아키텍쳐의 구성요소에 대응시키는 작업과 시스템의 상세한 구성요소를 설계하는 필요한 표준과 지침을 마련하는 전반적인 설계 결정이 포함된다. 다음 단계로 데이터와 프로세스를 네트워크 전체에 분산시키고, 프로그램을 모듈단위로 구분하고, 프로그램간과 모듈간의 메세지를 설계 외부시스템과의 인터페이스 설계를 한다. 데이터 모델은 일단 논리 데이터베이스로 변환시킨 물리 데이터베이스 설계로 변환시킨다. 마지막으로 IS운용 필요사항이 고려된다.

 

6) 품질검증

 

사용자와 기술 담당자가 모든 기능 요건이 설계 내용에 모두 포함되어 있으며 목표로 하는 품질요건을 충족시킬 있을 지에 대해 검증한다. 세그먼트에서는 프로토타이핑되거나 시험될 있는 품질속성인 사용성과 성능에 특히 주의를 두어야 한다. 

 

7) 전환설계

 

시스템을 운용하는데 필요한 활동 , 사용자 교육, 데이터베이스 변환, 시험 전개 등에 관한 활동들을 계획 한다.

 

8) 아키텍쳐 설계 프로토타입

 

세그먼트의 초점은 아키텍쳐 설계이다. 아키텍쳐에 대한 개념 설계를 검증, 갱신하고 공급업체 제품을 재검토한 권고안을 작성한다. 실질적인 프로토타이핑 시험에서는 응용에서 요구하는 모든 요건들을 아키텍쳐가 충족시키는지를 확인한다.

 

9) 아키텍쳐 구축 시험 

 

프로젝트 팀은 아키텍쳐 구성요소를 구축하고 시험한다. 아키텍쳐 개발 프로세스는 아키텍쳐 개발자들과 공동으로 아키텍쳐 구성요소, 도구, 표준 등의 베타 테스트를 수행함으로써 시스템 개발환경이 성능에 대한 요구사항을 모두 만족시키고 있는지를 확인한다.

 

10) 상세 설계

 

이전 세그먼트에서 시작되었던 설계 작업을 완료하고, 작업 단위에 대한 상세한 문서를 작성한다. 또한 프로그래밍 작업단위의 논리 데이터 뷰와 물리 데이터베이스를 작성하고 설계검토를 실시한다. 마지막으로 컴파일 단위를 시험하는 사용할 있는 공통 시험데이터를 마련한다.

 

11) 사용자 절차 교육

 

프로젝트 팀은 시스템을 지원하는 성능, 보안, 제어, 컴퓨터 운용 기능들에 대해 사용자 절차를 작성한다. 아울러 입력문서, 출력양식 등에 대한 설계를 마무리 짖고 사용자절차, 보안절차, 제어절차에 대한 상세한 내용을 묶어 사용자 설명서를 작성한다. 또한 프로젝트팀은 사용자 설명서 절차로부터 필요한 교육용 자료와 강사용 자료를 작성한다. 프로젝트 팀은 교육에 대해 파일럿 시험이나 검토회를 하는 절차를 수행하여 교육이 효율적으로 구성되어 있는지를 확인한다. 

 

12) 시스템 시험 전개 계획 수립

 

프로젝트 팀은 새로운 시스템을 사용자에게 어떤 방식으로 전개 실시할 것인지에 대한 방안을 마련한다. 이와 같은 작업에 따른 복잡도와 작업에 의해 발생되는 필요 자원 인원 등은 시스템이 어떤 방식으로 분산되어져 있는지와 변환 작업을 여러 사이트에서 반복해서 실시해야 하는지의 여부에 따라 좌우된다. 아울러 프로젝트 팀에서는 시스템이 당초 원했던 바대로 작동하는 지를 시험하기 위한 시스템 시험계획과 시스템이 정상적으로 작동하는 지를 확인하기 위한 시험데이터와 예상 결과를 포함하고 있는 시스템 시험모델도 마련한다. 

 

13) 프로그래밍

 

코딩이란 프로그래밍 작업 단위를 컴퓨터가 실행할 있는 형태로 변환하는 작업을 의미한다. 프로그래밍 언어를 이용하여 코드를 작성하고, 코드제너레이터 도구에 입력되는 규격을 작성하며, 업무 제어문을 작성하는 등이 여기에 포함된다. 다음에는 결과를 점검하고 문법상의 오류를 제거한다. 코드를 작성했던 프로그래머와 프로그래밍 업무 단위를 설계했던 분석 담당자, 그리고 가능하다면 명의 추가 프로그래머가 코드를 재검토한다.

 

프로그래머는 주로상세 설계세그먼트에서 개발된 공통 시험 데이터에 따라 완벽하게 시험하기에 충분한 시험 데이터를 준비하고 단위 시험을 통해 코드에 오류가 없는지 확인한다. 프로그래머는 시험 결과를 예상 결과와 비교 점검하고 에러를 수정한다.

프로젝트팀 구성원들이 프로그램을 완전히 시험하고 났을 , 같은 스트링(string)내에 있는 접속 프로그램들과 부분 시험을 실시한다.  이는 프로그램간의 통신을 검증하고시스템 시험세그먼트의 통합 시험으로 이어진다. 세그먼트에서, 프로젝트팀은 프로그래밍을 지휘, 통제하고, 시험을 조정함으로써 코딩 작업을 지원한다.

 

14) 시스템 시험

 

프로젝트팀은 시스템 운용으로 가기 전에 시스템 시험 기간 동안 신규 시스템을 시험할 책임이 있다.  프로그래밍으로부터 이루어진 구성을 시험하고 결과를 재검토한다.  그런 , 통합 시험을 실시하고 시스템의 성능을 확인하여 필요하다면 변경을 수행한다. 또한 결과를 조사하여 결함이 있다면 수정해 준다. 마지막으로, “품질 보증검토를 포함한 사용자 시험을 실시하여 시스템이 사용자가 기대한 대로 성능을 수행하는지 확인한다.

 

15) 전개준비

 

프로젝트팀에서는 신규 시스템을 전개하기 전에 필요한 모든 작업을 완료한다.  교육팀에서는 시스템을 사용할 요원을 교육하고 교육 결과에 대한 피드백을 받아 교육 프로그램에 반영한다. 프로젝트팀은 구축에 따른 비용 산정, 구축 완료 일정 책임/의무조항, 하드웨어 소프트웨어 전달을 포함하여 신규 사이트에 필요한 모든 조치를 취해야 한다. 마지막으로, 프로젝트팀은 기존 데이터베이스와 소스들에 들어 있는 데이터를 변환시켜 준다.

 

16) 시스템 전개

 

성공적인 전개를 위해서는 신규 프로그램이나 절차를 사용하는 이상의 것이 관련된다.  작업 환경은 신규 시스템만을 반영해야 한다.  시스템의 나머지는 반드시 제거해야 한다.  프로젝트팀은 시스템을 재검토하고 분석하여 설계서에 명시된 기능을 수행하는지 검증한다.  마지막으로, 프로젝트 팀은 신규 시스템이 사용자와 업무상의 요구사항과 작업요건에 더욱 적합하게 하기 위해 시스템의 운용 초기에 행한 변경사항이나 향상된 점을 문서화하여 향후 재구현시 반영할 있도록 해야 한다.

 

  


 

 



 

세그먼트

태스크

산출물

전개 준비

인원교육 훈련

교육 자료

필수

필수

필수

장소 준비

네트워크 환경 설명,

하드웨어 환경 설명

필수

필수

선택

변환화일 작성

변환 계획, 변환절차

필수

필수

선택

시스템 전개

 

준비시험 실시

시험 접근 방법

필수

필수

필수

장소변환

유지관리 지침서

필수

필수

필수

운용감독

변경요청, 성능 모델,

요구사항 설명

필수

필수

필수

개선사항 문서화

변경요청

필수

필수

필수


(2) 시스템 유형별

 

다음은 순수 S/W개발과 SI사업인 경우의 비교 이다.

 

세그먼트

태스크

세부 산출물

S/W

SI

사용자

요구사항

작업흐름 조직확인

엔티티관계도, 작업 흐름도, 조직도,

조직별 프로세스

필수

필수

사용자 요구사항 파악

면담 비망록, 요구사항 설명,

현행 시스템 설명

필수

필수

현행설계 복구

관계유형 설명, 엔티티 유형설명,

속성유형설명, 요구사항 설명

필수

필수

품질요건

품질요건 파악

품질속성 설명, 품질지침 기준

필수

필수

척도 목표구축

품질속성 설명

필수

필수

요건분석

 

업무절차 프로토 타입

업무처리 프로토타입, 쟁점 및 미결사항

필수

필수

이벤트 모델작성

이벤트별엔티티 매트릭스

엔티티 순기도, 이벤트-자극-반응 설명

필수

필수

프로세스 모델작성

업무기능 분해, 데이터흐름도,

기본절차 설명

필수

필수

데이터 모델작성

속성유형설명, 영역설명,

엔티티유형설명, 엔티티관계도,

관계유형 설명

필수

필수

업무절차 설계

다이얼로그 설계완료

다이얼로그 흐름도, 윈도우 설명,

프로젝트 표준

필수

필수

윈도우 화면설계

다이얼로그 흐름도, 아이콘설명,

리스트 상자설명, 메뉴항목 설명,

푸쉬버튼설명, 윈도우설명

필수

필수

보고서 문서설계

보고서 설명, 서식설명

필수

필수

작업흐름 정의

사용자 문서 윤곽, 작업 흐름도

필수

필수

기술설계

응용아키텍쳐 정의

응용구조, 응용흐름, 쟁점 미결사항,

프로젝트 표준,

시스템 아키텍쳐 보고서,

필수

필수

네트워크를 통한

데이터및 프로세스

분산

작업/프로세스별 엔티티,

위치 유형별 엔티티,

위치유형별작업/프로세스,

프로젝트 표준

필수

필수


 

세그먼트

태스크

산출물

S/W

SI

기술설계

메시지 프로세스 흐름정의

응용흐름, 화일설명,

실행프로그램 설명, 메시지 설명,

서버설명,

필수

필수

논리데이타베이스

설계

데이터 요소설명, 화일설명,

외부키 설명, 논리데이타베이스 다이어그램, 일차키 설명, 레코드 설명,

관계형 테이블 설명,(View)설명, 

필수

필수

자동화 프로세스

설계

콜 패턴, 실행프로그램 설명,

메시지 설명, 모듈설명, 절차도,

레코드 설명, 서버설명

필수

필수

기술설계

시스템 접속설계

레코드 설명, 메시지 설명, 변경 요청

필수

필수

IS 운용프로세스

설계

 

 

 

물리데이타베이스

설계

화일설명, 색인설명, 레코드 설명,

관계형 테이블 설명,

테이블 스페이스 설명

필수

필수

품질검증

기능완성도 검증

변경 요청, 기능완성도승인

필수

필수

품질속성 시험

검증

변경 요청, 성능모델, 품질요건승인

필수

필수

전환설계

 

교육과목 계획수립

교육과목

필수

필수

시험접근방법 설계

시험 접근 방법

필수

필수

전개구성 설계

응용릴리즈 계획, 응용구조, 변경 요청

필수

필수

데이터변환절차 설계

응용흐름, 변환매핑, 실행프로그램설명, 논리데이타베이스 설명, 레코드 설명, 모듈설명, 서버설명, 변경요청

필수

필수

아키텍쳐 설계 프로토타입

아키텍쳐방향 확인

프로세싱 환경 요약, 프로젝트 표준,

시스템 아키텍쳐 보고서,

선택

필수

H/W 시스템 S/W선정

계약서, 프로젝트 표준, 시스템 아키텍쳐 보고서(네트워크 환경설명, 시스템 소프트웨어 설명, 하드웨어 환경설명)

선택

필수

아키텍쳐설계 프로토타입

시스템 아키텍쳐 보고서(개발아키텍쳐, 실행아키텍쳐, 운용아키텍쳐, 아키텍쳐프로토타입 결과), 프로젝트 표준

선택

필수

세그먼트

태스크

산출물

S/W

SI

아키텍쳐

구축

시험

아키텍쳐구축

시험

응용흐름, 실행프로그램 정의, 예상결과,  프로젝트 표준, 서버설명, 시험조건, 시험주기 통제표, 시험주기 흐름

선택

필수

응용구축 프로세스

시범

프로그램 사양, 프로젝트 표준

선택

필수

성능 벤치마크 실시

벤치마크 보고서

선택

필수

상세설계

기술설계 완료

콜패턴, 대화 흐름 설명,다이얼로그 흐름도, 실행 프로그램 설명,

아이콘 설명, 리스트 박스 설명,

메뉴 항목 설명, 메시지 설명,

모듈설명, 절차도, 푸쉬 버튼 설명,

레코드 설명, 화면 설명, 윈도우 설명

필수

필수

작업단위 설계

프로그램 사양

필수

필수

데이터베이스 설계

완료

화일설명, 색인 설명, 레코드 설명,

관계형 테이블 설명,

테이블 스페이스 설명

필수

필수

설계 검토 실시

설계검토 승인

필수

필수

공통시험 데이터

준비

시험 베이스 내용

필수

필수

사용자 절차 교육

절차 개발

도움말 텍스트 설명, 절차 지침서

필수

필수

사용자 지침서 작성

사용자 문서 윤곽. 절차 지침서

필수

필수

교육자료 작성

교육 과목, 교육 자료

필수

필수

시스템 시험 전개계획 수립

전개 변환계획

완료

변환계획, 변환 맵핑, 설치장소 계획,

설치장소 요건, 설치준비 체크리스트,

소모품 요건, 전개계획

선택

필수

변환절차 개발

변환 맵핑, 변환절차, 절차지침서

필수

필수

시스템 시험 계획

수립

시험 조건, 시험주기 통제표,

시험 접근 방법

필수

필수

시스템 시험 모델 작성

예상 결과, 시험 베이스 내용,

시험 조건, 시험주기 통제표,

시험 작업 스트림

필수

필수

 

 

 

 

세그먼트

태스크

산출물

S/W

SI

프로그래밍

작업단위 생성 코딩

코딩된 작업 단위

필수

필수

시험데이타 준비

예상 결과, 시험 베이스 내용,

시험 조건, 시험주기 통제표

필수

필수

코드검토 실시

코드 검토 체크 리스트

필수

필수

단위 스트링

시험실시

서버설명,시험 베이스 내용,

코딩된 작업 단위

필수

필수

개발지원

작업단위 개발 통제

필수

필수

시스템 시험

구성진척

구성설명

선택

필수

통합시험 실시

통합시험 결과

필수

필수

사용자 시험실시

사용자 시험결과

필수

필수

상세결과 검토

변경요청, 시스템 조사요청

선택

필수

전개 준비

인원교육 훈련

교육 자료

필수

필수

장소 준비

네트워크 환경 설명,

하드웨어 환경 설명

선택

필수

변환화일 작성

변환 계획, 변환절차

필수

필수

시스템 전개

 

준비시험 실시

시험 접근 방법

필수

필수

장소변환

유지관리 지침서

필수

필수

운용감독

변경요청, 성능 모델, 요구사항 설명

필수

필수

개선사항 문서화

변경요청

필수

필수


(3) 고속개발

 

   관리기법/1에서는 고속개발을 위한 세그먼트와 태스크, 산출물을 제시하고 있다. 고속개발은 프로젝트를 짧은 시간대 내에서 구현할 필요가 있는 경우와 다음 특징이 있는 경우에 적용할 만하다.

 

· 반복구축(contruction through iterations) 위한 프로토타이핑과 분할(partitioning) 적용하여 클라이언트/서버 또는 GUI 같은 온라인 시스템을 지원

· 검증된 기술아키텍쳐 플랫폼, 이것이 기술적인 위험의 정도를 줄인다.

· 구축된 개발 환경은 템플릿(template) 개발 시험할 필요를 줄이고, 데이터요소 정의와 같이 재사용할 있는 리포지터리 오브젝트를 제공한다.

· 정규사용자(full-time users) 상세한 요구사항 검증을 지원하는 프로젝트에 할당된다.

 

세그먼트

태스크

산출물

 

분석

 

이벤트 모델작성

엔티티 순기도, 이벤트-자극-반응 설명, 이벤트별 엔티티

사용자 요구사항 파악

면담 비망록, 요구사항 설명,

현재 시스템 설명

척도 및 목표구축

 

업무절차 프로토 타입

업무처리 프로토타입,

쟁점 및 미결사항

프로세스 모델작성

기본절차 설명, 데이터흐름도,

업무기능 분해

데이터 모델작성

관계유형 설명, 엔티티관계도,

엔티티 유형설명,

구축

사용자 인터페이스 설계

다이얼로그 흐름도, 윈도우 설명,

프로젝트 표준,

위치 유형별 작업/ 프로세스

보고서 설명, 서식설명,

네트워크를 통한 데이터및 프로세스 분산

위치 유형별 엔티티, 위치 유형별 작업/프로세스, 작업/프로세스별 엔티티, 프로젝트 표준

메시지 및 프로세스 흐름정의

메시지 설명, 서버설명, 실행프로그램 정의, 응용흐름, 화일설명

 

 

 

세그먼트

태스크

산출물

구축

데이타베이스 설계

관계형 테이블 설명, 논리데이타베이스 설명, 데이터 요소설명, 레코드 설명, (View)설명, 외부키 설명,

일차키 설명, 화일설명

자동화 프로세스 설계

레코드 설명, 화일설명, 메시지 설명,

모듈설명, 서버설명, 실행프로그램 정의, 조직별 프로세스, 절차도, 콜 패턴

시험사례 준비

시험 베이스 내용, 시험 조건,

시험주기 통제표, 예상 결과

작업단위 생성 및 코딩

코드 작업 단위

단위 및 스트링 시험실시

서버설명,시험 베이스 내용,

코드 작업 단위

사용자 시험실시

사용자 시험결과

품질속성시험 및 검증

 

전개

절차작성 및 직원교육

 

통합시험 실시

사용자 시험결과

장소변환

유지관리 지침서

운용감독

변경요청, 성능 모델, 요구사항 설명

 

업무/용어 | Posted by 은우 아빠 2008. 9. 23. 00:25

소프트웨어 개발방법론


소프트웨어 개발방법론

모든 조직 사회에는 구성원들이 따라야 하는 제도나 규정 등이 존재하기 마련이다. 이러한 제도와 규정을 이해하고 업무를 처리해 나가다 보면, 가장 효과적으로 일을 처리하는 방법(Method) 과정에서 필요한 지식이 축적되는데, 이를 체계적으로 정의한 것이 방법론(Methodology)이다. 정보 시스템 구축 시에도 정보 시스템의 구축업무 수행에 필요한 자원, 산출물, 참여자 등을 정의하고 이러한 내용을 일관된 흐름으로 체계적으로 정리한 방법론이 소프트웨어 개발 방법론이다.

 

소프트웨어 개발방법론의 정의

-      소프트웨어를 생산하기 위해 반복적으로 수행될 실행 방법을 정리한

-      정보 시스템을 구축하는데 필요한 여러 가지 일들의 수행방법과 이러한 일들을 수행하려는 절차에서 필요한 소프트웨어 공학 원리에 입각한 각종 기법 도구를 기업의 문화를 바탕으로 체계적으로 정리하여 표준화한

 

소프트웨어 개발방법론의 등장 배경

-      소프트웨어 위기 인식에 따른 소프트웨어 공학의 발전

-      소프트웨어 이용범위의 확대 소프트웨어 Project 개념의 등장

-      소프트웨어 Project 규모 복잡도 증가

 

소프트웨어 개발방법론의 필요성

-      소프트웨어 위기를 극복하기 위한 방법론 필요성 증대

-      공정의 가시화와 프로젝트의 효율적 관리 필요

-      개발경험 축적 재활용을 통한 개발생산성 향상

-      소프트웨어 품질의 균일화

-      개발 조직의 의사 소통 활성화

-      시스템 개발 노하우 축적

 

소프트웨어 개발방법론의 구성요소

구성요소

내용

작업절차

-      프로젝트 수행 이루어지는 작업단계의 체계

-      단계별 활동, 활동 세부작업 열거, 활동의 순서 명시

작업방법

-      단계별 수행해야 하는

-      절차/작업 방법

산출물

-      단계별로 만들어야 하는 산출물의 목록 양식

관리

-      프로젝트 진행 기록

-      계획수립, 진행관리, 품질, 외주, 예산, 인력관리 등의 기록

기법

-      단계별로 작업수행 기술 기법의 설명

도구

-      기법 지원도구에 대한 구체적인 사용표준 방법

 

소프트웨어 개발방법론의 종류

개발방법론

구조적 방법론

정보공학 방법론

객체지향 방법론

컴포넌트 기반 방법론

연대

1960 년대 ~ 1980년대 중반

1980년대 중반 ~ 1990년대 중반

1990년대 중반 ~ 2000년대

1990년대 후반 ~ 현재

목표

비즈니스 프로세스 자동화

경영전략적 정보시스템 구축

재사용 시스템

컴포넌트 개발 및 활용

주요모형

프로세스 (기능)

데이터

객체

컴포넌트

주요기술

   

메인프레임 환경

단위업무 전산화

3세대 언어

(COBOL, Fortran, C)

소프트웨어 공학 태동

PC보급확산

전사규모의 정보시스템

관계형 데이터베이스

4세대 언어

(Visual Basic, Power Builder, Delphi)

클라이언트/서버

사용자 중심 설계

통합 CASE

인터넷 이용확산

다양한 SW요구 증대

객체지향 언어

(C++,Java)

UML

분산 객체기술

Round-Trip CASE

비즈니스 기능 단위 컴포넌트

J2EE 기반 기술

COM 기반 기술

웹서비스 기술

기존 시스템 연동 기술

애플리케이션 서버

주요기법

기능모형

(자료흐름도, 자료사전, 기능명세)

프로그램 구조 설계

(구조도, 모듈명세)

데이터 모형

(객체 관계도)

정보전략계획

BRP

분산설계

객체모형

위험관리

반복적/점진적 개발

분석/설계 패턴

설계 개선

(Refactoring)

컴포넌트 명세

컴포넌트 추출

컴포넌트 연동

아키텍처 설계

특징

학습용어

보편적 활용

안정된 개발 방법론

실세계 개념 모형

UML 사용 확산

적기 개발

개발 비용 감소

 

산업구조

소품종 다량생산

다품종 소량생산

인터넷 비즈니스

인터넷 비즈니스

모델링

기능 모델링

데이터 모델링, 프로세스 모델링

객체지향 관점, UML

객체 모델링, 컴포넌트 모델링

 


업무/용어 | Posted by 은우 아빠 2008. 9. 22. 13:42

비즈니스 프로세스 관리 시스템


서론
1.       조직 내의 업무처리의 생선성을 분석한 결과 업무 처리의 전체시간 중에 단지 10%만이 업무자체에 소요되고 나머지 90%의 시간은 업무간의 전이 또는 전달시간에 소요된다는 것을 알게 되면서, 업무처리 프로세스에 대한 생산성 향상 문제로 정보기술의 초첨이 바뀌게 된다. 이러한 사실이 곧 비즈니스 프로세스 리엔지니어링과 자동화를 통한 업무생산성 향상에 초점을 두게 되는 계기가 되었고, 최근 2000년대에는 프로세스중심의 정보기술(BPM)이 핵심으로 등장하였다.


 
2.       워크플로우관리 기술과 웹서비스 기술 그리고 엔터프라이즈 애플리케이션 통합 기술를 기반으로 하는 비즈니스프로세스관리기술은 바로 프로세스중심 정보기술의 핵심기술이다.
3.       조직 내의 대표적인 프로세스기반 정보기술 인프라인 EAI기술 및 워크플로우 기술과 조직간의 정보관리 및 통합을 위한 대표적인 인프라인 웹서비스 및 ebXML기반의 비즈니스프로세스기술의 효율적 통합이 더욱 요망되고 있다.
 
BPM 기술의 정의
-         WfMC : BPM의 정의는 워크플로우 기술에 EAI 또는 WS 기술을 접목시킨 개념 즉, 워크플로우 중신의 프로세스 자동화
-         BPMI, W3C : 웹서비스 중심의 프로세스 협업 기술
-         일반적인 인식 : BPM 기술이 프로세스 기반의 정보관리 시스템을 구축하기 위한 새로운 소프트웨어 솔루션의 한 축이다!
 
“BPM 기술은 워크플로우 기술과 EAI 기술 그리고 웹서비스 기술의 통합 솔루션이다.”
 
기존 솔루션에서 바라보는 BPM의 관점
Ø         전통적인 프로세스 자동화 기술인 워크플로우 솔루션 관점 : BPM을 워크플로우 기술의 확장 개념으로 정의한다. 워크플로우 기술은 이기종 솔루션 간의 연동과 응용프로그램(EAI)과의 연동을 필요로 하는데, 이러한 두 가지 연동을 구현하는 기술로서 웹서비스 기술을 이용하며, 따라서, BPM의 최종목적인 조직내 프로세스와 조직간 프로세스의 통합을 구현할 수 있다고 이해하고 있다. à WfMC에서 OASIS 기반으로 Wf-XML 2.0발표
Ø         웹서비스 솔루션 관점 : 프로세스 기반 웹서비스 솔루션을 BPM기술이라고 정의 한다, BPEL(Business Process Execution Language)로 표현된 웹서비스 프로세스의 실행을 구현하는 솔루션으로 BPM 기술을 정의한다.
Ø         기업응용프로그램 통합 솔루션 관점 : 프로세스 기반 기업응용프로그램 통합 솔루션을 BPM 기술이라고 정의한다.
 
BPMS(Business Process Management System)
 
시스템의 구성요소
Ø        모델링 서비스 부분 : 비즈니스 프로세스의 모델링을 담당하는 부분
Ø        엔진 서비스 부분 : 비즈니스 프로세스의 실행을 담당




비즈니스 프로세스 모델 및 시스템
비즈니스 프로세스는 Activity들의 집합으로 구성되며, Activity들 간에 상호 제어순서 상의 선행 관계를 갖는다. 또한 각각의 Activity는 컴퓨터 프로그램이나 인간의 행동을 통해 구현 및 실행될 수 있으며, 이의 실행을 위한 사전 정보(Input Repository)와 실행 후의 사후 정보(Output Repository)가 정의 되어야 한다. 마지막으로 각 Activity의 실행 및 접근 권한을 정의하기 위한 조직 정보가 할당되어야 하는데, 이는 그 Activity의 실행을 담당할 Role과 그 Role에 대항하는 Actor 또는 Group을 할당함으로써 정의될 수 있다.
 


 
비즈니스 프로세스 관리 엔진


비즈니스 프로세스의 실행, 제어, 감시 및 모니터링을 담당하는 핵심구성요소이다. 실행 상태 정보를 저장하는 데이터베이스와 실행객체들의 관리를 지원하는 미들웨어 플렛폼, 실행객체들 간의 통신을 담당하는 호출 메커니즘, 그리고 엔진의 실행객체 자체들을 구성하는 아키텍쳐등으로 구성되며, 이들 각각을 어떻게 구성하느냐에 따라 엔진의 성능이 결정된다.
엔진의 성능에 가장 큰 영향을 미치는 요소는 엔진 실행 객체를 구성하는 아키텍처의 구성방법에 있다.
Ø        비즈니스 프로세스를 구성하는 각 Activity가 엔진의 실행 객체로 구현되는 Activity기반 아키텍처
Ø        비즈니스 프로세스 모델의 인스턴스 또는 워크케이스를 엔진의 실행 객체로 구현하는 워크케이스 기반 아키텍처
 
런타임 클라이언트
 
런타임 클라이언트는 최근에 인터넷 및 웹의 기능과 성능이 급속하게 향상되면서 웹기반으로 구현되는 것이 전반적인 상품화 시스템의 추세이다. 런타임 클라이언트의 주요 구성요소는 다음과 같다.
 
1.       비즈니스 프로세스 모델 정보를 제공하는 부분
2.       실행되고 있는 인스턴스들에 대한 상태정보를 제공하는 부분
3.       Activity들의 실제적인 구현인 응용 프로그램과의 연동 부분
4.       각종 사용자 역할에 따른 접근 제한 기능 등
 
차세대 비즈니스 프로세스 관리 시스템과 주요 연구개발 이슈
 


 
최근의 정보기술 인프라는 조직 내와 조직 간 정보기술 인프라들 간의 통합과 정보관리기술과 정보통합기술들 간의 통합을 효율적이고 효과적으로 지원하기 위한 자세대 비즈니스 프로세스 관리 기술을 중심으로 발전되고 있다.
차세대 정보기술의 최종 모습은 결국 웹서비스 기반의 정보기술 인프라로 수렴되어, 조직 내 및 조직 간 통합프로세스기반 정보관리 및 정보통합을 구현하는 웹서비스기반의 차세대 워크플로우 및 비즈니스 프로세스 관리 시스템이 될 것이다.
차세대 비즈니스 프로세스 관리 기술을 구성하는 주요 시스템들의 유형은 다음과 같다.
Ø        EAI 기반의 워크플로우 관리 시스템 : 조직 내의 프로세스 기반 정보관리 및 정보통합 기술
Ø        ebXML 기반의 비즈니스프로세스 관리 시스템 : 조직 간의 프로세스기반 정보관리 및 정보통합 기술
Ø        WS기반의 차세대 워크플로우 및 비즈니스 프로세스 관리 시스템 : 조직 내 및 조직 간의 통합프로세스기반 정보관리 및 정보통합 기술
업무/용어 | Posted by 은우 아빠 2008. 9. 22. 13:40

BPM 개관 및 구축 방법론


BPM의 도입
BPM이란, 말 그대로 ‘프로세스 관리’를 가리킨다.
-         기존의 프로세스를 제대로 관리함으로써 비용절감과 생산성 향상을 가져오게끔 하는 것이다.
-         BPM Top-Down방식으로 진행된다. 때문에 성공적인 BPM을 위해서는 무엇보다도 경영자의 실천 의지가 담보 되어야 한다.
 
BPM의 효과
낯선 업무들 속에서 자신이 해야 할 일이 무엇인지를 파악하기란 쉽지 않다. 하지만 BPM의 도입은
-         업무 프로세스의 관리를 통해 일의 분배가 이루어져, 낭비되는 인력이 발생하지 않게 된다.
-         업무 프로세스의 표준화 작업으로 숙련도에 따른 업무능력의 편차를 줄여준다. 업무의 효율성을 높일 수 있는 것이다.
-         BPM은 생산업무 프로세스에 문제점이 도출되는 것과 동시에 대응, 관리가 가능하다.
-         BPM은 프로세스의 가시화, 업무의 자동화, 통합된 시스템 환경을 제공한다.
-         BPM은 복잡한 서류작성 업무를 표준화 된 탬플릿을 제공함으로써 손쉽게 해결하고 복잡한 보고라인 또한 온라인 업무 프로세스 등으로 대체할 수 있게 한다.
 
BPM BPR
BPM BPR(Business Process Re-engineering)이 무엇이 다르냐고 묻는 사람이 있을 것이다. BPM BPR 이후의 지속적인 프로세스 관리를 의미한다. 기존의 많은 기업들은 BPR로 프로세스의 혁신을 시도해왔다. 하지만 BPR은 말 그대로 ‘Re-engineering, 즉 프로세스를 재정립하는 것이다. 때문에 BPR 이후의 관리 부재로 인해 많은 기업들은 업무에 혼선을 빚는 경우가 발생했다. BPM은 ‘Re-engineering’ 이후의 프로세스를 제대로 수행할 수 있도록 제어해 줌으로써 업무처리 방식의 변경이 미치는 혼선을 최소화 한다. 뿐만 아니라 프로세스 정보를 별도로 분리함으로써 변화에 민첩하게 대응할 수 있도록 해준다. 프로세스가 제대로 실행되게 강제함으로써 그 프로세스의 실행과정을 분석하고 개선, 관리하는 것이다.
 
BPR과 지식 경영의 차이점
BPR은 인간과 정보의 체계적인 조화를 의미하며, 상명하달 방식, 선형적 구조이고, 가치 창조를 글로 표현하는 것이 어렵지 않다는 전제하에 구현되며, 예측 가능한 환경에서 경쟁함을 전제로 한다. 확실한 지식에만 의존한다. 반면에 지식 경영의 특징은 효율성보다는 효과를 더 중시하고, 하의상달 형식, 네트워크 구조이다. 창의적, 즉흥적 방식에 장점이 있다. , 예측 불가능 상황에서 경쟁할 때 효과가 있으며, 암묵적 지식에 의존한다는 점 등이 그 특징이다. 그러므로 BPR이 지식 경영에 비하여 상대적으로 더 구현이 용이함을 알 수 있다. 그래서 BPR에서 지식 경영으로의 움직임이 의미하는 것은 단순한 변화 이상의 심오한 무엇이 있다는 것을 의미한다.