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

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

Homework 2 Present.

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


งานนำเสนอเรื่อง: "Homework 2 Present."— ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


ดาวน์โหลด ppt Homework 2 Present.

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


Ads by Google