วิศวกรรมซอฟต์แวร์
(Software Enginearing)
 
รหัสวิชา 3128-2206
บทเรียนที่ 6  การออกแบบซอฟต์แวร์

[ความหมายและการหลักการพื้นฐานในการออกแบบซอฟต์แวร์ ]
       การออกแบบซอฟต์แวร์  เป็นขั้นตอนในการออกแบบการเขียนโปรแกรม โดยแบ่งโปรแกรมออกเป็นโมดูล และออกแบบให้แต่ละโมดูลมีความสัมพันธ์กันในระดับต่าง ๆ ซึ่งจากการออกแบบจะใช้แผนผังโครงสร้าง (Structure Chart) แสดงให้เห็นถึงความสัมพันธ์ของโมดูลส่วนในระบบ รวมทั้งความสัมพันธ์ระหว่างโมดูลโดยการส่งผ่านข้อมูล
การออกแบบซอฟต์แวร์ กล่าวถึงการแบ่งส่วนของระบบออกเป็นส่วนย่อย ๆ เรียกว่า "โมดูล" (Module)ซึ่งอาจเรียกว่าการออกแบบโมดูล(Modulardesign)
       1.  การออกแบบโมดูล (Modular design) หมายถึงการแบ่งการทำงานของระบบออกเป็นส่วน ๆ แต่ละ               ส่วนเรียกว่า"โมดูล"
       2.  โมดูล (Module) หมายถึง กลุ่มการทำงานย่อย หรือกลุ่มของชุดคำสั่ง หรือโปรแกรมย่อย
       3.  แผนผังโครงสร้าง (Structure Chart) หมายถึงเป็นเครื่องมือที่อธิบายถึงการแบ่งการทำงานของระบบ      ออกเป็น   ส่วนย่อย หรือโมดูล โดยแสดงโมดูลเป็นลำดับขั้นตามการเรียกใช้ข้อมูล พร้อมทั้งแสดงถึงความสัมพันธ์ระหว่างมดูล
       4.  การอ่านและเรียกใช้โมดูล เริ่มจากบนลงล่าง และจากซ้ายไปขวา
       5.  ใช้ Data Flow Diagram มาแปลงเป็นโมดูล

หลักพื้นฐานในการออกแบบซอฟต์แวร์
       1.  Abstraction
       2. Stepwise  Refinement
       3. Modularity
       4. Software Architecture
       5. Control  Hierarchy
       6.  Data Structure
       7. Software Procedure
       8. Information Hiding