SW 공학



1. SW 공학의 개요

 1-1. 정의

  - SW 개발, 운영, 유지보수, 폐기까지의 체계적인 접근을 위해 수학적, 과학적, 공학적 원리 및 방법을 적용하는 학문

 1-2. 특징

  - 원리: 경험, 시행착오의 결과를 체계화

  - 기법: 프로세스 수행의 순차적 절차

  - 언어: SW를 표현 실체화 하는 도구

  - 도구: SW 개발을 돕는 소프트웨어


2. SW공학의 원리 개념도, 요소

 2-1. SW공학의 원리


 2-2. SW공학의 원리 요소

 - 정형성과 엄격 : 정형화된 명세 및 엄격한 설계 (UML)

 - 관심사 분리 : 단계별, 역할별로 문제를 분리하여 해결 (설계/구현분리, AOP)

 - 모듈화 : 모듈간 결합도는 낮추고, 모듈내 응집도는 높임 (Class, 컴포넌트, 서비스)

 - 추상화 : 각 부분의 핵심정보 이외 생략 (설계 패턴

 - 변환예측 : 변화가 예상되는 부분의 분리 설계 (3 Tire / CS(Client & Server) /SOA

 - 일반화 : 구체적인 사실에서 일반성 추출 (CBD)

 - 점진화 : 개략적인 단계부터 구체적인 단계로 진화 (단위 -> 통합 TEST)

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


암달의 법칙(병렬처리의 한계, 성능평가)


1. 암달의 법칙의 개요

 1-1. 정의

  - 프로그램은 병렬처리가 가능한 부분과 병렬처리가 불가능한 순차처리 부분으로 구성되므로 프로세서를 아무리 병렬화하더라도 더 이상 성능이 향상되지 않는 한계가 존재한다는 법칙

 1-2. 의미

  - 병렬처리 한계: 병렬처리를 이용하여 얻을 수 있는 속도 향상에 대한 한계 제시

  - 성능평가: 병렬화가 가능한 부분, 불가능한 부분, 처리기 숫자를 고려한 성능 평가 기준 제시

  - 성능한계: 성능의 한계는 캐시, 메모리, 버스와 같이 제한된 자원을 프로세서가 서로 점유하려고 쟁탈하는 오버헤드에 의한 발생


2. 암달의 법칙의 개념도, 사례

 2-1. 암달의 법칙의 개념도

  - 병렬처리: 프로세서의 수가 증가하더라도 실행 속도 향상을 제한하는 요소를 갖고 있다는 법칙

  - 순차처리: 코드 비율이 0.05인 경우 프로세서의 수를 향상시키더라도 최대 속도 향상은 20%로 제한됨


 2-2. 사례

  - Sp(성능향상) = 1 / ((1-P) + P/S) (P: 병렬화 비율, S: 속도향상)

  - 어떠한 작업의 40%에 해당하는 부분의 속도를 2배로 늘릴 수 있다면, P는 0.4이고 S는 2이므로 성능 향상은 1 / ((1-0.4)+0.4/2) = 1.25


3. 암달의 법칙 활용

 1) S/W처리 효율 예측 : 단위 시간당 트랜잭션처리 효율성 예측에 활용

 2) H/W 병렬구성 효율성 예측 : CPU 병렬 구성의 효율성 모델링 도구로 활용

 (S= 1/ ((1-p) + p / n) : p: 동시에 처리 할 수 있는 작업의 비율, n : 프로세서의 수

 


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,



DBMS Optimizer(옵티마이저)


1. DBMS Optimizer (옵티마이저)의 개요

 1-1. 정의

 - 사용자의 다양한 요구에 따라 SQL문의 문법적 오류를 확인하고 가장 빠른 데이터 엑세스 경로(Plan)을 생성하고 선택하여 최적의 경로를 찾아주는 역할을 하는 DBMS의 핵심 엔진

 - 옵티마이저에 영향을 미치는 요소 : SQL 형태, 연산자 형태, 힌트사용, 분산DB, 인덱스/클러스터링, 통계정보, 옵티마이저 모드, DBMS 버전


 1-2. 목표

 - 전체 처리속도 최적화

 - 최초 응답속도 최적화


2. DBMS Optimizer (옵티마이저)의 개념도 및 요소 설명, 종류

 2-1. DBMS Optimizer (옵티마이저)의 개념도

2-2. DBMS Optimizer (옵티마이저)의 요소 설명

 1) Parse : 구문, 보안, Object 등의 체크 및 Simple Transformation을 수행

 2) Query Rewrite : 서브질의와 부의 병합을 수행하고, OR Expansion 작업을 수행

 3) Query Optimization : 질의에 대한 엑세스 경로를 결정

 4) QEP Generation : 질의실행계획 (질의를 실행하는데 필요한 상세 정보를 생성)

 5) Query Execution : QEP에 따라 SQL 문장을 실행


 2-3. DBMS Optimizer (옵티마이저)의 종류

 1) RBO : 사전에 실행할 SQL문의 순서를 규칙으로 설정하여 그 규칙에 따라 SQL문의 실행 순서를 결정하는 옵티마이저

 2) CBO: 실행 처리 방법들에 대한 비용을 산정하여 그중에 가장 적은 비용이 들어가는 처리방법들을 선택하는 옵티마이저


