งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การคิดเชิงระบบ (Systems Thinking)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การคิดเชิงระบบ (Systems Thinking)"— ใบสำเนางานนำเสนอ:

1 การคิดเชิงระบบ (Systems Thinking)
คพ216 เทคนิคการเขียนโปรแกรม การคิดเชิงระบบ (Systems Thinking) อาจารย์อรรถวิท ชังคมานนท์ สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยแม่โจ้ Powerpoint Templates

2 การคิดเชิงระบบ การคิดเชิงระบบคือ “การคิดแบบให้เห็นทั้งหมด”
การคิดเชิงระบบคือ “การคิดแบบให้เห็นทั้งหมด” “ทั้งหมด” คือ “หนึ่งเดียว” ที่มีส่วนประกอบเหล่านั้นเชื่อมติดกันทั้งหมด เป็นหนึ่งเดียว “ความเชื่อมต่อ” คือโครงสร้างของระบบ (Systemic Structure) ที่เรามองเห็นได้ยาก เราจึงไม่ให้ความสำคัญ

3 เหตุผลที่ต้องคิดเชิงระบบ
องค์การทั้งหลายยังแก้ปัญหาไม่ตก ปัญหาไม่หลุดไป อย่างถาวร แก้ปัญหาตรงเหตุการณ์ที่เกิดขึ้น มิได้แก้ที่สาเหตุ ชอบแก้ปัญหาตรงที่มันผุดขึ้น เป็นการตามไล่แก้ปัญหา เป็นการแก้ปัญหาแบบ “แยกส่วน” เป็นการแก้ปัญหาที่อาการ ดร.ณัฐวัฒน์ นิปกากร

4 ความมั่นคงของระบบ (Systems Stability)
อยู่กับคุณภาพของการเชื่อมต่อระหว่างส่วนประกอบ ทั้งหลายของระบบ ทุกส่วนประกอบมีส่วนทำให้เกิดเหตุการณ์ขึ้น จงระลึกว่า “ตัวเองมีส่วนช่วย หรือไม่ก็เป็นผู้ก่อให้เกิดเหตุการณ์นั้นๆ”

5 คิด ?

6 ประตูสวรรค์ ประตูนรก เทวดาเฝ้า ยักษ์เฝ้า และพูดจริงเสมอ และพูดเท็จเสมอ
ประตูสวรรค์ ประตูนรก เทวดาเฝ้า และพูดจริงเสมอ ยักษ์เฝ้า และพูดเท็จเสมอ ยักษ์แต่งตัวเหมือนเทวดาทุกอย่าง ท่านสามารถตั้งคำถาม ได้ 1 คำถาม แล้วตัดสินใจเลือกประตูสวรรค์ให้ถูกต้อง ท่านจะถามว่าอย่างไร ?

7 จะใช้แก้วที่กำหนดให้ ตัก ตวง ถ่ายเทน้ำอย่างไร
ให้ได้น้ำจำนวน 4 ลิตร ทั้งนี้ต้องพิสูจน์ได้ในเชิงปริมาณ ห้ามใช้การกะประมาณ หรือใช้อุปกรณ์อื่นมาเสริมช่วย ในการแก้ปัญหาครั้งนี้ เราต้องการจำนวนครั้งที่น้อยที่สุด ทรัพยากรน้ำมีคุณค่า โปรดอย่าเททิ้งเป็นอันขาด น้ำเต็ม 20 ลิตร แก้วเปล่า 3 ลิตร แก้วเปล่า 5 ลิตร

8 ประตูทางเข้า ประตูทางเข้า
ช่างไฟฟ้าจำไม่ได้ว่าต่อสวิทซ์ใดกับหลอดไฟใด ขอให้ท่านบอกให้ได้ว่าสวิทซ์ใดเป็นของหลอดใด ? โดยเข้าห้องที่ 1 และ 2 ได้เพียงห้องละ 1 ครั้ง A B C Switch ไฟฟ้าต่อวงจร กับหลอดไฟในห้องที่ 1. หลอดไฟดี 100 W. ประตูทางเข้า ประตูทางเข้า ห้องที่ ห้องที่ 2.

9 การคิด (Thinking) ที่เป็นตรรกะ (Logical)
 Logical Thinking การคิด (Thinking) ที่เป็นตรรกะ (Logical) Logical Thinking คิดอย่างมีตรรกะ ชนะทุกเงื่อนไข คัตสึมิ นิชิมูระ ISBN

10  Logical Thinking การคิดที่มีตรรกะเข้ามาเกี่ยวข้องหรือการคิดที่มีลำดับขั้นตอน เป็นเหตุเป็นผล ตัวอย่าง Logical Thinking แบบง่าย ๆ ก็อย่างเช่น การเขียนภาพ Scenario โดยตั้งเป้าหมายที่ชัดเจนไว้ แล้วเขียนภาพในการบรรลุเป้าหมาย (Goal) โดยมีลำดับขั้นตอนเป็นเหตุเป็นผลเอาไว้ และการเขียน Scenario นี้จะต้องเขียนให้สามารถบรรลุเป้าหมายที่ตั้งไว้ด้วยการใช้กำลังแรงที่น้อยที่สุด

