최근뜨는 IT기술

이성몽 2008. 11. 13. 09:28

 

정보처리 기술사 시험 기출문제 및 해설 자료 제공, 정보처리 기술사 합격자 발표 자료 제공 

(기술사 합격방법서 자료실 http://www.seri.org/forum/pehelp)

정보처리기술사 합격방법서

이성몽

인포드림 2008.03.07

기술사 합격방법서 자료실: www.seri.org/forum/pehelp  <-- 지금 방문해 보세요

(기술사 관련 자료 1,000개 무료제공, 향후 5,000개 제공)

=======================================================================

모듈성(Modularity), ERP 도입계획, 소프트웨어 아키텍쳐 정의, 중요성, 스타일 요약 자료

 

4. 소프트웨어 구조와 관련된 모듈성(Modularity)이란 무엇이며, 그것과 소프트웨어 개발 비용(Cost)과의 관계를 설명하시오
 
5. 전자장비를 취급하는 어떤 회사가 ERP 도입을 추진하고 있다. 회사의 본사에는 칼라 프린터 사업부, 측정장비 사업부, 그리고 비디오 사업부를 가지고 있으며, 사업부는 업무 특성이 다르다. 해외에 7 지사가 있으며, 지사는 본사 3 업무를 모두 취급하고 있다. 회사는 회계와 구매/매출채권 ERP 도입을 도입하려고 한다. 귀하가 ERP 도입 책임자라면 어떠한 도입계획을 제시하겠는가? 조직의 특성(본사/해외지사, 3 사업부) 도입 ERP 모듈 각각(회계, 구매/매출, 채권) 특성을 고려하여 "위험 최소화 전략" 차원에서 제시하시오
 
6. 소프트웨어 아키텍쳐의 정의, 역할, 아키텍쳐 모델의 중요성을 설명하고, 여러가지 아키텍쳐 스타일을 설명하시오
 
 
모듈성
 
1. 모듈성에 대한 개념
 . 모듈성의 정의
   - 시스템을 분해하고 추상화하여 S/W 성능을 향상시키거나, 시스템의 디버깅, 시험, 통합, 수정을
     용이하게 하는 S/W 설계 기법
    - 프로그램이 효율적으로 관리될 있도록 시스템을 분해하고 추상화를 통하여 소프트웨어
      제품의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 수정을 용이하게 하는 프트웨어의
     개발의 특성
  . 모듈화의 목표
   - 모듈간의 결합도 최소화
   - 모듈내의 요소들간의 응집도 최대화
   - 결합도와 응집도의 적정 수준의 타협
  . 모듈성을 보장하는 모듈화의 장점
    - 효울적 관리 : 기능에 따라 모듈 별로 관리가 가능
    - 개발의 편리성 : 소프트웨어의 개발, 시험, 통합, 수정이 편리
    - 재사용 : 단위 기능의 재사용을 통한 생산성 향상
    - 풀질 향상 : 복잡성 감소, 이해도 증대, 시험 편의성에 의해 소프트웨어의 품질 향상
 
2. 모듈화의 개념도 응집도/결합도 스펙트럼
 . 모듈화의 개념도
그림, 표 깨짐: 원본은 자료실에서 참조 
 
. 응집도/결합도 스펙트럼
      1) 모듈자체의 완전성 정도 응집도
          가장 응집도 높은 모듈은 단지 하나의 기능만을 실행해야함
          가능한 높은 응집도 수준 추구하며 유지보수 용이성 확보
 그림, 표 깨짐: 원본은 자료실에서 참조 
     2) 모듈간의 의존성 정도 결합도
          모듈상호간 낮은 결합도 추구
          이해하기 쉬운 S/W 구현을 위해 간단한 연결 추구
그림, 표 깨짐: 원본은 자료실에서 참조 
3. 모듈성과 소프트웨어 개발 비용과의 상관 관계
 . 모듈성과 소프트웨어 개발 비용과의 상관 관계 그래프
그림, 표 깨짐: 원본은 자료실에서 참조  
  . 개발 단계별 모듈성과 비용과의 상관 관계
프로세스
모듈성
비용 요소와의 관계
분석
 요구기능과 프로세스 모델링의 추상화 수준
요구도출, 검증 비용, 설계단계 생산성의 기
설계
아키텍처 구성요소 정의수준과 관계의 복잡성
설계의 복잡성, 인터페이스 유연성, 구현 용이성
구현
컴포넌트, 서비스, 분리 기준
개발영역 분할과 개발자간 의사소통 노력
테스트
요구기능에 매치되는 테스트 분해성
테스트용이성, 오류 파급효과, 잠재오류방지
통합
시스템, 서브 시스템, 모듈, 인터페이스
- 시스템 통합 및 테스트 비용
유지보수
모듈간 자료공유도, 모듈내의 응집도
SW의 이해와 변경의 노력
 
