소프트웨어 개발 방법론

임동준·2024년 1월 4일
0

소프트 웨어

1) 상용소프트 웨어

  • 상용 소프트웨어 특징
    • 상업적 목적이나 판매를 목적으로 개발되는 소프트웨어
    • 소프트웨어 개발에 사용된 소스 코드는 배포하지 않는다.
    • 다양한 형태의 라이선스를 이용하여 배포되며 기술 지원을 보증한다.
  • 상용 소프트웨어 분류체계
    • 상용 소프트웨어는 범용과 특화 소프트웨어로 나뉜다.
    • 산업 범용 소프트웨어 : 시스템SW, 미들웨어, 응용SW 등
    • 산업 특화 소프트웨어 : 자동차, 항곡, 교육, 물류 등의 산업 전용

2) 응용 소프트웨어

  • 응용 소프트웨어 특징
    • 특정 업무를 퍼리하기 위한 목적으로 작성된 소프트웨어
    • 애플리케이션, 응용 솔루션 및 서비스 등 다양한 이름으로 불린다.
  • 응용 소프트웨어 분류체계
    • 응용 소프트웨어는 크게 6가지로 나뉜다.
    • 기업용 소프트웨어: 오피스웨어, ERP, SCM, BI, CRM 등
    • 영상처리 스프트웨어: 영상 인식, 스트리밍, 영상 편집 등
    • CG/VR 소프트웨어: 3D 스캐닝과 프린팅, 모델링, 가상현실, 홀로그램 등
    • 콘텐츠 배포 스프트웨어: 콘텐츠 보보, 관리, 유통 등
    • 자연어 처리 소프트웨어: 정보 검색과 질의응답, 의사결정 지원, 언어 분석 등
    • 음성 처리 소프트웨어: 음성 인식, 합성, 처리 등
  • 기업용 소프트웨어들의 특성은 아래와 같다.
    • 오피스웨어 : 워드, 엑셀, 그룹웨어 등의 일반 업무용
    • ERP : 경영 활동 프로세스 통합관리
    • SCM : 물류의 흐름 파악 및 지원
    • BI : 데이터를 활용하여 의사 결정 지원
    • CRM : 고객 특성에 맞는 마케팅 활동 지원

3) 시스템 소프트웨어

  • 시스템 소프트웨어 정의

    • 사용자가 손쉽고 효율적으로 컴퓨터 시스템을 사용하도록 돕는 소프트웨어
    • 일반적으로 하드웨어 제작사에서 제공되며 운영체제와도 같은 의미를 가진다.
  • 시스템 정의

    • 컴퓨터 시스템과 같은 의미로 쓰임, 특정 업무를 수행하기 위해 중앙처리 장치를 중심으로 구성된 하드웨어 및 소프트웨어의 총칭
    • 컴퓨터 시스템은 기본적으로 입력, 처리, 출력, 제어, 피드백의 기능을 수행하기 위한 장치들이 존재
  • 시스템의 성능평가 기준

    • 일반적으로 시스템의 목적은 아래 항목을 만족시키는 것이다.
    • 처리능력: 단위 시간 내 작업 처리량
    • 반환 시간: 작업 의뢰부터 처리까지의 시간
    • 사용 가능도: 필요할 때 즉시 사용 가능한 정도
    • 신뢰도 : 주어진 문제를 정확하게 해결하는 정도
  • 플랫폼

    • 특정 시스템을 바탕으로 제공되는 운영체제 및 운영환경
    • 무엇을 기준으로 설정하느냐에 따라 플랫폼의 범위가 달라질 수 있다
      • 응용프로그램 관점의 플랫폼: 윈도우, 안드로이드 등
      • 카카오 서비스 이용자 관점의 플랫폼: 카카오톡
    • 플랫폼의 성능을 측정하는 기준에는 가용성, 응답시간, 정확성, 사용률이 있다

4) 소프트웨어 공학

  • 소프트웨어 공학 정의
    • 최소의 비용과 개발 기간을 통해 높은 품질의 소프트웨어를 도출하기 위한 모든 수단과 도구들의 총칭
    • 소프트웨어 개발의 품질과 생산성의 향상을 목표로 연구
    • 소프트웨어 공학의 목적은 아래와 같다
      • 소프트웨어 개발에 필요한 비용과 기간 예측
      • 하드웨어에 대한 소프트웨어의 상대적 비용 절감
      • 급속하게 발전하는 하드웨어, 소프트웨어 기술 반영
  • 소프트웨어 공학의 기본 원칙
  • 현대적인 프로그래밍 기술을 지속적으로 적용
  • 소프트웨어 품질에 대해 지속적인 검증 시행
  • 소프트웨어 개발 단계별 산출물에 대한 명확한 기록 유지
profile
공부하는 중

0개의 댓글