<Enterprise>

■ 엔터프라이즈의 정의

<공동의 목표를 추구하기 위하여 기술의 지원 하에 정의된 절차를 수행하는 조직의 집합체 >

Zachman : 공통의 미션이나 목표를 지원하는 모든 통합된 비즈니스기능과 자산들의 집합

Spewak : 고객과 상품 및 서비스가 존재하며 이를 유지하고 지원하기 위한 내부 프로세스가 정립된 최소한의 단위

TOGAF(The Open Group Architecture Framework) : 공통의 목표를 가진 조직의 집합체

■ 엔터프라이즈의 의미

엔터프라이즈는 제품 및 서비스를 제공하기 위한 모든 비즈니스 활동을 포함해야 합니다.

따라서 엔터프라이즈의 구분은 비즈니스 단위나 사업부, 자회사 등으로 나누는 것이 적절하며, 부서(예:인사, 재무, 마케팅) 등의 조직을 단위로 구분하는 것은 적절치 못합니다.

하나의 기업 내에서 고객 층이 다르거나 다른 성격의 제품 / 서비스를 제공하는 글로벌 기업이나, 반대로 각 사의 핵심역량을 기반으로 다수의 기업이 공동으로 제품이나 서비스를 제공하는 경우, 엔터프라이즈의 범위를 단순히 하나의 기업으로 정의해서는 안됩니다,

즉 엔터프라이즈의 범위를 정의할 때는 엔터프라이즈의 계층과 e-비즈니스 환경을 고려하여 정의하여야 한다.

<아키텍쳐>

아키텍쳐 : 많은 사람들이 정의 하려고 애쓰는 용어이나 공통적인 요소 두가지

- 하나의 시스템을 여러부분으로 분리하는 가장 높은 수준의 분해

- 변경하기 어려움

프로그램 혹은 컴퓨팅 시스템의 소프트웨어 아키텍처란, 소프트웨어 컴포넌트, 이들 컴포넌트의 가시적인 속성, 그리고 컴포넌트 사이에 관계로 구성된 시스템의 전체적인 구조를 말한다. - Bass, Clements, Kazman, 1998 “Software Architecture in Practice”에서 발췌

소프트웨어 아키텍처는 한마디로 개발하려고 하는 소프트웨어의 큰 밑그림을 그리는 것으로 소프트웨어 개발에 직간접적으로 영향을 미치면서 복잡도를 높이는 다양한 요소들을 체계적으로 다루기 위한 청사진이라 할 수 있다.

소 프트웨어 아키텍처의 학술적인 정의는 소프트웨어를 구성하는 컴포넌트들, 이들간의 상호작용 및 관계, 각 컴포넌트(구성요소, 부품)들의 특성 및 이들이 구성하는 소프트웨어의 설계 및 진화를 위한 각종 원칙들의 집합이라고 할 수 있다.

실제적으로 아키텍처는 대상이 되는 시스템에 관련된 여러 이해관계자(stakeholder)의 관심사항과 이에 따른 관점을 반영한 다양한 모델들의 집합이 된다. - 한국정보통신기술협회, 2004 “소프트웨어 아키텍처 연구 분야 및 IEEE 1471 국제표준” 에서 발췌

<디자인패턴>

- 패턴들은 시작점을 제공하는 데 도움을 주기 위해 작성된 것
- 모든 패턴은 불완전하며 이것을 완성하는 책임과 즐거움은 모두 여러분의 몫이라는 점을 항상 기억바람

> 패턴(Pattern)
어떤 작업을 할 때 같은 유형의 형태를 계속 적으로 반복하여 사용하게 되는데 이렇게 같은 형태를 반복적으로 사용하는 것을 어떤 작업에 대한 패턴이라 한다. 프로그램에도 이 같은 패턴이 적용 된다. 최근의 경향인 프레임워크(framework)의 설계를 위해서 또 융통성 있고 재사용성을 가진 소프트웨어 시스템의 개발을 위해서는 지금까지 제안된 다양한 설계 패턴을 활용할 필요가 있습니다. 범용적으로 제안된 23개의 Design Pattern이 있다.

> 생성 패턴 (Creational Pattern) - 5개

Abstract Factory, Builder, Factory Method, Prototype, Singleton
최 근의 객체지향 애플리케이션의 경우 적용 분야나 대상에 따라서 새로운 객체를 생성하고 이로부터 새로운 인스턴스들을 생성해야 새로운 애프리케이션을 손쉽게 개발 할 수 있다.Creational Pattern은 인스턴스화 과정을 추상화하여 시스템이 객체의 생성과 조합 및 객체 표현 방법에 독립적으로 개발할 수 있도록 지원한다. 클래스 Creational Pattern은 인스턴스화될 클래스를 다양화 하기 위해서 상속(inheritance)을 활용해야 한다.

> 구조적 패턴 (Structural Pattern) - 7개
Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy

Structural Pattern은 객체와 클래스가 하나의 복잡한 구조를 어떻게 형성하는 가의 방법에 관한 패턴이다. 구조적 클래스 패턴은 interface나 implementation을 합성하기 위해서 상속(inheritance)을 사용한다. 객체의 구성이나 interface를 합성하기 보다는 Structural Pattern을 이용하여 새로운 기능성을 실현하는 복합 객체(Complex Object)를 작성할 수 있는 방법이 더 효과적이다.

> 행위적 패턴 (Behavioral Pattern) - 11개
Chain of Responsilbility, Command, Interpreter, Iterator, Mediator, ... 등

Behavioral Pattern은 객체들간에 행위의 할당이나 알고리즘과 관련된 패턴이다. 최근의 소프트웨어들은 응용 분야에 따라 행위가 다른 객체로 옮겨 가거나 알고리즘이 대체되는 경우가 존재하게 마련이다. 이러한 변화의 개념을 잘 만족할 수 있는 것이 Behavioral Pattern이다. Behavioral Pattern은 객체나 클래스에 대한 패턴을 정의하는 것이 아니라 그들간의 교류 방법에 대하여 정의하는 것이다. 이러한 패턴은 실행시에 수행하기 어려운 제어 구조를 정의할 수 있다. 클래스간의 행위적 차이를 정의하기 위해서 상속(inheritance)을 사용할 수도 있지만 이보다는 객체 합성을 사용하여 처리한다

+ Recent posts