[자격증]/정보처리기사 필기

소프트웨어 공학의 개념 { 개념, 특징, 시스템의 기본요소, 소프트웨어 위기 & 공학 }

Ben의 프로그램 2023. 5. 27. 12:26
728x90

소프트웨어(software)의 개념 

  • 소프트웨어 공학이라는 것은 소프트웨어를 만들기 위한 학문이다라고 이해할 수 있다. 
  • 소프트웨어라는 것은 우리가 알고 있는 어플리케이션이고, 모바일&PC 등 환경에서 사용되는 프로그램들이다. 
  • 어려운 말로 정의하자면 다음과 같다.

    소프트웨어의 개념 software 
    "컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램과 프로그램의 수행에 필요한 절차, 규칙, 관련 문서 등을 총칭한다."

소프트웨어(software)의 특징

  • 상품성 : 소프트웨어를 개발하면 상품이 되어 판매가 된다.
  • 복잡성 : 개발하는 과정이 복잡하고 관리가 어렵다.
  • 변경 가능성 : 프로그램을 일부 수정하여 업그레이드 및 오류 수정 등을 할 수 있다.
  • 복제성 : 복제가 용이해 쉽게 복사, 유통이 가능하다. 

시스템 system 의 개요와 기본 요소

  • 시스템의 개요
    - 컴퓨터의 시스템이라는 것은 하나의 조직을 의미한다. 
  • 시스템의 기본 요소
    - 입력, 처리, 출력, 제어, 피드백 

소프트웨어의 위기 software crisis

  • 소프트웨어의 특징 중 복잡성이 있었다. 
  • 소프트웨어가 시간이 지날수록 더욱더 복잡해짐에 따라서 다양한 사람들이 필요해졌다. 
  • 예전에는 1명이 다 개발했다면, 이제는 설계자 & 디자이너 & 기획자 & 프로덕트 매니저 & 데이터베이스 등 많은 사람들이 필요해지면서 돈이 많이 필요해졌다. 
  • 개발 인력이 많이 필요한데, 사람이 부족하며 인건비가 상승했다. 
  • 소프트웨어에서 가장 중요한 부분은 바로 유지보수 부분입니다. 
  • 개발 보다 유지보수 하는 것이 더 많은 비용이 듭니다. 

소프트웨어 공학 software engineering

  • 소프트웨어 공학이라는 것은 지금 소프트웨어의 위기가 왔는데, 어떻게 하면 이 문제를 해결할 것인가에 대한 고민이다.
  • 어떻게 하면 빠르고, 쉽고, 경제적으로 소프트웨어를 만들 수 있을까를 고민한 것이다.
  • IEEE(전기/전자기술협회)는 소프트웨어의 개발, 운용, 유지보수 및 파기에 대한 체계적인 접근 방법이라 정의하였다. 

소프트웨어 공학의 기본 요소

  • 현대적인 프로그래밍 기술을 적용해야 한다.
  • 신뢰성이 높아야 한다.
  • 사용의 편리성과 유지보수성이 높아야 한다. 
  • 지속적인 검증 시행을 해야 한다. 

출처 : https://www.youtube.com/watch?v=JhKOsZuMDWs&list=PL6i7rGeEmTvqEjTJF3PJR4a1N9KTPpfw0