11  Logical Thinking Logical Thinking จึงเป็นวิธีการทางความคิดที่ขาดไม่ได้ในการเพิ่มอัตราส่วนของความสำเร็จเพื่อมุ่งสู่การบรรลุเป้าหมาย เมื่อคิดแบบ Logical Thinking อยู่เสมอ ก็จะสร้างนิสัยการมองภาพรวมและคิดอย่างเป็นระบบได้ ทำให้สามารถเลือกสรรเส้นทางที่สั้นที่สุดที่จะไปสู่เป้าหมายซึ่งมีการเคลื่อนไหวหรือการทำงานที่สูญเปล่าน้อยที่สุดได้นั่นเอง

12 ตัวอย่างวิธีปฏิบัติของ Logical Thinking
การพูดอย่างมีตรรกะ พูดข้อสรุปของเนื้อหาโดยรวมก่อน เพื่อให้ผู้ฟังเข้าใจถึงภาพรวมภายในเวลาอันรวดเร็ว โดยแนะนำอย่างสั้น ๆ ถึงที่มาที่ไป หรือเหตุผลต่าง ๆ ก่อนจะมาเป็นข้อสรุปนี้ พูดถึงข้อสรุปดังกล่าว แล้วจึงบอกว่า “รายละเอียดนั้นจะอธิบายให้ฟังต่อจากนี้ไป” อย่าใส่ข้อมูลที่ไม่เกี่ยวข้องไว้ในข้อสรุป เพราะข้อมูลที่มากเกินไปจะทำให้ผู้ฟังเกิดความสับสนได้

13 การพูดอย่างมีตรรกะ หนึ่งหน้า หนึ่งข้อความ (One Page One Message) นั่นคือใน 1 หน้า ให้มีข้อสรุปที่ชัดเจนเพียงข้อสรุปเดียวเท่านั้น เพราะหากมีข้อมูลมากเกินไป ความเข้าใจของผู้ฟังจะกระจายไปยังเรื่องต่าง ๆ และหากทำให้ผู้ฟังมีความเข้าใจที่ผิดพลาด จะทำให้ความเป็นเหตุและผลไม่เชื่อมโยงต่อเนื่องกัน การเชื่อมโยงด้วยเหตุและผลต้องต้องให้มีความราบรื่น นั่นคือต้องอธิบายได้ด้วยการลำดับเรื่องราวที่ดี และคอยตรวจสอบโดยรวมด้วยว่าการเชื่อมโยงด้วยเหตุและผลมีความราบรื่นดีหรือไม่ หรือมีการอธิบายอ้อมค้อมเกินความจำเป็นหรือไม่

14 A C D ข้อสรุป B A B ข้อสรุป G D E F Z C

15 กระบวนการพัฒนาซอฟต์แวร์
Software development process Powerpoint Templates

16 กระบวนการซอฟต์แวร์(Software Process)
กระบวนการซอฟต์แวร์ หมายถึง กลุ่มของกิจกรรม วิธีการ วิธีการปฏิบัติ และการเปลี่ยนแปลงที่ใช้ในการพัฒนาและบำรุงรักษา ซอฟต์แวร์ ตลอดจนผลิตภัณฑ์ที่เกี่ยวเนื่อง กระบวนการซอฟต์แวร์ประกอบด้วย คน วิธีการ เครื่องมือ เรื่องพัฒนาซอฟแวร์มีแค่นี้ แปลและเรียบเรียงโดย ดร.สมชาย กิตติชัยกุลกิจ สำนักพิมพ์ ส.ส.ท.

17 กระบวนการซอฟต์แวร์ (ต่อ)
กิจกรรมพื้นฐานทั้งหมด 4 กิจกรรม ที่ใช้กับกระบวนการผลิตซอฟต์แวร์ ได้แก่ การกำหนดคุณสมบัติซอฟต์แวร์ (Software Specification) การออกแบบและสร้างซอฟต์แวร์ (Software Design and Implementation) การทวนสอบซอฟต์แวร์ (Software Validation) การวิวัฒนาการของซอฟต์แวร์ (Software Evolution)

18 1. การกำหนดคุณสมบัติของซอฟแวร์ (Software Specification)
จุดประสงค์เพื่อนิยามหน้าที่ต่างๆที่ต้องมีในซอฟต์แวร์ และระบุข้อจำกัดต่างๆ ที่เกี่ยวข้องกับกระบวนพัฒนาซอฟต์แวร์ เช่น กฎหมาย , อัตราภาษี , กฎระเบียบต่างๆที่เกี่ยวในการพัฒนาซอฟต์แวร์

19 2. การออกแบบและสร้างซอฟต์แวร์ (Software Design and Implementation)
มีจุดประสงค์เพื่อสร้าง และ พัฒนาซอฟต์แวร์ให้ตรงกับข้อกำหนด (specification)

