การพัฒนาโปรแกรมคอมพิวเตอร์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การติดตามและ ประเมินผลโครงการ
Advertisements

บทที่ 3 การบริหารพนักงานขาย
ระบบสารสนเทศทางธุรกิจ (Business Information Systems)
การประเมินผลโครงการ บทที่ 9 ผศ.ญาลดา พรประเสริฐ yalada.
การจัดทำเว็บไซต์สำเร็จรูปด้วยโปรแกรม Joomla!
คำถามตามเกณฑ์ PMQA:105คำถาม หมวด1 12คำถาม.
คอมพิวเตอร์ช่วยสอน (CAI)
การใช้งานระบบ MIS ความสำคัญและผลกระทบของระบบสารสนเทศที่มีต่อธุรกิจ
การพัฒนาระบบสารสนเทศ
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
Software Development and Management
บทที่ 1 หลักการทำโครงงาน
ซอฟต์แวร์และการเลือกใช้
ประเภทโครงงาน พัฒนาระบบ (System Development)
การรักษาความปลอดภัยข้อมูลขั้นพื้นฐาน
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
นาย สรวิศ เตธัญญวรากูล ปวช.3/2 นาย ศิวกร มาลี ปวช.3/2.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
Adaptive Software Development. วงจรชีวิตของการพัฒนาซอฟแวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครง ร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อ.
หลักการแก้ปัญหา อย่างมีขั้นตอน การแก้ปัญหาด้วย กระบวนการทาง เทคโนโลยี สารสนเทศ หลักการ แก้ปัญหา การใช้หลักการใน การแก้ปัญหา.
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
เทคนิคการสร้าง ภาพเคลื่อนไหว คอมพิวเตอร์ Computer Animation ง
Project Management by Gantt Chart & PERT Diagram
การออกแบบและเทคโนโลยี
เรื่อง กระบวนการเทคโนโลยีสารสนเทศ
Material requirements planning (MRP) systems
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Introduction to VB2010 EXPRESS
มาตรฐานระบบการบริหารงานคุณภาพ
กระบวนการพัฒนาซอฟต์แวร์
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
บทที่ 3 การวิเคราะห์ Analysis.
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
การพัฒนาระบบสารสนเทศ Information System Development
การจัดหาพัสดุในส่วนของรายจ่ายลงทุนในภาพรวม ประจำเดือนมิถุนายน 2561
บทที่ 14 การออกแบบระบบและนำไปใช้.
Basic Input Output System
Presentation การจัดการข้อร้องเรียนในธุรกิจบริการ Customer Complaint Management for Service.
บทที่ 6 การพัฒนาระบบการสอนบนเครือข่าย
บทที่ 8 การควบคุมโครงการ
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
บทที่ 8 การควบคุมระบบสารสนเทศทางการบัญชี : การควบคุมเฉพาะระบบงาน
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
บทที่ 3 ซอฟต์แวร์ประยุกต์
V ระบบการจัดการฐานข้อมูล บทที่ 2 วงจรการพัฒนาระบบ (SDLC : System Development Life Cycle) ผู้ช่วยศาสตราจารย์ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์
การบริหารโครงการซอฟต์แวร์
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์
บริษัท พัฒนาวิชาการ (2535) จำกัด
การปฐมนิเทศและการบรรจุ
SMS News Distribute Service
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
มุ่งเน้น การประเมินระดับการดำเนินงาน “หน่วยงานคุณธรรม”
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
ทรัพยากรไทย:ก้าวสู่โลกกว้างอย่างมั่นใจ
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
บทที่ 2 การพัฒนาระบบสารสนเทศ
ชัยพฤกษ์รัตนาธิเบศร์ - วงแหวน
เล่าเรื่องอย่างผู้นำ Coaching by story
กรณีศึกษา : เทคโนโลยีชีวภาพกับสิ่งแวดล้อม
การประเมินผลโครงการ บทที่ 9 ผศ.ญาลดา พรประเสริฐ yalada.
บทที่ 15 การติดตั้งระบบและการทบทวนระบบงาน.
MTRD 427 Radiation rotection - RSO
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

การพัฒนาโปรแกรมคอมพิวเตอร์ อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tko@webmail.npru.ac.th)

