728x90
반응형
SMALL

SW 변화 관리 ?

SW가 개발이 완료되어서 운영에 Release 되어서 사용자들이 사용을 하기 시작하며
당연히 오류,Error 가 발생을 하거나 사용자의 수정요청사항이 나오기 마련이다.
아무리 간단한 SW 프로그램이더라도 한번에 완벽하고 추가개발사항이 나올수 없는
프로그램은 이 세상에 존재하지 않는다고 할 수도 있을 만큼 SW에 대해서는 
끊임없이 유지보수를 통해 변화가 발생을 한다.
이때 SW에 대해 추가/수정 개발이 이루어지게 되는데 그 과정에서 해당 SW는 
어떤 일정한 패턴을 보이며 변화하고 진화하다는 논리가 바로 'Lehman의 SW 변화 원리'
이다.

Lehman SW 변화의 원리의 정의 및 개념

소프트웨어는 요구에 의해 계속적으로 변경되며, 변경에 따른 복잡성, 프로그램의 고유한 변경 추세,
SW조직 생산성의 일관성, 소프트웨어 각 버전의 변화에 대한 일관성을 제시한 개념이다.
즉 사용자 요구에 따른 SW의 계속적인 변경 시, SW 변화 관리 및 유지 관리를 위하여 활용하는
소프트웨어 변화의 법칙을 일컫는 말이다.


Lehman SW 변화의 원리의 중요성

소프트웨어 변화의 특성을 제대로 이해하고, 유지보수, 변경관리, 형상관리, 품질통제의 중요 
모델로 반영할 수 있으므로 효과적인 유지보수 및 변화관리가 가능하다. 
소프트웨어 변화의 특성을 반영하여 SW 조직(People), 프로세스(Process), 기술(Technology)에 반영하여
Baseline유지, CCB구성, 인력고도화, 버전관리 등을 설계하는 중요 원리로 사용할 수 있다.

Lehman 소프트웨어 변화의 법칙 주요 내용

구성요소 내용
Continuing Change
(
계속적 변경)
소프트웨어는 지속적으로 변경의 요청을 받는다. 이때 새로 개발하는 것보다는
수정하는 것이 경제적이라고 판단되는 동안은 변경을 가한다.
Increasing Complexity
(
복잡성 증가)
소프트웨어는 변경이 가해질 수록 그 구조는 복잡해진다.
Program Evolution
(
프로그램 진화)
프로그램 별 변경되는 고유 패턴/추세 가 있다.
Organizational Stability
(
조직적 안정)
개발 생산성이 변화에 민감하지 않고 안정적임. 즉 작업량에 큰 변화가 없음
Conservation of Familiarity
(친근성 유지)

소프트웨어 각 버전의 변화는 일정
- 소프트웨어는 규칙적인 수행 결과와 추이 보여주기 때문에 예측 가능

Continuing Growth
(지속적 성장)

- SW 생애주기동안, 사용자 만족 유지 위해 기능의 지속적 성장

Declining Quality
(품질 감소)

변화 지속 à 기능 증가, 품질 저하
- 엄격하게 관리/운영되지 않거나, 환경 변화에 미적응 시, 품질 감소

Feedback System
(피드백 시스템)

진화 프로세스는 다중레벨, 다중루프, Multi-Agent 피드백 시스템 수용,
중요 개선 달성 위해 피드백 필수


Lehman SW 변화 원리 적용 방안

< 출처 : 118회 정보관리기술사 두드림 >

 

728x90
반응형
LIST

'소프트웨어공학' 카테고리의 다른 글

기능점수 (Function Point) - 3탄  (0) 2019.10.04
기능점수 (Function Point) - 2탄  (0) 2019.10.03
기능점수 (Function Point) - 1탄  (0) 2019.10.02
SW 공학 - 소프트웨어 규모 산정  (0) 2019.10.01
COCOMO II  (0) 2019.09.02
728x90
반응형
SMALL

