정보처리기사/필기

[1과목-1장-005] 개발 기술 환경 파악

여니두 2020. 3. 20.

개발 기술 환경

: 개발하려는 SW와 관련된 운영체제, DBMS, 미들웨어 등을 선정할 때

고려해야 할 사항 기술 + 오픈 소스 사용 시 주의해야 할 내용을 제시

 

1. 운영체제

: 컴퓨터 시스템의 자원들을 효율적으로 관리

: 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종

- 종류: Windows, UNIX, Linux, Mac OS / iOS, Android 등

 

1) OS 관련 요구사항 식별 시 고려사항

(1) 가용성

- 장시간 운영으로 인해 발생할 수 있는 OS 고유의 장애 발생 가능성

- 메모리 누수로 인한 성능 저하 및 재가동

- 보안상 발견된 허점을 보완하기 위한 지속적인 패치 설치로 인한 재가동

- OS의 결함 등으로 인한 패치 설치를 위한 재가동

 

(2) 성능

- 대규모 동시 사용자 요청에 대한 처리

- 대규모 및 대용량 파일 작업에 대한 처리

- 지원 가능한 메모리 크기(32bit, 64bit)

 

(3) 기술 지원

- 제작업체의 안정적인 기술 지원

- 여러 사용자들 간의 정보 공유

- 오픈 소스 여부(Linux)

 

(4) 주변 기기

- 설치 가능한 하드웨어

- 여러 주변기기 지원 여부

 

(5) 구축 비용

- 지원 가능한 하드웨어 비용

- 설치할 응용 프로그램의 라이선스 정책 및 비용

- 유지관리 비용

- 총 소유 비용(TCO)

: 어떤 자산을 획득하려고 할 때 지정된 기간 동안 발생할 수 있는 모든 직간접 비용들

 

 

2. 데이터베이스 관리 시스템 (DBMS)

: 사용자와 DB 사이에서 사용자의 요구에 따라 정보를 생성해주고, DB를 관리해주는 소프트웨어

 

- 기존 파일 시스템이 갖는 데이터의 종속성, 중복성의 문제를 해결하기 위해 제안된 시스템

- 모든 응용 프로그램들이 DB를 공용할 수 있도록 관리

- DB의 구성, 접근 방법, 유지관리에 대한 모든 책임을 짐

- 종류: Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis 등

 

1) DBMS 관련 요구사항 식별 시 고려사항

(1) 가용성

- 시스템 장시간 운영으로 인해 발생할 수 있는 OS 고유의 장애 발생 가능성

- DBMS의 결함 등으로 인한 패치 설치를 위한 재가동

- 백업이나 복구의 편의성

- DBMS 이중화 및 복제 지원

 

(2) 성능

- 대규모 데이터 처리 성능(분할 테이블 지원 여부)

- 대용량 트랜잭션 처리 성능

- 튜닝 옵션의 다양한 지원

- 최소화된 설정, 비용 기반 질의 최적화 지원

* 질의에 대한 다양한 실행 방법을 만들고, 각각의 방법에 대해 비용을 추정 > 가장 최소인 방법을 선택하는 것

 

(3) 기술 지원

- 제작업체의 안정적인 기술 지원

- 여러 사용자들 간 정보 공유

- 오픈 소스 여부

 

(4) 상호 호환성

- 설치 가능한 OS의 종류

- JDBC, ODBC와의 호환 여부

 

** JDBC: 자바와 DB를 연결해 주는 인터페이스

** ODBC: 응용 프로그램과 DB를 연결해 주는 표준 인터페이스

 

(5) 구축 비용

- 라이선스 정책 및 비용

- 유지관리 비용

- 총 소유 비용

 

 

3. 웹 애플리케이션 서버 (WAS; Web Application Server)

: 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어

 

- 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공

- 주로 DB 서버와 연동해서 사용

- 종류: Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere 등

 

1) WAS 관련 요구사항 식별 시 고려사항

(1) 가용성

- 시스템 장시간 운영으로 인해 발생할 수 있는 고유의 장애 발생 가능성

- WAS 결함 등으로 인한 패치 설치를 위한 재가동

- 안정적인 트랜잭션 처리

- WAS 이중화 지원

 

(2) 성능

- 대규모 트랜잭션 처리 성능

- 다양한 설정 옵션 지원

- 가비지 컬렉션의 다양한 옵션

** GC: 실제로는 사용되지 않으면서 가용 공간 리스트에 반환되지 않는 메모리 공간인 가비지를 강제로 해제하여 사용할 수 있도록 하는 메모리 관리 기법

 

(3) 기술 지원

- 제조업체의 안정적인 기술 지원

- 여러 사용자들 간의 정보 공유

- 오픈 소스 여부

 

(4) 구축 비용

- 라이선스 정책 및 비용

- 유지관리 비용

- 총 소유 비용

 

4. 오픈 소스 사용에 따른 고려사항

1) 오픈 소스

: 누구나 별다른 제한 없이 사용할 수 있도록 소스코드를 공개한 것

 

- 고려사항

(1) 라이선스 종류 (2) 사용자 수 (3) 기술의 지속 가능성 등

 

 

** 트랜잭션

:  DB의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미

 

*** 고려사항은 읽어서 이해만 하기 (카테고리 별로 보기)

댓글