3. DBMS Optimizer (옵티마이저)의 발전방향

 1) RBO의 한계 : 추출해야하는 쿼리나 데이터가 복잡해지면서 단순 정해진 규칙대로 수행에 한계가 발생되어 CBO를 많이 사용함

 2) Self Learning Optimizer : 과거에는 단순히 오프젝트 및 시스템 통계로 부터 산정한 비용만으로 실행계획을 수립했으나 앞으로는 예상치와 수행결과를 비교하여 오류를 스스로 수정하여 최적화를 도출하는 옵치마이저로 발전 예상


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

클라우드 컴퓨팅(Cloud Computing)



1. 클라우드 컴퓨팅(Cloud Computing) 의 개요

 1-1. 정의

 - 인터넷 기술을 활용하여 다수의 고객들에게 높은 수준의 확장성을 가진 IT 자원들을 '서비스'로 제공하는 컴퓨팅

 - 거대한 IT 자원을 추상화, 가상화하여 동적 확장이 가능한 체계로 사용자가 필요한 만큼 네트워크를 통해 사용하는 컴퓨팅 서비스 환경


 1-2. 배경

 - 도입 니즈 증가: 기업들의 HW, SW 구매비용 절감 욕구 및 방대한 데이터 처리를 요구하는 Application의 수요증가

 - 기술의 발전 : 네트워크 고도화와 가상화와 같은 SW기술이 발전되면서 광법위한 분야의 SW와 IT 자원들이 인터넷을 통해 제공 될수 있는 환경 마련

 - 컴플라이언스 : 지구 온실가스 감축 의무에 따른 그린 IT에 대한 인식의 확산


2. 클라우드 컴퓨팅(Cloud Computing) 구성 및 구성요소

 2-1. 클라우드 컴퓨팅 구성

           - 사용자가 웹으로 서비스 요청시 프로비저닝 툴을 이용하여 자원을 가상화 및 분배하여 제공

 2-2. 클라우드 컴퓨팅의 구성요소

 1) User Interaction Interface : 클라우드 사용자와 클라우드간의 인터페이스

 2) Services catalog : 사용자가 요청할 수 있는 서비스의 리스트

 3) System Management : 사용 가능한 컴퓨터 리소스를 관리하기 위한 부분

 4) Provisioning tool : 사용자가 요청한 서비스를 수행하기 위해 클라우드로부터 컴퓨터 자원을 잘라내어 할당

 5) Monitoring and metering : 컴퓨터 자원이 특정한 사용자에게 할당되어 사용되는지에 대한 클라우드 전반의 트래킹 시스템 

 6) Servers : 시스템 관리툴에 의해 관리되며 가상 또는 실제 서버가 될 수 있음


 2-3. 클라우드 컴퓨팅의 서비스 유형

 - 인프라 서비스 모델: Public Cloud(일반), Private Cloud(내부), Hybrid Cloud(일반/내부 결합)

 - 서비스 종류 : 

 1) Saas(Software as a Service) : 응용 SW를 서비스로 제공

 2) PaaS(Platform as a Service) : SW 개발 환경을 서비스로 제공

 3) IaaS(Infrastructure as a Service) : 서버 인프라(CPU, Disk 등)를 서비스로 제공


3. 클라우드 컴퓨팅(Cloud Computing)의 적용시 고려사항

 - 데이터보안: 온라인을 통한 데이터 공유가 용이해진 만큼 해킹이나 악성코드에 대한 취약점이 존재

 - 서비스 신뢰: 아웃소싱 사업자에 의한 데이터가 관리되므로 민감한 정보 저장에 대해서는 클라우드 컴퓨팅 활용이 기피될 수 있음

 - 데이터 소유권 및 지적 재산권: 클라우드 컴퓨팅 서비스 제공자가 변경되거나 사업을 포기할 경우 데이터 소유권과 관련된 분쟁 발생가능성이 존재

 - 잠금 효과: 대용량의 데이터를 이전하는데 많은 비용이 소요될 수 있기 때문에 클라우드 사업자의 변경이 용이하지 않을 수 있음


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,



압축기술 (데이터 전송효율을 높이기 위한)



1. 압축 기술의 개요

