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

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

Homework 2 Present. หัวข้อการนำเสนอ Capability Maturity Model Agile Model eXtreme Programming Unified Process – UP Scrum Model Aspect-Oriented Software.

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


งานนำเสนอเรื่อง: "Homework 2 Present. หัวข้อการนำเสนอ Capability Maturity Model Agile Model eXtreme Programming Unified Process – UP Scrum Model Aspect-Oriented Software."— ใบสำเนางานนำเสนอ:

1 Homework 2 Present

2 หัวข้อการนำเสนอ Capability Maturity Model Agile Model eXtreme Programming Unified Process – UP Scrum Model Aspect-Oriented Software Development

3 Capability Maturity Model Capability Maturity Model หรือที่เรียกกันว่า (CMM) คือ แบบจำลองวุฒิภาวะความสามารถ เกิดจาก SEI ของมหาวิทยาลัยคาร์เนที เมลลอน ถูกกำหนดขึ้นเพื่อวัดความ เชื่อมั่นและคุณภาพของกระบวนการพัฒนาซอฟต์แวร์ โดย CMM ได้รวมเอาข้อดีของ TQM มาปรับใช้กับการพัฒนาซอฟต์แวร์ โดยเฉพาะ จึงเป็นโมเดลที่ใช้วัดความเชื่อมั่น และคุณภาพของ กระบวนการพัฒนาซอฟต์แวร์ในปัจจุบัน

4 ระดับเริ่มต้น เรียกว่า Initial Level ระดับจัดทำโครงการเบื้องต้น เรียกว่า Repeatable Level ระดับที่มีการกำหนดขึ้นอย่างชัดเจน เรียกว่า Defined Level ระดับมีการจัดการ เรียกว่า Managed Level ระดับปรับปรุงให้เหมาะสมที่สุด เรียกว่า Optimizing Level ระดับมาตรฐานของ CMM

5 การทำงานเป็นระบบมากขึ้น มีการทำงานที่ ตรวจสอบได้โดยง่าย โอกาสในการประสบผลสำเร็จในการทำงานมีมาก ขึ้น มีวิธีการปฏิบัติที่เป็นมาตรฐาน และสามารถยืดหยุ่น ได้ สามารถรับงานจากต่างประเทศ และทำรายได้เข้า ประเทศได้ ประโยชน์ของ CMM

6 Agile Model Agile Model เป็นแนวคิดใหม่สำหรับการพัฒนา ซอฟต์แวร์ ที่พยายามที่จะแทรกตัวเข้าไปใน methodology แบบเดิม เพื่อให้งานสั้นลง ซึ่งการพัฒนาอาจจะใช้เวลาสั้นๆ ประมาณ 1 – 4 สัปดาห์ โดยจะเน้นการสื่อสารแบบตัวต่อตัว มากกว่าการใช้เอกสาร ทีมงานโดยทั่วไปอย่างน้อยต้อง ประกอบด้วย โปรแกรมเมอร์และลูกค้า ที่ใช้กำหนดขอบเขต และระบบงาน

7 เลือกบางหลักการมาทำ เป็นวิธีหนึ่งที่จะเอาหลักการของ Agile มาจัดการกับเอกสารและระบบเดิมที่มีอยู่ได้ ใน Agile ประกอบด้วย value ผลลัพธ์ principle หลักการ practices วิธีปฏิบัติ ทั้งสามอย่างนี้เป็นส่วนหนึ่งในโมเดล Agile ที่สามารถนำมาพัฒนา SW ให้มีประสิทธิภาพ และเกิด overhead น้อย ให้มอง Agile เป็นส่วนขยายของกระบวนการพัฒนา SW แบบเดิมได้ ให้ Agile เข้าไปกำกับ ดูว่าของเดิมที่มีอยู่อันไหนสำคัญก็ทำ ไม่สำคัญก็ละ นำ Agile มาจัดลำดับความสำคัญ ดูว่ากิจกรรมไหน ควรทำ ไม่ควรทำ รูปแบบการทำงานของ AM

8 eXtreme Programming Extreme Programming หรือ XP เป็นกระบวนการพัฒนา ซอฟต์แวร์แบบ Agile (lightweight) มีปัจจัยพื้นฐาน ดังนี้ communication : เน้นเรื่องการพบปะพูดคุย ( หลักการ Agile) Simplicity : ออกแบบและเขียนโปรแกรมให้ง่าย ไม่เน้น performance มากนัก เน้นเรื่องแก้ Feedback : เน้นเรื่องลูกค้า feedback เราเปลี่ยนได้เรื่อยๆ โดยใช้ refactor Courage : เราต้องสามารถตัดสินใจเองได้ โปรแกรมเมอร์มีความกล้า ในการตัดสินใจ

9 วางแผนเกม (The Planning Game) พยายามซอยงานให้ถี่ๆ (Small Releases) มีตัวกลางคั่นระหว่าง user และตัวเรา (System Metaphor) ออกแบบให้ง่าย (Simple Design) ทดสอบเสมอ (Continuous Testing) แก้ code บ่อยๆ (refactoring) 12 กิจกรรมหลักของ XP

