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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
รายละเอียดวิชา ง การงานพื้นฐาน4(คอมพิวเตอร์2)
Advertisements

ส่วนที่ : 2 เรื่อง การวางแผน
การวางแผนพัฒนาระบบสำนักงาน
วิชาหัวข้อเรื่องที่ทันสมัยทางวิทยาการคอมพิวเตอร์ 6 มกราคม 2555
การวิเคราะห์และประเมินค่างาน
การเสนอโครงการวิทยานิพนธ์
ความสำคัญของงานวิจัย เสนอ รศ.ดร.เผชิญ กิจระการ
วงจรพัฒนาระบบ (System Development Life Cycle)
การกำหนดปัญหา และความต้องการ (Problem Definition and Requirements)
บทที่ ๑ ความรู้เบื้องต้น เกี่ยวกับการวิเคราะห์ และออกแบบระบบสารสนเทศ (Introduction to Information System Analysis) 22/7/03 บทที่
ตัวอย่าง การปรับปรุงข้อสอบ วิชา LB105: Study Skills ภาคที่ 1 / 2545 ( ก่อนการปรับปรุงเป็นข้อ 78 หลังการปรับปรุงเป็นข้อ 20 )
ขั้นตอนในการทำวิจัย.
การออกแบบการวิจัยการเขียนเค้าโครงการวิจัย
รายงานการวิจัย.
การวิเคราะห์ระบบและวิธีปฏิบัติงาน
Research Problem ปัญหาการวิจัย
การจัดการเรียนรู้โดยการใช้ชุดมินิคอร์ส
หลักการพัฒนา หลักสูตร
การพัฒนาผลิตภัณฑ์ใหม่ และสาเหตุที่ทำให้ผลิตภัณฑ์ใหม่ล้มเหลว
การพัฒนาการปิด การเจรจาต่อรอง
การพัฒนากิจกรรม การเรียนรู้ โดยโครงงาน
การเตรียมเอกสาร สอบหัวข้อโครงงาน
การวิเคราะห์ความต้องการด้านระบบ
การวางแผนและการดำเนินงาน
33711 ชุดวิชาแนวคิด ทฤษฎี และหลักการ รัฐประศาสนศาสตร์ หน่วยที่ 5
Poster Presentation โดย สำหรับ การประชุม สคร.5 รศ.นพ.สมพนธ์ ทัศนิยม
Use Case Diagram.
Surachai Wachirahatthapong
SCC - Suthida Chaichomchuen
การวางแผนและ การจัดทำ IT Audit
เครื่องมือช่วยในการจับประเด็น รวบรวมความคิดให้เป็นหมวดหมู่
โครงสร้างและวัฒนธรรมองค์การ (Organizational Structure and Culture)
บทที่ 12 การเปลี่ยนแปลง และการพัฒนาองค์การ.
ความขัดแย้งและการเจรจาต่อรอง (Conflict and Negotiation)
การพัฒนาระบบสารสนเทศ (Information System Development)
นายสุวรรณ ชนะสงคราม ที่ปรึกษาด้านกฎหมายของสำนักงาน ก.พ.
การออกแบบฐานข้อมูลและการบริหารธุรกิจ
การลดขั้นตอนและระยะเวลาการปฏิบัติราชการ และการพิจารณาให้รางวัลคุณภาพ
การแก้ไขปัญหาและการจัดการความขัดแย้ง
ทักษะการตัดสินใจ นัทธี จิตสว่าง 28 มีนาคม 2553.
บทที่ 3 การวิเคราะห์ Analysis.
บทนำการบริหารโครงสร้างพื้นฐานเทคโนโลยีสารสนเทศ
โครงการพัฒนาคุณภาพ การบริหารจัดการภาครัฐ (การส่งเสริมให้ส่วนราชการนำร่อง เข้าสู่การพัฒนาคุณภาพการบริหารจัดการภาครัฐ) เขียนลักษณะสำคัญขององค์กร :
5ส เพื่อการเพิ่มผลผลิต
ทบทวนทฤษฎีหลักสูตร ดร.อมรา เขียวรักษา.
(Transaction Processing Systems)
II > วงจรการพัฒนาระบบ (System Development Life Cycle)
การนำ การคิด แบบหญิงยุคใหม่
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
การนำระบบเทคโนโลยีสารสนเทศมาสนับสนุนการทำงาน
การเขียนข้อเสนอโครงการ
เทคนิคการจัดเวทีประชาคม
หลักการแก้ปัญหา.
การประเมินนวัตกรรม Dr.Kulthida Nugultham.
การแบ่งหนังสือออกตามลักษณะการจัดทำและความเหมาะสมของผู้อ่านแต่ละกลุ่ม
การเขียนรายงานเพื่อนำเสนอโครงงานวิทยาศาสตร์
การวิจัยการบริหาร ทรัพยากรมนุษย์ ดร. สุจิตรา ธนานันท์
การวิเคราะห์และออกแบบระบบ System Analysis and Design
ADDIE Model.
Lesson 10 Software Evolution
การสอนโดยการแบ่งกลุ่มทำกิจกรรม
พฤติกรรมผู้ซื้อองค์การ
เรื่อง การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน วิชาการใช้โปรแกรมกราฟิก
การเขียนรายงานผลการวิจัย
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
หน่วยที่1 ข้อมูลทางการตลาด
1. ศึกษาการนำเสนอที่หลากหลาย 2. เลือกวิธีการที่เหมาะสม
เรียนรู้ร่วมกันเป็นทีม
ใบสำเนางานนำเสนอ:

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

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

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

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

คิด ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Software Development Life Cycle

Waterfall Model

Waterfall Model

Spiral Model

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

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

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