1-1. 개념

 - Text, 멀티 미디어(오디오, 영상) 서비스를 위한 효과적 데이터 저장공간, 전송을 위해 부피를 줄이고(부호화), 원데이터로 복원(복호화)하는 기술

- 데이터를 더 작은 크기로 변환하는 인코딩, 원래 데이터로 복원하는 디코딩으로 이루어짐


1-2. 데이터 압축의 원리

 - 중복제거: 공간적 중복성 (연속되는 공간에서 상관되는 정보들), 시간적 중복성(현재 프레임과 이전 프레임 중 상관되는 정보)

 - 크기 축소: 압축률 = 압축 전 비트수 / 압축 후 비트수 >= 1

 - 압축 대상 특성 반영 : 텍스트(Run-Length, Huffman), 정지화상(JPEG, GIF, TIFF), 디지털 컨텐츠( MPEG1, MPEG2~4 )


2. 데이터 압축의 분류 및 압축 기법

2-1. 데이터 압축의 분류

 1) 무손실 압축 : 복원 후 압축전의 데이터와 완전 일치하는 방법 (Run-Length Coding, Huffman Coding 등)

     - 데이터의 통계적 특징 이용 효율적으로 압축 (텍스트, 프로그램, 의료영상)


 2) 손실 압축 : 복원 후 압축전의 데이터와 일치 하지 않는 방법 (예측 기법, 변환기법(FFT, DCT, 계층적 기법)

     - 연속 매체를 압축하는데 적상 ( 이미지, 사운드, 멀티미디어)


 3) 혼합 압축 : 손실압축과 무손실 압축 방법을 모두 사용 (JPEG, MEPG, H.264)

     - 영상 압축에서 많이 사용하는 방식, 매우 큰 압축률 (영상)

2-2. 데이터 압축 기법

 1) 반복순차 부호화

   - 연속길이 부호화 : 반복되는 코드와 개수를 코드로 작성 (영화 동일장면 연속, 음악 한음의 연속적인 구간)

   - 제로 및 공백 변호나 부호화 : 연속길이 부호화의 특별한 경우로 데이터 스트림에서 제로나 공백 문자는 제거


 2) 통계적 부호화

   - 허프만 부호화: 빈도수가 높은 코드에 가중치를 부여하여 새롭게 부호의 코드를 설정하는 방법

   - 산술 부화화 : 심볼의 표본값과 예측된 표본 값의 차를 부호화 하여 정보량을 감소 시킴


 3)  차분/예측 부호화, 변환부호화 등 존재


2-3. 데이터 압축시 장/단점

 1) 장점 : 공간 효율화, 시간 효율화, 프로세싱 효율화, 전송 효율화, ILM 실현(정보생명주기관리)

 2) 단점 : 자원 사용증가, SW 비용증가, SW 개발 복잡도 증가, 품질 저하 가능성, 효율성 저하 가능


3. 데이터 압축시 고려사항

 - 압축수준 : 문자수준, 단어 수준

 - 데이터 모델의 유형 선택 고려 : 정적, 적응, 반정적 모델 

 - 정확한 용도를 파악하여 용도에 알맞는 압축기법 사용 


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


GRC(Governance, Risk & Compliance)


1. GRC(Governance, Risk & Compliance)의 개요

1-1. 정의

 - 개별적 위험/규제 대응이 아닌 기업 전반의 위험관리, Compliance를 IT 거버넌스에 통합, 지속적. 효과성, 투명성을 확보하기 위한 전략


1-2. 배경

- 시대적 변화에 맞추어 리스크 요소들을 적절히 대응하며, 여러가지 법규 및 통제에 효과적으로 대응하기위하여 GRC 개념수립 필요

- 기업 전반의 여러가지 리스크의 정확한 인식 및 효과적인 관리 방안 필요


2. GRC의 개념도, 리스크 관리 절차

2-1. GRC의 개념도

 

 - Risk & Compliance 대응을 통한 IT 거버넌스 실현

2-2. GRC 달성을 위한 리스크 관리 절차

 1) 리스크를 평가하고 관리하기 위한 종합적인 체계 정착 및 프로세스 수립

 2) 중요 리스크 및 취약성 식별과 대응 계획의 수립, 기업가치의 평가

 3) 리스크 선호도와 수용 정도 결정, 추가 리스크 수용여부 의사결정

 4) 리스크 수용에 대한 책임과 권한의 설정


3. GRC의 문제점과 해결 방안

3-1. GRC의 문제점

 - GRC를 IT 차원의 것으로 여기는 오인식 문제

 - 기업 조직상 통합 GRC 추진 어려움

 - 리스크 관리 총 책임자 부재


3-2. GRC의 문제점 해결 방안

 - 전사적 통합 추진이 가능한 책임자와 전담/전문 조직구성

 - 기업 전반의 문제로 인식 전환을 위한 교육



