FDD - WordPress.com

Download Report

Transcript FDD - WordPress.com

Feature Driven Development
FDD เริ่ มขึ้นจากการคิดค้นของ Peter Coad และคณะ เพื่อใช้เป็ น
แบบจาลองกระบวนการเชิ งปฏิบตั ิการของวิศวกรรมซอฟต์แวร์ เชิ ง
วัตถุ
 Stephen Palrner และ John Felsing ได้ขยายและเพิ่มเติมงานของ
Coad อธิ บายการปรั บตัว กระบวนการอาไจลที่อาจประยุกต์กบั
โครงการขนาดกลางและขนาดใหญ่ข้ ึน

Feature Driven Development

ภายใต้บริ ษทั ของเอฟดี ดี คุ ณลักษณะเป็ น “หน้าที่ ที่ลู กค้าเห็ นว่ามี
คุณค่า” ที่สามารถอิมพลีเม้นต์ได้ภายในเวลาสองสัปดาห์ หรื อน้อย
กว่า” นิยามของคุณลักษณะให้ประโยชน์ต่อไปนี้
 1. เนื่ องจากคุณลักษณะเป็ นส่ วนเล็กๆ ของซอฟต์แวร์ ที่ทางานได้ ผูใ้ ช้จึง
สามารถอธิ บายได้ง่าย เข้าใจความสัมพันธ์ระหว่างกันได้ง่าย และสามารถ
ทบทวนได้ดีกว่าเมื่อมีความคลุมเครื อข้อผิดพลาด หรื อการหลงลืม
 2. คุณลักษณะอาจถูกจัดระเบียบ เป็ นกลุ่มลาดับชั้นที่มีความสัมพันธ์ทาง
ธุรกิจได้
 3. เนื่ องจากลักษณะเป็ นรุ่ น ๆ ของคุณลักษณะของซอฟต์แวร์ ที่ตอ้ งส่ งมอบ
ได้มรการพัฒนาแบบเอฟดีดี ทีมงานจะมุ่งพัฒนาซอฟต์แวร์ ให้มีคุณลักษณะ
ใหม่ ๆ ที่ทางานได้ทุก ๆ สองสัปดาห์
Feature Driven Development
 4. เนื่ องจากคุณลักษณะมีขนาดเล็ก ตัวแบบและตัวโค้ดของคุณลักษณะจึง
ง่ายต่อการตรวจทานอย่างละเอียด
 5. การวางแผนโครงการ การจัดตารางงาน และการติดตามจะขับเคลื่อนด้วย
คุณลักษณะตามลาดับชั้น ซึ่งดีกว่าการใช้ชุดงานย่อยที่เลือกมาแบบสุ่ ม
 Coad และคณะแนะนาแม่แบบต่อไปนี้ สาหรับนิ ยามคุณลักษณะ
<action> the <result> <by I for I of I to> a (n) <object>
Feature Driven Development

เมื่อ <object> หมายถึง “บุคคล สถานที่ หรื อสิ่ งของ (รวมถึงบทบาท
จังหวะเวลา หรื อช่วง ของเวลา หรื อ คาอธิ บายทานองเดี ย วกับใน
แคตตาล็อกสิ นค้า) ตัวอย่างของคุณลักษณะ สาหรับแอพพลิเคชัน่ อี
คอมเมิร์ช อาจเช่น”
Add the product to a shopping cart
Display the technical – specifications of a product
Store the sipping – information for a customer
Feature Driven Development

กลุ่ มชุ ดคุ ณลักษณะ จะเชื่ อมโยงคุ ณลักษณะเข้ากับการทางานทาง
ธุรกิจ จะนิยามดังนี้
<action> <-ing> a (n) <object>
ตัวอย่างเช่น Making a product sale เป็ นชุดคุณลักษณะที่อาจรวมเอา
คุณลักษณะที่กล่าวถึง ข้างต้นทั้งหมดและคุณลักษณะอื่นๆ ที่อาจมี
เข้าไว้ดว้ ยกัน
Feature Driven Development

วิธีการเอฟดีดี นิยามกิจกรรมกรอบงานสาหรับ“การร่ วมมือกัน” 5
อย่างเรี ยกว่ากระบวนการ
1. Develop an overall model
Develop an overall
model
Build a features
list
Plan by feature
Design by feature
ใคร?
ผูเ้ ชี่ยวชาญ, หัวหน้าสถาปนิก, หัวหน้าโปรแกรมเมอร์
Build by feature
1. Develop an overall model
กาหนดรู ปร่ างของระบบ
 กาหนดวิธีการใช้ class ที่เกี่ยวข้องกัน
 สร้างรู ปแบบวัตถุฐาน
 การแสดงความคิดเห็นภายในและภายนอก, บันทึกแบบ

