포스트

[정보처리기사] 5과목 - 정보시스템 구축 관리 (소프트웨어 개발 방법론 활용)

Computer Science / 정보처리기사

정보시스템 구축 관리 이론 - 소프트웨어 개발 방법론 활용 정리

view

소프트웨어 개발 방법론


1. 구조적 방법론

  • 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론
  • 복잡한 문제를 다루기 위해 분할 정복 적용

2. 정보공학 방법론

  • 정보 시스템의 개발을 위해 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(data)중심의 방법론
  • DB 설계를 위한 ERD 사용

3. 컴포넌트 방법론(CBD)

  • 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
  • 컴포넌트의 재사용
  • 기능 추가가 쉬워 확장성 보장
  • 유지보수 비용 최소화, 생산성 및 품질 향상
  • 분석 단계에서 사용자 요구사항 정의서 산출

SW 공학의 발전적 추세


1. SW 재사용 방법

  • 합성 중심
    모듈을 만들어서 끼워 맞춰 소프트웨어를 완성시키는 방법
  • 생성 중심
    추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법

2. SW 재공학의 주요 활동

  • 분석 (Analysts)
    기존 SW 명세서를 확인하여 동작을 이해하고, 재공학할 대상을 선정
  • 재구성 (Restructuring)
    기존 SW의 구조를 향상시키기 위해 코드를 재구성
  • 역공학 (Reverse Engineering)
    기존 SW를 분석하여 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만드는 활동
  • 이식 (Migration)
    기존 SW를 다른 운영체제나 HW 환경에서 사용할 수 있도록 변환

3. CASE (Computer Aided Software Engineering)

  • 소프트웨어 개발 과정의 전체 또는 일부를 자동화 하는 것
  • 장점
    • 개발 기간 단축, 개발 비용 절감
    • 자동화 기법을 통해 품질 향상
    • 유지보수 간편
    • 모듈의 재사용성 향상
  • 주요 기능
    • SW 생명 주기 전 단계의 연결
    • 다양한 SW 개발 모형 지원
    • 그래픽 지원
    • 모델들의 모순 검사 및 오류 검증
    • 자료 흐름도 작성
  • 원천 기술
    • 구조적 기법
    • 프로토타이핑
    • 자동 프로그래밍
    • 정보 저장소
    • 분산 처리

상향식 비용 산정 기법


1. LOC (원시 코드 라인 수)

  • $a$: 낙관치(가장 짧은 라인)
  • $b$: 비관치(가장 긴 라인)
  • $m$: 기대치(측정된 평균 라인)
  • $예측치 = \frac{a + (4m) + b}{6}$

수학적 산정 기법


1. COCOMO 모형

  • 특징
    • 프로젝트를 완성하는데 필요한 man-month로 산정 결과를 나타냄
    • 보헴(Bohem)이 제안한 것으로 원시코드 라인수(LOC)에 의한 비용 산정 기법
    • 비교적 작은 규모의 프로젝트를 통계 분석한 결과를 반영한 모델
    • 중소 규모의 소프트웨어 프로젝트 비용 추정에 적합
  • 개발 유형에 따른 구분
    1. 조직형 (Organic)
      • 5만 라인 이하
      • 사무 처리용, 업무용, 과학용 소프트웨어 개발에 적합
    2. 반분리형 (Semi-Detached)
      • 30만 라인 이하 ↓
      • 컴파일러, 인터프리터 개발에 적합
    3. 내장형 (Embedded)
      • 30만 라인 이상 ↑
      • 미사일 유도 시스템, 실시간 처리 시스템 개발에 적합

2. Putnam 모형

  • 특징
    • 소프트웨어 생명 주기의 전 과정 동안 사용될 노력의 분포를 가정해주는 모형
    • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초함
    • 대형 프로젝트의 노력 분포 산정에 이용
    • 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력 감소

3. 기능 점수(FP) 모형

가중치 증대 요인

  • 특징
    • 자료 입력 (입력 양식)
    • 정보 출력 (출력 보고서)
    • 명령어 (사용자 질의 수)
    • 데이터 파일
    • 필요한 외부 루틴과의 인터페이스

프로젝트 일정 계획


1. PERT (프로그램 평가 및 검토 기술)

  • 프로젝트에 필요한 전체 작업의 상호관계를 표시하는 네트워크로 각 작업별로 낙관치, 비관치로 종료시기를 결정
  • 작업들 간의 상호 관련성, 결정 경로, 경계 시간, 자원 할당 등을 제시한다.
  • 각 작업들이 언제 시작하고 언제 종료되는 지에 대한 일정을 네트워크 도표를 이용하여 표시한다.

2. CPM (임계 경로 기법)

  • 프로젝트 완성에 필요한 작업을 나열하고 작업에 필요한 소요 기간을 예측하는데 사용
  • 경영층의 과학적인 의사 결정 지원
  • 효과적인 프로젝트 통제 가능
  • 병행 작업이 가능하도록 계획 가능하며, 이를 위한 자원 할당이 가능
  • 임계 경로는 최장 경로를 의미

3. 간트 차트 (Gantt Chart)

  • 프로젝트 각 작업이 언제 시작하고 종료되는지 막대 도표로 표기
  • 수평 막대 길이는 작업의 시간

소프트웨어 개발 표준


1. CMMI (Capability Maturity Model Integration)

  • 초기 (Initial)
  • 관리 (Managed)
  • 정의 (Defined)
  • 정량적 관리 (Quantitatively Managed)
  • 최적화 (Optimizing)

2. SPICE (Software Process Improvement and Capability Etermination)

SW의 품질 및 생산성 향상을 위해 소프트웨어 프로셋그를 평가 및 개선하는 국제 표준

  • 목적
    • 프로세스 개선을 위해 개발 기관이 스스로 평가하는 것
    • 기관에서 지정한 요구조건의 만족 여부를 개발 조직이 스스로 평가
    • 계약 체결을 위해 수탁 기관의 프로세스를 평가
  • 프로세스 수행 능력 단계
    • Level 0: 불완전 (Incomplete)
    • Level 1: 수행 (Performed)
    • Level 2: 관리 (Managed)
    • Level 3: 확립 (Established)
    • Level 4: 예측 (Predictable)
    • Level 5: 최적화 (Optimizing)

3. 프레임워크

  • 정의
    • 개발에 필요한 요소들을 일반화하여 쉽게 구현할 수 있도록 여러 기능들을 제공해주는 반제품 형태의 소프트웨어
    • 표준화된 개발 기반으로 인해 사업자 종속성 해소
    • 개발해야할 일부분이 이미 내장된 클래스 라이브러리로 구현되어 있음
  • 특성
    • 모듈화
    • 재사용성
    • 확장성
    • 제어의 역흐름

참고 사이트

애기 개발자 - 정보처리기사 필기 공부 5과목 (정보시스템 구축관리)


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.