블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


ISO/IEC 38500, IT Governance 국제표준




1. ISO/IEC 38500의 개요

1-1. 개념

 - 조직의 IT활용을 평가(Evaluate), 지휘(Direct), 모니터링(Monitoring)하는데 활용할 수 있는 원칙의 프레임 워크를 제공

 - 정의, 모델, 원칙, 원칙을 구현하기 위한 지침 


1-2. 목적

 - 대부분 조직들이 IT를 기본적인 경영 도구로 활용함

 - IT 없이는 효과적으로 작동 될수 없음

 - IT 활용을 전반적인 비즈니스 관점이 아니라 IT 활동의 기술, 재무, 일정에만 초점


2. ISO/IEC 38500의 모델과 원칙

2-1. ISO/IEC 38500 모델

 - 평가(Evaluate) : IT 활용에 대한 평가는 비즈니스 상의 내외부적 압력, 기술의 변화, 경제/문화/사회적 동향, 정치적 환경등을 고려함

 - 지시(Direct) : 비즈니스 목표를 이루기 위한 IT의 활용을 보장하는 계획과 정책을 준비하고 구현될수 있도록 지시

 - 모니터링(Monitoring) : 적적한 측정 체계에 따라 정책을 준수하는지, 수립된 계획과 비즈니스 목표에 대한 IT 성과 모니터링

2-2. ISO/IEC 38500 원칙

 1) Responsibility : 조직원들은 IT 제공/ 활용에 대한 책임/권한을 이해하고 수용

 2) Strategy : 경영 전략은 IT의 역량을 고려하고, IT 계획은 조직의 니즈를 충족시킴

 3) Acquisition : IT 구매는 투명한 의사결정을 통해서 타당한 목적 하에 이루어진다.

 4) Performance : IT는 요직의 요구를 충적시킨다.

 5) Conformance : IT는 모든 규정/법규를 준수한다.

 6) Human Behavior : IT는 인간행동적 요인을 존중한다.


3. ISO/IEC 38500 표준 활동을 통한 효과

- 준수 : 이사진이 IT의 활용에 대한 책임 (법규, 계약) 준수를 지원

(보안표준, 프라이버시 법규, 스팸 법규, 상거리 법규, 지적재산권 등)


- 조직의 성과 : 이사진이 IT 활용이 조직의 성과에 기여하는 것을 지원

(비즈니스 연속성 확보, 자원의 효울적인 배분, 서비스, 시장, 비즈니스의 혁신 비용절감, ROI 실현 등)









블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


경영-IT Governance



1. IT Governance의 개요

1-1. 정의

- 기업의 전략과 목표에 부합되도록 IT와 관련된 리소스와 프로세스를 통제하고 관리하는 체계

- IT활용에 있어 바람직한 행동을 지원하기 위한 의사결정 및 책임에 대한 Framework(가트너)


1-2. 필요성

- Coporate Governance 중요성 증대

- IT의 중요성

- 기업의 위험 증대

- 의사결정의 Agility 요구


2. IT Governance의 개념도, 구성요소

2-1. IT Governance의 개념도

               - IT Governance 목표를 위한 원칙/표준과 관리 프로세스에 대한 전체 개념도

2-2. IT Governance의 구성요소

1) 전략적 연계 : 경영, 사업, 기술 전락의 Alignment를 통한 최적의 의사결정 방향제시

   - ITA/EA, ISP, PPM, BPR

2) 가치제공 : 전락적 비즈니스 목표 달성을 위한 개별 비즈니스 프로세스 최적화

    - ERP, CRM, SCM, BPM

3) 위험관리 : 재해복구 및 비즈니스 연속성 확보를 위한 전사적 위험관리

    - DR, BCP, ERM, ISO27000 시리즈

4) 자원관리 : 비즈니스 요구사항에 신속히 대응하기 위한 IT 자원 활용의 극대화

    - ITIL/ITSM, ITAM

5) 성과측정 : 무형자산의 가치를 포함한 IT ROI 평가

    - IT-BSC, IT_ROI, KPI


2-3. IT Governance 구현을 위한 프레임워크, 참조모델

1) 프레임워크: IT Governance Framework(ITGI), COBIT, 의사결정 Framework, IT Governance Model, COSO

2) 참조모델: Cobit, EA/ITA, CMMI/SPICE, ITIL, IT BSC, ISO 38500


3. IT Governance 발전 전망

- IT 통제는 IT 부서에서부터 CEO,CFO등이 무엇을 해야 하는지, 전사차원에서 설계

- IT 운영을 구성하는 기능, 프로세스, 조직에 대한 3위 일체 필요

- 기업의 특성에 맞는 구축 및 프로세스 정립


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,