본문 바로가기

5. 방학 활동/최종 보고서 제출

정처기 자격증 스터디 5주차

"S/W 공학의 발전적 추세"

1. 소프트웨어 재사용

이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것.

재사용 방법

합성 중심 전자 칩과 같은 소프트웨어 부품, 즉 블록을 만들어서 끼워 맞추어 소프트웨어를 완성시키는 방법
생성 중심 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법

2. 소프트웨어 재공학

새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것.

주요활동

분석 - 기존 소프트웨어의 명세서를 확인하여 소프트웨어의 동작을 이해하고, 재공학할 대상을 선정하는 활동
재구성 - 기존 소프트웨어의 구조를 향상시키기 위하여 코드를 재구성하는 활동
- 소프트웨어의 기능과 외적인 동작은 바뀌지 않음
역공학 기존 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 활동
이식 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 활동

3. CASE

소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것.

주요 기능: 소프트웨어 생명 주기 전 단계의 연결, 다양한 소프트웨어 개발 모형 지원, 그래픽 지원, 모델들의 모순 검사 및 오류검증, 자료흐름도 작성

 

원천 기술: 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소, 분산처리

 

"비용 산정 기법 - 상향식"

프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법

 

1. LOC 기법

소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법.

- 예측치 = (a + 4m + b)/6

- 노력 = 개발 기간 X 투입 인원

           = LOC / 1인당 월평균 생산 코드 라인 수

- 개발 비용 = 노력(인월) X 단위 비용(1인당 월평균 인건비)

- 개발 기간 = 노력(인월) / 투입 인원

- 생산성 = LOC / 노력(인월)

 

2. 개발 단위별 인월수 기법

LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정.