บทที่ 1 Software-problems and prospects
ความเป็นมา เป้าหมาย ของวิศวกรรมซอฟต์แวร์ ปัญหาความยากง่ายในการจัดการโครงการซอฟต์แวร์ขนาดใหญ่ การวิเคราะห์ปัญหาด้านวิศวกรรมซอฟต์แวร์
บทที่ 2 กระบวนการพัฒนาซอฟต์แวร์
กระบวนการทางวิศวกรรมซอฟต์แวร์ คือ การใช้ระเบียบวิธี เทคนิค เครื่องมือช่วย และกระบวนการพัฒนาซอฟต์แวร์ที่ชัดเจน ซึ่งสามารถตรวจสอบได้ เพื่อทำให้เกิดมาตรฐานเดียวกัน และให้ซอฟต์แวร์มีประสิทธิภาพสูงสุด ในทางปฏิบัติจริง
บทที่ 3 การพัฒนาซอฟต์แวร์แบบเอจายล์
การพัฒนาซอฟต์แวร์แบบเอจายล์ คือ แนวคิดใหม่ของกระบวนการพัฒนาซอฟต์แวร์ที่มีลักษณะการทำงานแบบวนซ้ำ โดยมุ่งเน้นการพัฒนาซอฟต์แวร์ให้มีความก้าวหน้าและเป็นไปตามมาตรฐานที่วางไว้ เน้นการสื่อสารระหว่างผู้พัฒนา กับผู้ใช้/ลูกค้า เน้นสื่อสารมากกว่าใช้เอกสาร มีเอกสารที่เกี่ยวข้องไม่มาก เวลาที่ใช้ในการพัฒนาซอฟต์แวร์ไม่นาน ส่งมอบกับลูกค้าได้อย่างรวดเร็ว ทำให้ประหยัดเวลาและค่าใช้จ่าย
บทที่ 4 การบริหารโครงการซอฟต์แวร์
เป้าหมายหลักของการบริหารโครงการซอฟต์แวร์ คือ โครงการซอฟต์แวร์ที่ถูกพัฒนาขึ้นต้อง สร้างความพึงพอใจ ได้รับการยอมรับจากลูกค้าหรือผู้ใช้ ต้องมีคุณภาพสูง ความปลอดภัยสูง ค่าใช้จ่ายต่ำ เสร็จภายในเวลาที่กำหนด จัดสรรเครื่องมือและทรัพยากรทั้งหมดให้เกิดประโยชน์สูงสุด
บทที่ 5 วิศวกรรมความต้องการ
กระบวนการที่ทำให้วิศวกรซอฟต์แวร์เข้าใจและเข้าถึงความต้องการของลูกค้าได้อย่างถูกต้อง
บทที่ 6 การวิเคราะห์ซอฟต์แวร์
การวิเคราะห์ซอฟต์แวร์ นักวิเคราะห์ระบบจะสร้างแบบจำลอง เพื่อให้ทีมนักพัฒนาซอฟต์แวร์มีความเข้าใจตรงกันกับลูกค้าหรือผู้ใช้แบบจำลอง คือ สัญลักษณ์ที่ใช้จำลองข้อเท็จจริงต่าง ๆ ที่เกิดขึ้นในระบบ ประกอบด้วย แผนภาพต่าง ๆ แบบจำลองเป็นเครื่อง แบบจำลองสะท้อนให้เห็นถึงความต้องการระบบอย่างชัดเจนว่าทำหน้าที่อะไร
บทที่ 7 การออกแบบซอฟต์แวร์
เป็นขั้นตอนที่ทำหลังจากขั้นตอนของการวิเคราะห์ซอฟแวร์ ซึ่งการออกแบบซอฟต์แวร์หมายถึง กระบวนการกำหนดสถาปัตยกรรม ส่วนประกอบ ส่วนต่อประสาน และด้านอื่น ๆ
บทที่ 8 การออกแบบเชิงสถาปัตยกรรม
ขั้นตอนการออกแบบซอฟต์แวร์ สถาปนิกซอฟต์แวร์ (Software Architect) จะต้องพิจารณาลักษณะโครงสร้างของซอฟต์แวร์ ประกอบด้วย ส่วนประกอบ และความสัมพันธ์ระหว่างส่วนประกอบและคำนึงถึงรูปแบบเชิงสถาปัตยกรรมของซอฟต์แวร์ การออกแบบซอฟต์แวร์ แบ่งเป็น 2 ประเภท การออกแบบเชิงสถาปัตยกรรม (Architectural Design) การออกแบบเชิงละเอียด (Detailed Design)
บทที่ 9 การออกแบบส่วนต่อประสานกับผู้ใช้
ส่วนต่อประสานกับผู้ใช้ เป็นกระบวนการสำคัญในการพัฒนาซอฟต์แวร์ และมีผลต่อการเลือกใช้ซอฟต์แวร์เป็นอย่างมากเนื่องจากส่วนต่อประสานกับผู้ใช้จะแสดงรูปหรือสัญลักษณ์ต่าง ๆ บนจอภาพ เพื่อสื่อความหมายให้กับผู้ใช้ หากส่วนนี้สร้างความประทับใจให้ผู้ใช้ จะช่วยโน้มน้าวให้ผู้ใช้ยอมรับซอฟต์แวร์ได้ง่ายขึ้น
บทที่ 10 การทดสอบซอฟต์แวร์
นักทดสอบระบบจะนำโปรแกรมมาตรวจสอบความถูกต้องทางด้านภาษาคำสั่ง และ ฟังก์ชันการทำงาน เพื่อพิจารณาซอฟต์แวร์ที่ได้มานั้นตรงตามความต้องการของผู้ใช้หรือไม่