ศึกษาแนวความคิดเกี่ยวกับการออกแบบและพัฒนาซอฟต์แวร์ การวางแผน การศึกษาความต้องการของซอฟต์แวร์ เทคนิคสำหรับการออกแบบโปรแกรมด้วยวิธีต่างๆ การออกแบบโปรแกรม เครื่องมือสำหรับการออกแบบโปรแกรม การจัดทำเอกสาร การบำรุงรักษาซอฟต์แวร์ การบริหารโครงการพัฒนาซอฟต์แวร์