4. 소프트웨어의 모듈성에 기반한 개발 비용 효율화 방안
   . 모듈성에 기반한 개발 비용 효율화
그림, 표 깨짐: 원본은 자료실에서 참조   
     . 모듈성에 기반한 개발 비용 관리 방안
 
 
ERP
1. ERP 개념
 . ERP 정의
   - 기업활동을 위한 기업내의 모든 인적/물적 자원을 효과적으로 관리하여, 기업 경쟁력을
     향상시키기 위한 통합정보 시스템
  . ERP 필요성
   - Global 표준/최적화 Process 도입 : 사고/업무/성과의 혁신
   - 전사 차원의 공급자 + 고객 + Partner 통합관리 요구 증대
   - 프로세스 차원의 연속성 보장/ 통합에 따른 비용 문제 발생
2. ERP 적용 방법
  .  ERP 구축 방법
그림, 표 깨짐: 원본은 자료실에서 참조    
항목
Big-bang
Phased Approach
Hybride
개념
모든 모듈과 기능을 모든 사업장에 동시 적용
ERP 모듈을 기능별 단계적으로 구축하는 방식
사업장별로 단계적으로 구축하는 방식
장점
패키지 자체의 통합성 좋음
적용 사업장의 변화에 대한 저항감이 적음
1단계 -> 2단계 단계별 접근. 인력 활용도 제고
단점
프로젝트 Scope 넓고, 프로젝트 관리가 어려움
레가시 시스템과의 추가 인터페이스 프로그램 필요
프로젝트 기간연장, 중복 업무가 발생
  .  ERP 구축 전략
     - 현재 수행중인 업무 프로세스에 ERP 도입하는 전략
     - BPR 선행 ERP 패키지 도입
     - BPR 패키지 도입 병행
     - ERP 패키지에 맞게 현행 업무 프로세스 재구축
3. 본사와 해외 지사 7개가 있는 경우의 ERP 도입 계획
  .  ERP 구축 방법
     - Hybride 방법
       : 해외 지사의 특성 반영
  . ERP 도입 전략
     - BPR 선행 ERP 패키지 도입
         : 해외 지점의 비즈니스 프로세스 통합 조정 최적 패키지 선정
그림, 표 깨짐: 원본은 자료실에서 참조   
 
4. ERP 도입 위험 최소화를 위한 고려사항
그림, 표 깨짐: 원본은 자료실에서 참조   
 
 
소프트웨어 아키텍쳐
 
1. 소프트웨어 아키첵처 개념
 . 소프트웨어 아키첵처 정의
   - 시스템에 대한 기본 조직 체계로 시스템을 이루는 구성요소와 구성요소들 사이의 관계, 주변
     환경 사이의 관계, 시스템의 설계와 진화방향을 지배하는 원칙들로 실체화된 .
  . 소프트웨어 아키첵처 중요성
   - 아키텍쳐 기반의 S/W 상위 수준의 고품질 S/W
   - S/W 분해, 정제, 구현, 합성, 진화시키는 설계 접근 방식
   - CBD, MDA, SPL S/W 개발 생산성 향성을 위한 핵심 기술
 그림, 표 깨짐: 원본은 자료실에서 참조 
비트루비우스 삼각형
기능만족을 위해 건축물 Design : 필요한 자원과 재료를 적절히 분배 -> 아키텍쳐 관점
 
아름다움
쓸모
짜임새
그림, 표 깨짐: 원본은 자료실에서 참조   
 
 
2. 소프트웨어 아키텍쳐의 역할
 . 소프트웨어 아키텍쳐의 역할
      - 프로젝트 초기 의사결정 도구
      - 시스템의 전체 구조를 결정
      - 개발 프로젝트 조직 결성하는데 참조 가능
      - 시스템이 기대해야할 품질 요소를 결정
      - 아키텍쳐를 통해 개발자 교육 향상/내용 결정
      - s/w 변경 사항 관리 방향 선정
      - 시스템 구축 이해 당사자 들간의 의사소통 도구
      - Design Plan으로서의 역할
      - 시스템 복잡도를 관리하기 위한 추상적 개념 제공
      - SW 아키텍처를 통해 설계에 대한 조기 의사결정 제공
      - 재사용 가능한 요소들 식별 가능
       => Act As a Blueprint
그림, 표 깨짐: 원본은 자료실에서 참조 
 
3. 소프트웨어 아키첵처 패턴과 스타일
 . 소프트웨어 아키첵처 패턴
 
아키텍처 스타일
 
