* 현행 시스템 파악
▶ 단계 및 각 활동별 주요 특징
▷ 구성/기능/인터페이스 파악
- 시스템 구성 현황 파악
- 시스템 기능 파악
- 시스템 인터페이스 현황 파악
▷ 아키텍처 및 소프트웨어 구성 파악
- 아키텍처 파악
- 소프트웨어 구성 파악
▷ 하드웨어 및 네트워크 구성 파악
- 시스템 하드웨어 현황 파악
- 네트워크 구성 파악
▶ 목표시스템 정의 절차 및 산출물
▷ 1단계 : 현행 시스템 분석
1. 현행 시스템 구성/기능/인터페이스 현황 파악 단계
- 산출물 : 현행 시스템 분석서, 현행 시스템 기능 정의서, 현행 인터페이스 현황 정의서
2. 현행 시스템 아키텍처 및 소프트웨어 구성 현황 파악 단계
- 산출물 : 현행 시스템 아키텍처 구성도, 현행 소프트웨어 구성도
3. 현행 시스템 하드웨어 및 네트워크 구성 현황 파악 단계
- 산출물 : 현행 하드웨어 구성도, 현행 네트워크 구성도
▷ 2단계 : 목표시스템 아키텍처 선정
- 목표 시스템 소프트웨어 및 시스템 아키텍처 정의
- 아키텍처 평가
- 산출물 : 소프트웨어 아키텍처 정의서, 시스템 아키텍처 정의서, 아키텍처 평과 결과서
▷ 3단계 : 목표시스템 개발표준 정의
- 목표시스템 모델링 표준 정의
- 프로그램 표준 정의
- 개발환경 표준 정의
- 산출물 : 모델링 표준 정의서, 프로그램 표준 정의서, 개발환경 표준 정의서
① 플랫폼 기능 분석
☞ 소프트웨어 플랫폼 의미. 응용 소프트웨어 프로그램 구동시키는데 쓰이는 하드웨어와 소프트웨어의 결합
☞ 소프트웨어 개발과 운영을 쉽게 하고 한 번 만들어진 소프트웨어는 동일한 플랫폼에서 언제, 어디서 실행시키더라도 손쉽게 구동 될 수 있도록 만들어진 결합체
▶ 종류
▷ 하드웨어 플랫폼
- 표준 기술 통해 다양한 제품 만들 수 있는 기술 도구
- x86서버, 메인프레임, 데스크탑
▷ 소프트웨어 플랫폼
- 소프트웨어 쉽게 개발 및 구동 위한 기술 도구
- 리눅스, 윈도우, 자바, 닷넷, iOS, 안드로이드
▷ 서비스 플랫폼
- 다양한 서비스 제공할 수 있는 기술 환경
- 페이스북, 인스타그램, 트위터
▶ 기능
▷ 소프트웨어 운영 환경 제공
- 소프트웨어 구동에 필요한 하드웨어 자원 할당 및 프로세스 관리 기능 등 공통 실행환경 제공
▷ 소프트웨어 개발 및 운영 비용 감소
- 동일플랫폼 활용 시 모듈 재활용, 비용 절감 가능
▷ 소프트웨어 개발 생산성 향상
- 개발 프레임워크 통한 기간 단축, 품질 향상
▷ 동일 플랫폼간 네트워크 효과 유발
- 개발자, 운영자, 사용자 간 커뮤니티 형성
▶ 기능 특성 확인 방법
▷ 기능 테스트
- 현재 시스템 플랫폼 평가 가능한 기능 테스트 수행
▷ 사용자 인터뷰
- 현재 시스템 사용자 대상으로 플랫폼 기능 불편함 인터뷰
▷ 문서 점검
- 현재 시스템 플랫폼과 유사한 플랫폼 기능 자료 분석
② 플랫폼 성능 분석
▶ 플랫폼 성능 특성 알아야 하는 이유
- 현재 시스템에 구성된 플랫폼 성능 분석해야 사용자가 사용하기에 속도가 느린지 빠른지 알 수 있음
- 사용자 요구사항 중 성능에 대한 요구사항은 현재 시스템 플랫폼 성능 느려서 제기되는 요구사항일 가능성 높음
▶ 성능 특성 확인 방법
▷ 성능 테스트
- 현재 시스템 플랫폼 대상으로 성능/부하 테스트 수행
▷ 문서 점검
- 현재 시스템 플랫폼과 유사한 플랫폼 성능 자료 분석
▷ 사용자 인터뷰
- 현재 시스템 사용자와의 인터뷰 통해 성능 확인
▶ 성능 측정 주요 지표
▷ 응답 시간 (Response Time)
- 업무 처리에 소요되는 시간
- 예 : 평균 응답속도 3초 이내
▷ 업무량/처리량 (Throughput)
- 업무 피크 시간 동안 시스템이 처리해야 하는 단위 시간 당 최대 업무처리 건수
- 예 : 처리량 500TPS 이상
▷ 가용성 (Availability)
- 시스템이 정상적으로 사용 가능 시간
- 예 : 가용성 24 X 365 보장
▷ 사용률 (Utilization)
- CPU, 메모리, 디스크, 네트워크 등 사용 비율
- 예 : CPU 90% 이하
③ 운영체제 분석
☞ 운영체제는 하드웨어와 소프트웨어 자원 관리하고 컴퓨터 프로그램 위한 공통 서비스 제공하는 소프트웨어
☞ 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원 관리하는 자원 관리자
▶ 운영체제 역할
- 시스템 제어하며 컴퓨터와 사용자 간 상호교신 담당
- 자원 관리하고, 사용자와 컴퓨터 간 인터페이스
- 제한된 컴퓨터 시스템 자원을 보다 효율적으로 관리하고 운영
▶ 운영체제 분석
- 현재 운영 체제 종류, 버전, 패치 일자, 백업 주기 등 분석
- 운영 체제 종류는 윈도우, 리눅스, 유닉스 등 매우 다양
▶ 운영체제 종류 및 특징
▷ Windows (저작자 : Microsoft)
- 중소 규모 서버, 개인용 PC, Tablet PC, Embedded System
▷ UNIX (저작자 : IBM(AIX), HP(HP_UX), SUM(Solaris))
- 대용량 처리, 안정성 요구되는 서버, Server, NAS, Workstation
▷ Linux (저작자 : Linux Torvalds)
- 중/대규모 서버
▷IOS (저작자 : Apple)
- 스마트폰, 태블릿 PC, Music 플레이어 등
▷ Android (저작자 : Google)
- 스마트폰, 태블릿 PC
④ 네트워크 분석
☞ 컴퓨터 네트워크 또는 컴퓨터망은 노드들이 자원 공유할 수 있게 하는 디지털 전기통신망의 하나
☞ 분산되어 있는 컴퓨터를 통신망으로 연결한 것
▶ 구성요소
▷ 호스트 (Host)
- 최종 사용자가 사용하는 장치로 서버, 컴퓨터, 노트북, 스마트폰 등 의미
▷ NIC (Network Interface card)
- 호스트를 네트워크에 연결시키고 데이터 패킷 전송과 수신 처리하는 장치
▷ 미디어 (Media)
- 네트워크에서 전기적 신호 전달해 주는 매체이며 동축케이블, LAN 케이블, 광케이블 등 있음
▷ 허브 (Hub)
- 여러 대 호스트, 네트워크 장비 연결하는 장치. 상호 간 통신 할 수 있게 데이터 전송 중계
▷ 스위치 (Switch)
- 허브보다 향상된 네트워크 처리 용량과 속도 제공. 데이터 링크 계층에서 동작함
▷ 라우터 (Router)
- 네트워크 간 데이터 전송 위해 최적 경로 설정하여 데이터 전송하는 장치
- 전송할 데이터 수신 주소 읽어 경로 설정해 주는 교환기 같은 역할을 하며 네트워크 계층에서 동작
▶ OSI 7 Layer
- 계층 간 독립성 보장하며 변경이 다른 계층에 영향 주지 않음
- 각 계층은 다른 계층에 대해 알 필요 없고 자신의 계층에서 정보 감추는 캡슐화 가능
▷ 응용 계층 (Application Layer)
- 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성
- 주요 프로토콜 : HTTP, TELNET, DHCP, DNS, FTP, SSH, SMTP, SNMP
- 단위 : Data
▷ 표현 계층 (Presentation Layer)
- 데이터 형식 설정과 부호 교환, 암호화, 해독
- 주요 프로토콜 : MIME, TLS, SSL, JPEG, MPEG, SMB, AFP
- 단위 : Data
▷ 세션 계층 (Session Layer)
- 응용 프로세스 간 연결 접속 및 동기 제어
- 주요 프로토콜 : SSH, TLS, RPC
- 단위 : Data
▷ 전송 계층 (Transport Layer)
- 프로세스 간 논리적 통신 서비스 제공
- 패킷들의 전송 유효 확인, 실패한 패킷은 재전송하여 신뢰성 있는 통신 보장
- 주요 프로토콜 : TCP(3-Way Handshaking), UDP, SCTP, RTP
- 단위 : Segment
▷ 네트워크 계층 (Network Layer)
- 단말 간 시스템끼리 Data 전송하기 위한 최선 통신 경로 선택 제공
- 주요 프로토콜 : IP, ARP, ICMP, IGMP, IPsec
- 단위 : Packet
▷ 데이터 링크 계층 (Data Link Layer)
- 인접 시스템 간 데이터 전송, 전송 오류 제어
- 오류 검출/재전송/흐름 제어
- 주요 프로토콜 : Ethernet, ATM, PPP
- 단위 : Frame
▷ 물리 계층 (Physical Layer)
- 통신 회선으로 Data 나타내는 '0'과 '1' 비트 정보를 회선에 내보내기 위한 전기적 변환이나 기계적 작업 담당
- 주요 프로토콜 : RS-485, RS-232, X25/21
- 단위 : Bits
▶ 현재 시스템 네트워크 분석
- 현재 시스템이 구성된 네트워크 구조 분석
- 사내 인터넷 데이터 센터 (IDC), 백본망, 라우터, 스위치, 방화벽 등 분석
▶ OSI 7 Layer 와 TCP/IP 특징 비교
구분 | OSI 7 Layer | TCP/IP |
목적 | 네트워크 통신 모델 표준 제시 | 네트워크 통신 구현 |
계층 | 7 계층 | 4 계층 |
속성 | 표준 참조 모델 | 프로토콜 규약 |
계층 |
|
⑤ DBMS 분석
☞ 사용자와 다른 APP, DB 등과 상호 작용하여 데이터 저장하고 분석하기 위한 컴퓨터 소프트웨어
▶ 기능
- 데이터 저장과 개발 및 유지보수 측면에서 중복성 통제
- 다중 사용자 간 데이터 공유
- 권한 없는 사용자의 데이터 접근 통제
- 다양한 사용자에게 다양한 형태의 인터페이스 제공
- 데이터 사이에 존재하는 복잡한 관련성 표현
- 데이터베이스 무결성 보장
- 백업과 복구 기능 제공
▶ 분석 시 주요 고려사항
▷ 가용성
- 시스템 장시간 운영에 따라 발생 가능한 OS 고유 장애 발생 가능성
- DBMS 결함 등에 따른 패치 설치 관련 재가동, 백업/복구 편의성, DBMS 이중화 및 복제 등
▷ 성능
- 대규모 데이터 및 대용량 트랜잭션 처리 성능, 튜닝 옵션 지원, 최소화된 설정, 비용 기반 쿼리 최적화 지원 등
▷ 상호호환성
- 설치 가능한 OS 종류, JDBC, ODBC와 같은 인터페이스 호환 등
▷ 구축비용
- 라이선스 정책 및 비용, 유지관리 비용 등
▶ 주요 유형 및 특징
구성 | RDBMS | NoSQL |
정의 | 하나의 데이터를 관계로 구조화하여 2차원 테이블 형식으로 저장한 DB | 수평적 확장 가능하며 다수 서버들에 데이터 복제 및 분산 저장 가능한 DB |
데이터 구성 | 테이블 | 문서, Key-Value, Wide-column |
스키마 | 사전정의 스키마 | 다이나믹 스키마 |
트랜잭션 정책 | ACID - 원자성 (Atomicity) - 일관성 (Consistency) - 독립성 (Isolation) - 지속송 (Durability) |
BASE - Basically Available - Soft-State - Eventually Consistency |
확장 방식 | 수직적 확장 | 수평적 확장 |
조회 방식 | Sort, Join, Grouping, Index 등 다수 | 기본적으로 Put/Get 지원 |
데이터 일관성 | 강한 일관성 | 약한 일관성 |
목표 | 트랜잭션 보장 집중 | 가용성 집중 |
시스템 측면 | 엄격한 데이터 관리 | 성능 중시 |
대표 제품 | Oracle, MySql, MS-SQL 등 | MongoDB, CouchDB, Redis 등 |
▶ 트랜잭션 특성
▷ 원자성 (Atomicity)
- 분해할 수 없는 최소 단위
- 연산 전체가 성공 또는 실패
- 한 가지라도 실패할 경우 전체가 취소되어 무결성 보장 (All or Nothing)
▷ 일관성 (Consistency)
- 트랜잭션 실행 성공 후 항상 모순 없이 일관성 있는 DB 상태 보존
▷ 고립성 (Isolation)
- 현재 수행 중인 트랜잭션 완료 시까지 트랜잭션이 생성한 중간 연산 결과에 다른 트랜잭션 접근 불가
▷ 영속성 (Durability)
- 성공 완료된 트랜잭션 결과는 영구적으로 DB에 저장됨
▶ 논리/물리 테이블 구조 파악
- 각 테이블 정규화 정도, 조인 난이도 파악
- 각종 프로시저, JOB, 트리거 등 분석
* 가상화 기능 분석
☞ 물리적으로 분산된 시스템을 논리적으로 통합하거나, 하나의 시스템을 논리적으로 분할하여 자원 효율적으로 사용하는 기술
☞ 프로세서, 메모리, 스토리지, 네트워크 포함하며, 이들로 구성된 서버나 장치들 가상화함으로써 높은 수준의 자원 사용율과 분산 처리 능력 제공
▶ 유형
▷ 서버 가상화
- 서버 물리적 자원을 추상화. OS 또는 APP이 가상화 계층 통해 자원 접근
- 종류 : 호스트 가상화, 반가상화, 전가상화, 하이퍼바이저 가상화, 컨테이너 가상화
▷ 스토리지 가상화
- 물리적인 스토리지를 논리적인 스토리지로 추상화
- 종류 : 호스트 기반, 스토리지 장비 기반, 네트워크 기반 방식
▷ 네트워크 가상화
- 물리적인 네트워크 자원을 논리적인 단위로 가상화
- 종류 : VLAN, VPN, Channel Bonding, 가상 NIC
▷ 데스크탑 가상화
- 데스크탑 컴퓨팅환경을 서버에서 제공하는 가상화
- 종류 : SBC(Server-Based Computing), VDI (Virtual Desktop Infrastructure)
▶ 하이퍼바이저 방식 가상화와 컨테이너 방식 가상화 비교
구분 | 하이퍼바이저 방식 가상화 | 컨테이너 방식 가상화 |
개념 | 공유 자원 관리하는 하이퍼바이저 통해 가상머신 생성하여 가상화하는 방식 | 하이퍼바이저 없이 리눅스 컨테이너 기술 바탕으로 응용 프로그램을 격리된 상태에서 실행하는 가상화 방식 |
이식성 | 가상머신단위로 이동, 복제, 생성되는 모놀리딕(Monolithic) 구조 | 응용 프로그램 단위로 실행에 필요한 모든 환경이 포함되어 배포되는 마이크로서비스(Micro-Service) 구조 |
효율정 | 하이퍼바이저 게스트 OS의 성능 오버헤드 존재 | 서버 OS 커널 공유하므로 필요한 만큼 유연하게 자원 사용 가능 |
용량 | Gbyte 단위 용량 가상머신 실행 | Mbyte 단위 컨테이너 이미지 실행 |
안정성 | 독립된 가상머신들로 안정적인 운영 가능 | - OS 커널 공유하므로 하이퍼바이저 방식에 비해 장애 영향 받음 - 컨테이너 오케스트레이션 플랫폼으로 해결 |
▶ 장점
▷ 물리시스템 통합
- 여러 대 물리적 시스템을 하나의 논리적 가상머신으로 통해 관리 가능
▷ 하드웨어 종속성 해결
- 하드웨어를 가상화하여 제공하기 때문에 특정 모델이나 업체에 종속되지 않음
▷ 리소스 효율성 증가
- 일반적인 서버 시스템은 리소스 20% 미만 밖에 사용하지 않아 낭비 많음
- 가상화 이용할 경우 70% 이상 사용 가능해 효율성 증가됨
▷ 구축비용 절감
- 유휴장비 또는 자원 활동도 낮은 서버에 가상 시스템 구성하고 네트워크 가상으로 구성함으로서 물리적 제약 극복하고 시스템 구매 비용 절감됨
▶ 가상화 시스템 분석
▷ 시스템 장비 구성 분석
- 하드웨어, 소프트웨어, 네트워크 등 가상화 시스템 유형별 내역 분석
▷ 기능 요구사항 분석
- 시스템이 제공해야 하는 기능이나 사용자가 수행해야 하는 기능 분석
▷ 테스트 요구사항 분석
- 시스템이 제대로 운영되는가를 테스트하고 점검하기 위한 요구사항 분석
▷ 보안 요구사항 분석
- 정보 자산의 기밀성, 무결성, 가용성 확보 위해 시스템 데이터 및 기능, 운영 접근 요구사항 분석
⑦ 클라우드 컴퓨팅 분석
☞ 네트워크 통해 가상화된 컴퓨터 시스템 리소스 요구하는 즉시 서비스 형태로 제공하는 방식
▶ 서비스 유형
▷ IaaS
- 제공 기능 : 인프라 서비스
- 가상화 기술, 네트워크 기술 통해 물리적인 컴퓨팅 자원 분할, 통합, 관리하는 가상머신 환경 서비스 제공
▷ PaaS
- 제공 기능 : 플랫폼 제공 서비스
- 가상 OS, 프로그래밍 언어 실행 환경, DB, 웹 서버 등 자원 및 개발도구 제공
▷ SaaS
- 제공 기능 : 온디맨드(on-demand) 서비스
- 클라우드 상에서 응용 소프트웨어와 DB 등 제공
- 구글 Docs, 네이버 클라우드, Dropbox 등
▶ 서비스 종류
▷ 사설 클라우드 (Private Cloud)
- 기업 내부 데이터 센터에 클라우드 구축
- 내부 가상화 시스템에 S/W, 데이터 저장 관리
- 데이터 보안 장점
▷ 공용 클라우드 (Public Cloud)
- 클라우드 업체가 제공하는 서비스를 비용 지불하고 이용
- 하드웨어, SW 등 사용한 만큼 비용 지불하여 사용, 확장성
▷ 하이브리드 클라우드 (Hybrid Cloud)
- 사설, 공용 클라우드 모두 사용
- 공용 클라우드 사용 시 보안 문제와 사설 클라우드 사용 시 비용 문제 해결
▶ 시스템 분석
▷ 클라우드 컴퓨팅 시스템 기능 분석
- IaaS, PaaS, SaaS 등 제공방식 및 Private, Public, Hybrid 등 구축 방식에 따른 제공 기능 분석
▷ 표준 요구사항 분석
- 하이퍼바이저 호환성, 범용 OS 제공 및 기존 업무 시스템 연계 위한 API 제공 기능 분석
▷ 멀티텐넌시 및 안정성, 확장성 요구사항 분석
- 다수 사용자 동시 접속 시 동작 보장하는 멀티텐넌시 환경 지원여부 확인
- 안정적인 서비스 수준 보장하는 서비스 수준협약(SLA) 제공 여부 확인
- 부하에 따라 탄력적으로 시스템 자원 확장되는지 확인
▷ 보안 요구사항 분석
- 모든 데이터가 클라우드 저장소에 집중됨에 따라 네트워크 장애, 해킹 등 보안 대책 요구사항 분석
▷ 비용 요구사항 분석
- 클라우드 서비스 구축 및 유지 관리에 소요되는 비용 요구사항 분석
⑧ 비즈니스 융합 분석
☞ 비즈니스 : 재화나 서비스 등 유무형 가치 제공하고 그에 상응하는 대가 보상받는 등 영리 목적으로 행하는 모든 활동
☞ 비즈니스 모델 : 고객 가치 창출하고 시장에서 성공적인 경쟁 하기 위해 고안된 조직 목표, 전략, 프로세스, 기술 등 포함하는 요소들의 구성체
☞ 비즈니스 융합 : 산업 또는 시장 간 경계 허물고 ICT등을 통한 새로운 전달방식 도입함으로써 비즈니스 모델 적용범위를 확대시키는 것 의미
▶ 유형
▷ 제품 융합
- 2가지 이상 제품 기능과 속성 하나로 모음
▷ 서비스 융합
- 2가지 이상 서비스 기능과 속성 하나로 모음
▷ 제품과 IT 융합
- 기존 제품에 IT 부품 또는 자재, SW 등 추가
▷ 서비스와 IT 융합
- 기존 서비스에 IT 부품 또는 자재, SW 등 추가
▷ 제품의 서비스화
- 제품에 자사 또는 타사 서비스 부가하여 서비스 제공
▷ 서비스의 제품화
- 서비스를 제품화 또는 장비, 기기로 전환
▷ 제품과 서비스 통합
- 사용자 요구에 부합하는 시스템 또는 솔루션
▶ 비즈니스 융합 분석
▷ 고객 분석
- 비즈니스 모델 상에서 사업자에게 수익 제공하는 참여자 식별하고 분석
▷ 제품 및 서비스 분석
- 비즈니스 모델 상에서 자사가 제공하는 상품 또는 서비스 식별 및 분석
- 비즈니스 융합 참여자 간 제공하는 서비스와 제공받는 서비스 식별 및 분석
▷ 사업구조 분석
- 상품 및 서비스 제공자, 소비자 등 참여자 간 관계와 구조 식별 및 분석
'정보처리기사 > 필기' 카테고리의 다른 글
[정보처리기사] Part01-01-2. 요구사항 확인 (2) (0) | 2022.02.24 |
---|---|
[정보처리기사] Part01-01-2. 요구사항 확인 (1) (0) | 2022.02.24 |
[정보처리기사] Part05-01-1. 소프트웨어 개발방법론 선정 (1) (0) | 2022.02.16 |
[정보처리기사] Part04-02-3. 라이브러리 활용 (0) | 2022.02.16 |
[정보처리기사] Part04-02-2. 언어특성 활용 (0) | 2022.02.16 |
댓글