현행 시스템 분석(2)
💡 운영체제(OS; Operating System)의 개념
- 운영체제는 하드웨어 및 소프트웨어 자원을 효율적으로 관리하며 공통된 기능을 제공하는 소프트웨어이다.
- 사용자가 컴퓨터를 좀 더 쉽게 사용하기 위해 지원하는 소프트웨어이다.
💡 운영체제 현행 시스템 분석
→ 운영체제 현행 시스템 분석 시 품질 측면과 지원 측면 등을 고려해야 한다.
품질 측면
- 신뢰도
- 장기간 시스템 운영시 운영체제의 장애 발생 가능성
- 운영체제의 버그로 인한 재기동 여부
- 성능
- 대규모 및 대량 파일 작업(배치 작업) 처리
- 지원 가능한 메모리 크기(32bit, 64bit)
지원 측면
- 기술 지원
- 공급사들의 안정적인 기술 지원
- 오픈 소스 여부
- 주변 기기
- 설치 가능한 하드웨어
- 다수의 주변 기기 지원 여부
- 구축 비용
- 지원 가능한 하드웨어 비용
- 설치할 응용 프로그램의 라이선스 정책 및 비용
- 유지 및 관리 비용
💡 운영체제의 종류 및 특징
→ 운영 체제의 유형으로는 크게 컴퓨터, 모바일로 나뉜다.
컴퓨터
- 윈도즈(Windows) → Microsoft
- 중/소규모 서버, 일반 PC 등 유지, 관리 비용 장점
- 유닉스(UNIX) → IBM, HP, SUN
- 대용량 처리, 안정성 높은 엔터프라이즈 급 서버
- 리눅스(Linux) → Linus Torvalds
- 중/대규모 서버 대상, 높은 보안성 제공
- 하드웨어 및 소프트웨어 소유 비용이 가장 적게 소요
모바일
- 안드로이드(Android) → Google
- 스마트폰, 태블릿PC, 다양한 기기의 호환성 제공
- iOS → Apple
- 스마트폰, 태블릿PC, 높은 보안성과 고성능 제공
💡 네트워크(Network)의 개념
- 네트워크는 컴퓨터 장치들이 노드 간 연결(데이터 링크)을 사용하여 서로에게 데이터를 교환하는 기술이다.
- 데이터 링크들은 광케이블과 같은 유선 매체 또는 와이파이(Wi-Fi)와 같은 무선 매체를 통해 성립된다.
💡 네트워크 현행 시스템 분석
- 현행 시스템이 구성된 네트워크 구조를 네트워크 구성도를 통해 분석한다.
- 네트워크 구성도의 작성을 통해 서버 위치, 서버 간 연결 방식을 파악할 수 있다.
- 백본망, 라우터, 스위치, 게이트웨이, 방화벽 등을 대상으로 분석한다.
- 물리적인 위치 관계 파악, 조직 내 보안 취약성 분석 및 대응이 쉽다.
- 네트워크 장애 발생 추적 및 대응 등의 다양한 용도로 활용할 수 있다.
📌 백본망 (Backbone Network)
→ 다양한 네트워크를 상호 연결하는 컴퓨터 네트워크의 일부로서, 각기 다른 LAN이나 부분망 간에 정보를 교환하기 위한 경로를 제공하는 망이다.
📌 라우터 (Router)
→3계층 데이터 패킷을 발신지에서 목적지까지 전달하기 위해 최적의 경로를 지정하고, 이 경로를 따라 데이터 패킷을 다음 장치로 전달하는 네트워크 장비이다.
📌 스위치(Switch)
→ 2계층 장비로서, 동일 네트워크 내에서 출발지에 들어온 데이터 프레임을 목적지 MAC 주소 기반으로 빠르게 전달하는 네트워크 장비이다.
📌 게이트웨이(Gateway)
→ 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 네트워크 장비이다.
📌 방화벽(Firewall)
→ 외부로부터 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크의 상호 간 영향을 차단하기 위한 보안 시스템이다.
💡 DBMS(Database Management System)의 개념
- DBMS는 데이터베이스(DB; Database) 라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램이다.
💡 DBMS의 기능
중복 제어 | 동일한 데이터가 여러 위치에 중복으로 저장되는 현상 방지 |
접근제어 | 권한에 따라 데이터에 대한 접근 제어 |
인터페이스 제공 | 사용자에게 SQL 및 CLI, GUI 등 다양한 인터페이스 제공 |
관계 표현 | 서로 다른 데이터 간의 다양한 관계를 표현할 수 있는 기능 제공 |
샤딩/파티셔닝 | 구조 최적화를 위해 작은 단위로 나누는 기능 제공 |
무결성 제약조건 | 무결성에 관한 제약조건을 정의/검사하는 기능 제공 |
백업 및 회복 | 데이터베이스 장애 발생 시 데이터의 보존 기능 제공 |
📌 CLI(Command Line Interface)
→ 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스이다.
📌 GUI(Graphical User Interface)
→ 그래픽 환경을 기반으로 한 마우스나 전자펜을 이용하는 사용자 인터페이스이다.
💡 DBMS 현행 시스템 분석
성능 측면
- 가용성
- 장기간 시스템을 운영할 때 장애 발생 가능성
- 백업 및 복구 편의성
- DBMS 이중화 및 복제 지원
- 성능
- 대규모 데이터 처리 성능
- 대량 거래 처리 성능
- 다양한 튜닝 옵션 지원 여부
- 비용 기반 최적화 지원 및 설정의 최소화
- 상호 호환성
- 설치 가능한 운영체제 종류
- 다양한 운영체제에서 지원되는 JDBC, ODBC
📌 JDBC(Java Database Connectivity)
→ 자바(Java)에서 데이터베이스를 사용할 수 있도록 연결해주는 응용 프로그램 인터페이스이다.
📌 ODBC(Open Database Connectivity)
→ 데이터베이스를 액세스하기 위한 표준 개방형 응용 프로그램 인터페이스이다.
지원 측면
- 기술지원
- 공급 업체들의 안정적인 기술 지원
- 다수의 사용자 간의 정보 공유
- 오픈 소스 여부
- 구축 비용
- 라이선스 정책 및 비용
- 유지 및 관리 비용