레이블이 프로젝트관리인 게시물을 표시합니다. 모든 게시물 표시
레이블이 프로젝트관리인 게시물을 표시합니다. 모든 게시물 표시

2010년 6월 29일 화요일

엔터프라이즈아키텍쳐

1. 애플리케이션,솔루션,엔터프라이즈의 관계

 

  엔터프라이즈의 기념

  기업,회사의 의미라기 보다는 실제적으로 데이터를 공유할 필요가 있는 영역(다수의 회사일수도 있음)을 지칭하는 개념

 

  애플리케이션과 서비스 차이

  애플리케이션은 개발자를 중심으로 정의된 용어이고, 서비스는 고객 중심의 용어로 이런 차이로 인해서 EAI가 나온뒤 ESB의 개념이 추가되었다.

 

  각종 용어

 

  ERP(Enterprise Resource Planning)

  - 실제적으로 데이터를공유할 필요가 있는 영역의 다양한 Resource(사람,기계,절차 등)에 대한 계획을수행하는 프로그램

 

  EAI(Enterprise Application Integration)

  - 실제적으로 데이터를 공유할 필요가 있는 영역에 있는 애플리케이션의 통합과 관련된 프로그램

 

  ESB(Enterprise Service Bus)

  - 실제적으로 데이터를 공유할 필요가 있는 영역에 있는 다양한 서비스(사용자가 원하는 기능을 제공하기 위한 기본 단위)를 연결하는 프로그램

 

 

  애플리케이션과 솔루션의 관계

  솔루션은 엔터프라이즈의 구성단위, 개발자 관점에서 단독적으로 수행 가능한 기능 단위(보안솔루션,인증솔루션 등)

  애플리케이션은 개발자 관점에서 개발된 단위 작업 수행 프로그램(신규인증유저 등록 등)

 

 

       -----------E1-----------                엔터프라이즈

     --S1--       --S2--     --S3--              솔루션

    A1 A2 A3    A4 A5 A6    A7 A8 A9          애플리케이션

 

 

 

2. 시스템, 소프트웨어 아키텍처의 개념

 

  시스템

   - 유일한 기능을 수행하기 위하여 연관된 다양한 구성 요소의 모임 (회사, 컴퓨터, 모니터 등)

 

  아키텍처

  - 구성요소와 요소간의 연관관계를 정의한 것

  - 컴퓨터 아키텍처는 컴퓨터라는 시스템을 구성하는 요소와 요소 간의 관계를 Top-Down/Bottom-Up의 형태로 서술한 것이다.

 

 

 

3. 소프트웨어 아키텍처의 개념

  개념

  소프트웨어의 구성요소와 기능, 그리고 그들의 상호 관계에 대한 것을 정리

 

  실제적으로 수행하는 일

  - 시스템을 기능별로 분할

  - 분할된 기능을 체계화 하기 위하여 공통 기능 추출 및 관련 작업 수행

  - 준비된 자료를 체계적으로 정리하여 문서화

 

  어떤 필요성?

  개발자와 업무수행자(일반인) 사이의 의사 소통을 위한 방법으로 만들어짐

 

  일반인 - 업무에 대한 이해만 가진 상태로 자신이 사용하는 시스템은 전혀 모르는 상태

  전문가 - 업무에 대한 이해가 낮으며 일반인이 시스템을 모른다는 사실을 간과함

  위의 일바인과 전문가의 의사 소통을 위한 도구가 소프트웨어 아키텍처가 개발되었다

 

  의사 소통을 위해 필요한 다양한 정보를 표현하기위해 다양한 형태로 제작된 자료가 필요하다.

  카네기멜론대학은 다음과 같이 세가지 관점에서 제작하도록 제시했다.

 

  개념적 관점 : 소프트웨어를 구성하는 구성 요소(component)를 식별하고, 각 구성 요소의 역활을 명시하는 단계

  논리적 관점 : 구성 요소 간의 상호 연계성 및 연결 방법을 정의하고, 주고 받는 정보의 상세 내용을 정의하는 단계

  실행적 관점 : 실행 환경에서 구성 요소 인스턴스의 상호 자료 교환, 시스템 자원의 사용, 자원 구송 등에 대한 상세 사항을 정의하는 단계

 

  구성요소(component)란? 개발자 관점에서 시스템을 구성하는데 필요한 기능단위

 

 

  각 단계별 세분화된 자료 가이드라인

 

  개념적 관점

    - 행동적 관점 : Collaboration Trace

    - 구조적 관점 : Architecture Design, Informal Component Spec

 

  논리적 관점

    - 행동적 관점 : Collaboration Diagram

    - 구조적 관점 : Architecture Design with I/F, Interface Spec

 

   실행적 관점

     - 행동적 관점 : Collaboration Diagram Showing process

     - 구조적 관점 : Architecture Diagram Showing Action Component

 

   위의 8개의자료는 일반인과 전문가 사이의 의사 소통을 위한 것으로 필요시 더 늘어날 수도 있고 줄여서 사용할 수도 있다. 중요한 것은 의사 소통이지 자료가 아니란 것을 잊어서는 안된다

 

 

 

