Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore วิชาวิทยาการคำนวณ ม.3

วิชาวิทยาการคำนวณ ม.3

Published by witsarut kongtep, 2022-02-22 03:31:16

Description: วิชาวิทยาการคำนวณ ม.3

Search

Read the Text Version

การพฒั นาแอปพลเิ คชัน (application development)

จดุ ประสงค์การเรียนรู้ นกั เรียนสามารถอธิบายกระบวนการพฒั นาแอปพลเิ คชนั ได้ นกั เรียนสามารถใช้เครื่องมือในการวางแผนการทางานได้

เนือ้ หาประกอบด้วย 1.การพฒั นาแอปพลเิ คชนั 2.การวางแผนการพฒั นาแอปพลเิ คชนั 3. เครื่องมือช่วยวางแผนและติดตามความก้าวหน้า

1.การพฒั นาแอปพลิเคชนั การพฒั นาแอปพลเิ คชนั ทีด่ ตี ้องมีการวาง แผนการดาเนินการอยา่ งเป็นระบบโดยเฉพาะ อย่างย่ิงในการพฒั นาแอปพลิเคชนั ที่มีผ้รู ่วม พฒั นาหลายคนไมเ่ ชน่ นนั้ อาจจะทาให้เกิดความ ล้มเหลวหลายด้าน เชน่ การพฒั นาแอปพลิเคชนั ไมต่ รงกบั ความต้องการของลกู ค้าหรือผ้ใู ช้งาน

ขัน้ ตอนการพฒั นาแอปพลิเคชัน 1.การศกึ ษาความต้องการ 2.การออกแบบ 3.การสร้ างแอปพลิเคชัน 4.การทดสอบ

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

2 การออกแบบ ขนั้ ตอนการออกแบบนนั้ นบั เป็นหวั ใจสาคญั ในการพฒั นาแอปฯ แอปพลเิ คชนั ทพี่ ร้อมนาไปใช้งานนนั้ มกั มีความซบั ซ้อนและ รายละเอียดปลีกยอ่ ยจานวนมาก จงึ มีความจาเป็นในการนาแนวคิด เชิงคานวณมาประยกุ ต์

3 การสร้างแอปพลิเคชัน ขนั้ ตอนนีจ้ ะเร่ิมเขียนโปรแกรมในสว่ นตา่ งๆตามท่ีได้ออกแบบไว้ ผ้พู ฒั นาจะเร่ิมมองเหน็ ข้อบกพร่องตา่ งๆของแอปฯ จงึ เป็นเรื่องปกติ ที่จะต้องมีการย้อนกลบั ไปแก้ไขการออกแบบหรือทาความเข้าใจกับ ความต้องการผ้ใู ช้อีกครัง้

4 การทดสอบ การทดสอบมีเป้ าหมายเพื่อค้นหาข้อผิดพลาดและปรับปรุงแก้ไข เพ่ือให้แน่ใจวา่ แอปพลเิ คชนั ทางานได้ถกู ต้องและ สอดคล้องกบั ความต้องการของผ้ใู ช้

1.2 การวางแผนการพฒั นาแอปพลิเคชนั ขนั้ ตอนการพฒั นาแอปพลเิ คชนั เมอ่ื นามา ปฏิบตั จิ ริงแตล่ ะขนั้ ตอนจะประกอบไปด้วย รายละเอยี ดปลีกยอ่ ยอกี มาก การวางแผน การทางานที่ดีจงึ ช่วยให้การพฒั นาแอปฯ เป็นไปได้อยา่ งมีประสทิ ธิภาพ เครื่องมือในการวางแผนในการทางานเรียกว่า เทคนิคกระดานคมั บงั (Kanban board)

ตวั อย่างการ์ดคัมบงั ให้โปรแกรมกาหนดส่วนลดให้ลูกค้าได้ แก้ไขโปรแกรมให้คานวณสว่ นลดตามที่ต้องการ ความสาคัญ มาก ประเภทงาน ฟิเจอร์กาหนดสว่ นลด กาหนดเวลาแล้วเสร็จ 3 สงิ หาคม xxxx ผู้รับผิดชอบ พมิ ลลั ลลติ

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

การใช้งานการ์ดคมั บงั นาการ์ดแตล่ ะใบมาตดิ ไว้บนกระดาน เป็น 3 ชอ่ ง To do Doing Done เฟสท่จี ะทา เฟสที่กาลงั ทา เฟสทที่ าเสร็จแล้ว

ตวั อย่างการแบ่งเฟสบนกระดานคัมบัง To do Doing Done