계층 스타일
(Layered Style)
-SW를 계층이라는 단위(Unit)로 분할하며, 각 계층은 모듈들의 응집된 집합이며 계층간의 관계는 사용가능의 관계로 표현
-계층적으로 조직화될 수 있는 서비스로 구성된 어플리케이션에 적합
-장점 : 정보은닉의 원칙으로 높은 이식성 제공
-단점 : 추가적인 실행 시 오버헤드 발생 즉, 너무 많은 계층으로 성능 감소 발생 가능
MVC 스타일
-상호작용하는 어플리케이션을 모델, 뷰, 컨트롤러 컴포넌트로 구분
-모델 : 어플리케이션의 핵심기능 및 적절한 데이터의 캡슐화 수행
-뷰 : 사용하게 될 데이터를 엑세스 하기 위한 기능 제공
-컨트롤러 : 이벤트로서 사용자의 입력 사항 처리
-장점 : 동일한 모델에 대한 다양한 뷰 제공 및 뷰 동기화로 실시간 변경 데이터 제공
-단점 : 단순 어플리케이션에 적용 시 복잡도 증가
Client-Server 스타일
-여러 컴포넌트에 걸쳐서 데이터와 데이터를 처리하는 어플리케이션에 적합
-컴포넌트는 다른 컴포넌트에게 서비스를 요청함으로써 서로 커뮤니케이션 수행
-전형적인 예로 n티어 클라이언트 서버 모델이며, 3티어 클라이언트 서버 모델이 일반적
-장점 : 직접적으로 데이터를 분산시키고, 위치투명성 제공
-단점 : 서비스와 서버의 이름을 관리하는 레지스터가 없기 때문에 이용 가능한 서비스 탐색이 어려움
 
 
아키텍처 스타일
 
Pipe and Filters
스타일
-데이터의 스트림을 처리하는 시스템을 위한 구조 제공
-컴포넌트의 타입은 필터이고 커넥터는 파이프
-필터는 파이프를 통해 받은 데이터를 변형시키고 그 결과를 파이프로 전송
-장점 : 필터 교환과 재조합을 통한 높은 유연성 제공
-단점 : 상태정보 공유에 대한 고비용과 데이터 변화 과부화
Publish-Subscribe
스타일
-컴포넌트는 발생된 이벤트를 통해 서로 커뮤니케이션
-출판자(Publisher) : 이벤트를 발생시키는 컴포넌트
-구독자(Subscriber) : 이벤트를 받는 컴포넌트
-장점 : 컴포넌트 분리로 독립성 우수
Peer-to-Peer
스타일
-클라이언트-서버 스타일에서 대칭적인 특징 추가
-컴포넌트는 클라이언트와 서버의 역할 모두 수행
-장점 : 분산컴퓨팅 애플리케이션 구축 시 유연성 제공
Blackboard
스타일
-블랙보드, 지식자원의 집합, 컨트롤 컴포넌트로 구성
-결정적 해결 전략이 존재하지 않는 문제 해결에 유용
-장점 : 다양한 접근법 제공, 유지보수성, 가변성 제공, 재사용 가능한 지식자원
-단점 : 테스팅의 어려움, 완전한 해결책 보장 못함
Repository
스타일
-적어도 하나의 저장소에 지속성을 갖는 데이터를 저장하고 이 데이터를 여러 모듈에 사용
-이 스타일의 전형적인 예는 데이터베이스 시스템
-장점 : 대량의 데이터 저장, 공유모델 발행 가능, 중앙집중화 관리
-단점 : 데이터 모델의 사전 동의 필요, 데이터 분산의 어려움
 
4. 소프트웨어 아키텍쳐의 활용 방안
그림, 표 깨짐: 원본은 자료실에서 참조 
======================================================================

최근 뜨는 IT 기술에 대해 정리한 자료가 엄청 있는 곳 

현재 1,000여개가 있고 최종적으로 5,000개 이상을 등록할 예정입니다.

 

현재 설명 자료의 표와 그림 자료의 일부가 등록되지 않았으므로 자세한 정보는

아래 자료실에서 "합격방법서 자료실"의 66번 게시물을 참고하시기 바랍니다.

 

http://www.seri.org/forum/pehelp/  <== 옆을 클릭하시면 바로 연결 됩니다.

회원 가입도 간단합니다. (총 1분 소요^^)

 

모든 종목의 기술사 준비생에게 엄청난 도움을 주는 알짜 정보공유 포럼  
해당 포럼은 아주 좋은 포럼이며, 매우 유익한 포럼이 될 것입니다. *^^* 

http://www.seri.org/forum/pehelp/  <== 옆을 클릭하시면 바로 연결 됩니다.