การออกแบบซอฟท์แวร์ (Software Design)
การออกแบบซอฟท์แวร์ (Software Design) คือ การกำหนดโครงสร้างของสิ่งที่เราต้องการสร้างหรือพัฒนาขึ้นมา โดยแบ่งงานออกเป็นส่วนย่อย (Module) แต่ละส่วนกำหนดหน้าที่ (Function) ข้อมูลนำเข้า (Input) ขั้นตอนการทำงาน (Workflow) การประมวลผล (Processing) และผลลัพธ์ (Output) ทำให้มั่นใจว่าหากรวมงานย่อยทั้งหมดเข้าด้วยกัน และติดตั้งระบบเพื่อใช้งาน (System Implement) จะได้ผลลัพธ์ของงานตามความต้องการของระบบ (System Requirement) ถูกต้องตามที่กำหนดไว้
การออกแบบซอฟท์แวร์ที่ดี (Good Software Design) ต้องมีคุณสมบัติ 3 ประการ คือ 1) เป็นระบบที่ง่ายต่อการทำความเข้าใจในการออกแบบ (Understandability) 2) ถูกออกแบบให้ง่ายต่อการปรับปรุงทั้งโครงสร้างโปรแกรมและข้อมูล (Coding and Data Structure Updateability) และ 3) สามารถยกระดับซอฟท์แวร์ในองค์รวมได้ง่าย (Upgradability)