ข้อมลู คาอธิบายรายละเอียดของงาน บนการ์ด ความสาคญั ของงาน เช่น >วกิ ฤติ >สาคญั มาก >ปกติ >ไมเ่ ร่งดว่ น ประเภทงาน เช่น >ลกั ษณะเฉพาะหรือฟิเจอร์ >ความผิดพลาดที่ต้องแก้ไข >งานอ่ืนๆ กาหนดเวลาแล้วเสร็จ ผ้รู ับผิดชอบ

กิจกรรมท่ี 1.1 ให้นกั เรียนใช้การ์ดคมั บงั วางแผนการพฒั นาแอปพลเิ คชนั ในการจดั เวร ทาความสะอาดห้องเรียนให้เหมาะสมกบั ความต้องการของเพื่อนใน ห้องและครบทกุ งาน เชน่ งานกวาดพืน้ ถพู ืน้ จดั โต๊ะเก้าอี ้ทิง้ ขยะ

1.3 เคร่ืองมอื ช่วยวางแผนและตดิ ตามความก้าวหน้า โปรแกรมเทรลโล (Trello) เป็นแอปพลเิ คชนั แบบออนไลน์ท่ีนามาใช้บริหารจดั การงานในรูปกระดานคมั บงั ได้งา่ ย เวบ็ ไซต์ http://trello.com

ดคู ลปิ การใช้งานโปรแกรม Trello แนะนาให้ดใู นยทู ปู https://youtu.be/ggfE-lSKweQ

แบบฝึ กหดั ท้ายบท 1.ขนั้ ตอนในการพฒั นาแอปพลิเคชนั มีความสาคญั อยา่ งไร 2.แอปพลเิ คชนั ท่ีนกั เรยนรู้จกั หรือเคยใช้งานมีอะไรบ้าง 3.นกั เรียนจะนาเทคนิคการ์ดคมั บงั ไปใช้ในชีวติ ประจาวนั เพื่อทางานใดบ้าง

การประมวลผลสารสนเทศ ด้วยภาษาไพทอน (Information processing in Python)

จดุ ประสงค์การเรียนรู้ นกั เรียนสามารถเขียนโปรแกรมประมวลผลสารสนเทศได้

เนือ้ หาประกอบด้วย 1.การติดตงั้ โมดลู pandas 2.โครงสร้างข้อมลู pandas -ข้อมลู ท่ีเก็บเป็น Series -ข้อมลู ท่ีเก็บเป็น DataFrame 3.ไฟล์ข้อมลู ในรูปแบบซีเอสวี 4.การเช่ือมโยงข้อมลู 5.การทาข้อมลู ให้เป็นภาพ

การประมวลผลสารสนเทศ ไพทอนมโี มดลู จานวนมาก เพื่อใช้จดั การข้อมลู ในบทเรียนนีข้ อแนะนาโมดลู pandas ท่ชี ว่ ยทางานด้านการประมวลผล โดยผ้ใู ช้ ต้องตดิ ตงั้ โมดลู Pandas และ Numpy

1.การตดิ ตงั้ โมดลู Pandas ในโปรแกรม PyCharm 1 2

4 3

5 6

วดิ ีโอยทู ปู การติดตงั้ โมดลู pandas ในโปรแกรม pycharm ก๊อปปี ล้ งิ ค์ไปวางในเว็บบราวเซอร์ https://youtu.be/aTspc95lTVU

2.โครงสร้างข้อมูลของโมดลู pandsa ข้อมลู ทเี่ ก็บใน pandas จะอยใู่ นรูปแบบชดุ ข้อมลู ทเ่ี ป็น Series DataFrame (ซีรีส์) (ดาต้าเฟรม)

2.1)ข้อมูลท่เี กบ็ เป็ น Series ข้อมลู ท่ีเก็บเป็น series จะมีลกั ษณะคล้ายลสิ ต์ของข้อมลู หนง่ึ มติ ิ ตัวอย่าง การใช้ series ในการเกบ็ คะแนนสอบวชิ าวทิ ยาการคานวณ ของนกั เรียนชนั้ ม.3/1 จานวน 20 คน 1 import pandas as pd 2 3 s=pd.Series([18,20,15,6,9,10,20,19,17,13,16,7,14,15,20,4,12,17,19,18]) 4 print(s)

ผลลพั ธ์ที่ได้ ชื่อไฟล์ series.py

2.2)ข้อมูลท่เี กบ็ เป็ น DataFrame ข้อมลู ท่ีเก็บเป็น DataFrame จะมีลกั ษณะคล้ายตาราง(2 มติ ิขนึ ้ ไป) ตัวอย่าง การใช้งาน DataFrame import pandas as pd df=pd.DataFrame([[1,’a’], [2,’b’], [3,’c’]]) print(df)

