✅ 소프트웨어 개발 방법론

  • 소프트웨어 개발, 유지보수 등에 필요한 수행 방법과 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것
  • 소프트웨어 개발 방법론의 목적은 소프트웨어의 생산성과 품질 향상

✔ 주요 소프트웨어 개발 방법론

  • 구조적 방법론
  • 정보공학 방법론
  • 객체지향 방법론
  • 컴포넌트 기반(CBD) 방법론
  • 제품 계열 방법론
  • 애자일 방법론

✅ 구조적 방법론

  • 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론
  • 1960년대까지 가장 많이 적용되었던 소프트웨어 개발 방법론
  • 쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는 것이 목적
  • 복잡한 문제를 다루기 위해 분할과 정복(Divider and Conquer) 원리를 적용

    구조적 방법론의 개발 절차
    타당성 검토 단계 → 계획 단계 → 요구사항 단계 → 설계 단계 → 구현 단계 → 시험 단계 → 운용 / 유지보수 단계

✅ 정보공학 방법론

  • 계획, 분석, 설계, 구축에 정형화된 기법들을 통합 및 적용하는 자료 중심의 방법론
  • 정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합

    정보공학 방법론의 개발 절차
    정보 전략 계획 수립 단계 → 업무 영역 분석 단계 → 업무 시스템 설계 단계 → 업무 시스템 구축 단계

✅ 객체지향 방법론

  • 객체들을 조립해서 소프트웨어를 구현하는 방법론
  • 구조적 방법론의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택
  • 객체지향 방법론의 구성 요소 : 객체, 클래스, 메시지 등
  • 객체지향 방법론의 기본 원칙 : 캡슐화, 정보 은닉, 추상화, 상속성, 다형성 등

    객체지향 방법론의 개발 절차
    요구 분석 단계 → 설계 단계 → 구현 단계 → 테스트 및 검증 단계 → 인도 단계

✅ 컴포넌트 기반 방법론

  • 컴포넌트를 조합하여 새로운 애플리케이션을 만드는 방법론
  • 컴포넌트의 재사용이 가능하여 시간과 노력을 절감할 수 있음
  • 새로운 기능을 추가하는 것이 간단하여 확장성이 보장
  • 유지 보수 기능을 최소화하고 생산성 및 품질 향상 가능

    컴포넌트 기반 방법론의 개발 절차
    개발 준비 단계 → 분석 단계 → 설계 단계 → 구현 단계 → 테스트 단계 → 전개 단계 → 인도 단계

✅ 제품 계열 방법론

  • 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
  • 임베디드 소프트웨어를 만드는 데 적합
  • 제품 계열 방법론은 영역 공학과 응용 공학으로 구분
    - 영역공학 : 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
    - 응용공학 : 제품 요구 분석, 제품 설계, 제품을 구현하는 영역
  • 영역공학과 응용공학의 연계를 위해 제품의 요구사항, 아키텍처, 조립 생산이 필요

📍 소프트웨어 개발 방법론 결정

✅ 소프트웨어 개발 방법론 결정

  • 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고, 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등을 정의하는 것
  • 소프트웨어 개발 방법론 절차
    a. 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영
    b. 개발 단계별 작업 및 절차를 소프트웨어 생명 주기에 맞춰 수립
    c. 결정된 소프트웨어 개발 방법론의 개발 단계별 활동 목적, 작업 내용, 산출물에 대한 매뉴얼 작성

✅ 프로젝트 관리

  • 최소의 비용으로 시스템을 개발하기 위한 전반적인 활동
관리 유형주요 내용
일정 관리작업 순서, 작업 기간 산정, 일정 개발, 일정 통제
비용 관리비용 산정, 비용 예산 편성, 비용 통제
인력 관리프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리
위험 관리위험 식별, 위험 평가, 위험 대처, 위험 통제
품질 관리품질 계획, 품질 보증 수행, 품질 통제 수행
profile
1년차 주니어 개발자입니다~~~~

0개의 댓글