소프트웨어 공학 - LOG.INFO

소프트웨어 공학

소프트웨어의 개발, 운용, 유지보수 등의 생명주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문.
고품질의 소프트웨어를 생산하고 주어진 비용과 일정에 생산이 가능하도록 하는 것이 목표.

4가지 중요 요소

  • 방법
  • 도구
  • 절차
  • 사람

생명주기

일반적인 SW 생명주기

  1. 타당성 검토
  2. 개발 계획
  3. 요구사항 분석
  4. 설계
  5. 구현
  6. 테스트
  7. 운용
  8. 유지보수

목적

  • 프로젝트 비용 산정
  • 개발 계획 수립
  • 기본 골격 구성
  • 용어의 표준화
  • 프로젝트 관리

예시

  • 폭포수 모델
  • 프로토타입 모델
  • 진화 모델
  • 증분 모델
  • 애자일

소프트웨어 관리

  • 유지관리
    : 고객에게 소프트웨어가 인도되어 사용되는 과정에서 발생하는 여러 변경 사항에 대해 적응. 변화에 대비.
    : 계속적인 변경을 수용할 수 있도록 개발.

  • 요구관리
    : 이해 관계자들로부터 요구사항 추출, 구성 및 문서화하고 변경에 대한 동의를 설정해 관리.

  • 형상관리
    : 각종 산출물에 대한 계획, 개발, 윤용 등을 종합하여 시스템의 형상을 만들고, 이에 대한 변경을 체계적으로 관리 및 제어.

  • 품질관리
    : 개발 활동이 프로젝트 계획과 일치하고 조직 정책에 적합한가를 검증.

    • 기능성 : 기능 구현 완전성, 정확성, 상호운용성, 보안성
    • 신뢰성
    • 사용성
    • 효율성
    • 유지보수성
    • 이식성