발전된 개발을 위해서는 우선 지금 서비스되고 있는 현행 시스템을 파악하고 이를 통해 좀 더 개선해야 할 방향에 대해 생각하는 과정을 거쳐야 한다. 또한 개선점을 발전시키는 데 필요한 개발 기술을 사용할 수 있는 환경인지 개발 기술 환경을 파악하는 단계 역시 중요하다.
현행 시스템 파악의 절차
현행 시스템 파악의 프로세스는 총 3단계로 나누어진다. 1단계의 첫 번째는 시스템 구성 파악이다. 이때에는 조직의 주된 업무를 담당하는 기간 업무, 이를 지원해 주는 지원 업무로 나누어 구분하여 기술한다. 다음 단계는 시스템 기능 파악 단계이다. 이 단계는 현재 서비스에서 제공되는 기능들을 주요 기능, 하부 기능, 세부 기능 등으로 구분하여 계층형태로 표시한다. 1단계의 마지막은 시스템 인터페이스 파악이다. 단위 업무 업무 시스템 사이에 주고받는 데이터의 종류 및 형식과 프로토콜, 연계되는 유형, 주기 등을 명시한다. 다음으로 2단계 프로세스가 진행되는데 이때의 첫 번째는 아키텍처 구성 파악이다. 최상위 수준부터 계층별로 표현하는 아키텍처 구성도를 작성하는 단계이다. 다음으로는 소프트웨어 구성을 파악한다. 여러 소프트웨어 중 사용되는 소프트웨어의 제품명, 용도, 라이선스 적용 방식과 라이선스의 수 등을 명시한다. 마지막 3단계에는 우선 하드웨어 구성을 파악한다. 이때에는 단위 업무 시스템이 운용되고 있는 서버의 주요 사양들과 수량 및 이중화 적용 여부를 표기한다. 마지막 단계는 네트워크 구성 파악 단계이다. 이 때는 서버가 위치한 곳과 서버 간 적용되어 있는 네트워크 연결 방식 등을 네트워크 구성도의 방식으로 작성한다.
개발 기술 환경의 종류
소프트웨어개발 시에 고려해야할 개발 기술 환경에는 운영체제(OS, Operating System), 데이터베이스 관리 시스템(DBMS, DataBaes Management System), 웹 애플리케이션 서버(WAS, Web Application Server), 오픈 소스(Open Source)가 있다. 운영체제란 컴퓨터 시스템에 존재하는 자원을 효율적으로 관리해 주어 사용자가 컴퓨터를 좀 더 편리하고 효율적인 방식으로 사용할 수 있는 환경을 제공해 주는 소프트웨어이다. 컴퓨터를 사용하는 사용자와 컴퓨터의 하드웨어 사이에 인터페이스로 동작하는 시스템 소프트웨어의 한 종류이다. 컴퓨터에서 실행되는 다른 응용 프로그램들이 유용한 작업을 할 수 있는 환경을 제공해 준다. 데이터베이스 관리 시스템이란 사용자와 데이터베이스의 사이에서 사용자가 요구하는 정보를 생성하고 데이터베이스를 관리하는 소프트웨어이다. 기존에 존재하던 파일 시스템이 가지고 있는 문제인 데이터 종속성 및 중복성을 해결하기 위해 나온 시스템이다. 실행되는 모든 응용 프로그램들이 데이터베이스를 함께 사용할 수 있도록 관리한다. 웹 애플리케이션 서버란 정적으로 유지되는 콘텐츠가 아닌 사용자가 요구하는 데로 변경되는 동적인 콘텐츠를 처리할 수 있도록 도와주는 미들웨어이다. 다양한 라이브러리를 제공하는데 대표적으로 데이터 접근, 세션 및 트랜잭션 관리 라이브러리가 있다. 주로 데이터베이스 서버와 연동하여 사용한다. 오픈 소스란 전 세계의 누구나 함께 사용할 수 있도록 공개되어 있는 소스 코드로 구성된 소프트웨어이다. 오픈 소스 라이선스를 가지고 있기 때문에 누구나 원하면 사용이 가능하다.
개발 기술 환경 파악 시 고려사항
운영체제에 대한 요구사항이 있을 경우 고려해야 할 사항에는 우선 가용성이 있다. 가용성이란 사용 가능한 범위를 뜻한다. 그 외에 중요한 사항으로는 성능과 기술 지원, 주변 기기 및 구축 비용이 있다. 다음으로 데이터베이스 관리 시스템의 요구사항이 식별될 경우에는 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용에 대한 고려가 필요하다. 여기서 운영체제의 경우와 다른 점은 상호 호환성이 고려된다는 점이다.운영체제의 경우 각각의 컴퓨터에 맞는 운영체제가 만들어져 상호 호환성이 고려될 필요가 없지만 데이터베이스의 경우 호환성의 여부가 중요한 고려 요소가 된다. 다음으로 웹 애플리케이션 서버를 변경하는 요구사항이 생기는 경우에는 마찬가지로 가용성과 성능, 기술 지원 및 구축 비용이 고려되어야 한다. 위의 두 개발 기술 환경과는 달리 주변 기기나 상호 호환성과 같은 기준은 고려될 필요가 없다. 오픈 소스의 경우 다른 개발 기술들과 큰 차이를 보인다. 라이선스의 종류와 사용자 수, 기술의 지속 가능성이 고려되는 것이다. 오픈 소스는 다수의 사람들과 함께 사용하는 것이기 때문에 얼마나 많은 사용자들에게 검증된 기술인지 보는 것이 좋은 오픈 소스를 고르는 기준이 될 수 있다. 또한 기술을 어떤 순간 종료하는 경우도 있기 때문에 지속 가능성이 중요하게 고려되어야만 한다.
댓글