유지 및 보수(maintenance)

상위문서 : 시스템 개발 방법론

필수참고문서 : 


목차

1. 개요
2. 사용자 지원과 유지 보수
2.1. 시스템 유지 보수
2.2. 보안과 백업
3. 서비스 종료


1.개요

시스템을 완성하고 운영하다보면 지속적인 사용자로부터 클래임에 대한 수정과 바이러스에 대한 대처, 시스템 성능 향상 등이 필요하다. 이러한 작업은 크게 두가지로 볼 수 있는데 첫째는 사용자 지원과 두번쨰는 유지 및 보수 작업이다. 그리고 언젠간 시스템 사용의 필요성이 없어졌거나 더 나은 시스템이 나왔을 때 시스템 서비스의 종료를 해야한다. 

2. 사용자 지원과 유지 보수

사용자를 지원하고 시스템을 유지 보수하는 것은 시스템의 수명을 늘려준다. 시스템을 개발 후 릴리즈 되면 시스템을 개발한 조직은 여러 형태로 사용자를 도와주게 된다. 이것을 사용자 지원이라고 한다. 다음은 사용자 지원을 하는 방법 3가지를 소개한다. 
  • 사용자 교육 : 시스템을 사용할 사용자에 대한 교육을 실시한다. 주요 목적은 시스템이 업무 수행에 어떤 도움을 주는지 사용자에게 보여주는 것이다.
  • 헬프 데스크 : 헬프데스크는 세가지 목적이 있는데 시스템의 자원을 더욱 효과적으로 이용하는 방법을 보여주는 것과 기술적 및 운영 중 질문에 대답을 하는것 마지막으로 필요한 정보를 충족하는 방법을 알려주는 것이다.
  • 온라인 채팅 지원 : 온라인 채팅 형태로 사용자에게 지원을 할 수 있다. 블리자드사의 GM과 1:1 실시간 대화가 좋은 예이다. 

2.1.시스템 유지 보수

시스템은 유지 보수를 하기 위한 관리, 비용, 품질 보증이 필요하다. 이러한 유지 보수를 위해서 여러 방법들이 있는데 그 방법은 크게 4가지가 있다.
다음 표는 각 방법의 비용을 분석한 것이다.

1. 정정형 유지 보수- 운영하는 시스템의 오류를 진단하고 바로 잡는 것이다. 시스템의 원래 버전에 있는 오류와 함께 유지 보수를 위한 변경에 의하여 야기된 문제를 해결하기 위한 작업이다. 모든 유지 보수 작업은 새로운 문제를 야기할 수 있기 때문에 수정하기 전 신중을 기해야한다.

2. 적응형 유지 보수 - 적응형 유지 보수는 운영하는 시스템에 개선을 추구하고 시스템을 더 쉽게 사용할 수 있게 하는 것이다. 개선은 새로운 기능이나 성능을 말한다. 적응형 유지 보수가 필요한 이유는 새로운 제품이나 서비스의 출시, 새로운 제조 기술 도입 등 비즈니스 환경의 변화이다.

3. 완벽형 유지 보수 - 운영하는 시스템을 더욱 효율적이고 신뢰성 있고 유지 보수가 잘 되도록 하기 위해서 변경하는 것이다. 정정형과 적응형 유지 보수의 요구는 주로 사용자로부터 제기되지만 완벽형은 유지보수팀에서 제기된다.
시스템 유지 보수를 위한 용어를 소개하면 다음과 같다.

4. 예방형 유지 보수 - 예방형 유지 보수는 문제를 피하기 위해서 문제를 일으킬만한 부분을 분석한다. 완벽형 유지 보수처럼 유지보수팀이 예방형 유지 보수를 주도한다.

1. 유지보수팀 : 시스템을 유지 보수하기 위한 팀이다. 이 팀의 구성은  시스템 관리자, 시스템 분석가, 프로그래머가 있다.
2. 유지 보수 요청 관리 : 시스템의 유지 보수 요청이 들어오면 그 요청을 파악해 시스템을 보수한다. 기본적인 유지 보수 요청 순서도는 다음과 같다.

