[1과목-1장-005] 개발 기술 환경 파악
개발 기술 환경
: 개발하려는 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의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미
*** 고려사항은 읽어서 이해만 하기 (카테고리 별로 보기)
'정보처리기사 > 필기' 카테고리의 다른 글
[1과목-1장-007] 요구사항 분석 기법 (0) | 2020.03.21 |
---|---|
[1과목-1장-006] 요구사항 정의 (0) | 2020.03.20 |
[1과목-1장-004] 현행 시스템 파악 (0) | 2020.03.17 |
[1과목-1장-003] XP(eXtreme Programming) 기법 (0) | 2020.03.17 |
[1과목-1장-002] 스크럼(Scrum) 기법 (0) | 2020.03.17 |
댓글