본문 바로가기

CS BASIC/정보시스템 일반

(21)
[CS BASIC] 기업 응용 프로그램 통합(EAI, Enterprise Architecture Integration) EAI(Enterprise Architecture Integration) - 기업 응용 프로그램 통합 또는 기업 애플리케이션 통합은 기업용 응용 프로그램의 구조적 통합 방안을 가리킨다. - 전사적 응용 프로그램 통합이라고도 한다. - 국내에서는 Enterprise Architecture와 더불어 EAI로 구축하도록 되어있는 법이 존재 - ex) 전사적자원관리(ERP), 고객 관계관리(CRM), 공급망계획(SCP) 시스템, 인트라넷 등… 구축 유형 설명 포인트 투 포인트(Point-to-Point) 가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법 허브 앤 스포크(Hub & Spoke) 단일한 접점 허브 시스템 통하여 데이터를 전송하는 중앙 집중식 방식 허브 장애 시 전재 장애 발생 메시지 버스..
[CS BASIC] 미들웨어(Middle Ware) 솔루션 미들웨어 솔루션이란? 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램으로, 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어 미들웨어 (Middleware)의 특징 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다. 위치 투명성(Location Transparency)을 제공한다. 분산 시스템의 여러 컴포넌트가 요구하는 재사용가능한 서비스의 구현을 제공한다. 애플리케이션과 사용자 사이, 프로그램과 환경 간의 분산서비스를 제공한다. 표준화된 인터페이스를 ..
[CS BASIC] 시스템 인터페이스와 인터페이스 대상 식별 시스템 아키텍처 요구사항 하드웨어 소프트웨어를 모두 포함하는 전체 시스템에 대한 논리적 기능 체계 그리고 그것을 실현하기 위한 구성 방식, 시스템 전체의 최적화를 목표로 한다. 요구사항과 시스템의 전체 생명주기를 고려한다. 시스템의 구성, 동작 원리를 정확하게 표현해야 하며 각 컴포넌트에 대한 설계, 구현을 지원하는 수준으로 자세히 기술한다. 각 컴포넌트 사이의 상호작용, 외부 환경과의 관계를 기술한다. 시스템 인터페이스 식별 개발 대상과 시스템 연계 시스템 사이의 인터페이스를 식별하는 것이다. 시스템의 업무 정의서, 시스템 아키텍처 정의서, 유스케이스 정의서 등을 통하여 송신, 수신, 중계 시스템을 식별한다. 인터페이스 요구명세서, 인터페이스 요구사항 목록을 기반으로 개발 대상과 시스템과 연계된 내/외..
[CS BASIC] 디자인 패턴과 GoF(Gang of Four) 디자인 패턴(Design Pattern)이란? 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 자주 사용하는 설계 형태를 정형화하여 유형별로 설계 템플릿을 만들어 두고 소프트웨어 개발 중 나타나는 과제를 해결하기 위한 방법 중 한 가지다. 다양한 응용 소프트웨어 시스템들을 개발할 때 서로 간에 공통되는 설계 문제가 존재하는 데, 각 해결책 사이에도 공통점이 있으며 이러한 유사점을 패턴이라 한다. 개발자 간 원활한 의사소통, 소프트웨어 구조 파악 용이, 설계 변경에 대한 유연한 대처, 개발의 효율성, 유지보수성, 운용성 등 소프트웨어 품질 향상에 도움을 준다. 객체 지향 프로그래밍 설계 시 유사한 상황에서..
[CS BASIC] 소프트웨어 아키텍처 디자인 패턴(Software Architecture Design Pattern) 소프트웨어의 아키텍처(Architecture)란? 외부에서 인식할 수 있는 특성이 담긴 소프트웨어의 골격이 되는 기본 구조로 볼수 있다. 데이터 중심 아키텍처는 공유 데이터저장소를 통해 접근자 간의 통신이 이루어지므로 각 접근자의 수정과 확장이 용이하다. 이해 관계자들의 품질 요구사항을 반영하여 품질 속성을 결정한다. 소프트웨어 아키텍처 패턴의 장점 개발 시간의 단축 고품질 소프트웨어 안정적 개발 가능 개발 단계 관계자 간 의사소통이 간편함 시스템 구조 이해도가 높아 유지보수에 유리함 시스템 아키텍처의 종류 계층화 패턴 (Layered pattern) | OSI 참조 모델 등 모듈들로 응집된 계층 단위로 SW를 구성. 계층간에 사용 가능의 관계로 표현 n-티어 아키텍처 패턴이라고도 불림. 구조화된 프로그..
[CS BASIC] 소프트웨어 아키텍처 (Software Architecture) 소프트웨어 아키텍처란? 요구사항을 기반으로 개발 대상 소프트웨어의 기본 틀(뼈대)를 만드는 것이다. 다수의 이해관계자가 참여하는 복잡한 개발에서 상호이해, 타협, 의사소통을 체계적으로 접근하기 위한 것이다. 전체 시스템의 전반적인 구조를 체계적으로 설계 하는 것이다. 소프트웨어를 구성하는 컴포넌트들의 상호작용 및 관계, 각각의 특성을 기반으로 컴포넌트들이 상호 유기적으로 결합하는 소프트웨어의 여러 가지 원칙들의 집합이다. 설계 및 구현을 위한 구조적/비구조적인 틀(Frame)을 제공한다. 소프트웨어 아키텍처 시스템의 품질 속성 ① 성능, ② 사용 운용성, ③ 보안성, ④ 시험 용이성, ⑤ 가용성, ⑥ 변경 용이성, ⑦ 사용성 소프트웨어 아키텍처 특징 ① 간략성 : 이해하고 추론할 수 있을 정도 간결해야 ..
[CS BASIC] 모듈(Module) 모듈(Module)이란? 전체 프로그램에서 어떠한 기능을 수행할 수 있는 실행 코드를 의미 자체적으로 컴파일 가능, 다른 프로그램에서 재사용 가능 시스템 개발 시 기관고 노동력을 절감할 수 있다. 모듈의 독립성은 결합도와 응집도에 의해 측정된다. 서브루틴 = 서브 시스템 = 작업 단위 변수의 선언을 효율적으로 할 수 있어 기억 장치를 유용하게 사용할 수 있다. 모듈마다 사용할 변수를 정의하지 않고 상속하여 사용할 수 있다. 각 모듈의 기능이 서로 다른 모듈과의 과도한 상호작용을 회피함으로서 이루어지는 것을 기능적 독립성이라고 한다. 여러 기능 및 프로그램에서 공통으로 사용할 수 있는 모듈(예-날짜 처리를 위한 유틸리티 모듈 등) 결합도 서로다른 두 모듈간의 상호 의존도로서 두 모듈간의 기능적인 연광 정도..
[CS BASIC] 사용자 인터페이스(UI, User Interface)의 설계 사용자 인터페이스(UI, User Interface)의 설계 단계 ① 문제 정의 : 시스템의 목적과 해결해야할 문제를 정의한다. ② 사용자 모델 정의 : 사용자 특성을 결정하고, 소프트웨 작업 지식 정도에 따라 초보자, 중급자, 숙련자로 구분한다. ③ 작업 분석 : 사용자의 특징을 세분화하고 수행되어야 할 작업을 정의한다. ④ 컴퓨터 오브젝트 및 기능 정의 : 작업 분석을 통하여 어떤 사용자 인터페이스에 표현할지를 정의한다. ⑤ 사용자 인터페이스 정의 : 모니터, 마우스, 키보드, 터치스크린 등 물리적 입-출력 장치 등 상호작용을 위한 오브젝트를 통해 시스템 상태를 명확히 한다. ⑥ 디자인 평가 : 사용자 능력, 지식에 적합한가? 사용자가 사용하기 편리한가? 등의 평가를 의미하며, 사용성 공학을 통하여 ..