บทที่ 1 กลยุทธ์ของกระบวนการการพัฒนา ซอฟต์แวร์รายบุคคล

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การออกแบบฐานข้อมูลในระดับ Conceptual
Advertisements

การออกแบบซอฟต์แวร์ (Software Design)
การพัฒนากระบวนการพัฒนาซอฟต์แวร์ (Software Process Improvement)
Performance Management and appraisal systems
Faculty of Public Health, Mahasarakham University, Thailand
Simple MRP Group กฤตนันท์ มณีรัตนาศักดิ์
Chapter 2 Software Process.
Lesson 10 Software Evolution
16. กลยุทธิ์ที่มุ่งเน้น ความสำเร็จ. Background การเปลี่ยนทัศนคติ จาก แรงงาน เป็นผลการปฏิบัติงาน แรงจูงใจบนพื้นฐานความเข้าใจ เพื่อบรรลุสู่ความสำเร็จ แบบญี่ป่น.
PowerPoint Template.
Tawatchai Iempairote วันที่ 3 กรกฎาคม 2556
Defining the Requirements Tawatchai Iempairote September 9, 2014.
1 คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ Royal Thai Air Force Academy : RTAFA Royal Thai Air Force Academy : RTAFA.
1 คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ Royal Thai Air Force Academy : RTAFA Royal Thai Air Force Academy : RTAFA.
LIT MBA รุ่นที่ 3 ภาคเรียนที่ 2 ปีการศึกษา มกราคม 2559.
Standard requirements
อาจารย์ วิทูร ธรรมธัชอารี. เนื้อหาในการเรียน  เครื่องมือในการออกแบบและพัฒนาระบบ บัญชีด้วยคอมพิวเตอร์  ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล  การวางระบบบัญชีด้วยคอมพิวเตอร์
LIT MBA รุ่นที่ 3 ภาคเรียนที่ 2 ปีการศึกษา ธันวาคม 2558.
ลักษณะงานของวิศวกร ซอฟต์แวร์ ● วิเคราะห์และจัดทำความ ต้องการซอฟต์แวร์ ● ออกแบบซอฟต์แวร์ ● พัฒนาซอฟต์แวร์ ● ทดสอบซอฟต์แวร์ ● บำรุงรักษาซอฟต์แวร์ ● จัดการองค์ประกอบ.
การบริหารผลการปฏิบัติงาน (Performance Management).
การบริหารโครงการ (Project Management) โครงการ คือ งาน (task) ซึ่งมีการ กำหนดเวลาเริ่มต้นและสิ้นสุด ที่ แน่นอนและมีความต้องการใช้ทรัพยากร ต่างๆใน แต่ละกิจกรรมโดย.
Tawatchai Iempairote September 2, 2557
การนำเสนอข้อมูล ดร.นพ.วรสิทธิ์ ศรศรีวิชัย มูลนิธิสุขภาพภาคใต้
บทที่ 4 กลยุทธ์ระบบสารสนเทศ
การจัดทำแผนพัฒนารายบุคคล (Individual Development Plan - IDP
การจัดทำแผนกลยุทธ์การบริหารทรัพยากรบุคคล
Information Systems Development
การประเมินและการประกันคุณภาพการศึกษาแนวใหม่
บทที่ 4 เทคนิคการแตกโครงสร้างงาน Work Breakdown
Measuring Agility in Agile Software Development
เทคนิคการแก้ไขปัญหาแบบ QCC (QC Circle Techniques)
Thai Quality Software (TQS)
กระบวนการพัฒนาซอฟต์แวร์
บทที่ 13 กลยุทธ์การทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
2 การพัฒนาระบบสารสนเทศ (Information System Development)
Week 4 โครงการบริษัทจำลองเพื่อการผลิตภาพเคลื่อนไหวและสื่อผสม Animation and Multimedia Project CAG2901.
Information System Development
การจัดหาหรือจัดให้มีการพัฒนา และการบํารุงรักษาระบบเครือข่ายคอมพิวเตอร์ ระบบคอมพิวเตอร์ ระบบงานคอมพิวเตอร์ และระบบสารสนเทศ มาตรฐานการรักษาความมั่นคงปลอดภัยของระบบสารสนเทศตามวิธีการแบบปลอดภัย.
หน่วยที่ 2 ข้อมูลและสารสนเทศ
การประชุมการบริหารยุทธศาสตร์กรมอนามัย ครั้งที่ 4/2559
Software Evolution แบบจำลองกระบวนการพัฒนา/ผลิตซอฟต์แวร์ (Process Model) แบบจำลองใช้สำหรับชี้นำถึงกิจกรรมหลัก (key Activities) ในการพัฒนาซอฟต์แวร์ ด้วยการกำหนดรายละเอียดหรือข้อบัญญัติไว้ในแต่ละกิจกรรมในแต่ละขั้นตอนที่มีลำดับขั้นตอนการพัฒนาที่ชัดเจน.
การวิเคราะห์ซอฟต์แวร์
IT Project Management 05 IT Quality Management.
Generic View of Process
บทที่ 2 ภาพรวมกระบวนการ (A Generic View of Process)
(Smart Strategy Praboromarajchanok Institute: SSPI)
ความรู้พื้นฐานเกี่ยวกับโครงการ
การบริหารการปฏิบัติงานของทรู (Cycle of Performance Management System)
วิศวกรรมซอฟต์แวร์ (Software Engineering)
กลยุทธ์ด้านทรัพยากรมนุษย์และการฝึกอบรม
พระพุทธศาสนา.
ภาพรวมของ CLT/PCT (CLT/PCT Profile)
ข้อแนะนำในการจัดทำโปสเตอร์ องค์ประกอบที่ควรนำเสนอในโปสเตอร์
การบริหารทีมงานและภาวะผู้นำ
By Personal Information Management
การพัฒนาระบบสารสนเทศ (Information System Development)
5. ข้อกำหนดความต้องการซอฟต์แวร์ (Software Requirements Specification)
ภาพรวมของ CLT/PCT (CLT/PCT Profile)
โครงการสัมมนาเชิงปฏิบัติการบูรณาการภาครัฐและเอกชนในการจัดยุทธศาสตร์เศรษฐกิจภาคตะวันออก This template can be used as a starter file to give updates for.
- การกำหนดวิสัยทัศน์ ภารกิจ วัตถุประสงค์และเป้าหมาย
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏยะลา
<insert problem title>
กลยุทธ์การทดสอบซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
โครงการปรับปรุงระบบ Oracle Financial มหาวิทยาลัยเชียงใหม่
สารสนเทศศาสตร์เบื้องต้น
Introduction to Structured System Analysis and Design
ภาพรวมของ CLT/PCT สถาบันรับรองคุณภาพสถานพยาบาล (องค์การมหาชน) พฤษภาคม 2561.
กระทรวงเกษตรและสหกรณ์
โปรแกรม Thai cancer based Version 6.0
ใบสำเนางานนำเสนอ:

บทที่ 1 กลยุทธ์ของกระบวนการการพัฒนา ซอฟต์แวร์รายบุคคล (The Personal Process Strategy) Revision History ------------------- Revision 1.0 (2006-12-15) Initial Version Revision 1.1 (2007-12-21) Update to reflect recent data Revision 2.0 (2008-12-16) Major update and expand the concept of process management Revision 2.0.1 (2008-12-21) Minor typo fixes and clarify some issues Revision 2.1 (2009-12-16) Update the format of the entire slide. Revision 2.2 (2010-01-06) Correct some typo and add more contents Revision 2.3 (2010-01-10) Correct some typo, make the font more consistent, and translate the CMMI slide into Thai. Revision 2.4 (2010-10-30) Update and change font to TH SarabunPSK Revision 2.4.1 (2010-11-04) Minor edit Revision 2.5 (2012-05-14) Update information to 2012 and move some slides to later chapters

วัตถุประสงค์การเรียนรู้ เนื้อหา วัตถุประสงค์การเรียนรู้ แนวคิดพื้นฐานของ PSP วัตถุประสงค์ของ PSP ความหมายของ PSP ระเบียบวินัยสำหรับ วิศวกรรมซอฟต์แวร์ การเรียนรู้การใช้ กระบวนการในการ พัฒนาซอฟต์แวร์ รายบุคคล ตัววัดใน PSP การเตรียมตัวสำหรับ กระบวนการในการ พัฒนาซอฟต์แวร์เชิง กลุ่มงาน เพื่อให้ผู้เรียนเข้าใจ กรอบแนวคิดของ PSP เข้าใจวัตถุประสงค์และ ประโยชน์ของ PSP รู้จักระดับของ กระบวนการ PSP มองภาพรวมของ รายวิชา กระบวนการพัฒนา ซอฟต์แวร์เชิงบุคคล Revision 2.2 ปรับหัวข้อ

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

แนวคิดพื้นฐาน (2) เนื่องจากคุณภาพซอฟต์แวร์ ขึ้นอยู่กับปัจจัย 5 ประการคือ บุคคลผู้พัฒนาซอฟต์แวร์ กระบวนการที่เขาใช้ เครื่องมือที่เขาใช้ สภาพแวดล้อมที่เขาทำงาน วัตถุดิบที่เขาใช้เพื่อสร้างซอฟต์แวร์ (Requirements) Revision 2.2 เปลี่ยนมาใช้ 5 factors

แนวคิดพื้นฐาน (3) วิชานี้จึงเน้นที่การปรับปรุงคุณภาพแบบบูรณา การโดยเริ่มต้นจาก บุคคลผู้พัฒนาซอฟต์แวร์ และกระบวนการ เนื่องจาก กระบวนการ เชื่อมโยงปัจจัยที่เหลือเข้าด้วยกัน สิ่งใช้กระบวนการ คือ บุคคลผู้พัฒนาซอฟต์แวร์ การปรับปรุงนั้นเริ่มจากการสำรวจตนเองเพื่อให้ เห็นว่าจะต้องมีประเด็นใดบ้างที่จะต้องปรับปรุง Revision 2.2 เน้นเรื่อง Process + People

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

ความหมายของ PSP PSP ย่อมาจาก Personal Software Process พัฒนาโดย Watts S. Humphrey PSP ถูกออกแบบมาเพื่อช่วยเหลือวิศวกรให้ สามารถผลิตซอฟต์แวร์ที่มีคุณภาพสูง ช่วยในเรื่องการประมาณการ การวางแผน และการพัฒนาซอฟต์แวร์

ความหมายของ PSP (2) กระบวนการ PSP เป็นการเก็บข้อมูลโดยการ วัดที่ผลผลิต และกระบวนการพัฒนาของ วิศวกรรายบุคคล เพื่อใช้ในการขับเคลื่อนการเปลี่ยนแปลง พฤติกรรมการทำงานของวิศวกรซอฟต์แวร์ โดยการลดข้อบกพร่อง (Defect) เพิ่มทักษะในการวางแผน (Planning) และการ ประมาณค่าซอฟต์แวร์ (Estimation)

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

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

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

หลักการวางแผนและคุณภาพ PSP (2) วิศวกรแต่ละคนต้องวางแผนงานของตนเอง โดยแผนต้องสอดคล้องกับข้อมูลประสิทธิภาพ การทำงานของตนเอง วิศวกรควรใช้กระบวนการที่ถูกกำหนดหรือ นิยามไว้แล้ว และต้องสามารถวัดประเมินได้ ทั้งนี้เพื่อให้สมรรถนะการทำงานเป็นไปอย่าง สม่ำเสมอ

การเรียนรู้การใช้กระบวนการการพัฒนาซอฟต์แวร์รายบุคคล รูปที่ 1.1 ระดับของกระบวนการ PSP

PSP0 : The Baseline Personal Process เป็นกระบวนการรายบุคคลสำหรับใช้อ้างอิง เปรียบเทียบกับกระบวนการที่ได้รับการปรับปรุง ฝึกปฏิบัติแล้วในภายหลัง แนะนำให้รู้จักวัฎจักร 6 ขั้นตอน (Phase) ในการพัฒนาซอฟต์แวร์ Planning Design Code Compile Test Post mortem (PM)

รูปที่ 1.2 PSP0 Process Flow

PSP0 : The Baseline Personal Process (2) โดยการวัดจะมีการบันทึกในแบบฟอร์มของเอกสารที่ กำหนดไว้ รวมถังผลสรุปสุดท้ายจะบันทึกใน Project Plan Summary ในขั้นตอน PSP0.1 เป็นการแนะนำแบบฟอร์ม เอกสาร Process Improvement Proposals (PIP) ที่ให้บันทึกแนวความคิดที่ต้องการใช้เพื่อ พัฒนากระบวนการ

PSP1 : Personal Project Management เป็นการเน้นเทคนิคการจัดการโครงการ รายบุคคล โดยแนะนำการประมาณขนาดของโปรแกรมและ แรงงาน (Effort) ที่คาดว่าจะใช้ การวางแผนงาน (Task planning) การวางแผนตารางเวลา (Schedule planning) และการติดตาม (Tracking) การประมาณขนาดของโปรแกรม และแรงงาน โดยวิธี PROBE (Proxy-Based Estimating)

PSP2 : Personal Quality Management ในขั้นตอน PSP2 มีการเพิ่มการออกแบบ รายบุคคล (Personal design) การทบทวน Code (Code review) เพื่อช่วยให้วิศวกรสามารถพบข้อบกพร่องได้เร็ว ขึ้นในกระบวนการ ทำให้การแก้ปัญหาได้เร็ว และประหยัดเวลา มีการวิเคราะห์ข้อบกพร่องที่พบ และนำมาใช้ เป็นข้อมูลในการสร้างรายการตรวจสอบ (Review checklists)

PSP2 : Personal Quality Management (2) 12/13/2019 PSP2 : Personal Quality Management (2) PSP2.1 เป็นการชี้ให้เห็นถึงความจำเป็นของ การออกแบบ โดยเพิ่มส่วนของ Design notation มีการกำหนดต้นแบบ (Template) ของการ ออกแบบ 4 แบบ และวิธีการทบทวนการ ออกแบบ ข้อกำหนดทางการปฏิบัติ (The Operation Specification Template :OST) ข้อกำหนดทางฟังก์ชัน (The Functional Specification Template : FST) ข้อกำหนดทางสถานะ (The State Specification Template : SST) ข้อกำหนดทางตรรกะ (The Logic Specification Template : LST)

PSP3 : Cyclic Personal Process 12/13/2019 PSP3 : Cyclic Personal Process PSP3 เป็นขั้นตอนซึ่งชี้ให้เห็นขนาดของ โครงการที่เหมาะสมสำหรับวิศวกรหนึ่งๆ สามารถทำได้ โดยไม่ทำให้คุณภาพงานของ ตนเองลดลง วิศวกรจะเรียนรู้ผลผลิต (Productivity) ของ ตนเอง จากช่วงของขนาดของโครงการ ตั้งแต่โครงการที่เล็กที่สุด ถึงโครงการใหญ่ ที่สุด และ ณ จุดที่ผลผลิตของตนเองเริ่มลดลง หมายถึงจุดที่บ่งบอกถึงขนาดของโครงการที่ ใหญ่ที่สุดที่วิศวกรคนนั้นจะทำได้

PSP3 : Cyclic Personal Process (2) 12/13/2019 PSP3 : Cyclic Personal Process (2) โดย PSP3 จะแนะนำกลยุทธ์ในการพัฒนา เป็นวงรอบ นั่นหมายถึงโปรแกรมขนาดใหญ่จะถูกแบ่งเป็นส่วน งานย่อยๆ ในแต่ละวงรอบ ในการพัฒนาตาม ความสามารถของตนเอง และทำส่วนที่เหลือใน วงรอบถัดไป PSP3 มีการแนะนำ High-level design High-level design review Cycle planning Development cycles บนพื้นฐานของ PSP2.1

PSP3 : Cyclic Personal Process (3) 12/13/2019 PSP3 : Cyclic Personal Process (3) โดยใช้เอกสารใหม่ 2 แบบฟอร์ม เอกสารสรุปในแต่ละวงรอบ ซึ่งเป็นการบันทึก ผลสรุปของขนาด เวลาที่ใช้ ข้อบกพร่องที่พบ เอกสารที่ติดตามประเด็นปัญหาสำคัญ ซึ่งอาจส่งผล ต่อวงรอบในอนาคต หรือเมื่อพัฒนาทุกวงรอบอย่าง สมบูรณ์แล้ว

ตัววัดใน PSP การวัดเวลาที่ใช้ในการพัฒนา (Development time measurement) การบันทึกข้อบกพร่องที่เกิดขึ้น (Defect recording) การวัดขนาดของโปรแกรม (Size measurement) ข้อมูลสรุปโครงการ (Project plan summary) Revision 2.2 00 บทนำ

รูปที่ 1.3 PSP Time Recording Log 12/13/2019 รูปที่ 1.3 PSP Time Recording Log

รูปที่ 1.4 ตัวอย่าง PSP Time Recording Log

รูปที่ 1.5 PSP Defect Recording Log

รูปที่ 1.6 PSP Project Plan Summary 00 บทนำ Revision 2.2 รูปที่ 1.6 PSP Project Plan Summary

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

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

เอกสารอ้างอิง เอกสารประกอบการสอนดร. สุรเดช จิตประไพ กุลศาล Revision 2.2 PSP: Personal Software Process แต่งโดย ดร. พรภัทร์ ศิริธรรมกุล จาก www.squared.chula.ac.th Humphrey, W. S. PSP: A self-improvement process for software engineers. Addison- Wesley, 2005. ISBN: 978-0-321-30549-7