4. 엔터프라이즈 아키텍처의 개념

 

  정보시스템 아키텍쳐란?

 

  소프트웨어 아키넥처의 개념을 정립한 후 이것을 전체 전산 환경으로 확장하여 적용하면 "정보 시스템 아키텍쳐"라는 개념이 수립된다.

 

  정의하면?

  전체적인 정보 시스템을 구성하는 구성 요소나 빌딩 블록을 정의한 것.

  그리고 Product(Solution과 동일 수준의 용어, 개발자 시각에서 본 것) 구성을 위한 계획과 이에 따르는 개발 계획을 전체 시스템의 관점에서 수립하는 것

 

  엔터프라이즈 아키텍처란?

  이러한 정보 시스템 아키텍처를 전체조직(enterprise)관점에서 적용한 것이 엔터프라이즈 아키텍처이다.

 

  정의하면?

  "애플리케이션/소프트웨어 아키텍처",  "기술적 아키텍처",  "정보/데이터 아키텍처",  "조직/비즈니스 아키텍처 " 를 포괄하는 개념으로 하부의 모든 아키턱처가 가져야하는 기본을 정의한다. 이를 통하여 시스템의 일치성,통합성,연결성,보안,유연성,재사용성을 높여서 비용 절감과 경쟁력을 향상시킨다.

 

 잘만들어진 엔터프라이즈 아키턱처는 변화의 과정을 신속하게 수행할 수 있으며, 파급되는 다른 문제를 발생시키지 않는다.

 

  관련된 많은 도구들

  Zachman이 발표한 Enterprise Architecture A Framework

 

  엔터프라이즈 아키턱처를 구현할 때 고려사항을 X축과 Y축에 놓고 각각에 항목에서 제작되어야 하는 것을 종합적으로 정리한 것이다.

 

2009년 7월 23일 목요일

프로젝트 문서 관리

실제로 프로젝트를 진행하다 보면 소스이외의 많은 문서들과 설계 자료를 만들고

관련된 참고자료를 수집하게 된다.

 


이러한 문서자료를 관리를 위한 방법에 대해서 마소에 2006년 4월에 게재되었던

기사를 참고로 나름대로 정리를 해보았다.

 

우선 요구사항


  • 소규모 그룹을 위한 방안
  • 개발자는 규칙에 얽매이는 것을 싫어한다.
  • 시간이 흐른 후에도 찾아야 할 경우가 종종 발생한다.
  • 백업이 간단해야 한다.

 

프로젝트 진행용 파일 관리법


  • 탐색기를 사용하는게 편하다고 필자는 말하고 있으나 개인적으론
    SVN등의 툴을 탐색기와 연동하거나 TOW등을 사용하는게 좋다고 판단된다.

  • 위키 프로젝트 문서 관리법

    1. TOW에 프로젝트를 등록한다.
    2. 프로젝트에 관련된 간략한 요약내용을 정리해서 wiki의 첫페이지를 생성한다.
    3. 첫페이지 하단에는 아래와 같은 링크 wiki페이지를 만든다.

      • design : 설계 관련문서 - 분석,설계,개발 관련 문서 페이지
      • design_memo : 설계 관련 내역 - 설계시 이슈가 되었던 내역등을 기록
      • maintenance : 유지보수관련문서 - 유지보수때 추가적으로 발생한 문서 페이지
      • maintenance_memo : 유지보수내역 - 유지보수했던 내역을 요구사항이 들어올때마다 기록
      • manual : 산출물 - 납품했던 산출물
      • sample : 각종 샘플 - 테스트용으로 사용했던 샘플 첨부 페이지
      • refer : 참고자료 - 개발시 참고했던 자료 및 링크 등을 정리한 페이지
        (링키는 시간이 지나면 사라질 수 있으므로 될수 있으면 링크와 참고자료를 동시에 보관하는게 좋다)

 

  • 문서의 명명 규칙

    • 문서는 문서 앞쪽에 4자리의 코드를 부여하는데 영문(1)+숫자(3)로 생성한다.
    • 영문은 원하는 이니셜을 사용하면 되고 커다란 의므로 사용된다.
    • 숫자는 문서의 생성 순서에 따라 증가한다.
    • 어떤 작업에 관하여 문서를 생성하게 될때는 보통 하나의 문서로 정리될 수도 있지만 여러개의 문서가 한번에 발생할 경우 동일한 코드를 가짐으로 동시에 작성되었다는 표시로서의 의미를 가진다.

 

  • 백업

    • 백업은 위의 자료가 업로드 되어 있는 TOW를 통채로 백업하는 방식을 추천한다.
    • 백업용 씽크 프로그램으로는 GoodSync가 적당하다.(윈도우일 경우)
    • 백업용 데이터는 실제 저장된 디스크와 다른 곳에 백업을 처리하며
    • 자동화된 일일 백업을 처리하고
    • 안전을 위해서 월 1회 실제 저장소와 백업 저장소 이위의 공간에 백업을 한다.(옵션)