Homework 2 Present หัวข้อการนำเสนอ Capability Maturity Model

Download Report

Transcript Homework 2 Present หัวข้อการนำเสนอ Capability Maturity Model

Homework 2
Present
หัวข้อการนาเสนอ
• Capability Maturity Model
• Agile Model
• eXtreme Programming
• Unified Process – UP
• Scrum Model
• Aspect-Oriented Software
Development
Capability Maturity
Model
Capability Maturity Model
(CMM)
SEI
หรือทีเ่ รียกกันว่า
คือ แบบจาลองวุฒภิ าวะความสามารถ เกิดจาก
ของมหาวิทยาลัยคาร์เนที เมลลอน ถูกกาหนดขึน้ เพือ่ วัด
ความเชื่อมันและคุ
่
ณภาพของกระบวนการพัฒนาซอฟต์แวร์ โดย
CMM
ได้รวมเอาข้อดีของ
TQM
มาปรับใช้กบั การพัฒนา
ระดับมาตรฐานของ
• ระดับเริม
่ ต้น
เรียกว่า
CMM
Initial Level
• ระดับจัดทาโครงการเบือ
้ งต้น
Repeatable Level
เรียกว่า
• ระดับทีม
่ กี ารกาหนดขึน้ อย่างชัดเจน
Defined Level
• ระดับมีการจัดการ
เรียกว่า
เรียกว่า
Managed Level
ประโยชน์ของ
CMM
• การทางานเป็ นระบบมากขึน
้
มีการทางานที่
ตรวจสอบได้โดยง่าย
• โอกาสในการประสบผลสาเร็จในการทางานมีมากขึน
้
Agile Model
Agile
Model
เป็ นแนวคิดใหม่สาหรับการพัฒนา
ซอฟต์แวร์ ที่พยายามที่จะแทรกตัวเข้าไปใน
methodology
แบบเดิม เพื่อ ให้ง านสัน้ ลง ซึ่ง การพัฒ นาอาจจะใช้เ วลาสัน้ ๆ
ประมาณ
1 – 4
สัปดาห์ โดยจะเน้นการสือ่ สารแบบตัวต่อตัว
มากกว่ า การใช้ เ อกสาร ที ม งานโดยทัว่ ไปอย่ า งน้ อ ยต้ อ ง
รูปแบบการทางานของ
•
เลือกบางหลักการมาทา
•
เป็ นวิธหี นึ่งทีจ่ ะเอาหลักการของ
•
ใน
Agile
Agile
AM
มาจัดการกับเอกสารและระบบเดิมทีม่ อี ยูไ่ ด้
ประกอบด้วย
ผลลัพธ์
principle หลักการ
practices วิธป
ี ฏิบตั ิ
• value
•
•
•
ทัง้ สามอย่างนี้เป็ นส่วนหนึ่งในโมเดล
และเกิด overhead น้อย
•
ให้มอง
•
ให้
Agile
Agile
Agile
ทีส่ ามารถนามาพัฒนา
เป็ นส่วนขยายของกระบวนการพัฒนา
SW
SW
ให้มปี ระสิทธิภาพ
แบบเดิมได้
เข้าไปกากับ ดูวา่ ของเดิมทีม่ อี ยูอ่ นั ไหนสาคัญก็ทา ไม่สาคัญก็ละ
eXtreme Programming
Extreme Programming
ซอฟต์แวร์แบบ
หรือ
XP
Agile (lightweight)
•
communication :
•
Simplicity
performance
:
เป็ นกระบวนการพัฒนา
มีปจั จัยพืน้ ฐาน ดังนี้
เน้นเรือ่ งการพบปะพูดคุย (หลักการ
Agile)
ออกแบบและเขียนโปรแกรมให้ง่าย ไม่เน้น
มากนัก เน้นเรือ่ งแก้
12
กิจกรรมหลักของ
XP
• วางแผนเกม (The Planning Game)
• พยายามซอยงานให้ถๆ
่ี (Small Releases)
• มีตวั กลางคันระหว่
่
าง user
Metaphor)
และตัวเรา
(System
• ออกแบบให้งา่ ย (Simple Design)
• ทดสอบเสมอ (Continuous Testing)
12
กิจกรรมหลักของ
(ต่อ
)
XP
• ทางานเป็ นคู่ (pair programming)
• Team code ownership
• ทาการรวบรวมงานอย่างต่อเนื่อง (Continuous
Integration)
• ทางานไปเรือ
่ ยๆ ไม่หกั โหม
Hour-work-week)
ห้ามว่าง
(40-
Unified Process
(UP)
Unified
Process
(UP)
คือกระบวนการทาง
วิศ วกรรมซอฟต์ แ วร์ ที่เ กิด จากการรวมเอาสิ่ง ที่ผู้เ ชี่ ย วชาญ
ทางการพัฒนาซอฟต์แวร์ ที่เคยกาหนดไว้ และได้ผลดีในการ
พัฒนาซอฟต์แวร์มารวมกัน โดยเลือกแต่เทคนิคทีด่ ี และขัน้ ตอน
หลัก ที่เหมือ นๆกัน มารวมกัน (Unify) และก าหนดให้ม ชี ่ือ
กระบวนการของ
6
UP
• การพัฒนาซอฟต์แวร์ควรเป็ นการพัฒนาแบบวนกลับ
(Iterative Development)
• โครงสร้างถูกแบ่งออกเป็ นรอบ (Iteration)
สิง่ ทีไ่ ด้จะมีการพัฒนาเพิม่ จนกว่าจะกลายเป็ นระบบทีส่ มบูรณ์
• ในแต่ละรอบทีมจะต้องทางานซ้า (Iterate)
•
•
การวิเคราะห์ ออกแบบ พัฒนาโปรแกรม และทดสอบ
• การพัฒนาซอฟต์แวร์
ใดๆ ควรมีการจัดการความต้องการ
6
กระบวนการของ
(ต่อ
)
UP
• การใช้แนวคิดสถาปตั ยกรรมแบบองค์ประกอบ
(Component –based Model
Architecture)
• การนากลับมาใช้ได้อก
ี (Reusable)
• เพือ
่ เป็ นพืน้ ฐานในการจัดการโครงการ
• เพือ
่ ให้มกี ารควบคุมการทางานอย่างชาญฉลาด
• การสร้างต้นแบบของระบบทีส
่ ามารถมองเห็นได้
กระบวนการของ
6
(ต่อ
)
UP
• การตรวจสอบคุณภาพของซอฟต์แวร์ทพ
่ี ฒ
ั นาอย่าง
ต่อเนื่อง
(Continuously Verify)
การทดสอบการทางานของระบบ (Function Testing)
• การทดสอบการใช้ระบบ (Usability Testing)
• การทดสอบความน่ าเชือ
่ ถือของระบบ (Reliability Testing)
• การทดสอบประสิทธิภาพ (Performance Testing)
• การทดสอบการสนับสนุ น (Supportability)
•
Scrum Model
Scrum
พืน้ ฐานของ
เป็ น
2-4
เป็ นหนึ่งใน
Sprint
หลายๆวิธที อ่ี ยู่ในค่าย
Scrum
development
จะ
process
ทีอ่ ยู่บน
Implementation
Agile Software Development
sprint
เป็ นช่วงๆตามหลักการแล้วคือช่วงละ
สัปดาห์ โดยจะเป็ นช่วงที่เราจะเร่งทางานอย่างเต็ม ที่เต็ม
3 Concept
•
ว่าด้วยเรือ่ งของทีมงาน
ของ
Scrum
(Role)
• Scrum Team
• Product Owner
• Scrum Master
•
ว่าด้วยเรือ่ งของวิธกี ารทางาน
(Process)
• Backlog
• Sprint phase
• Daily scrum
•
ว่าด้วยเรือ่ งของการประเมินและติดตามงาน
(Demonstration
Aspect-Oriented Software
Development
Aspect-Oriented
(AOSD)
Software
Development
เป็ นความพยายามในการช่วยนักพัฒนาสาหรับแยก
คอนเซิน ในการเขีย นโปรแกรม โดยเฉพาะอย่ า งยิ่ง คอนเซิน
ตัดขวาง
module
(crosscutting concern)
การใช้งาน
AOP
เพือ่ เพิม่ ความเป็ น
อาจจะต้องทาการปรับเปลีย่ นภาษา
SA – WAD – D
- JA
สวัสดีครับ
-
ค่ะ