ການອອກແບບซอฟท์แวร์ (Software Design) คือ ການກຳໜົດໂຄງສ້າງຂອງสิ่งທີ່เราຕ້ອງການສ້າງຫຼືພັດທະນາຂຶ້ນมา ໂດຍແບ່ງงานออกເປັນส่วนย่อย (Module) แต่ละส่วนກຳໜົດหน้าທີ່ (Function) ຂໍ້ມູນນຳເຂົ້າ (Input) ขั้นตอนການເຮັດວຽກ (Workflow) ການປະມວນຜົນ (Processing) ແລະผลลัพธ์ (Output) ເຮັດໃຫ້มั่นໃຈว่าหากรวมงานย่อยทั้งหมดເຂົ້າດ້ວຍกัน ແລະຕິດຕັ້ງລະບົບเพื่อໃຊ້งาน (System Implement) ຈະໄດ້ผลลัพธ์ຂອງงานຕາມຄວາມຕ້ອງການຂອງລະບົບ (System Requirement) ຖືກຕ້ອງຕາມທີ່ກຳໜົດไว้