COCOMO II 는 실제 개발된 소스를 가지고 비용을 산정하는 고전적인 기법이다.
규모요인(Scaling Driver)과 가격요인(Cost Driver) 등을 이용하여 프로젝트의 생산성, 가격을
결정하는 모델이다.
COCOMO 는 소프트웨어를 구성하고 있는 모듈과 서브시스템의 비용합계를 계산하는 방식
으로 구조적방법론에 적합은 했지만 이후 객체지향모델이 나오면서 이에 맞게 수정보완한
것이 COCOMO II 이다. 
COCOMO II 는 소프트웨어 개발프로젝의 진행정도에 따라 아래와 같이 3단계로 나누고
각 단계별로 각각 다른 비용산정모델을 적용해서 해당 소프트웨어의 규모를 산정하는
기법이다.

Application Composition 응용 조합 모델
Early Designed Model 초기 설계 모델
Post-Architecture Model 설계 이후 모델


<참고>
   기존 COCOMO의 문제점
  -   소프트웨어 제품을 하나의 개체로 보고 승수들을 전체에 적용
  -   실제 대부분의 대형시스템은 서로 상이한 서브 시스템으로 구성
  
-   전통적인 COCOMO 모델의 문제점 극복을 위해서 COCOMO II 모델 등장

분류 응용조합모델
(Application Composition)
초기설계모델
(Early Design)
구조설계모델
(Post-Architecture Model)
설명 초기단계에서 시제품 개발시 적용. 즉 프로토타입을 보고
입출력화면 중심의 사용자UI 갯수를 파악해서 객체점수(Object Point)를 산출하고 이
를 바탕으로 SW규모를 산정
한다.
• 개발 범위에 속한 객체(입·출력 화면 등)를 찾는다.
• 객체에 의해 제공되는 기능의 복잡도를 세 가지(단순형, 보통형, 복잡형)로 분류한다.
• 객체의 개수에 가중치(단순형, 보통형, 복잡형)를 부여하여 결과 값을 산출한다
초기 설계 단계쯤 되면 1단계보다는 시스템의 구조와 기능을 좀 더 상세히 알 수 있다. 그러므로 1단계보다 더욱 정확한 예측이 가능하다.  구조 설계 이후가 되면 시스템에 대해 어느 정도 자세한 윤곽이 드러난다. COCOMO 방법이 처음부터 원시 코드의 라인 수를 계산하는 무리한 방법을 썼다면, 3단계에서는 이미 기능 점수가 나왔기 때문에 COCOMO에서 제안한 LOC에 의해 소요되는 노력을 추정하는 것이 크게 어렵지 않다. 즉 3단계에서는 기능 점수를 바탕으로 한 LOC를 추정하여 소프트웨어 규모를 산정할 수 있다.
크기 Application Points FP + 언어종류 FP + 언어 LOC
목적 UI, 3GL 컴포넌트 개수를 통해 노력 추정 자세 기능 탐구 시스템에 대한 자세한 이해
SW 개발/유지보수 노력도 측정

구조설계이후(Post-Architecture Model)  모델의 계산방식 
  : 규모요소 (규모,가격) 와 노력가중치를 사용하여 측정

구분 규모요소 설명
규모요인
(Scaling Driver)
경험성 개발하려는 소프트웨어와 비슷한 소프트웨어의 개발 경험 정도
개발유연성 소프트웨어 개발에서 허용되는 유연성 정도
프로세스 성숙도 개발 조직의 소프트웨어 개발 프로세스 성숙도
가격요인
(Cost Driver)
제품 복잡도 제품에 대한 5가지 영역의 복잡도 수준
플랫폼 가변성 OS, DB, Complier와 같은 플랫폼의 가변성 정도
소프트웨어 도구사용 프로젝트에서 사용되는 자동화 도구의 종류와 사용정 도를 나타내는 비용인자
개발일정 프로젝트 팀에게 부과되는 일정 제약 정도를 나타내는 비용인자
728x90
반응형
LIST

+ Recent posts