와이유스토리

[소프트웨어공학] 1. 소프트웨어공학 본문

컴퓨터공학/소프트웨어공학

[소프트웨어공학] 1. 소프트웨어공학

유(YOO) 2022. 9. 17. 17:53

1. 소프트웨어 정의

컴퓨터 프로그램과 그 프로그램이 올바르게 작동하도록 하는 데 필요한 그와 관련된 모든 문서 및 설치 데이터이다. 소프트웨어는 특정한 고객을 위해 개발된 제품과 누구든 사용할 수 있는 일반적인 제품으로 나뉜다.


2. 좋은 소프트웨어

좋은 소프트웨어는 고객에게 필요한 기능과 성능을 전달할 수 있어야하므로 수용성, 의존성, 효율성, 유지보수성이 높은 소프트웨어이다.

  • 수용성 : 사용자가 이해 및 사용하기 쉽고, 사용자가 사용하는 다른 시스템과 호환이 될 때 수용성이 높다.
  • 의존성 : 신뢰성, 보안성, 안정성을 가질 때, 의존성이 높다. 시스템과 소프트웨어 사이에서 실패가 발생해도 전체 시스템에 피해가 적다는 의미이다.
  • 효율성 : 응답 및 처리 시간이 빠르며, 투입 대비 산출이 높은 성능을 보이며, 시스템 자원의 낭비가 없을 때, 효율성이 높다.
  • 유지보수성 : 변화하는 고객의 요구사항을 충족시킬 수 있을 때, 유지보수성이 높다.

3. 소프트웨어공학 정의

시스템 개발 초기 단계부터 유지보수 과정까지 소프트웨어 개발과 관련된 모든 측면을 고려한 분야이다.

기술적인 개발 과정, 프로젝트 관리, 개발 도구, 명세화, 유효성검사, 평가 등 모든 것을 의미한다. 소프트웨어 공학은 돈, 시간 노력 등의 비용을 최소화하면서 복잡한 시스템을 완성도있게 개발하기 위해 필요하다.

  • 품질 높은 소프트웨어 상품 개발
  • 지속적인 검증 시행
  • 결과에 대한 명확한 기록 유지

4. 컴퓨터과학, 시스템공학과의 차이

컴퓨터과학은 이론과 근본에 초점을 둔 분야이며, 시스템 공학은 하드웨어, 소프트웨어를 모두 통합하여 고려한 학문이다. 반면 소프트웨어공학은 실질적인 개발에 초점을 둔 분야이며, 시스템 공학 중 한 부분이다.

 

Comments