본문 바로가기
정보처리이론

2-1 현행시스템과 개발 기술 환경 파악

by 공부합시다홍아 2020. 10. 20.

현행 시스템 파악 절차

새로 개발하려는 시스템의 개발 범위를 명확히 설정하기 위해 현행 시스템의 구성과 제공 기능, 시스템 간의 전달 정보,
사용되는 기술 요소, 소프트웨어, 하드웨어, 그리고 네트워크의 구성 등을 파악한다.

1단계 2단계 3단계
⊙ 시스템 구성 파악
⊙ 시스템 기능 파악
⊙ 시스템 인터페이스 파악
⊙ 아키텍처 구성 파악
⊙ 소프트웨어 구성 파악
⊙ 하드웨어 구성 파악
⊙ 네트워크 구성 파악

1단계 

시스템 구성 파악  
현행 시스템의 구성은 조직의 주요 없무를 담당하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 기술한다. 
- 조직 내에 있는 모든 정보시스템의 현황을 파악할 수 있도록 각 업무에 속하는 단위 업무 정보시스템들의 명칭, 주요 기능들을 명시한다. 

시스템 기능 파악 
현행 시스템의 기능은 단위 업무 시스템이 현재 제공하는 기능들을 주요 기능과 하부 기능, 세부 기능으로 구분하여 계층형으로 표시한다. 

시스템 인터페이스 파악 
현행 시스템의 인터페이스에는 단위 업무 시스템 간에 주고받는 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기 등을 명시한다. 
- 데이터를 어떤 형식으로 주고 받는지, 통신 규약은 무엇을 사용하는 지, 연계 유형은 무엇인지 등을 반드시 고려해야 한다. 
⊙ 데이터 형식 : XML , 고정 포멧, 가변 포멧 등 
⊙ 통신 규약 : TCP/IP, X.25 등 
⊙ 연계 유형 : EAI, FEP 등

2단계

아키텍처 구성 파악 
현행 시스템의 아키텍처 구성은 기간 업무 수행에 어떠한 기술 요소들이 사용되는지 최상위 수준에서 계층별로 표시한 아케텍처 구성도로 작성한다. 
- 아키텍처가 단위 업무 시스템별로 다른 경우에는 가장 핵심이 되는 기간 업무 처리 시스템을 기준으로 표현한다. 

⊙ 시스템 아키텍처(System Architecture) 
    시스템 내부에서 각각의 하위 시스템들이 어떠한 관계로 상호 작용하는지 파악할 수 있도록 구성이나 동작 원리를 표현한 것 


소프트웨어 구성 파악 
소프트웨어 구성에는 단위 업무 시스템별로 업무 처리를 위해 설치되어 있는 소프트웨어들의 제품명, 용도, 라이센스 적용 방식, 라이센스 수 등을 명시 
- 시스템 구축비용 면에서 소프트웨어 비용이 적지 않은 비중을 차지하므로, 상용 소프트웨어의 경우 라이센스 적용 방식의 기준과 보유한 라이센스의 파악이 중요하다.

3단계

하드웨어 구성 파악 
하드웨어 구성에는 단위 업무 시스템들이 운용되는 서버의 주요 사양과 수량, 그리고 이중화의 적용 여부를 명시한다. 
서버의 이중화 : 기간 업무의 서비스 기간, 장애 대응 정책에 따라 필요 여부 결정 
  → 운용 서버의 장애 시 대기 서버로 서비스를 계속 유지할 수 있도록 운용 서버의 자료 변경이 예비 서버에도 동일하        게 복제/관리 
- 현행 시스템에 이중화가 적용된 경우 대부분 새로 구성될 시스템에도 이중화 필요 

네트워크 구성 파악 
네트워크 구성은 업무 시스템들의 네트워크 구성을 파악할 수 있도록 서버의 위치, 서버 간의 네트워크 연결 방식을 네트워크 구성도로 작성 
- 네트워크 구성도를 통해 서버들의 물리적인 위치 관계를 파악, 보안 취약성을 분석하여 적절한 대응을 할 수 있다. 
- 네트워크에 장애가 발생한 경우 발생 원인을 찾아 복구하기 위한 용도로 활용

 


개발 기술 환경 파악

개발 기술 환경
개발하고자 하는 소프트웨어와 관련된 운영체제(OS), 데이터 베이스 관리 시스템(DBMS), 미들웨어(Middle Ware) 등을 선정할 때 고려해야 할 사항을 기술하고, 오픈 소스 사용 시 주의해야 할 내용을 제시한다.

※ 미들웨어(Middle Ware)

    : 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운용체제가 제공하는 서비스 이외에 추가적인        서비스를 제공하는 소프트웨어

