"S/W 공학의 발전적 추세"
1. 소프트웨어 재사용
이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것.
재사용 방법
합성 중심 | 전자 칩과 같은 소프트웨어 부품, 즉 블록을 만들어서 끼워 맞추어 소프트웨어를 완성시키는 방법 |
생성 중심 | 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법 |
2. 소프트웨어 재공학
새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것.
주요활동
분석 | - 기존 소프트웨어의 명세서를 확인하여 소프트웨어의 동작을 이해하고, 재공학할 대상을 선정하는 활동 |
재구성 | - 기존 소프트웨어의 구조를 향상시키기 위하여 코드를 재구성하는 활동 - 소프트웨어의 기능과 외적인 동작은 바뀌지 않음 |
역공학 | 기존 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 활동 |
이식 | 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 활동 |
3. CASE
소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것.
주요 기능: 소프트웨어 생명 주기 전 단계의 연결, 다양한 소프트웨어 개발 모형 지원, 그래픽 지원, 모델들의 모순 검사 및 오류검증, 자료흐름도 작성
원천 기술: 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소, 분산처리
"비용 산정 기법 - 상향식"
프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법
1. LOC 기법
소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법.
- 예측치 = (a + 4m + b)/6
- 노력 = 개발 기간 X 투입 인원
= LOC / 1인당 월평균 생산 코드 라인 수
- 개발 비용 = 노력(인월) X 단위 비용(1인당 월평균 인건비)
- 개발 기간 = 노력(인월) / 투입 인원
- 생산성 = LOC / 노력(인월)
2. 개발 단위별 인월수 기법
LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정.
'5. 방학 활동 > 최종 보고서 제출' 카테고리의 다른 글
[2023.07~08] 워게임 문제풀이(2) - 최종 보고서 (0) | 2023.08.13 |
---|---|
[2023.07-08] 공모전 참여 스터디 최종 보고서 (0) | 2023.08.13 |
공모전 스터디 최종보고서 (1) | 2023.02.28 |
워게임&CTF 스터디 1팀 최종 보고서 (0) | 2023.02.28 |