본문 바로가기

Dev.../소프트웨어 아키텍처

[SA강좌] Part 2-10 유지보수에 대한 프로파일

유지보수에 대한 프로파일

표 Ⅲ-6. 유지보수 프로파일의 예

Category 

시나리오에 대한 설명

기능 변경

사용자에게 화면을 보여주기 위해 추가적인 데이터가 요구된다.

기능 변경

사용자가 화면 추가를 요구한다.

기능 변경

사용자가 화면 상의 처리 절차의 변경을 요구한다.

기능 변경

사용자가 데이터 포맷의 변경을 요구한다.

기능 변경

두 개의 발사 명령을 내렸다. 두 번째가 첫 번째 보다 우선한다고 판단하여 첫 번째 발사 명령을 취소한다. 무기가 다르면 이 원칙이 달라질 수 있다.

기능 변경

무기 발사를 자동화 할 것

기능 변경

메시지 포맷의 변경

기능 변경

지연 사항에 대한 벌금 부과 기능 추가

기능 변경

메타 데이터의 변경을 필요로 하는 새로운 보고서 양식이 추가된다.

플랫폼의 변경

IRIX 6.2에서 IRIX 6.5로 변경하고 하드웨어를 교체하는 것을 하루에 완료해야 한다.

플랫폼의 변경

새로운 디바이스가 추가된다.

플랫폼의 변경

기존의 디바이스가 새로운 메시지 포맷을 받아들이는 것이 가능해야 한다.

플랫폼의 변경

운영체제를 Solaris로 변경한다.

플랫폼의 변경

Oracle을 Informix로 변경한다.

운영 환경의 변화

처리할 수 있는 무기의 수를 18개에서 30개로 증가시킨다.

운영 환경의 변화

시스템에서 사용하지 않는 CD player는 제거한다.

품질 개선

30초 안에 100개의 데이터를 검색할 수 있어야 한다.

품질 개선

검색 시간을 0.5초 이내로 줄여야 한다.

유지보수성은 시스템 변경을 처리하는데 걸리는 비용에 대한 것이다. 여기에는 두 가지 관점이 있다.

첫째는 무엇이 변경되는가에 관련이 있다. 변경은 시스템의 어떤 부분에서도 발생할 수 있다. 대부분 공통 기능이나 플랫폼, 시스템이 동작하는 환경, 품질, 용량(시스템이 지원할 수 있는 동시 사용자의 수 등)에서 발생한다.

둘째는 언제 변경이 발생하며 누가 변경 사항을 처리해야 하는 것이다. 과거에 대부분의 변경은 소스 코드에서 발생한다. 즉 개발자는 코드를 수정하고 테스트하고 배포해야 한다. 그러나 현재 변경이 언제 발생했는가에 대한 문제는 누가 변경 사항을 처리해야하는것과 관련이 있다. 예를 들어 최종 사용자가 스크린 세이버를 수정하면 분명히 시스템을 변경한 것이지만 시스템에는 영향을 끼치지 않는다. 변경은 구현에 대한 변경, 컴파일 시의 변경, 모듈 통합 시의 변경, 시스템 환경 설정 시의 변경, 실행 중의 변경으로 구분된다. 변경은 개발자에 의해 이루어질 수도 있고 최종 사용자, 시스템 관리자에 의해 이루어질 수도 있다.

일단 변경 사항이 정의도면 새로운 시스템이 설계, 구현, 테스트, 배포되어야 한다. 이 모든 행위에는 시간과 돈이 소요된다.

유지보수에 대한 시나리오는 다음 표를 사용하여 작성한다.


표 Ⅲ-7. 유지보수에 대한 시나리오 작성 지침

 

설명

이벤트가 발생하는 장소

누가 변경했는가를 기록한다. 변경은 개발자, 관리자, 최종 사용자에 의해 이루어질 수 있다.

개발자가

이벤트가 어떻게 시스템에 도착하는가

변경 사항에 대한 요청이다. 변경은 기능 추가일 수도 있고 기능의 수정일 수도 있고 기능의 삭제일 수도 있다. 변경 사항은 시스템의 품질에 대해 이루어질 수도 있다. 더 빨리 응답하게 하거나 가용성을 늘릴 수도 있다. 시스템의 용량이 변할 수도 있다. 동시 접속자의 수를 증가시키는 것은 빈번하게 발생하는 요구사항이다.

화면 배경 색깔을 푸른 색으로 수정하려고 한다.

대상

변경이 발생하는 대상을 가리킨다. 이것은 시스템의 기능이거나 플랫폼, 사용자 인터페이스, 환경, 상호운영 중인 다른 시스템일 수 있다.

수정은 사용자 인터페이스에서 발생한다.

환경

언제 변경이 이루어지는 지를 가리킨다. 설계 시, 컴파일 시, 모듈 통합 시, 초기화 시, 실행 시 등으로 구분된다.

수정은 설계 시에 발생한다.

응답

변경을 처리하는 과정을 의미한다. 즉 변경 설계, 테스트, 배포 과정을 의미한다.

변경 처리에는 side effect는 없다.

응답에 대한 측정치

변경을 처리하는 데 걸리는 시간과 비용이 측정치이다.

수정 사항을 처리하는데 세 시간이 걸리지 않는다.