Investigating dependencies in software requirements for
change propagation analysisHe Zhang, Juan Li, Liming Zhu
ผู้เขียน
• He Zhang
• Juan Li
• Liming Zhu
• Ross Jeffery
• Yan Liu
• Qing Wang
• Mingshu Li
SteFou! - The Conductor
กลุ่มที่ 6
• นายกฤษดา รองรัตน์
• นายณัฐพงศ์ เอื้อเพิ่มเกียรติ
• นายพณัฐ จงภักดี
• นายสิทธิพงษ์ เหล่าโก้ก
หัวข้อ
• เกริ่นนำ
• ปูมหลังและแรงจูงใจ
• กรณีศึกษา: LIXI, NICTA
• แบบจำลองใหม่
• สรุปผลและแนวทางการพัฒนา
เกริ่นนำ
รูปแบบการวิเคราะห์ความขึ้นตรงต่อกันที่ใช้อยู่ และคำถามเริ่มต้นที่ผู้วิจัยต้องการหาคำตอบ
Eli Brody - watchers
คำถามวิจัย
RQ1: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ได้ใช้เพื่อระบุความสัมพันธ์กันของความต้องการและเพราะอะไรจึงใช้วิธีการที่เลือกนี้
RQ2: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ใช้ในการวิเคราะห์ผลกระทบที่เกี่ยวข้องกับการเปลี่ยนแปลง และเพราะเหตุใดจึงใช้วิธีการนี้
RQ3: การขึ้นตรงต่อกันแบบใดที่ใช้แล้วมีประสิทธิภาพหรือในทางกลับกันใช้แล้วไม่มีประสิทธิภาพ
RQ4: ปัจจัยใดทำให้ค้นพบรูปแบบการขึ้นตรงต่อกันของความต้องการ
ปูมหลังและแรงจูงใจ
ปัญหาที่พบในการทำงาน
Diamond Brooke - Knot
“Change propagation การเปลี่ยนแปลงที่ส่งผลกระทบไม่เพียงแค่รหัส
ต้นฉบับ แต่รวมไปถึงองค์ประกอบอื่นๆ ของซอฟต์แวร์”
กระบวนการวิเคราะห์ผลกระทบของโบเนอร์
Bohner’s Impact Analysis Process
U = Requirements
SIS
U = Requirements
SIS
CIS
U = Requirements
SIS
CIS
AIS
U = Requirements
วิธีการตามรอยอัตโนมัติด้วยเทคนิคการสะกัดข้อมูล
• ระหว่างเอกสารและรหัสข้อมูล
• ระหว่างความต้องการด้วยกัน
• ระหว่างข้อมูลความต้องการและกรณีทดสอบ
Dependency Types
ConditionsContrains
Preconditioncontent
documents
evolutionary
abstraction
refine
generation
based_on
satisfies
formalize
eleboratesreplace
background
backgroundcomments
prupose
test_case_for
example_for
conflicts
contradictscompare
similar
แบบจำลองการขึ้นตรงต่อกันของ Pohl
Dependency Types
Structured dependencies
Constraint dependencies
Cost/Value dependencies
Refined_to
Change_to
Similar_to
Requires Conflicts_with Increases/Decreases_cost_of
Increases/Decreases_value_of
แบบจำลองการขึ้นตรงต่อกันของ Dahlstedt
Pohl’s Requirements Dependency Model
Dahlstedt and Persson
P-ModelD-Model
18 dependency types7 dependency types
D-Model P-Model
ExplainsReplaces, Based_on, Formalises, Elaborates, Generalise, Reines
Requires Precondition
Similar_to Similar
Conflict Constraint, Conflicts
กรณีศึกษา
- LIXI: The Lending Industry XML Initiative - NICTA: Software house
SteFou! - The Conductor
Alice Bob Charlie
ตำแหน่ง ความคุ้นชินกับระบบ อายุงาน (ปี)
ผู้จัดการโครงการ ผู้ออกแบบระบบ 8
วิศวกรความต้องการ ยังไม่คุ้นเคยกับระบบ 5
นักพัฒนา รู้จักระบบเป็นอย่างดี 2
ข้อมูลที่ผู้เข้าร่วมวิจัยได้รับ
• เอกสารความต้องการของ PVS 2.0 (144 ความต้องการใน 19 ส่วนประกอบ)
• เอกสารความต้องการของ PVS 3.0 (33 ความต้องการใน 9 ส่วนประกอบ)
• ตารางสำหรับระบุการขึ้นตรงต่อกัน
• เอกสารต้นฉบับอธิบาย D-Model และ P-Model
เป้าหมายของผู้ร่วมวิจัย
• ผู้ร่วมวิจัยแต่ละคนต้องศึกษาเอกสารที่มอบให้ทั้งหมด
• ค้นหาความขึ้นตรงต่อกันของความต้องการ
• ระบุความรูปแบบการขึ้นตรงต่อกันลงในตาราง
• ผู้เข้าร่วมวิจัยต้องวิเคราะห์ความต้องการของ PVS 2.0 ที่คาดว่าจะมีการเปลี่ยนแปลงใน PVS 3.0
ข้อมูลที่ได้จากผู้ร่วมวิจัย
ผลลัพธ์ที่ได้และการวิเคราะห์ข้อมูล
ทีมวิจัยจะนำเอาข้อมูลที่ได้จากผู้ร่วมวิจัยมาวิเคราะห์ผลโดยแบ่งตามคำถามวิจัยที่ตั้งไว้
RQ1: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ได้ใช้เพื่อระบุความสัมพันธ์กันของความต้องการและเพราะอะไรจึงใช้วิธีการที่เลือกนี้
RQ1: ชนิดของการขึ้นตรงต่อกันในการระบุความสัมพันธ์
• มีเพียงไม่กี่รูปแบบที่ใช้บ่อยSimilar_to, Preconditions, Refines, Constraints, Satisfies
• รูปแบบการขึ้นตรงต่อกันบางชนิดนั้นทำความเข้าใจได้ยาก Compare, Conflicts
• รูปแบบการขึ้นตรงต่อกันบางชนิดไม่พบในความต้องการ Example_for, Test_case_for Increase/Decrease_value_of
RQ2: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ใช้ในการวิเคราะห์ผลกระทบที่เกี่ยวข้องกับการเปลี่ยนแปลง และเพราะเหตุใดจึงใช้วิธีการนี้
RQ2: วิธีการที่ใช้วิเคราะห์
• วิเคราะห์ผลกระทบโดยตรง Replace, Elaborates
• วิเคราะห์ผลกระทบโดยอ้อมPrecondition, Similar_to, Constraint
Create request from
CIS
View Valuation Request
Search Valuation Request
Cancel Valuation Request
similar similar
Change propagateChange propagate
Similar_to
Security
Valuation management Valuation request
management
Valuation authorization
SQA Valuation authorization
Constraint
Constraint
ConstraintChange propagate
Impact
Constraint
PDA submits valuation
Quality checking on web
quality checking on PDA
Precondition
Impact
Change propagation
Precondition
RQ3: การขึ้นตรงต่อกันแบบใดที่ใช้แล้วมีประสิทธิภาพหรือในทางกลับกันใช้แล้วไม่มีประสิทธิภาพ
RQ3: ประสิทธิภาพของรูปแบบการขึ้นตรงต่อกัน
• เป็นเงื่อนงำที่ช่วยหาการขึ้นตรงอื่นๆ ได้
• ช่วยเพิ่มคุณภาพของการวิเคราะห์ความต้องการ
• ช่วยระบุการทำงานหลักของระบบได้
RQ4: ปัจจัยใดทำให้ค้นพบรูปแบบการขึ้นตรงต่อกันของความต้องการ
ตำแหน่ง ความคุ้นชินกับระบบ อายุงาน (ปี)
ผู้จัดการโครงการ ผู้ออกแบบระบบ 8
วิศวกรความต้องการ ยังไม่คุ้นเคยกับระบบ 5
นักพัฒนา รู้จักระบบเป็นอย่างดี 2
Alice
Bob
Chalies
0 1.25 2.5 3.75 5
เรียนรู้ วิเคราะห์ บ่งชี้
การขึ้นตรงต่อกันที่ผู้เข้าร่วมวิจัยพบเพียงแค่คนเดียว 89 69 81
การขึ้นตรงต่อกันที่พบเหมือนกับผู้เข้าร่วมวิจัยคนอื่น 23 11 4
ระบุการขึ้นตรงต่อกันผิดพลาดเพียงคนเดียว 0 2 23
รวม 112 82 108
ปัจจัยที่มีผลในการวิเคราะห์
• ประสบการณ์และความเข้าใจของผู้เข้าร่วมวิจัย
• กระบวนการวิเคราะห์และเวลาที่ใช้
• มุมมองของผู้เข้าร่วมวิจัย
• การนำเสนอในเอกสารความต้องการ
แบบจำลองใหม่
แบบจำลองการขึ้นตรงต่อการของความต้องการรูปแบบใหม่ที่พบหลังจากการวิจัย
K.Hatanaka The cabbage germinated
จำแนกการขึ้นตรงต่อกันของความต้องการ
แผนภาพและรูปแบบความความสัมพันธ์ของความต้องการ
New Model
Requirement Dependency
Intrinsic Dependency
Additional Dependency
Implementation Structure
Business Evolution
Value Dependency
Cost Dependency
Is Is
Impact
Is Is
Is
IsIs
Is
Impact
Intrinsic Dependency
Business
• Requires
• And
• Temporal
• Task
• Causality
Implementation
• Constraint
• Conflicts
• Conflicts_with
Structure
• Refines
• Refined_to
• Generalise
Evolution
• Replace
• Satisfies
• Based_on
• Elaborates
• Formalises
• Changes_to
Additional Dependency
Value
• Increase/Decrease_value_of
• Positive_value
• Negative_value
• CValue
Cost
• Increase/Decrease_cost_of
• Positive_cost
• Negative_cost
• ICost
ประเภทการขึ้นตรงต่อกันของความต้องการ
ประเภทการขึ้นตรงต่อกันในแบบจำลองใหม่
ตารางเปรียบเทียบรูปแบบการขึ้นตรงต่อกัน
วิธีการเลือกและปรับแต่งรูปแบบการขึ้นตรงต่อกัน
• ดึงรูปแบบการขึ้นตรงต่อกันที่ไม่ได้ใช้บ่อยนักออก
• ปรับคำอธิบายที่สับสนและไม่ชัดให้เข้าใจง่ายมากยิ่งขึ้น
• ปรับและรวมเอารูปแบบการขึ้นตรงต่อกันที่ซ้ำซ้อนและซ้อนทับกันขึ้นเป็นรูปแบบใหม่
• สร้างรูปแบบการขึ้นตรงต่อกันใหม่
ประเภทการขึ้นตรงต่อกันของความต้องการ
• Constrain‘System should respond it users in 3 s’ constrains ‘book search function’
• PrecedeA: ‘a client proposes the valuation request and system checks the quality of request’B: ‘after the quality of request is checked, system allocates the valuation task to a valuer’then A precedes B
ประเภทการขึ้นตรงต่อกันของความต้องการ
• Be_similar_to‘System administrator adds a new book record’Similar‘System administrator modifies an old book record’
• Refine‘A valuer submits a valuation report’Refine‘A valuer submits a report through web system’, ‘A valuer submits a report through PDA’
ประเภทการขึ้นตรงต่อกันของความต้องการ
• Be_exception_of‘A user inputs a null username and system reminds him to input his correct username’exceptional‘a user in puts his username and password and system checks validity of his information’
• Conflict‘Increasing security might negatively impact system performance’
ประเภทการขึ้นตรงต่อกันของความต้องการ
• Evolve_into‘Clients use a desktop PC to upload reports’evolves‘clients use PDA to upload reports’
ประเภทการขึ้นตรงต่อกันของความต้องการ
• Increase/Decrease_cost_of‘No response time should be longer than 5s’
• Increase/Decrease_value_of‘User can listen to mp3 when they are browsing photos in a mobile phone’
สรุปผลและแนวทางการพัฒนาต่อยอด
สรุปผลการทำวิจัย และแนวทางการนำผลวิจัยไปพัฒนาต่อยอด
astrid westvang - Path
สรุปผลการวิจัย
Dependency Types
ConditionsContrains
Preconditioncontent
documents
evolutionary
abstraction
refine
generation
based_on
satisfies
formalize
eleboratesreplace
background
backgroundcomments
prupose
test_case_for
example_for
conflicts
contradictscompare
similar
P-Model
Dependency Types
Structured dependencies
Constraint dependencies
Cost/Value dependencies
Refined_to
Change_to
Similar_to
Requires Conflicts_with Increases/Decreases_cost_of
Increases/Decreases_value_of
D-Model
ตำแหน่ง ความคุ้นชินกับระบบ อายุงาน (ปี)
ผู้จัดการโครงการ ผู้ออกแบบระบบ 8
วิศวกรความต้องการ ยังไม่คุ้นเคยกับระบบ 5
นักพัฒนา รู้จักระบบเป็นอย่างดี 2
Alice
Bob
Chalies
0 1.25 2.5 3.75 5
เรียนรู้ วิเคราะห์ บ่งชี้
การขึ้นตรงต่อกันที่ผู้เข้าร่วมวิจัยพบเพียงแค่คนเดียว 89 69 81
การขึ้นตรงต่อกันที่พบเหมือนกับผู้เข้าร่วมวิจัยคนอื่น 23 11 4
ระบุการขึ้นตรงต่อกันผิดพลาดเพียงคนเดียว 0 2 23
รวม 112 82 108
Requirement Dependency
Intrinsic Dependency
Additional Dependency
Implementation Structure
Business Evolution
Value Dependency
Cost Dependency
Is Is
Impact
Is Is
Is
IsIs
Is
Impact
ข้อจำกัดของการวิจัย
• ตัวอย่างการวิจัยมีขนาดเล็ก
• ทำการวิจัยเพียงแค่โครงการเดียว
แนวทางการพัฒนาต่อยอด
ผลลัพธ์ที่ได้
• คำจำกัดความของบางรูปแบบการขึ้นตรงต่อกันบางชนิดไม่ชัดเจนและนำมาใช้งานยาก
• รูปแบบการขึ้นตรงต่อกันจากบทความก่อนหน้า (P-Model และ D-Model) บางรูปแบบพบได้ยากในการทำงานจริง
• รูปแบบการขึ้นตรงต่อกันทั้ง 5 รูปแบบ ช่วยวิเคราะห์ข้อมูลได้ดี แต่จำเป็นจะต้องปรับคำจำกัดความให้ชัดเจนขึ้น
แบบจำลองใหม่
• แบบจำลองใหม่ที่พัฒนาขึ้นเพื่อจำแนกประเภทของการขึ้นตรงต่อกันของความต้องการ
• เพื่อปรับแต่ง พัฒนา และรวม รูปแบบที่มีอยู่เดิมเข้าด้วยกัน
แนวทางการพัฒนาต่อ
• ควรทดสอบในโครงการที่มีตัวอย่างหรือข้อมูลที่หลากหลายขึ้น (แบบจำลองใหม่ที่นำเสนอ)
• นักวิจัยควรศึกษาข้อมูลให้มากขึ้นเพื่อวัดผลแบบจำลองการขึ้นตรงต่อกันที่มีอยู่ (P-Model, D-Model)
Q & Aคำถาม
Day 312 - West Midlands Police - Questions and Answers
Top Related