1. Develop an overall model
Study documents
Form the modeling
team
Deelop a team
model
Conduct a domain walk through
Develop small
group models
Refine the overall
object model
Write model notes
Model Name: NewModel
Package Name: NewModel
Diagram Name: ClassDiagram1
Diagram Type: Class
1. Develop an overall model
1
+CompositeClass
+StandardComponent1
1
1
1
1
+CollectionComponent1
1
0..*
+CollectionMember
1
+StandardComponent2
2. Build a features list
Develop an overall
model
Build a features
list
Plan by feature
Design by feature
Build by feature
ใคร?
คุณลักษณะรายการทีมผูเ้ ชี่ยวชาญโดเมน, โปรแกรมเมอร์หวั หน้าสถาปนิ ก
หัวหน้า
2. Build a features list





สลายหน้าที่ของรู ปแบบการพัฒนาในขั้นตอนที่ 1
หัวข้อพื้นที่กิจกรรมทางธุรกิจเพื่อให้ข้ นั ตอนกิจกรรมทางธุรกิจ
ลักษณะเป็ นขั้นตอนที่กิจกรรมทางธุรกิจของลูกค้าเป็ นศูนย์กลาง
เทคโนโลยีไม่เป็ นศูนย์กลาง
ศัพท์เฉพาะ : <action> <result> <object>
"จานวนบัญชีลกู ค้าใหม่"
2. Build a features list
Form the features
list team
Build features list
2. Build a features list
3. Plan By Feature
Develop an overall
model
Build a features
list
Plan by feature
Design by feature
Build by feature
ใคร?
ทีมวางแผน: ผูจ้ ดั การโครงการผูจ้ ดั การพัฒนาและหัวหน้าโปรแกรมเมอร์
3. Plan By Feature
Determine the
development
sequence
Form the planning
team
Assign features to
chief programmers
Assign classes to
developers
3. Plan By Feature
คุณสมบัติกลุ่มเป็ นชุดคุณลักษณะ (หนึ่งหรื อหลายธุรกิจจัดกิจกรรม)
 จัดลาดับความสาคัญตามความต้องการของลูกค้า
 วันครบกาหนด (MM) YYYY

3. Plan By Feature
4. Design by feature
Develop an overall
model
Build a features
list
Plan by feature
ใคร?
ทีมคุณลักษณะ: หัวหน้าโปรแกรมเมอร์, เจ้าของ
Design by feature
Build by feature
4. Design by feature
งานแพคเกจตามระดับปัจจุบนั ในสถาปัตยกรรมทางเทคนิค
 สองสัปดาห์ของงาน
 การออกแบบวัตถุสร้างแผนภาพลาดับตามความจาเป็ น
่ มาก
 ทีมคุณสมบัติมีความยืดหยุน
 ปรับปรุ งรู ปแบบการสร้างวัตถุในกระบวนการ # 1

4. Design by feature
Conduct a domain
walk through
Develop the
sequence
diagrams
Form a feature
team
Study the
referenced docs
Refine the object
model
Write class and
method prologue
Design inspection
5. Develop by feature
Develop an overall
model
Build a features
list
ใคร?
เจ้าของ, หัวหน้าโปรแกรมเมอร์
Plan by feature
Design by feature
Build by feature
5. Develop by feature
ดาเนินการ
 ตรวจสอบรหัสสิ นค้า
 หน่วยทดสอบ
 ส่ งเสริ มการสร้าง

Feature Driven Development

FDDได้ให้รายละเอียดและเทคนิ คของการจัดการโครงการมากกว่า
วิธีอาไจลอื่น ๆ เมื่อโครงการเติบโตขึ้นทั้งขนาดและความซับซ้อน
การจัดการโครงการเฉพาะกิ จอาจไม่เพียงพอจึ งจาเป็ นที่นักพัฒนา
ผู ้จัด การและลู ก ค้า ต้อ งเข้า ใจสถานะของโครงการ ว่ า ได้บ รรลุ
เป้ าหมายอะไรไปบ้างแล้ว มีปัญหาอะไรบ้างที่ พบถ้าเส้นตายเป็ น
เรื่ องสาคัญ การกาหนดขนาดของรุ่ นต่าง ๆ ที่รวมเอาคุณลักษณะไว้
ควรจัดลงตารางงานอย่างเหมาะสม ดังนั้น เอฟดีดีจึงมีหลักไมล์อยู่ 6
หลัก ในช่ วงการออกแบบ และการอิมพลี เมนต์คุณลักษณะคือ การ
ออกแบบคร่ าวๆ การออกแบบการตรวจทานการ ออกแบบการโค้ด
การตรวจทานการโค้ด และการส่ งเสริ มการสร้าง”

สมาชิกในกลุ่ม
นาย ณรงศ์พจน์ วงศ์สิริพรกุล 501463108
นาย นฤชัย พุม่ พวง 501463114
นาย ฐิติ ท่าหิ น 501463208