อ่าน 7 นาที
ภาพรวมของวิศวกรรมซอฟต์แวร์
ต่อไปนี้เป็น โครงร่าง ที่จัดทำขึ้นเพื่อเป็นภาพรวมและแนวทางหัวข้อเกี่ยวกับวิศวกรรมซอฟต์แวร์:
ภาพรวมของวิศวกรรมซอฟต์แวร์
ต่อไปนี้เป็น โครงร่าง ที่จัดทำขึ้นเพื่อเป็นภาพรวมและแนวทางหัวข้อเกี่ยวกับวิศวกรรมซอฟต์แวร์:
วิศวกรรมซอฟต์แวร์ – การประยุกต์ใช้แนวทางที่เป็นระบบ มีระเบียบวินัย และวัดผล ได้ในการพัฒนา การดำเนินงาน และการบำรุงรักษาซอฟต์แวร์กล่าวคือ การประยุกต์ใช้วิศวกรรมกับซอฟต์แวร์[ 1 ]
ระบบการจำแนกประเภทวิทยาการคอมพิวเตอร์ของ ACM (ACM Computing Classification System) เป็นออนโทโลยีแบบลำดับชั้นหลายระดับที่จัดระเบียบหัวข้อต่างๆ ในสาขานี้ และสามารถนำไปใช้ในแอปพลิเคชันเว็บเชิงความหมาย (semantic web applications) และเป็นระบบการจำแนกประเภทมาตรฐานที่เป็นที่ยอมรับในสาขานี้ได้ ส่วนหลัก "ซอฟต์แวร์และวิศวกรรมซอฟต์แวร์" (Software and its Engineering) ให้เค้าโครงและออนโทโลยีสำหรับวิศวกรรมซอฟต์แวร์
แอปพลิเคชันซอฟต์แวร์
วิศวกร ซอฟต์แวร์สร้างซอฟต์แวร์ ( แอ ปพลิเคชันระบบปฏิบัติการซอฟต์แวร์ระบบ ) ที่ผู้คนใช้งาน
แอปพลิเคชันต่างๆ มีอิทธิพลต่อวิศวกรรมซอฟต์แวร์โดยการกดดันให้นักพัฒนาแก้ปัญหาด้วยวิธีการใหม่ๆ ตัวอย่างเช่น ซอฟต์แวร์สำหรับผู้บริโภคเน้นต้นทุนต่ำ ซอฟต์แวร์ทางการแพทย์เน้นคุณภาพสูง และซอฟต์แวร์การค้าออนไลน์เน้นการพัฒนาอย่างรวดเร็ว
- ซอฟต์แวร์ธุรกิจ
- การวิเคราะห์
- การขุดข้อมูลมีความเกี่ยวข้องอย่างใกล้ชิดกับฐานข้อมูล
- ระบบสนับสนุนการตัดสินใจ
- การจองตั๋วเครื่องบิน
- การธนาคาร
- เครื่องเอทีเอ็ม
- การประมวลผลเช็ค
- บัตรเครดิต
- พาณิชย์
- ซื้อขาย
- การประมูล (เช่น eBay)
- การประมูลแบบย้อนกลับ (การจัดซื้อจัดจ้าง)
- เครื่องสแกนบาร์โค้ด
- คอมไพเลอร์
- การสื่อสาร
- อีเมล
- โปรแกรมส่งข้อความโต้ตอบแบบทันที
- โวอิป
- ปฏิทิน — การจัดตารางเวลาและการประสานงาน
- ผู้จัดการฝ่ายติดต่อ
- กราฟิกคอมพิวเตอร์
- แอนิเมชั่น
- เทคนิคพิเศษสำหรับวิดีโอและภาพยนตร์
- การแก้ไข
- การประมวลผลภายหลัง
- การเข้ารหัสลับ
- ฐานข้อมูลรองรับเกือบทุกสาขา
- ระบบฝังตัวทั้งวิศวกรซอฟต์แวร์และวิศวกรทั่วไปต่างเขียนระบบควบคุมซอฟต์แวร์สำหรับผลิตภัณฑ์ฝังตัว
- ซอฟต์แวร์ยานยนต์
- ซอฟต์แวร์การบิน
- ซอฟต์แวร์ระบบ ทำความร้อน การระบายอากาศ และเครื่องปรับอากาศ ( HVAC )
- ซอฟต์แวร์อุปกรณ์ทางการแพทย์
- ระบบโทรศัพท์
- ระบบส่งข้อมูลทางไกล
- วิศวกรรมศาสตร์สาขาวิชาวิศวกรรมดั้งเดิมทั้งหมดใช้ซอฟต์แวร์อย่างกว้างขวาง วิศวกรใช้สเปรดชีตมากกว่าเครื่องคิดเลขเสียอีก วิศวกรใช้เครื่องมือ ซอฟต์แวร์เฉพาะ เพื่อออกแบบ วิเคราะห์ และจำลองโครงการของตนเอง เช่น สะพานและสายส่งไฟฟ้า โครงการเหล่านี้คล้ายกับซอฟต์แวร์ในหลายแง่มุม เพราะงานนั้นอยู่ในรูปแบบเอกสารอิเล็กทรอนิกส์และผ่านขั้นตอนการวิเคราะห์การออกแบบการนำไปใช้และการทดสอบ เครื่องมือซอฟต์แวร์สำหรับวิศวกรใช้หลักการของวิทยาการคอมพิวเตอร์ เช่นเดียวกับหลักการของแคลคูลัส ฟิสิกส์ และเคมี
- ไฟล์
- การเงิน
- เกมส์
- ระบบสารสนเทศสนับสนุนเกือบทุกสาขา
- ระบบจัดการข้อมูลห้องปฏิบัติการ(LIS)
- ระบบสารสนเทศเพื่อการจัดการ (MIS)สำหรับการจัดการข้อมูลทางการเงินและบุคลากร
- โลจิสติกส์
- การผลิต
- ดนตรี
- การจัดการเครือข่าย
- เครือข่ายและอินเทอร์เน็ต
- ห้องชุดสำนักงาน
- ระบบปฏิบัติการ
- หุ่นยนต์
- การประมวลผลสัญญาณการเข้ารหัส และการตีความสัญญาณ
- การประมวลผลภาพการเข้ารหัส และการตีความข้อมูลภาพ
- การประมวลผลคำพูด
- การจดจำข้อความ
- การจดจำลายมือ
- การจำลองสถานการณ์สนับสนุนเกือบทุกสาขา
- ในทางวิศวกรรมการจำลองด้วยซอฟต์แวร์นั้นมีต้นทุนการสร้างที่ถูกกว่าและมีความยืดหยุ่นในการเปลี่ยนแปลงมากกว่าแบบจำลองทางวิศวกรรม ทาง กายภาพ
- วิทยาศาสตร์
- วิทยาศาสตร์
- การควบคุมการจราจร
- การฝึกอบรม
- การแสดงผลข้อมูลเชิงภาพสนับสนุนเกือบทุกสาขา
- การลงคะแนนเสียง
- เวิลด์ไวด์เว็บ
หัวข้อวิศวกรรมซอฟต์แวร์
รูปแบบการเขียนโปรแกรม โดยอิงจากเทคโนโลยีภาษาการเขียนโปรแกรม
- การเขียนโปรแกรมเชิงวัตถุ
- การเขียนโปรแกรมเชิงแง่มุม
- การแยกส่วนเชิงฟังก์ชัน
- การเขียนโปรแกรมเชิงโครงสร้าง
- การเขียนโปรแกรมตามกฎเกณฑ์
ฐานข้อมูล
ส่วนต่อประสานผู้ใช้แบบกราฟิก
- GTK+ GIMP Toolkit
- wxWidgets
- อัลติเมท++
- ชุดเครื่องมือ Qt
- เอฟแอลทีเค
เครื่องมือการเขียนโปรแกรม
- การจัดการการกำหนดค่าและการจัดการซอร์สโค้ด
- เครื่องมือสร้าง
- ทำ
- คราด
- กลุ่มลับ
- มด
- เคดส์
- แนนท์
- แมเวน
- ผู้สร้างขั้นสุดท้าย
- กราเดิล
- เซิร์ฟเวอร์ Team Foundation
- บริการทีมงาน Visual Studio
- วิชวลบิลด์โปร
- บรรณาธิการ
- เครื่องมือสร้าง ตัวแยกวิเคราะห์
- เครื่องมือวิเคราะห์โค้ดแบบคงที่
ห้องสมุด
ภาษาการออกแบบ
- ภาษาสร้างแบบจำลองรวม (UML)
รูปแบบต่างๆ รวบรวมเทคนิคการเขียนโปรแกรมและการจัดการโครงการที่ใช้กันทั่วไปไว้มากมาย
กระบวนการและวิธีการ
- คล่องตัว
- รุ่นเฮฟวี่เวท
- ห้องปลอดเชื้อ
- ISO/IEC 12207 — กระบวนการวงจรชีวิตของซอฟต์แวร์
- ISO 9000และISO 9001
- แบบจำลองกระบวนการ
- เมตาโมเดล
แพลตฟอร์ม
แพลตฟอร์มคือการรวมฮาร์ดแวร์คอมพิวเตอร์และระบบปฏิบัติการเข้าด้วยกัน เมื่อแพลตฟอร์มมีประสิทธิภาพมากขึ้นและราคาถูกลง แอปพลิเคชันและเครื่องมือต่างๆ ก็จะเข้าถึงได้ง่ายขึ้นเช่นกัน
- ชง
- ซูเปอร์คอมพิวเตอร์เครย์
- มินิคอมพิวเตอร์DEC
- เมนเฟรมของ IBM
- พีซีLinux
- ระบบปฏิบัติการ Mac OS รุ่นคลาสสิกและพีซีmacOS
- ไมโครซอฟต์ .NET
- ปาล์มพีดีเอ
- ซัน ไมโครซิสเต็มส์โซลาริส
- คอมพิวเตอร์ระบบ Windows ( Wintel )
- ระบบปฏิบัติการซิมเบียน
แนวปฏิบัติอื่นๆ
- การสื่อสาร
- วิศวกรรมวิธีการ
- การเขียนโปรแกรมแบบคู่
- วิศวกรรมประสิทธิภาพ
- ประสิทธิภาพการเขียนโปรแกรม
- การปรับโครงสร้างใหม่
- การตรวจสอบซอฟต์แวร์ / การทบทวนโค้ด
- การนำซอฟต์แวร์กลับมาใช้ใหม่
- การบูรณาการระบบ
- การทำงานเป็นทีม
เครื่องมืออื่นๆ
หัวข้อวิทยาการคอมพิวเตอร์
- อัลกอริทึมคือ วิธีการที่กำหนดไว้อย่างชัดเจนสำหรับการแก้ปัญหาเฉพาะเจาะจง
- ทฤษฎีคอมไพเลอร์
- โครงสร้างข้อมูลคือ วิธีการที่กำหนดไว้อย่างชัดเจนสำหรับการจัดเก็บและเรียกใช้ข้อมูล
- ความสามารถในการคำนวณปัญหาบางอย่างไม่สามารถแก้ไขได้เลย
- ความซับซ้อนปัญหาบางอย่างอาจแก้ไขได้ในทางทฤษฎี แต่แก้ไขไม่ได้ในทางปฏิบัติ
- วิธีการที่เป็นทางการ
- ระบบปรับตัวได้
หัวข้อคณิตศาสตร์
คณิตศาสตร์เชิงดิสครีตเป็นรากฐานสำคัญของวิศวกรรม ซอฟต์แวร์
อื่น
ระยะต่างๆ ของวงจรชีวิต
- ระยะของวงจรชีวิตการพัฒนา
- การรวบรวม/วิเคราะห์ข้อกำหนด
- สถาปัตยกรรมซอฟต์แวร์
- การเขียนโปรแกรมคอมพิวเตอร์
- การทดสอบ ตรวจจับข้อผิดพลาด
- การประกันคุณภาพช่วยให้มั่นใจได้ว่ากระบวนการเป็นไปตามข้อกำหนด
- ระยะของวงจรชีวิตผลิตภัณฑ์ และ วงจรชีวิตโครงการ
- ขั้นตอนการพัฒนาเวอร์ชันใหม่ใกล้สิ้นสุดวงจรการปล่อยเวอร์ชัน
- วงจรการพัฒนาซอฟต์แวร์
ผลลัพธ์ที่ส่งมอบ
สำหรับโครงการวิศวกรรมซอฟต์แวร์หลายๆ โครงการ จำเป็นต้องมีการพัฒนาผลลัพธ์ที่ต้องการ วิศวกรซอฟต์แวร์ไม่ค่อยสร้างผลลัพธ์เหล่านี้ทั้งหมดด้วยตนเอง พวกเขามักจะร่วมมือกับผู้เขียน ผู้ฝึกอบรม ผู้ติดตั้ง นักการตลาด ฝ่ายสนับสนุนด้านเทคนิค และบุคคลอื่นๆ ที่สร้างผลลัพธ์เหล่านี้
- ซอฟต์แวร์แอปพลิเคชัน — ซอฟต์แวร์
- ฐานข้อมูล — โครงสร้างข้อมูลและข้อมูล
- เอกสารประกอบ (ออนไลน์และ/หรือสิ่งพิมพ์), คำถามที่พบบ่อย (FAQ) , ไฟล์อ่าน (Readme) , บันทึกการเปลี่ยนแปลง (Release Notes) , ความช่วยเหลือ (Help ) สำหรับแต่ละบทบาท
- นโยบาย การบริหารและการบำรุงรักษาสิ่งที่ควรสำรองข้อมูล ตรวจสอบ กำหนดค่า ...
- ผู้ติดตั้ง
- การย้ายถิ่นฐาน
- อัปเกรดจากเวอร์ชันติดตั้งก่อนหน้า
- อัปเกรดจากระบบที่ติดตั้งโดยคู่แข่ง
- เอกสาร ประกอบการฝึกอบรมสำหรับแต่ละบทบาท
- ข้อมูล สนับสนุนสำหรับกลุ่มให้ความช่วยเหลือด้านคอมพิวเตอร์
- เอกสาร ทางการตลาดและการขาย
- เอกสารไวท์เปเปอร์อธิบายถึงเทคโนโลยีที่ใช้ในแอปพลิเคชันต่างๆ
บทบาททางธุรกิจ
- การดำเนินงาน
- การพัฒนา
- ธุรกิจ
- งานให้คำปรึกษา — การปรับแต่งและการติดตั้งแอปพลิ เคชัน
- ฝ่ายขาย
- การตลาด
- ด้านกฎหมาย — สัญญา สิทธิในทรัพย์สินทางปัญญา
- ความเป็นส่วนตัวและวิศวกรรมความเป็นส่วนตัว
- ฝ่ายสนับสนุน — ให้ความช่วยเหลือลูกค้าในการใช้งานแอปพลิเคชัน
- บุคลากร — การว่าจ้างและการฝึกอบรมบุคลากรที่มีคุณสมบัติเหมาะสม
- การเงิน — การจัดหาเงินทุนสำหรับการพัฒนาโครงการใหม่
- สถาบันการศึกษา
หัวข้อการจัดการ
- ความเป็นผู้นำ
- โค้ชชิ่ง
- การสื่อสาร
- การฟัง
- แรงจูงใจ
- วิสัยทัศน์และความเชี่ยวชาญของวิศวกรระบบ (SE) นั้นดีเยี่ยมในเรื่องนี้
- ตัวอย่างเช่นทุกคนมักปฏิบัติตามแบบอย่างที่ดีที่สุด
- การบริหารทรัพยากรบุคคล
- การจ้างงานการดึงคนเข้ามาทำงานในองค์กร
- การฝึกอบรม
- การประเมิน
- การบริหารโครงการ
- การจัดการกระบวนการ
หัวข้อธุรกิจ
- โครงการคุณภาพ
วิชาชีพวิศวกรรมซอฟต์แวร์
- ข้อมูลประชากรด้านวิศวกรรมซอฟต์แวร์
- เศรษฐศาสตร์วิศวกรรมซอฟต์แวร์
- ซีซีเอส
- ประวัติศาสตร์ของวิศวกรรมซอฟต์แวร์
- ความเป็นมืออาชีพด้านวิศวกรรมซอฟต์แวร์
- ถูกกฎหมาย
ประวัติศาสตร์ของวิศวกรรมซอฟต์แวร์
ประวัติศาสตร์ของวิศวกรรมซอฟต์แวร์
ผู้บุกเบิก
มีหลายคนที่มีส่วนร่วมสำคัญในการพัฒนาเทคโนโลยี แนวปฏิบัติ หรือแอปพลิเคชันด้านวิศวกรรมระบบ
- จอห์น แบคคัส : ฟอร์ทรานคอมไพเลอร์ปรับแต่งประสิทธิภาพตัวแรกBNF
- วิคเตอร์ บาซิลิ : โรงงานแห่งประสบการณ์
- เอฟ.แอล. เบาเออร์ : หลักการ เรียงซ้อน (Stack principle) ทำให้คำว่าวิศวกรรมซอฟต์แวร์ เป็นที่รู้จักอย่างแพร่หลาย
- เคนท์ เบ็ค : การปรับโครงสร้างโค้ด (Refactoring) , การเขียนโปรแกรมแบบสุดขั้ว (Extreme Programming) , การเขียนโปรแกรมแบบคู่ (Pair Programming) , การพัฒนาแบบขับเคลื่อนด้วยการทดสอบ (Test-Driven Development )
- ทิม เบอร์เนอร์ส-ลี : เวิลด์ไวด์เว็บ
- แบร์รี โบห์ม : เศรษฐศาสตร์วิศวกรรมระบบ , COCOMO , โมเดลเกลียว
- Grady Booch : การออกแบบเชิงวัตถุ , UML
- เฟรด บรูคส์ : บริหารจัดการSystem 360และOS 360เขียนหนังสือThe Mythical Man-MonthและNo Silver Bullet
- แลร์รี คอนสแตนติน : การออกแบบเชิงโครงสร้างการเชื่อมโยงความสอดคล้อง
- เอ็ดสเกอร์ ไดจ์กสตรา : เขียนบันทึกเกี่ยวกับ การเขียนโปรแกรมเชิงโครงสร้าง , ระเบียบวินัยของการเขียนโปรแกรมและคำสั่ง Go To ที่ถือว่าเป็นอันตราย , อัลกอริทึม , วิธีการเชิงรูปธรรม , การสอน
- ไมเคิล ฟาแกน : การตรวจ สอบซอฟต์แวร์
- ทอม กิลบ์ : ตัวชี้วัดซอฟต์แวร์ , การตรวจสอบซอฟต์แวร์ , การส่งมอบแบบวิวัฒนาการ ("Evo" )
- Adele Goldstine : เขียนคู่มือการใช้งานสำหรับENIACซึ่งเป็นคอมพิวเตอร์ดิจิทัลอิเล็กทรอนิกส์เครื่องแรก และฝึกอบรมบุคลากรกลุ่มแรกๆ ที่ใช้คอมพิวเตอร์มนุษย์
- ลอยส์ ไฮบ์ท : เขียน โปรแกรมแยกวิเคราะห์ (parser ) ตัวแรกด้วยภาษา FORTRAN
- มาร์กาเร็ต แฮมิลตัน : เป็นผู้บัญญัติศัพท์ "วิศวกรรมซอฟต์แวร์" และพัฒนาระบบภาษาสากล (Universal Systems Language)
- แมรี จีน แฮร์โรลด์ : การทดสอบการถดถอย , การระบุตำแหน่งข้อผิดพลาด
- เกรซ ฮอปเปอร์ : คอมไพเลอร์ตัวแรก (Mark 1), COBOL , นาโนวินาที
- วัตต์ส ฮัมฟรีย์ : โมเดลความสามารถในการพัฒนา (Capability Maturity Model) , กระบวนการพัฒนาซอฟต์แวร์ส่วนบุคคล (Personal Software Process) , สมาชิกสถาบันวิศวกรรมซอฟต์แวร์ (Software Engineering Institute )
- ฌอง อิชบิอาห์ : เอดา
- ไมเคิล เอ. แจ็กสัน : การเขียนโปรแกรมเชิงโครงสร้างของแจ็กสัน , การพัฒนาระบบของแจ็กสัน
- บิล จอย : Berkeley Unix , vi , Java
- อลัน เคย์ : บทสนทนาเล็กๆ
- ไบรอัน เคอร์นิแกน : ภาษาซีและยูนิกซ์
- Donald Knuth : เขียนหนังสือThe Art of Computer Programming , TeX , algorithms , literate programming
- แนนซี เลเวสัน : ความปลอดภัยของระบบ
- เบอร์ทรานด์ เมเยอร์ : การออกแบบโดยใช้สัญญา (Design by Contract) , ภาษาโปรแกรมมิ่ง Eiffel
- Peter G. Neumann : RISKS Digest , ACM Sigsoft.
- เดวิด พาร์นาส : การออกแบบโมดูล ความรับผิดชอบต่อสังคม ความเป็นมืออาชีพ
- เจฟ ราสกิน : ผู้พัฒนาGUI รุ่นแรก สำหรับ Macintosh และผู้เขียนหนังสือThe Humane Interface
- เดนนิส ริทชี : ภาษาซีและยูนิกซ์
- วินสตัน ดับเบิลยู. รอยซ์ : แบบจำลองน้ำตก
- แมรี ชอว์ : สถาปัตยกรรมซอฟต์แวร์
- ริชาร์ด สตอลล์แมน : ผู้ก่อตั้งมูลนิธิซอฟต์แวร์เสรี
- Linus Torvalds : เคอร์เนล ลินุกซ์, ซอฟต์แวร์เสรี / การพัฒนาโอเพนซอร์ส
- Will Tracz : การนำกลับมาใช้ใหม่, ACM Software Engineering Notes
- เจอร์รัลด์ ไวน์เบิร์ก : เขียนหนังสือเรื่อง"จิตวิทยาของการเขียนโปรแกรมคอมพิวเตอร์ "
- Elaine Weyuker : การทดสอบซอฟต์แวร์
- Jeannette Wing : ข้อกำหนดอย่างเป็นทางการ
- เอ็ด ยัวร์ดอน : ผู้เขียนหนังสือ "การเสื่อม ถอยและการล่มสลายของโปรแกรมเมอร์ชาวอเมริกัน" (The Decline and Fall of the American Programmer )
ดูเพิ่มเติม
ผลงานตีพิมพ์ที่โดดเด่น
- About Face: The Essentials of User Interface DesignโดยAlan Cooperเกี่ยวกับการออกแบบส่วนติดต่อผู้ใช้ISBN 0-7645-2641-3
- แบบจำลองความสามารถในการพัฒนา (Capability Maturity Model)โดยWatts Humphreyเขียนขึ้นสำหรับสถาบันวิศวกรรมซอฟต์แวร์โดยเน้นที่การจัดการและกระบวนการ (ดูManaging the Software Process ISBN) 0-201-18095-2)
- หนังสือ "The Cathedral and the Bazaar"โดย Eric Raymondเกี่ยวกับการพัฒนาซอฟต์แวร์แบบโอเพนซอร์ส
- หนังสือ "The Decline and Fall of the American Programmer"โดยEd Yourdonทำนายถึงจุดจบของการพัฒนาซอฟต์แวร์ในสหรัฐอเมริกาISBN 0-13-191958-X
- รูปแบบการออกแบบ (Design Patterns)โดย Erich Gamma , Richard Helm , Ralph Johnsonและ John Vlissides ISBN 0-201-63361-2
- Extreme Programming ExplainedโดยKent Beck ISBN 0-321-27865-8
- " คำแถลงที่ถือว่าเป็นอันตราย " โดยเอ็ดสเกอร์ ไดจ์กสตรา
- "อินเทอร์เน็ต นวัตกรรม และโอเพนซอร์ส: ผู้มีบทบาทในเครือข่าย" — บทความ จาก First MondayโดยIlkka Tuomi (2000) แหล่งที่มา เก็บถาวรเมื่อ 2013-04-10 ที่Wayback Machine
- หนังสือ "The Mythical Man-Month"โดย Fred Brooksเกี่ยวกับการบริหารโครงการ ISBN 0-201-83595-9
- การวิเคราะห์และการออกแบบเชิงวัตถุโดยแกรดี้ บูชISBN 0-8053-5340-2
- หนังสือ Peoplewareโดย Tom DeMarcoและ Tim Lister ISBN 0-932633-43-9
- วิศวกรเชิงปฏิบัติเทียบกับนักออกแบบเชิงวิทยาศาสตร์โดยEW Dijkstra [1]
- หลักการจัดการวิศวกรรมซอฟต์แวร์โดยทอม กิลบ์เกี่ยวกับกระบวนการวิวัฒนาการISBN 0-201-19246-2
- จิตวิทยาของการเขียนโปรแกรมคอมพิวเตอร์โดยเจอรัลด์ ไวน์เบิร์กเขียนขึ้นในฐานะที่ปรึกษาอิสระ โดยส่วนหนึ่งมาจากประสบการณ์หลายปีของเขาที่ IBM ISBN 0-932633-42-0
- การปรับโครงสร้างโค้ด: การปรับปรุงการออกแบบโค้ดที่มีอยู่โดยมาร์ติน ฟาวเลอร์ , เคนท์ เบ็ค , จอห์น แบรนต์, วิลเลียม ออปไดค์และ ดอน โรเบิร์ตส์ISBN 0-201-48567-2
- โปรแกรมเมอร์เชิงปฏิบัติ: จากมือสมัครเล่นสู่มืออาชีพโดยแอนดรูว์ ฮันท์และเดวิด โทมัส ISBN 0-201-61622-X
- องค์ความรู้ด้านวิศวกรรมซอฟต์แวร์ (SWEBOK) ISO/IEC TR 19759
สาขาที่เกี่ยวข้อง
- วิทยาการคอมพิวเตอร์
- วิศวกรรมสารสนเทศ
- เทคโนโลยีสารสนเทศ
- วิศวกรรมแบบดั้งเดิม
- วิศวกรรมซอฟต์แวร์
- ศิลปศาสตร์และวิทยาศาสตร์
- ซอฟต์แวร์แอปพลิเคชัน
- การเขียนโปรแกรม
- วิศวกรรมระบบ
ดูเพิ่มเติม
- ดัชนีบทความด้านวิศวกรรมซอฟต์แวร์
- วิศวกรรมซอฟต์แวร์เชิงค้นหา
- SWEBOK ( Software Engineering Body of Knowledge)
- หลักสูตรวิชาคอมพิวเตอร์ CCSEสำหรับวิศวกรรมซอฟต์แวร์
- ที่มาของคำศัพท์คอมพิวเตอร์ต้นกำเนิดของคำศัพท์คอมพิวเตอร์
- ความซับซ้อนหรือการขยายขนาด
- กลุ่มอาการระบบที่สอง
- การเพิ่มประสิทธิภาพ
- การเก็บรักษาซอร์สโค้ด
- ปัญหาการโต้ตอบของฟีเจอร์
- ใบรับรอง (วิศวกรรมซอฟต์แวร์)
- ภัยพิบัติทางวิศวกรรม #ความล้มเหลวเนื่องจากซอฟต์แวร์
- ภาพรวมของการพัฒนาซอฟต์แวร์
- รายชื่อเครื่องมือช่วยพัฒนาซอฟต์แวร์ด้วย AI
- รายชื่อปรัชญาการพัฒนาซอฟต์แวร์
ลิงก์ภายนอก
- ระบบการจำแนกประเภทคอมพิวเตอร์ของ ACM
- คู่มือความรู้ด้านวิศวกรรมซอฟต์แวร์ (SWEBOK) เก็บถาวรเมื่อวันที่ 23 มีนาคม 2009 ที่Wayback Machine
- องค์กรวิชาชีพ
- สมาคมคอมพิวเตอร์แห่งอังกฤษ
- สมาคมเครื่องจักรคำนวณ
- สมาคมคอมพิวเตอร์ IEEE
- ความเป็นมืออาชีพ
- จรรยาบรรณของ SE
- การออกใบอนุญาตประกอบวิชาชีพในรัฐเท็กซัส(เก็บถาวรเมื่อ 21 กุมภาพันธ์ 2549 ที่Wayback Machine)
- การศึกษา
- หลักสูตรระดับปริญญาตรีของ CCSE
- มาตรฐาน
- มาตรฐานวิศวกรรมซอฟต์แวร์ IEEE
- คณะทำงานด้านวิศวกรรมอินเทอร์เน็ต
- ไอโอเอส
- องค์กรภาครัฐ
- สถาบันซอฟต์แวร์แห่งยุโรป
- สถาบันวิศวกรรมซอฟต์แวร์
- คล่องตัว
- องค์กรเพื่อส่งเสริมการพัฒนาซอฟต์แวร์แบบ Agile
- การพัฒนาแบบทดสอบนำ
- การเขียนโปรแกรมแบบสุดขั้ว
- องค์กรอื่นๆ
- ชุมชนออนไลน์สำหรับวิศวกรซอฟต์แวร์
- สมาคมวิศวกรรมซอฟต์แวร์
- ข้อมูลประชากร
- สำนักงานสถิติแรงงานสหรัฐฯ เกี่ยวกับ SE
- แบบสำรวจ
- หน้าเว็บของเดวิด เรดไมลส์ จากเว็บไซต์ของมหาวิทยาลัยแคลิฟอร์เนีย
- อื่น
- เอกสารฉบับเต็มในรูปแบบ PDF จากการประชุม NATO ที่เมืองการ์มิช
- ความเสี่ยงทางคอมพิวเตอร์ คอลัมน์ความเสี่ยงของปีเตอร์ จี. นอยมันน์
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ภาพรวมของวิศวกรรมซอฟต์แวร์
ต่อไปนี้เป็น โครงร่าง ที่จัดทำขึ้นเพื่อเป็นภาพรวมและแนวทางหัวข้อเกี่ยวกับวิศวกรรมซอฟต์แวร์:
แอปพลิเคชันซอฟต์แวร์
วิศวกร ซอฟต์แวร์ สร้าง ซอฟต์แวร์ ( แอ ป พลิเคชัน ระบบ ปฏิบัติการ ซอฟต์แวร์ระบบ ) ที่ผู้คนใช้งาน
หัวข้อวิศวกรรมซอฟต์แวร์
ภาษาโปรแกรม อาดา เอพีแอล บี โคบอล ปาสคาล ซี ซี++ ซี# โคลจูร์ ลิสปาร์กทั่วไป ดี โคลด์ฟิวชั่น เดลฟี ดีแลน หอไอเฟล เออร์ลัง ฟอร์ทราน เอฟ# กรูวี่ ชวา บ่วงบาศ เอ็มแอล โอแคมล์ เพิร์ล พีพี พีแอล/ซีแอล บทนำ ไป สนิม สวิฟต์ โค้ด JavaScript ฮัสเคลล์ ไพธอน ทับทิม สกาล่า...
รูปแบบการเขียนโปรแกรม โดยอิงจากเทคโนโลยีภาษาการเขียนโปรแกรม
การเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงแง่มุม การแยกส่วนเชิงฟังก์ชัน การเขียนโปรแกรมเชิงโครงสร้าง การเขียนโปรแกรมตามกฎเกณฑ์