Chimy's Program
정보처리기사 실기 - 요구사항 확인 : 현행 시스템 분석 본문
정보처리기사 실기 - 요구사항 확인 : 현행 시스템 분석
현행 시스템 파악의 정의 및 목적
ⓞ 현행 시스템 파악의 정의
- 현행 시스템의 하위 시스템 구성, 제공하는 기능, 다른 시스템들과 주고 받는 정보, 사용 기술요소, 사용 소프트웨어 및 하드웨어, 네트워크는 구성 등을 파악하는 활동
ⓞ 현행 시스템 파악의 목적
- 향후 개발하고자 하는 시스템의 개발범위 및 이행방향성 설정에 도움
ⓞ 현행 시스템 파악 절차
- 구성/기능/인터페이스 파악 → 아키텍처 및 소프트웨어 구성 파악 → 하드웨어 및 네트워크 구성 파악
⑴ 구성/기능/인터페이스 파악
- 시스템 구성 현황 파악
- 시스템 기능 파악
- 시스템 인터페이스 현황 파악
⑵ 아키텍처 및 소프트웨어 구성 파악
- 아키텍처 파악
- 소프트웨어 구성 파악
⑶ 하드웨어 및 네트워크 구성 파악
- 시스템 하드웨어 현황 파악
- 네트워크 구성 파악
현행 시스템 구성/기능 및 인터페이스
ⓞ 현행 시스템 구성 현황
- 현행 시스템 구성 현황은 조직의 주요 업무를 처리하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 기술
ⓞ 현행 시스템 구성 현황 작성 시 고려 사항
- 각 업무에 속하는 단위 업무 정보시스템들의 명칭, 주요 기능들을 명시함으로써 조직 내 존재하는 모든 정보시스템의 현황을 파악
ⓞ 기능 현황
- 단위 업무 시스템이 현재 제공하는 기능 기술
ⓞ 기능 현황 작성 시 고려 사항
- 단위 업무 시스템에서 제공하는 기능을 주요기능과 하부기능으로 구분하여 계층형으로 표시
ⓞ 인터페이스 현황
- 단위 업무 시스템이 다른 단위 업무 시스템과 주고받는 데이터 종류, 형식, 프로토콜, 연계유형, 주기 명시
ⓞ 인터페이스 현황 작성 시 고려 사항
- 중요한 고려사항 : 형식(format), 통신규약, 연계유형
- 형식 : XML, 고정 포맷, 가변 포맷
- 통신규약 : TCP/IP, X.25
- 연계유형 : EAI(기업 내 애플리케이션 간 상호연동이 가능토록 통합), FEP(메인 프레임 통신제약을 위한 전용 컴퓨터)
현행 시스템 아키텍처 및 소프트웨어
ⓞ 현행 시스템 아키텍처 구성도
- 기간 업무를 수행하기 위해 어떤 기술요소를 사용하는지 최상위 수준에서 그림으로 표현
ⓞ 현행 시스템 아키텍처 구성도 작성 시 고려 사항
- 단위 업무 시스템별로 아키텍처가 다른 경우 핵심되는 기간 업무 처리 시스템이 기준
ⓞ 전자정부 모바일 공통 컴포넌트 적용 아키텍처 예시(전자정부 프레임워크 v3.0)
ⓞ 소프트웨어 구성도
- 단위 업무 시스템의 업무 처리를 위해 설치되어 있는 소프트웨어들의 제품명, 용도, 라이선스 적용 방식, 라이선스 수 명시
ⓞ 소프트웨어 구성도 예시
사용자 PC | 단위업무 AP서버 | 단위업무 DB서버 |
그룹웨어 클라이언트 모듈 | 단위업무 응용프로그램 | 단위업무 배치프로그램 |
화면 클라이언트 모듈 | 화면 서버 모듈 | 보안프로그램 |
보고서 클라이언트 모듈 | 보고서 서버모듈 | DBMS |
보안프로그램 | 보안프로그램 | 운영체제 |
Web Browser | WAS | |
운영체제 | JVM | |
운영체제 |
ⓞ 시스템별 소프트웨어 현황 작성 예시
구분 | 시스템 명 | SW 제품명 | 용도 | 라이선스 적용방식 |
라이선스 수 |
기간업무 | 단위 업무 A 시스템 |
Apache Tomcat |
WAS | 오픈 소스 Apache License |
|
MySQL | 데이터베이스 | GPL, 상용 |
ⓞ 소프트웨어 구성도 작성 시 고려 사항
- 시스템 구축 시 인프라 구축 비용에서 하드웨어 비용과 소프트웨어 비용이 많음
- 상용 소프트웨어 경우 라이선스 적용 방식 기준(사이트, 서버, 프로세서, 코어, 사용자 수), 보유 라이선스 수량 파악 중요
하드웨어 및 네트워크
ⓞ 하드웨어 구성도
- 단위 업무 시스템의 위치, 운용되는 서버, 서버의 주요사양(CPU 처리 속도, 메모리 크기, 하드디스크의 용량), 수량, 이중화 적용 여부 명시
ⓞ 시스템별 하드웨어 현황 작성 예시
구분 | 시스템 명 | 서버 용도 | 제품명 | 주요 사양 | 수량 | 이중화 |
기간업무 | 단위 업무 A 시스템 | AP 서버 | 서버 제품명 A1 | CPU 4core : Memory : 8GB HDD : 500GB |
1 | N |
DB 서버 | 서버 제품명 A2 | CPU 8core : Memory : 6GB HDD : 1TB |
1 | N |
ⓞ 하드웨어 구성도 작성 시 고려 사항
- 이중화는 기간 업무 서비스 기간, 장애 대응 정책에 따라 필요성 결정
- 현행 시스템에서 이중화가 적용된 경우 목표 시스템에서도 이중화가 필요한 경우가 대부분
- 이에 따라 인프라 구축 기술 난이도 및 비용 증가 가능성 존재
ⓞ 하드웨어 구성도 예시
ⓞ 네트워크 구성도
- 업무 처리 시스템들의 네트워크 구성을 그림으로 표현
ⓞ 네트워크 현황 작성 예시
위치 | 용도 | 장비 제품명 | 주요 사양 | 수량 | 비고 |
전산 센터 | 방화벽 | 제품명 | 2 | ||
IDC | 라우터 | 제품명 | 1 |
ⓞ 네트워크 구성도 작성 시 고려 사항
- 네트워크 구성도의 작성으로 서버의 위치, 서버 간의 네트워크 연결 방식 파악
- 네트워크 구성도로 조직 내 서버들의 물리적 위치관계 파악, 보안 취약성 분석 및 대응, 네트워크 장애 발생 추적 및 대응 등 용도로 활용
ⓞ 네트워크 구성도 예시
개발 기술 환경
ⓞ 개발 기술 환경 정의
- 개발 기술 환경 정의 시 운영체제, DBMS, 미들웨어 오픈 소스 순으로 살핌
- 자주 사용되는 WAS 선정 시 고려 사항에 대해 기술, 오픈 소스 사용 시 주의 사항과 저작권 관련 정보 제시
ⓞ 개발 기술 환경 정의 시 고려 사항
⑴ CPU 용량산정
- OLTP/Batch/DB 서버
- Web/WAS 서버
⑵ 메모리 용량산정
- 종류 및 특징
- 고려 사항
⑶ 디스크 용량산정
- WAS 종류 및 특징
- 고려 사항
⑷ 오픈소스
- 저작권 등 고려 사항
운영체제 주요 특징 및 고려 사항
ⓞ 운영체제(OS: Operating System)의 정의
- 하드웨어와 소프트웨어 리소스 관리, 프로그램을 위한 공통 서비스를 제공하는 소프트웨어
ⓞ 운영체제의 종류 및 특징
종류 | 저작자 | predecessor | 비용 및 라이선스 | 주요 용도 |
Windows | Microsoft | OS/2, MS-DOS | 유상, 다양한 라이선스 | 중소 규모 서버, 개인용 PC, Tablet PC, Embedded System |
UNIX | IBM(AIX), HP(HP-UX), SUN(Solaris) | UNIX System V, SunOS | 유상, 다양한 라이선스 | 대용량 처리, 안정성이 요구되는 서버, Server, NAS, Workstation |
Linux | Linus Torvalds | Linux kernel | 무료, GNU GPLv2 | 중대 규모 서버 |
IOS | Apple | OS X NeXTSTEP, BSD | 하드웨어에 번들(Budle) | 스마트폰, 태블릿 PC, Music 플레이어 |
Android | Linux | 무료, Apache 2.0, GNU GPLv2 | 스마트폰, 태블릿 PC |
- windows : 유지 및 관리 비용 저렴
- Linux : 하드웨어 및 소프트웨어 소유비용이 가장 적음
- UNIX : 안정적, 신뢰 가능, 대용량 처리
- 32bit 운영체제 : 4GB 메모리(사용자 메모리 2GB)까지 엑세스 가능
- 64bit 운영체제 : 4GB 메모리이상 엑세스 가능
- 시스크(CISC, Complex Instruction Set Computer) 설계 하드웨어 : windows, Linux 사용 가능
- 리스크(RISC, Reduced Instruction Set Computer) 설계 하드웨어 : UNIX 사용 가능
- IA(Itanium Architecture)-64칩 : HP와 Intel이 만듦, 다양한 운영체제 지원
- RISC 설계 방식인 ARM 칩 : 스마트폰이나 태블릿에 사용, IOS, Android 등 운영체제 지원
ⓞ 운영체제 관련 요구사항 식별 시 고려 사항
구분 | 내용 |
신뢰도 | 장기간 시스템 운영 시 운영체제 고유 장애 발생 가능성 특정 응용프로그램의 메모리 누수로 인한 성능 저하 및 재기동 운영체제의 보안상 허점으로 인한 반복적인 패치 설치를 위한 재가동 운영체제의 버그 등으로 인한 패치 설치를 위한 재기동?? |
성능 | 대규모 동기 사용자 요청 처리 대규모 및 대량 파일 작업 처리 지원 가능한 메모리 크기(32bit, 64bit) |
기술 지원 | 공급 벤더들의 안정적인 기술지원 다수의 사용자들 간 정보 공유 오픈 소스 여부(Linux) |
주변 기기 | 설치 가능한 하드웨어 다수의 주변 기기 지원 여부 |
구축 비용 | 지원 가능한 하드웨어 비용 설치할 응용프로그램의 라이선스 정책 및 비용 유지 및 관리 비용 총 소유 비용(TCO) |
DBMS 주요 특징 및 고려 사항
- DBMS의 정의 사용자, 다른 애플리케이션, 데이터베이스와 상호 작용하여 데이터를 저장/분석하기 위한 컴퓨터 소프트웨어 애플리케이션
- 기능 : 데이터베이스 생성, 조회, 변경 등 관리
ⓞ DBMS 종류 및 특징
종류 | 저작자 | 비용 및 라이선스 | 주요 용도 |
Oracle | Oracle | 상용 | 대규모, 대량 데이터의 안정적인 처리 |
IBM DB2 | IBM | 상용 | 대규모, 대량 데이터의 안정적인 처리 |
Microsoft SQL Server | Microsoft | 상용 | 중소 규모 데이터의 안정적인 처리 |
MySQL | MySQL AB, Oracle | GPL 또는 상용 | 오픈 소스 RDBMS |
SQLite | D. Richard Hipp | Public Domain | 스마트폰, 태블릿 PC 등의 임베디드 데이터베이스 용 |
MongoDB | MongoDB Inc. | GNU AGPL v3.0 | 오픈 소스 NoSQL 데이터베이스 |
Redis | Salvatore Sanfillppo | BSD | 오픈 소스, 메모리, 키-값(Key-Value) 데이터베이스 |
ⓞ 정보시스템 구축 시 DBMS 관련 요구사항 식별을 위한 고려 사항
구분 | 내용 |
가용성 | 장기간 시스템을 운영할 때 장애 발생 가능성 DBMS의 버그 등으로 인한 패치 설치를 위한 재기동 백업 및 복구 편의성 DBMS 이중화 및 복제 지원 |
성능 | 대규모 데이터 처리 성능(분할 테이블의 지원 여부) 대량 거래 처리 성능 다양한 튜닝 옵션 지원 비용 기반 최적화 지원 및 설정의 최소화 |
기술 지원 | 공급 벤더들의 안정적인 기술 지원 다수의 사용자들 간의 정보 공유 오픈 소스 여부 |
상호 호환성 | 설치 가능한 운영체제 종류 다양한 운영체제에서 지원되는 JDBC, ODBC |
구축 비용 | 라이선스 정책 및 비용 유지 및 관리 비용 총 소유 비용(TCO) |
미들웨어의 주요 특징 및 고려 사항
ⓞ 미들웨어(Middleware)
- 운영체제와 소프트웨어 애플리케이션 사이에 위치
- 소프트웨어 애플리케이션에게 운영체제가 제공하는 서비스를 추가/확장하여 제공하는 컴퓨터 소프트웨어
- 대표적 미들웨어 : WAS(Web Application Server)
ⓞ 웹 애플리케이션 서버(WAS, Web Application Server)
- 동적인 웹 사이트, 웹 애플리케이션, 웹 서비스의 개발을 지원하기 위하여 설계된 소프트웨어
- 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리 제공
ⓞ 웹 애플리케이션 서버(WAS: Web Application Server)의 종류 및 특징
종류 | 벤더 | 비용 및 라이선스 | 주요 용도 |
GlassFish | GlassFish Community | CDDL, GPL | NetBeans 개발 툴과 연동하여 사용 |
JBoss | Red Hat | LGPL | JBoss 기반 오픈 소스 제품들을 이용하는 경우 |
Jetty | Eclipse Foundation | Apache 2.0, EPL | 빠른 처리 속도가 요구되는 경우 |
JEUS | TmaxSoft | 상용 | 대량의 안정적인 거래 처리가 요구되며 적시의 기술 지원이 필요한 경우 |
Resin | Caucho Technology | GPL, 상용 | 빠른 처리 속도가 요구되는 경우 |
WebLogic | Oracle Cor. | 상용 | 대량의 안정적인 거래 처리가 요구되는 경우 |
WebSphere | IBM | 상용 | 대량의 안정적인 거래 처리가 요구되는 경우 |
ⓞ 정보시스템 구축 시 WAS 관련 요구사항 식별을 위한 고려 사항
구분 | 내용 |
가용성 | 장기간 시스템을 운영할 때 장애 발생 가능성 안정적인 트랜잭션 처리 WAS의 버그 등으로 인한 패치 설치를 위한 재기동 WAS 이중화 지원 |
성능 | 대규모 거래 요청 처리 성능 다양한 설정 옵션 지원 가비지 컬렉션(GC, Garbage Collection)의 다양한 옵션 |
기술 지원 | 공급 벤더들의 안정적인 기술 지원 다수의 사용자들 간의 정보 공유 오픈 소스 여부 |
구축 비용 | 라이선스 정책 및 비용 유지 및 관리 비용 총 소유 비용(TCO, Total Cost of Ownership) |
오픈 소스 사용에 따른 고려 사항
ⓞ 오픈 소스(Open Source)
- 소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는 오픈 소스 라이선스를 만족하는 소프트웨어
ⓞ 오픈 소스 사용 시 고려 사항
- 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려하여 적용
- 소프트웨어 라이선스 문제가 없을지 판단이 어려운 경우 전자정부 표준 프레임워크에서 사용 중인 오픈 소스 소프트웨어 참조 가능
시스템 용량산정 방법
- 시스템을 구축하기 위해 필요한 하드웨어 규모는 한국정보통신기술협회의 정보시스템 하드웨어 규모산정 지침 TTAK.KO-10.0292 관련 내용 참조
- CPU 용량, 메모리 용량, 디스크 용량 산정 가능
개발 기술 환경 요구사항 파악
ⓞ 기술 환경 정의를 위한 자료 수집
- 수집할 자료의 목록 정의
- 자료 수집을 위해 현행 시스템 담당자가 제시한 자료와 면담 기록에 필요 자료 존재 여부 파악
- 시스템 사용 현황 파악을 위해 표의 자료 조사
항목 | 설명 |
시스템 용도 및 서비스 형태 | 웹 페이지만 제공, 트랜잭션이 빈번한/빈번하지 않은 웹 서비스(데이터베이스 연계) |
시스템의 구성 형태 | 1계층, 2계층, 3계층 |
접속자 수 | 평균 접속자 수(24시간 기준), 최고 접속자 수(1시간), 연간 접속자 증가율 |
사용률 | 동시 사용자 수, 사용자당 오퍼레이션 수, 이미지 파일과 사운드 파일의 크기, 웹 페이지 크기, 허용 응답 시간 |
업무 중요도 및 긴급도 | 중요도(상/중/하), 긴급도(상/중/하) |
백 엔드 상호 작용 형태 | 읽기 전용(Read only), 업데이트(Update), 온라인 트랜잭션 처리(OLTP) |
SSL 사용 여부 | 안전한 통신이 필요한지 여부 |
ⓞ 조사 자료 분석 및 개발 기술 환경 결정
- 조사한 자료를 이용하여 운영체제, DBMS, WAS 등 결정
항목 | 고려 사항 |
운영체제 | 시스템 구축 예산이 적은 경우(2천만원 이하) 유닉스(UNIX)를 도입하기 어려움 리눅스(Linux)는 비용이 저렴하나 유지 관리를 위한 기술 인력을 보유하거나 별도의 계약 체결 필요 유닉스(UNIX)는 안정적, 대량 처리 가능, 기술 지원이 용이하나 비용이 많이 소요됨 윈도우즈(Windows)는 유지 관리 기술 인력 확보 용이, 유닉스에 비해 상대적으로 비용이 저렴하나 대부분의 대용량 처리 서버에 설치 불가능 |
DBMS | 상용 DBMS의 경우 안정적, 높은 확장성, 기술 지원을 받기 용이하나 비용이 많이 소요됨 오픈 소스 DBMS 경우 비용은 저렴하나 관련 기술력을 자체적으로 확보해야 함 일반적으로 사용되는 DBMS(상용, 오픈소스)를 선택하면 관련 기술 인력 및 기술 자료 확보, 문제 해결 용이 |
WAS | 표준 규격을 준수하는 WAS 경우 개발용과 운영용을 구분하여 사용 가능 개발용은 가볍고 빠른 오픈 소스 WAS 선택 가능 상용 WAS는 안정적, 대량 처리가 검증되어 있고 기술지원을 받기 용이 오픈 소스 WAS는 일반적으로 널리 사용하는 WAS를 사용하는 것이 바람직 |
조사한 자료를 이용하여 시스템 용량 산정
수집 및 분석된 온라인 트랜잭션 처리(OLTP, Online Transaction Processing), WEB/WAS 기초 자료 조사 항목 값을 시스템 용량산정 엑셀 파일에 입력하여 CPU, 메모리, 디스크 용량 계산
ⓞ CPU 용량 산정
- OLTP/Batch/DB 서버
⑴ OLTP/Batch/DB 서버의 CPU 용량 산정 절차
- 동시 사용자 수 입력
- 사용자당 트랜잭션 처리 수 입력
- 분당 트랜잭션 수 입력
- 기본 보정
- 피크타임 부하 보정
- DB 크기 보정
- 애플리케이션 구조 보정
- 애플리케이션 부하 보정
- 클러스터 보정
- 시스템 여유율 입력
- CPU 용량산정 결과
⑵ WEB/WAS 서버 CPU 용량 산정 절차
- 동시 사용자 수 입력
- 사용자당 오퍼레이션 수 입력
- 인터페이스 부하 조정
- 피크타임 부하 조정
- 클러스터 보정
- 시스템 여유율 입력
- CPU 용량산정 결과
서버의 메모리 산정 절차
- 시스템 영역 메모리
- 사용자당 필요 메모리
- 동시 사용자 수
- 버퍼 캐시 보정
- 시스템 여유율 입력
- 메모리 용량산정 결과
시스템의 디스크 용량 산정 절차
- 시스템 OS 영역
- 응용프로그램 영역
- SWAP 영역
- 파일 시스템 오버헤드
- 시스템/데이터 디스크 여유율
- 데이터 영역
- 백업 영역
- RAID 여유율
- 디스크 용량산정 결과
요구사항 정의서, 목표 시스템 구성도에 반영 후 검토
- 운영체제, DBMS, WAS, 시스템 용량 산정 결과를 요구사항 정의서, 목표 소프트웨어 구성도, 목표 하드웨어 구성도에 결과를 반영하여 수정
- 팀별로 작성된 산출물 최종 결과를 발표하면 다른 팀은 의견 제시
- 다른 팀의 검토 의견을 반영하여 산출물 수정
'BASE' 카테고리의 다른 글
정보처리기사 실기 - 요구사항 확인 : 분석모델 확인 (0) | 2020.06.18 |
---|---|
정보처리기사 실기 - 요구사항 확인 : 요구사항 확인 (0) | 2020.06.18 |
정보처리기사 필기 - 정보시스템 구축관리 : 시스템 보안 구축 (0) | 2020.06.15 |
정보처리기사 필기 - 정보시스템 구축관리 : 소프트웨어 개발 보안 구축 (0) | 2020.06.14 |
정보처리기사 필기 - 정보시스템 구축관리 : IT 프로젝트 정보시스템 구축관리2 (0) | 2020.06.13 |