경희대학교 김정욱 교수님의 소프트웨어 공학 수업을 기반으로 정리한 글입니다.소프트웨어 설계(Design)란? 설계개발될 제품에 대한 의미있는 공학적 표현프로그램 구현에 들어가기 전에 소프트웨어를 구성하는 뼈대를 정의해 구현의 기반을 만드는 것설계자는 다양한 제약 조건을 만족시킬 수 있는 최적의 설계안을 만들고, 설계를 평가할 기준도 정량적으로 명시해야 한다. 좋은 설계가 되기 위한 조건'설계서'는 '요구분석 명세서'의 내용을 모두 포함해야 한다.유지보수가 용이하도록 추적이 가능해야 한다.변화에 쉽게 적응할 수 있어야 한다. ex) 새로운 함수와의 연동시스템 변경으로 인한 영향이 최소화되도록 국지적(한정적)이어야 한다. ex) 모듈화'설계서'는 읽기 쉽고 이해하기 쉽게 작성되어야 한다.설계만 잘 되면 구현..