เนื้อหาที่สนใจ การพัฒนาโปรแกรมคอมพิวเตอร์ (Development) โปรแกรมแบบฝังตัวขนาดเล็ก (Firmware) ซอฟต์แวร์ (Software) ขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์ กระบวนการผลิตซอฟต์แวร์ (Software Process) การวิเคราะห์และออกแบบอัลกอริทึม การพัฒนาโปรแกรม ทดสอบและปรับปรุง การนำไปใช้และการติดตั้งระบบ เขียนโปรแกรมด้วยภาษา C (C Programming) สภาพแวดล้อมในการพัฒนาโปรแกรม (IDE) การทดสอบโปรแกรม (Testing & Debug) http://1.bp.blogspot.com/-tw1caa8lBus/Vphe8RV3rwI/AAAAAAAAAKM/wAhp-ds7iQM/s1600/8.png

การพัฒนาโปรแกรมคอมพิวเตอร์ การสั่งงานอุปกรณ์คอมพิวเตอร์ เพื่อให้ประมวลผลข้อมูลตามที่ต้องการได้ การเขียนโปรแกรมคอมพิวเตอร์คือ การสร้างชุดคำสั่งจากภาษาคอมพิวเตอร์ https://en.wikipedia.org/wiki/Software

Firmware โปรแกรมขนาดเล็กที่เขียนไว้ในชิปของตัวอุปกรณ์ เพื่อควบคุมการทำงานของอุปกรณ์ต่างๆ เช่น เมื่อเปิดเครื่อง จะอ่านค่าของเฟิร์มแวร์ เพื่อตั้งค่าต่างๆ ได้แก่ เมนู ภาษา และการควบคุมการทำงานคำสั่งต่างๆ คล้ายกับการทำงานของไดร์เวอร์บนระบบปฏิบัติการวินโดว์ Firmware มักพัฒนาและเผยแพร่ออกมาให้อัพเดทเสมอ http://www.carcamkorea.com/article/12/วิธีการอัพเดท-เฟิร์มแวร์-กล้องติดรถยนต์-lukas

Software คืออะไร Software ถูกพัฒนาขึ้นมา 2 ลักษณะ Customize software เป็น Software ที่ถูกพัฒนาขึ้นมาใช้ภายในองค์กร Generic software เป็น Software ที่ถูกพัฒนาขึ้นมาเพื่อจำหน่าย http://myndset.com/2011/11/password-change-or-software-version-update-two-digital-evils/

ขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์ Software Process ซอฟต์แวร์คอมพิวเตอร์ คือ ผลิตภัณฑ์ที่เกิดขึ้นจากการเขียนโปรแกรมคอมพิวเตอร์ http://www.thaiall.com/blog/tag/programming/

Software Process กระบวนการพัฒนา Software แบ่งเป็น 4 Process Specification เป็นกระบวนการกำหนดคุณสมบัติของ software ที่พัฒนา Development เป็นขั้นตอนการพัฒนา software Validation เป็นขั้นตอนการตรวจสอบความถูกต้องตรงตามความต้องการ Evolution เป็นกระบวนการทำให้ software มีวิวัฒนาการ เป็นการปรับเปลี่ยนเพิ่มสิ่งดีๆเข้ามาและเอาสิ่งที่ไม่ดีหรือไม่จำเป็นออกไป ซึ่งจะเปลี่ยนแปลงไปตามเทคโนโลยีหรือตามความต้องการของผู้ใช้ https://en.wikipedia.org/wiki/File:SDLC_-_Software_Development_Life_Cycle.jpg

Software Process Model การเขียนแบบจำลอง แผนภูมิหรือรูปภาพที่เข้าใจง่ายในมุมมองของผู้พัฒนา  มุมมองที่น่าสนใจ Work Flow - ความสำคัญกับลำดับการทำงาน Data Flow - ความสนใจกับข้อมูลเป็นหลัก Role / Action – ความสนใจว่าใคร ทำหน้าที่อะไร 

วิธีการที่ใช้ในการพัฒนา Waterfall Model เป็นการทำงานเหมือนน้ำตกเป็นขั้นๆลงมา Evolution Model เป็นการทำไปปรับปรุงไปให้ดีขึ้นเรื่อยๆ Formal Transformation Model เป็นการพัฒนาอย่างเป็นทางการและเข้มงวด มีการวัดผลที่ชัดเจนและรัดกุม ส่วนใหญ่ใช้กับงานความปลอดภัยที่สำคัญ มีผลกระทบที่รุนแรง เช่น software ควบคุมการจราจรทางอากาศ , software ที่ใช้ติดตามอัตราการหายใจของคนไข้ Reusable Object Model เป็นการพัฒนาเป็นชิ้นย่อยๆ โดยแต่ละชิ้นมีการออกแบบที่กว้างพอให้นำไปใช้ใหม่ในภายหลังได้  http://contentmarketinginstitute.com/process/