운영체제(OS, Operation System)
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용 가능하게 환경을 제공하는 소프트웨어
- 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어
- 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공 

운영체제의 종류

PC Mobile
Windows, UNIX, Linux, Mac OS 등 IOS, Android, Tizen 등

 

운영 체제 관련된 요구사항 식별 시 고려사항

구분 내용
가용성 ⊙ 시스템의 장시간 운영으로 인행 발생하는 장애 가능성
⊙ 메모리 누수로 인한 성능 저하 및 재가동
⊙ 보안상 발견된 허점 보완을 위한 지속적인 패치 설치로 인한 재가동
⊙ 운영체제의 결함 등으로 인한 패치 설치를 위한 재가동
성능 ⊙ 대규모 동시 사용자 요청에 대한 처리
⊙ 대규모 및 대용량 파일 작업에 대한 처리
⊙ 지원 가능한 메모리 크기

기술 지원 ⊙ 제작업체의 안정적인 기술 지원
⊙ 여러 사용자들 간의 정보 공유
⊙ 오픈 소스 여부(Linux)

주변 기기 ⊙ 설치 가능한 하드웨어
⊙ 여러 주변기기 지원 여부
구축 비용 ⊙ 지원 가능한 하드웨어 비용
⊙ 설치할 응용 프로그램의 라이센스 정책 및 비용
⊙ 유지 관리 비용
⊙ 총 소유 비용(TCO)

- 가용성 : 프로그램이 주어진 시점에서 요구사항에 따라 운영될 수 있는 능력
- 메모리 누수 : 응용 프로그램이 더 이상 사용하지 않는 메모리를 반환 x , 지속적으로 점유
- 오픈 소스 : 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드를 공개한 무료 소프트웨어


데이터 베이스 관리 시스템 ( DBMS, Database Management System )

DBMS는 사용자와 데이터베이스 사이에서 사용자의 요구 사항에 따라 정보를 생성, 데이터 베이스를 관리해 주는 소프트웨어
- 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제 해결 위해 제안된 시스템
- 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리
- 데이터베이스의 구성, 접근 방법, 유지 관리에 대한 모든 책임

DBMS의 종류

Oracle, IBM, DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis 등

 

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

구분 내용
가용성 ⊙ 시스템의 장시간 운영으로 인한 장애
⊙ DBMS 결함 등으로 인한 패치 위한 재가동
⊙ 백업이나 복구의 편의성
⊙ DBMS 이중화 및 복제 지원
성능 ⊙ 대규모 데이터 처리 성능
⊙ 대용량 트랜잭션 처리 성능
⊙ 튜닝 옵션의 다양한 지원
⊙ 최소화된 설정과 비용 기반 질의 최적화 지원

기술 지원 ⊙ 제작업체의 안정적인 기술 지원
⊙ 여러 사용자들 간의 정보 공유
⊙ 오픈 소스 여부

상호 호환성 ⊙ 설치 가능한 운영체제의 종류
⊙ JDBC, ODBC와의 호환 여부
구축 비용 라이센스 정책 및 비용
⊙ 유지보수 비용
⊙ 총 소유 비용

※ JDBC ( Java Databasee Connectivity )
    자바에서 DB에 접근하여 데이터를 조회,삽입,삭제,수정할 수 있도록 자바와 DB연결 인터페이스
 ODBC ( Open Database Connectivity )
    응용 프로그램에서 DB에 접근하여 데이터를 조회, 삽입, 수정, 삭제할 수 있도록 응용 프로그램과 DB를 연결해 주          는 표준 인터페이스


웹 애플리케이션 서버(WAS, Web Application Server)

정적인 콘텐츠 처리를 하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어이다.
- 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공
- 주로 데이터베이스 서버와 연동해서 사용

웹 애플리케이션 서버의 종류

Tomcat, GlassFish, JBoss, Jetty, JEUS, Resian, WebLogic, WebSphere 등

 

웹 애플리케이션 서버 관련 요규사항 식별 시 고려 사항

구분 내용
가용성 ⊙ 시스템의 장시간 운영으로 인해 발생할 수 있는 고유의 장애 발생
⊙ WAS의 결함 등으로 인한 패치 설치를 위한 재가동
⊙ 안정적인 트랜잭션 처리
⊙ WAS 이중화 지원
성능 ⊙ 대규모 트랜잭션 처리 성능
⊙ 다양한 설정 옵션 지원
⊙ 가비지 컬렌션(GC)의 다양한 옵션

기술 지원 ⊙ 제조업체의 안정적인 기술 지원
⊙ 여러 사용자들 간의 정보 공유
⊙ 오픈 소스 여부

구축 비용 ⊙ 라이센스 정책 및 비용
⊙ 유지보수 비용
⊙ 총 소유 비용

 

728x90