10 ทำงานเป็นคู่ (pair programming) Team code ownership ทำการรวบรวมงานอย่างต่อเนื่อง (Continuous Integration) ทำงานไปเรื่อยๆ ไม่หักโหม ห้ามว่าง (40-Hour- work-week) มองทีมเป็นหนึ่ง (On-site Customer) ใช้มาตรฐานการ code แบบเดียวกัน (Coding Standards) 12 กิจกรรมหลักของ XP ( ต่อ )

11 Unified Process (UP) Unified Process (UP) คือกระบวนการทาง วิศวกรรมซอฟต์แวร์ ที่เกิดจากการรวมเอาสิ่งที่ผู้เชี่ยวชาญ ทางการพัฒนาซอฟต์แวร์ ที่เคยกำหนดไว้ และได้ผลดีในการ พัฒนาซอฟต์แวร์มารวมกัน โดยเลือกแต่เทคนิคที่ดี และ ขั้นตอนหลักที่เหมือนๆกัน มารวมกัน (Unify) และกำหนดให้ มีชื่อใหม่ว่า “ กระบวนการพัฒนาซอฟต์แวร์แบบรวมเป็นหนึ่ง เดียว (Unified Process)

12 การพัฒนาซอฟต์แวร์ควรเป็นการพัฒนาแบบวนกลับ (Iterative Development) โครงสร้างถูกแบ่งออกเป็นรอบ (Iteration) สิ่งที่ได้จะมีการพัฒนาเพิ่มจนกว่าจะกลายเป็นระบบที่สมบูรณ์ ในแต่ละรอบทีมจะต้องทำงานซ้ำ (Iterate) การวิเคราะห์ ออกแบบ พัฒนาโปรแกรม และทดสอบ การพัฒนาซอฟต์แวร์ ใดๆ ควรมีการจัดการความต้องการ ได้ (Requirement Management) 6 กระบวนการของ UP

13 การใช้แนวคิดสถาปัตยกรรมแบบองค์ประกอบ (Component –based Model Architecture) การนำกลับมาใช้ได้อีก (Reusable) เพื่อเป็นพื้นฐานในการจัดการโครงการ เพื่อให้มีการควบคุมการทำงานอย่างชาญฉลาด การสร้างต้นแบบของระบบที่สามารถมองเห็นได้ (Visual Model) ด้วยภาษา UML 6 กระบวนการของ UP ( ต่อ )

14 การตรวจสอบคุณภาพของซอฟต์แวร์ที่พัฒนาอย่าง ต่อเนื่อง (Continuously Verify) การทดสอบการทำงานของระบบ (Function Testing) การทดสอบการใช้ระบบ (Usability Testing) การทดสอบความน่าเชื่อถือของระบบ (Reliability Testing) การทดสอบประสิทธิภาพ (Performance Testing) การทดสอบการสนับสนุน (Supportability) การจัดการการเปลี่ยนแปลง (Change Management) 6 กระบวนการของ UP ( ต่อ )

15 Scrum Model Scrum เป็น development process ที่อยู่บน พื้นฐานของ Sprint เป็นหนึ่งใน Implementation หลายๆวิธีที่อยู่ในค่าย Agile Software Development Scrum จะ sprint เป็นช่วงๆตามหลักการแล้วคือช่วงละ 2- 4 สัปดาห์ โดยจะเป็นช่วงที่เราจะเร่งทำงานอย่างเต็มที่เต็ม ขีดจำกัด หลังจบ sprint ก็จะพักบ้างสัก 3-5 วัน ก่อนที่จะ sprint ต่อไป

16 ว่าด้วยเรื่องของทีมงาน (Role) Scrum Team Product Owner Scrum Master ว่าด้วยเรื่องของวิธีการทำงาน (Process) Backlog Sprint phase Daily scrum ว่าด้วยเรื่องของการประเมินและติดตามงาน (Demonstration and Evaluation) 3 Concept ของ Scrum

17 Aspect-Oriented Software Development Aspect-Oriented Software Development (AOSD) เป็นความพยายามในการช่วยนักพัฒนาสำหรับแยก คอนเซินในการเขียนโปรแกรม โดยเฉพาะอย่างยิ่งคอนเซิน ตัดขวาง (crosscutting concern) เพื่อเพิ่มความเป็น module การใช้งาน AOP อาจจะต้องทำการปรับเปลี่ยนภาษา ในการพัฒนา ในขณะที่การใช้ AOSD จะรวมถึงความเกี่ยวข้อง กับภาษา สภาพแวดล้อมและวิธีการพัฒนา

18 SA – WAD – D - JA สวัสดีครับ - ค่ะ


ดาวน์โหลด ppt Homework 2 Present. หัวข้อการนำเสนอ Capability Maturity Model Agile Model eXtreme Programming Unified Process – UP Scrum Model Aspect-Oriented Software.

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


Ads by Google