소프트웨어 기술은 실제로 여러 단계로 구성됩니다.
둘째, 소프트웨어 엔지니어링에는 두 가지 수준이 있습니다.
소프트웨어 엔지니어링에는 해석, 디버그, 컴파일, 테스트, 데이터 또는 동적 분석, 디버깅, 유지 관리와 같은 기술적 단계가 있습니다. 반면에 프로젝트 관리, 심리적 수준 (인지, 성과, 조직 등) 과 같은 비기술적 수준에 속한다. ) 및 법적 수준 (계약, 신뢰성, 지적 재산권). 소프트웨어 엔지니어링의 가장 큰 문제는 복잡성, 문제 자체의 복잡성, 설계나 포장의 복잡성, 액세스 플랫폼의 복잡성입니다. 복잡성으로 인해 크고 복잡한 시스템은 설계 및 유지 관리를 위해 시간과 어려움이 필요합니다. 이 시스템은 한 사람이 완전히 이해하기 어렵다. 대규모 시스템은 모든 사람의 모든 요구를 충족하기가 어렵기 때문에 비정기적으로 업그레이드를 업데이트할 수 있어 변경성이 높습니다. 그것은 불가피하게 남은 결함이 있을 것이다. 여러 가지 이유로 많은 소프트웨어의 완료 시간이 지연되고, 예산이 초과되며, 어떤 소프트웨어는 아예 완성할 수 없다.