20 3. การทวนสอบซอฟต์แวร์ (Software Validation)
มีจุดประสงค์เพื่อทำการตรวจสอบความถูกต้องของซอฟต์แวร์ เพื่อให้เกิดความมั่นใจ ว่าซอฟต์แวร์ที่ผลิตขึ้นได้ตรงกับความต้องการของลูกค้า

21 4. การวิวัฒนาการของซอฟต์แวร์ (Software Evolution)
มีจุดประสงค์เพื่อเตรียมการบางอย่างเพื่อจัดการกับเหตุการณ์ที่คาดหมายว่าจะเกิดขึ้นในอนาคต เช่น เมื่อซอฟต์แวร์ใช้งานได้ระยะหนึ่งแล้ว ผู้ใช้หรือลูกค้าอาจมีความต้องการเพิ่มเติมหรือเปลี่ยนแปลงความต้องการบางอย่าง

22 System Development Life Cycle (SDLC)
เป็นโครงร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อใช้เป็นขั้นตอนการพัฒนา ระบบสารสนเทศ หรือซอฟต์แวร์ให้สำเร็จ โดยการให้มาซึ่งซอฟแวร์อาจจะเป็นโดยการซื้อหรือการจ้างทำหรือการพัฒนาเองก็ได้ ระเบียบวิธีการพัฒนาซอฟต์แวร์มีอยู่หลายวิธีการ แต่ละวิธีการมีข้อดีและข้อเสียที่แตกต่างกัน

23 การพัฒนาซอฟแวร์แบบไม่เป็นระบบ
เป็นการพัฒนาซอฟแวร์แบบไม่มีการวางแผน ไม่มีการจัดการ ไม่มีการทำเอกสาร เหมาะกับการพัฒนาซอฟแวร์ขนาดเล็กขึ้นใช้งานเอง วิธีการพัฒนาซอฟแวร์แบบนี้คือ เมื่อนึกอะไรได้ก็ค่อยๆเขียนโปรแกรม แล้วทำสอบการทำงาน ถ้าโปรแกรมไม่สามารถทำงานตามที่คิด ก็แก้ไขเขียนใหม่ เรียกการพัฒนาแบบนี้ว่า Coding & Debug ปัจจุบัน ซอฟแวร์มีขนาดใหญ่ขึ้น ต้องใช้คนหลายคนช่วยกันพัฒนา ซึ่งมีผู้เสนอเทคนิคหรือทฤษฏีในการพัฒนาซอฟแวร์หลายวิธี เพื่อให้ได้ซอฟแวร์ที่มีประสิทธิภาพและคุณภาพ

24 ตัวอย่างวิธีการพัฒนาซอฟต์แวร์
ตัวอย่างระเบียบวิธีการพัฒนาซอฟต์แวร์ที่ได้รับความนิยม เช่น โครงสร้างแบบน้ำตก (Waterfall Model) โครงสร้างแบบก้นหอย (Spiral Model) วิธีการพัฒนาซอฟแวร์แบบคล่องแคล่วว่องไว (Agile Software Development) RAD Model, Package Model, UML Model…

25 Software Development Life Cycle

26 Waterfall Model

27 Waterfall Model

28 Spiral Model

29 การเลือกโมเดลที่ใช้ในการพัฒนา ต้องคำนึงถึง
ขนาดของซอฟแวร์ โครงสร้างของสมาชิกในโครงการ ความรู้และประสบการณ์ของสมาชิกในโครงการ ความชัดเจนเกี่ยวกับความต้องการ ปริมาณของระบบการทำงานและความเร็วในการเปลี่ยนแปลง ระยะเวลาในการพัฒนาและค่าใช้จ่าย ผลกระทบจากความล่าช้าในการพัฒนา เครื่องมือที่ใช้ในการพัฒนา

30 สรุป การนำโมเดลมาใช้เพื่อช่วยให้การพัฒนาเป็นไปอย่างมีระบบ
เป้าหมายของการพัฒนา ไม่ใช่ทำตามโมเดลหรือทำตามกำหนดการที่กำหนดไว้แต่แรก ต้องเข้าใจเป้าหมายในการพัฒนาซอฟแวร์ แล้วพยายามสร้างซอฟแวร์ที่มีประสิทธิผลมากที่สุดภายใต้ทรัพยากรที่มีอยู่ จึงต้องยืดหยุ่น สามารถปรับเปลี่ยนทุกอย่างได้ตามความจำเป็น ในการทำงานจริง จะมีโมเดลที่ใช้ประจำ ยกเว้นบางโครงการที่มีลักษณะพิเศษ อาจนำโมเดลที่เหมาะสมมาใช้

31

32 Q & A อาจารย์อรรถวิท ชังคมานนท์ attawit.mju@gmail.com
สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยแม่โจ้


ดาวน์โหลด ppt การคิดเชิงระบบ (Systems Thinking)

งานนำเสนอที่คล้ายกัน


Ads by Google