ผลลพั ธ์ที่ได้ ชื่อไฟล์ DataFrame.py

3.ไฟล์ข้อมูลในรูปแบบซเี อสวี ไฟล์รูปแบบซีเอสวี หรือ CSV (comma separated values) คอื ไฟล์ข้อมลู ที่แตล่ ะตวั ในแถวเดียวกนั ถกู คน่ั ด้วยเครื่องหมายจลุ ภาค (,) โดยอาจมีแถวแรกสดุ เป็นช่ือของคอลมั น์ หรือหวั ตาราง

ตัวอย่าง ข้อมลู ของนกั เรียนชนั้ ม.3/1 จานวน 20 คน ประกอบด้วย เลขประจาตวั นกั เรียน เพศ (1 แทนเพศชาย และ 2 แทนเพศหญิง) คะแนนสอบวิชาวิทยาการคานวณ และสว่ นสงู

ผลลพั ธ์ที่ได้ ชื่อไฟล์ DataCSV.py

กรณีที่ไฟล์ CSV ไมม่ ีแถวท่ีเป็ นช่ือคอลมั น์หรือหวั ตาราง ผ้ใู ช้สามารถระบหุ วั ตารางในการแสดงผลได้ ผลลพั ธ์ที่ได้ ชื่อไฟล์ stdentNoheader.py

การแสดงข้อมลู ใน DataFrame ออกทางจอภาพ เราสามารถใช้ฟังก์ชนั print() แสดงผลลพั ธ์ในรูปแบบตา่ งๆได้ print(stdData) print(stdData.head(2)) print(stdData.tail(2)) print(stdData[[‘ID’, ‘CsScore’]]) print(stdData[[‘ID’, ‘CsScore’]].head(2)) print(stdData[‘CsScore’]) print(stdData[stdData.Gender==2]) print(stdData[stdData.CsScore>=16])

การนับจานวนข้อมูล ใช้ฟังก์ชนั count( ) print(stdData.count()) การหาค่าเฉล่ีย ใช้ฟังก์ชนั mean( ) print(stdData.CsScore.mean()) การหาค่าเฉล่ียแยกกลุ่ม ใช้ฟังก์ชนั groupby( ) print(stdData.groupby(‘Gender’).mean())

การจดั เรียงข้อมูล ใช้ฟังก์ชนั print(stdData.sort_values(by=[‘Height’])) sort_values( )

4.การเช่ือมโยงข้อมูล การเช่ือมโยงข้อมลู 2 ไฟล์

ผลลพั ธ์ท่ีได้ ชื่อไฟล์ connect2file.py

การเชื่อมโยงข้อมลู กรณีท่ีช่ือคอลมั น์หลกั ไมต่ รงกนั ผลลพั ธ์ท่ีได้ ชื่อไฟล์ connect2file-1.py

5.การทาข้อมูลให้เป็ นภาพ ต้องติดตงั้ โมดลู matplotlib กอ่ น วิธีตดิ ตงั้ เหมอื นกนั กบั การติดตงั้ โมดลู pandas การนาเสนอผลคะแนนด้วยฮิสโทแกรม การนาเสนอผลคะแนนด้วยแผนภาพการกระจาย

การนาเสนอผลคะแนนด้วยฮิสโทแกรม ผลลพั ธ์ ไฟล์ histrogram.py

การนาเสนอผลคะแนน ด้วยแผนภาพการกระจาย ผลลพั ธ์ ไฟล์ star.py

แบบฝึ กหดั ท้ายบท 1.กิจกรรมที่ 2.1

การสร้างส่วนต่อประสานกราฟิ กกบั ผู้ใช้ ด้วยภาษาไพทอน (Graphics for users)

จดุ ประสงค์การเรียนรู้ นกั เรียนสามารถเขียนโปรแกรมสว่ นตอ่ ประสานกราฟิกได้

เนือ้ หาประกอบด้วย 1.ขนั้ ตอนการสร้างกราฟิก

การสร้างส่วนต่อประสานกราฟิ กกับผู้ใช้ ในการเขียนโปรแกรมท่ีมีสว่ นตอ่ ประสาน กราฟิกกบั ผ้ใู ช้ จะชว่ ยให้เหน็ ภาพรวมของ โปรแกรมได้ดีในภาษาไพทอนมโี มดลู tkinter ทีช่ ว่ ยให้การพฒั นาสว่ นตอ่ ปรานกราฟิกกบั ผ้ใู ช้ทาได้งา่ ย


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook