소프트웨어 유지 보수
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

소프트웨어 유지 보수에 대한 보고서 자료입니다.

목차

논 문 개 요………………………………………………………… 0

1. 서 론 …………………………………………………………… 1
(1) 조사 목적……………………………………………………… 1

2. 본 론…………………………………………………………………2
(1) 유지 보수의 중요성……………………………………………2
1) 소프트웨어의 특성……………………………………………… 2
2) 소프트웨어의 개발 과정……………………………………………2
3) 유지 보수의 이유………………………………………………… 3

(2) 유지 보수의 종류……………………………………………… 3

(3) 유지 보수 순서………………………………………………… 6

(4) 유지 보수 방법………………………………………………… 6
1) 유지 보수성 향상 기능……………………………………………6
2) 프로그램 이해 기술………………………………………………6
3) 유지 보수 단계의 테스트…………………………………………6
4) 역공학……………………………………………………………6
(5) 유지 보수 도구………………………………………………… 7
1) 형상 관리………………………………………………………… 7
2) 버전 관리………………………………………………………… 8

3. 결 론……………………………………………………………… 10

참고문헌………………………………………………………………11

그 림 목 차

[그림 1-1]유지 보수의 예……………………………………………1
[그림 1-2]산은경제연구소에서 정의한 소프트웨어 산업의 특성
………………………………………………………………………2
[그림 2-1]소프트웨어 생명 주기 전체에서 차지하는 유지 보수 노력
………………………………………………………………………3
[그림 2-2]정정의 예…………………………………………………4
[그림 2-3]성능 개선의 예…………………………………………4
[그림 2-4]유지 보수 유형 분포……………………………………6
[그림 2-5]소프트웨어 개발과 유지 보수 비용 곡선의 비교
…………………………………………………………………………6
[그림 2-6]주석 예시…………………………………………………7
[그림 2-7]형상 관리에 의한 시스템 구축………………………8
[그림 2-8]버전 관리의 실제 적용 사례…………………………9
[그림 2-9]델타 버전 관리…………………………………………9
[그림 2-10]UNIX의 SCCS에서의 버전…………………………10

본문내용

막아야 한다. 정정인 경우는 주로 원시 코드를 고치게 되는데 변경이 프로그램의 다른 부분에 영향을 주어서는 안 된다. 기능 향상을 위한 유지 보수의 경우에는 문서를 고칠 때 문서의 다른 부분이 영향을 받지 않는지 살펴야 한다. 관계없는 부분에 영향을 주는 수정을 리그레션 오류(regression fault)라고 한다. 유지 보수 담당자는 시스템을 구성하는 한 모듈의 변경이 다른 모듈에 심각하게 영향을 주는지 잘 모르는 경우가 많기 때문에 리그레션 오류가 많이 발생하게 되므로 이것을 극복하기 위해 리그레션 테스트를 사용한다. 즉 리그레션 테스트는 변경된 프로그램을 이전에 수행한 테스트 케이스로 실행함으로써 변경 후에도 제대로 작동하는지 확인하는 것이다.
4) 역공학
소프트웨어에 대한 문서가 전혀 없어서 원시 코드가 유일한 프로그램 이해의 단서가 되는 경우는 유지 보수가 매우 어려워진다. 이런 때 원시 코드로부터 다양한 정보를 만들어 내는 기술이 소프트웨어 역공학(reverse engineering)이다. 원시 코드에서 얻을 수 있는 정보는 논리 흐름도나 시스템 구조도 등이 있다.
(4)유지 보수 도구
소프트웨어 유지 보수를 지원하는 도구에는 기술 지원 도구와 관리 지원 도구가 있다. 기술적인 지원 도구는 원시 코드를 분석하여 프로그램의 이해에 도움을 주는 도구와 변경에 의한 영향을 분석하는 도구, 변경 후 테스트에 필요한 도구, 프로그램의 특성을 측정하는 도구가 있다. 관리를 지원하는 도구에는 버전 관리 시스템과 형상 관리를 위한 도구가 있는데, 주로 관리를 지원하는 버전 관리와 형상 관리를 중점적으로 살펴보았다.
1) 형상 관리(configuration management)
형상 관리란 소프트웨어에 가해지는 변경을 제어하고 관리하는 것을 말한다. 형상 관리는 변경에 대한 보호 활동이며 변경의 원인을 알아내고 변경을 제어하며 적절히 변경되고 있는지 확인하고 변경에 관심을 가지고 있는 사람들에게 홍보하는 작업이다. 즉, 형상 관리는 개발 후에 일어나는 소프트웨어에 대한 관리이며, 성공적인 형상 관리는 소프트웨어 개발 전, 또는 개발 중에 계획하여야 한다. 시스템 유지 보수를 위하여 필요한 모든 문서와 목적 코드, 원시 코드는 형상 관리 하에 있어야 한다. 형상 관리를 계획 할 때 중요한 사항은 관리 대상이 될 것을 정하는 일이며, 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 형상 관리 대상이다.
형상 관리에서 가장 중요한 기술은 여러 개의 조금씩 다른 모듈 버전들을 식별하고 이를 모아 원하는 목표 형상을 구축하는 기술이다. 대규모 시스템에서 부분적 모듈이 수정되었을 때 처음부터 모든 모듈을 다시 컴파일하고 링크하면 오랜 시간이 걸리게 된다. 따라서 여러 가지 형상 정보를 데이터베이스로 보관하여 필요에 따라 [그림 2-7]의 과정으로 알맞은 버전으로 선택 목표 시스템을 구성한다.
2) 버전 관리
형상 관리를 위하여 필요한 것이 바로 버전 관리이다. 버전 제어 라이브러리는 소프트웨어 제품의 여러 버전을 이루는 파일을 추적하고 제어한다. 라이브러리의 대상은 원시코드, 목적 코드, 명령어 파일, 자료 파일, 테스트 파일, 여러 가지 문서 파일이 포함된다. 각 대상에 대하여 버전 번호, 작성일, 버전의 유지 보수 담당자도 표시한다. [그림 2-8]와 같이 소프트웨어에 제품 버전이 있다는 것을 알 수 있으며 위와 같은 버전 제어의 핵심 기술은 델타 파일이다. 여기서 델타(delta)란 차이를 의미한다. 따라서 델타 파일은 프로그램 버전의 차이를 뜻한다. 버전은 하나의 프로그램이 조금씩 변경하여 여러 개의 프로그램이 생긴 것이다. 여러 개의 델타 버전을 효과적으로 보관하기 위하여 [그림 2-9]와 같이 원래 프로그램을 한 번만 보관하고 원래 프로그램과 차이가 나는 부분만을 기술한다.
많은 운영 체제에 포함된 편집기 및 소프트웨어 관리 시스템은 델타 버전 원리를 사용하고 있다. 실제 버전 관리를 위한 도구로 널리 알려진 UNIX의 SCCS(Source Code Control System)을 예로 들면, SCCS는 원시 코드의 조금씩 다른 여러 버전을 효과적으로 작은 공간에 저장하는 기능을 제공한다. [그림 2-10]은 SCSS의 형태를 그림으로 나타내고 있다.
3. 결 론
우리가 평소에 볼 수 있는 업데이트의 이유는 소프트웨어의 특성 때문에 일어난다. 건물이나 기기같이 우리가 형태를 볼 수 있는 제품들은 만들어졌을 때 이미 기능이 정해져 있고, 유지 보수를 하더라도 새로운 기능이 추가되지 못한다. 그러나 소프트웨어는 제품이면서 우리 눈에 정확한 형태가 보이지 않아 계속해서 사용자의 요구, 시스템의 요구에 따라 다른 기기들에서 볼 수 없는 성능 개선이 이루어지게 된다. 처음 소프트웨어 개발 시 유지 보수를 위해 대비하는 경우가 드물고, 인원 교체가 빈번하게 일어나기 때문에 프로그램을 이해하는데 비용이 많이 들게 된다. 이러한 비용을 줄이기 위해 원시 코드에 주석을 달거나 시스템 구조도를 만드는 등의 노력을 하게 된다. 또한 우리가 자주 볼 수 있는 버전도 한꺼번에 컴파일 되는 것이 아닌 원래 프로그램을 보존하면서 바뀐 부분만 가지는 델타 버전 기술까지 알 수 있었다. 소프트웨어를 개발하는 것도 중요하지만, 소프트웨어 사용 기간을 고려해서라도 개발 비용보다 많이 들어가는 유지 보수에 드는 노력을 줄이기 위해서라도 유지 보수 방법에 대해 알고 대비한다면 소프트웨어 개발에 뛰어드는 컴퓨터 공학도들은 큰 도움이 될 것이라 생각한다.
참 고 문 헌
1)단행본
최은만, 소프트웨어 공학, 4차 개정판, 정익사,2007
2)웹사이트
- 신문기사
http://www.gamemeca.com/news/news_view.html?seq=1&ymd=20080918&page=1&point_ck=1&search_ym=&search_text=
http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=105&oid=022&aid=0000075732
3)연구보고서
산은경제연구소, 국내 소프트웨어 산업 현황 및 벤처투자 활성화 방향, 2007

키워드

  • 가격2,500
  • 페이지수15페이지
  • 등록일2011.05.23
  • 저작시기2010.6
  • 파일형식한글(hwp)
  • 자료번호#679384
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니