3. 우선순위
4. 형상관리 : 시스템 개발 주기에서 개발 단계에 시스템 요구의 변경을 관리하기 위한 프로세스이다.
5. 반응 시간 : 작업을 위한 요청과 반응 사이에 걸리는 시간을 말한다.
6. 대역폭과 처리량 : 대역폭 혹은 처리량은 시스템이 정해진 시간 동안 주고 받는 데이터의 량이며 대역폭의 요구는 BPS(bit per second)로 표시한다. 이 대역폭 분석은 고속도로의 차선을 결정하기 위해 주행하는 차량의 시간당 수를 예측하는 것과 유사하다.
7. 총 처리 시간 : 
8. 성능 계획
9. 시스템 유지 보수 도구

2.2.보안과 백업

시스템을 작동 시키는 컴퓨터는 다른 프로그램도 돌릴 수 있고 인터넷과 연결되 있을 수 있다. 혹은 홈 뱅킹 같은 경우 보안 문제가 심각하게 발생하는데 이를 분석하기 위해 다섯 가지 영역의 상호 연관된 수준을 분석해야한다.
  • 물리적 보안 : 실제 시스템을 설치한 공간을 보안하는 것이다. 특정 신분증을 가지고 있는 사람만 들어갈 수 있게하거나 생체 인식 등 다양한 방법으로 출입을 통제할 수 있다.
  • 네트워크 보안 : 네트워크는 데이터를 보내고 받고 공유할 목적으로 연결된 두 개 이상의 장치로 정의할 수 있는데 이 때 다른 장치가 시스템이 동작하고 있는 장치의 중요 정보를 뺏어 갈 수 있다. 따라서 네트워크 보안을 제공하기 위해서 데이터를 암호화 해야한다. 
  • 애플리케이션 보안 : 위의 보안이 어느정도 되었다고 생각되면 이제 애플리케이션을 보호해야한다. 입력검증 및 지속적인 패치와 업데이트를 통해 보안을 한다.
  • 파일 보안 : 파일에 접근할 수 있는 권한을 제한하면 보안을 기대할 수 있다. 일반 사용자는 파일을 읽기만 가능하고 시스템 관리자는 파일을 읽고 쓰는 것이 가능하게 하는게 대표적인 예이다.
  • 사용자 보안 : 보안의 마지막은 사용자를 보호하는 것이다. 결국 어떤 시스템을 사용하기 위해서는 사용자는 어떠한 방법으로 자기 자신이 왔다는 것이 알려질 수 밖에 없다(특정 웹페이지ID,password, IP 주소 등) 이런 정보들을 보호하고 관리해야한다.
이런 보안과 관련된 전문적인 프로그래밍 방법론을 시큐어 프로그래밍이라고 한다.

백업은 비즈니스 데이터 보호의 핵심 정책이다. 요즘(2017년 6월 기준) 랜섬웨어가 활보하고 있다. 특히 이런 랜섬웨어로 한국내 심각하게 피해를 입은 기업이 있는데 나야나라는 서버 호스팅 업체가 해킹에 피해를 입어 엄청난 손실을 입은 것이다. 기사 링크
특히 나야나에 호스팅 된 업체들중 중소기업들이 많았는데 이런 기업들은 백업의 개념이 거의 없어 결국 복구도 못하는 사태가 벌어진 것이다.
게임할 때 중요한 부분은 세이브 잘하는 사람들이 백업을 잘 안하더라...

백업 미디어는 마그네틱 테이브, 광학 스토리지 , 웹 드라이브 등 저장할 공간과 그 데이터가 보존되어 있다는 안정성만 갖추면 된다. 백업을 하는 일정은 보통 1시간 주기 하루 주기 일주일 주기 한달 주기가 있다. 마지막으로 기업과 같은 곳은 재난이 일어 났을 경우를 대비한 백업도 해줘야하는데 이것을 재난 복구라고 한다.

3.서비스 종료

on 2017년 6월 12일 월요일 | A comment?
0 responses to “유지 및 보수(maintenance)”

Leave a Reply

최근 많이 본 글