소프트웨어 공학 개요

Jeong seulho·2023년 4월 5일
0

소프트웨어 공학

목록 보기
1/25
post-thumbnail

📌소프웨어란?

  • Code : 프로그램의 한 부분
  • Program : 실행가능한 컴퓨터 명령어임을 표시
  • Software : program + document(요구사항 분석, 디자인, 계획 등 문서)

📖소프트웨어 특징

  • Complexity : 복잡성
  • Conformity : 적합성, 각 요구사항에 맞게 만들어져야 한다
  • Changeability : 계속해서 변경, 업데이트 해야한다
  • Invisibility : 코드만으로 구성이나 로직을 파악하기 어렵다

📖하드웨어와 비교

  • 하드웨어 실패율
  • 소프트웨어 실패율

📖소프트웨어 종류

  • Custom Software : 고객이 특정 사람들을만을 위함(xx학교 포털사이트)
  • Package Software : Commercial Off-The Shelf, 누구나 들어와서 이용할 수 있음
  • Embedded software : 사양이 낮은, 혹은 작은 기기안에 삽입된 소프트웨어
  • SaaS(Software as a Service) : 브라우저를 통해 설치없이 사용할 수 있는 소프트웨어

📌소프트웨어 공학이란

  • 소프트웨어 개발, 운용, 유지보수, 폐기에서 체계적인 접근방법
  • 사람에 의존적인 개발 방법론을 공학적으로 접근하자

📖소프트웨어 비즈니스의 문제

  • High cost
  • Project delay
  • Low reliability(bugs, defects)
  • Maintenance

📖소프트웨어 공학이 다루는 문제

  • Scale : 큰 규모의 소프트웨어를 어떻게 잘 만들까
  • Quality and Productivity : 어떻게 높은 퀄리티와 높은 생산성으로 만들까
    • SW Quality Attributes
      • Functionality : 필요한 기능 제공하는지
      • Reliability : 오랫동안 기능 수행하는지
      • Usability : 편리한지
      • Efficiency : 효율적으로 실행하는지
      • Maintainability : 유지보수가 쉬운지
      • Portability : 다른 컴퓨터 환경으로 쉽게 옮길 수 있는지
      • Security : 권한이 허용된 범위안에서만 사용하는지(위치 권한 등)
      • Compability : 호환성이 있는지(hwp는 낮음, pdf 높음)
  • Consistency and Reproducibility : 어떻게 일관성있게 만들고 유지보수 해나갈까(이직해서 다루는 사람이 바뀌어도 잘 작성된 문서를 보고 파악)
  • Changes : 변경되는 요구사항들에 어떻게 잘 대응할 것 인가

📖소프트웨어의 구성 요소

  • 사람
  • 기술
  • 절차

📖소프트웨어 공학의 문제 접근방법

  • software development process : 개발 과정
    • 요구사항 분석
    • 디자인, 설계
    • 코딩(구현)
    • 테스트
  • software quality assurance : 품질 보장
    • Validation(고객의 요구사항에 따라 만들어졌는가)
    • Verification(내 의도대로 함수가 만들어졌는가)
  • project management : 개발 과정에서 관리, 평가 방법
    • product Metrics : 필요한 기능 있나, 효율적이냐? 등의 평가 기준
    • process Metrics : 요구사항이 완료되었는가, 잘되었는가 등의 과정에대한 평가 기준

📖소프트웨어 공학의 범위

0개의 댓글