V shape Model การพัฒนาโปรแกรมคอมพิวเตอร์ ประกอบด้วย 3 ขั้นตอน คือ 1) การวิเคราะห์และออกแบบ (Analysis) 2) การเขียนโปรแกรม (Implement) 3) การทดสอบและนำไปใช้งาน (Testing) ** ทำซ้ำขั้นตอนที่ให้ความสำคัญ

Development (การพัฒนา) 1. Managing Programming (บริหารงานเขียนโปรแกรม) โดยการสร้างโปรเจ็กต์ ในการบริหารจัดการไฟล์และส่วนประกอบ ช่วยให้สามารถปรับปรุงแก้ไขโปรแกรมได้ง่ายขึ้น ปรับตามการเปลี่ยนแปลงทางธุรกิจหรือรายละเอียดรวมกันได้ 2.  Designing Test (ออกแบบการทดสอบระบบ) โดยการสร้างตัวทดสอบหรือชุดข้อมูลในการทดสอบ ทำให้ได้ผลลัพธ์ที่ถูกต้องตรงตามความต้องการ

ทดสอบและปรับปรุง Unit  Test  (การทดสอบหน่วยย่อย) มีวิธีการที่ใช้ทดสอบ 2 วิธี  คือแบบ  black-box และ white-box Integration Tests  (การทดสอบการทำงานร่วมกัน) มีวิธีการทดสอบ อยู่ 4 วิธี คือ user interface testing (ทดสอบการโต้ตอบระหว่างยูสเซอร์กับระบบ) use-case testing (ทดสอบการทำงานของแต่ละโมดูลตามยูสเคสที่ออกแบบ) interaction testing (ทดสอบการโต้ตอบกันระหว่างส่วนย่อย) system interface testing (ทดสอบการทำงานร่วมกันระหว่างส่วนย่อย) System Tests (การทดสอบระบบโดยรวม) ความต้องการทางธุรกิจ ความปลอดภัย ประโยชน์ใช้สอย รวมถึงเอกสารประกอบของระบบ Acceptance Tests (การทดสอบการยอมรับของผู้ใช้งาน) การยืนยันจากผู้ใช้ว่าระบบเสร็จสมบูรณ์เรียบร้อยแล้วและตรงตามวัตถุประสงค์ทางธุรกิจ alpha testing ทดสอบโดยใช้ข้อมูลจำลอง beta testing ทดสอบโดยใช้ข้อมูลจริง

ออกแบบอัลกอริทึม รายละเอียดในการดำเนินการด้วยแบบจำลองต่างๆ แผนภาพ ผังงาน บรรยาย รหัสเทียม https://www.youtube.com/watch?v=TDZ37p9CH5Y

เขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ implementation ประกอบด้วยสองขั้นตอน เพื่อให้เกิดผลลัพธ์คือ Development (การพัฒนา) Installation (การติดตั้งหรือนำไปใช้)  มุ่งเน้นในการจัดทำโปรแกรม http://user-mode-linux.sourceforge.net/old/lksct/node2.html https://msit5.wordpress.com/2013/09/19/implementation/

Installation (การติดตั้งระบบ) ในการติดตั้งระบบใหม่เพื่อทดแทนระบบเดิม Conversion (การถ่ายโอนจากระบบเดิมสู่ระบบใหม่) หมายถึง – การติดตั้ง Hardware ที่เป็นส่วนประกอบของระบบทั้งหมด – การติดตั้ง Software ที่ต้องการใช้งานระบบทั้งหมด – การถ่ายโอนข้อมูลจากระบบเดิมมายังระบบใหม่ Change Management  (การบริหารการเปลี่ยนแปลง) การติดตามความเปลี่ยนแปลงต่าง ๆ ที่อาจจะมีผลกระทบต่อระบบและดำเนินการปรับเปลี่ยนระบบ  

 วิธีการ Conversion  วิธีการ Conversion แบ่งออกได้ดังนี้        1.1  Direct Conversion  คือ ใช้ระบบใหม่ หยุดใช้ระบบเก่าทันที        1.2  Parallel Conversion คือ ใช้ควบคู่ไปกับระบบเดิมจนสมบูรณ์        1.3  Pilot Conversion คือ ใช้หน่วยงานหนึ่งเป็นการนำล่องก่อน        1.4  Phased Conversion คือการติดตั้งใช้งานโดยแบ่งออกเป็น phase เมื่อ phase แรก ๆ ที่เริ่มต้นใช้งานก่อน ใช้งานได้ดีโดยไม่มีปัญหาแล้วจึงเริ่มติดตั้งและใช้งาน phase อื่น ๆ ต่อไป        1.5  Simultaneous Conversion หมายถึงการ convert ข้อมูลทุก ๆ หน่วยงานพร้อม ๆ กัน ซึ่งมักจะใช้งานร่วมกับ Direct Conversion    

