본문 바로가기

소프트웨어공학

[소프트웨어공학] 소프트웨어공학(Software Engineering)

- 정의

  1. software problem 에 대한 cost-effective solution 을 얻기 위해 컴퓨터공학적, 수학적인 이론을 적용하는 공학
  2. software를 개발, 운영, 유지보수에 대한 systematic, disciplined(규칙화 되어있는), quantifiable(정량화할 수 있는) approach를 적용하는 공학

 

- 특징

  • 소프트웨어 역할의 변화
    • 비즈니스 지원 -> 비즈니스 핵심
  • complexity
    • Stakeholder 가 다양해지면서 개발 복잡도 증가
    • 개발환경의 복잡도 증가
    • 공학(Engineering)이란, 항상 일정한 output 을 내야하는데, SW의 complexity 때문에 소프트웨어공학이 어려움. 
  • Open source
    • 오픈 아키텍처 기반 및 플랫폼 기반의 환경 구축으로 인한 정형화
  • Flexibility
    • 외부 시스템과의 유연한 연계 필요
    • 더 자주 변하는 요구사항에 대한 유연한 반영 필요
반응형