วิธีการ Change Management  การติดตามความเปลี่ยนแปลงแบ่งออกเป็น 2.1  การตรวจสอบนโยบายการบริหารงานและทำการปรับปรุงแก้ไขนโยบายที่อาจจะเป็นอุปสรรคต่อการติดตั้งระบบ 2.2  การประเมินต้นทุนในการติดตั้งระบบและผลประโยชน์ที่จะได้รับหลังติดตั้งระบบ 2.3  การสร้างแรงจูงใจในการติดตั้งระบบใหม่ขององค์กร 2.4  การฝึกอบรมการใช้งานระบบก่อนที่จะใช้งานจริง

IDE Tool IDE (integrated development environment) องค์ประกอบที่ช่วยเหลือให้ผู้พัฒนา ดำเนินการได้รวดเร็ว ถูกต้อง แม่นยำมากขึ้น IDE ประกอบด้วยส่วนต่างๆ เช่น 1) Source code editor 2) compiler หรือ interpreter ส่วน debugger ส่วน synchronize ไฟล์ หรือส่วนการจัดการ project file เป็นต้น ได้แก่ 1) Code::Blocks 2) Eclipse 3) NetBeans 4) VisualStudio http://xmodulo.com/good-ide-for-c-cpp-linux.html

Source Code Editor Source Code Editor คือ Text Editor อาจมีความสามารถต่างๆ เช่น - hilight สีของคำสั่ง ตัวแปร function หรือค่าต่างๆในโค้ดได้ - auto suggest เช่น คำสั่งที่กำลังพิมพ์มาให้เลือกใช้และแสดงรูปแบบการใช้งาน - ตรวจสอบกฎและข้อกำหนดของภาษา (syntax) ได้ - จัดการรูปแบบ (format) ในการเขียนโปรแกรมได้ http://www.hongkiat.com/blog/free-code-editors-reviewed/

การเขียนโปรแกรมด้วยภาษา C http://teamjarvis.weebly.com/compiler.html

การทดสอบโปรแกรม (Program Testing) การตรวจสอบโค้ดตามรูปแบบกฎเกณฑ์ของภาษา พิจารณาผลการทำงานของโปรแกรมที่ถูกต้อง หากพบ Error ของโปรแกรม มี 2 สาเหตุ คือ 1. Syntax Error คือ Source Code ที่ไม่ตรงกับ Syntax ของภาษา 2. Logic Error เกิดจากการออกแบบอัลกอริทึมให้ทำงานผิด “Bug” ข้อผิดพลาดของโปรแกรม “Degug” การแก้ไขข้อผิดพลาด - Workflow “Error” โปรแกรมทำงานไม่ได้ตามต้องการ

สรุป การพัฒนาโปรแกรมคอมพิวเตอร์ เพื่อให้ประมวลผลข้อมูลตามที่ต้องการได้ โดยใช้การเขียนโปรแกรมคอมพิวเตอร์ด้วยการสร้างชุดคำสั่งจากภาษาคอมพิวเตอร์ การพัฒนารูปแบบในการพัฒนาโปรแกรมคอมพิวเตอร์ (Software Process Model) การพัฒนาโปรแกรมคอมพิวเตอร์ (ซอฟต์แวร์) ประกอบด้วย 3 ขั้นตอนหลักคือ 1) การวิเคราะห์และออกแบบ (Analysis) 2) การเขียนโปรแกรม (Implement) 3) การทดสอบและนำไปใช้งาน (Testing) ทั้ง 3 ขั้นตอนอาจมีการทำซ้ำเพื่อให้เกิดคุณภาพของซอฟต์แวร์หรือตรงตามความต้องการของผู้ใช้มากที่สุด โดยเกี่ยวข้องกันตั้งแต่เริ่มต้นจนสิ้นสุดกระบวนการ http://solidarityonline.org/what-everyone-is-saying-about-software-development-process/