SlideShare una empresa de Scribd logo
1 de 85
Descargar para leer sin conexión
Investigating dependencies in
software requirements for
change propagation analysis
He 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
flattop341 - Thousand Ohms per Volt
คำถามวิจัย
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
Conditions
Contrains
Precondition
content
documents
evolutionary
abstraction
refine
generation
based_on
satisfies
formalize
eleborates
replace
background
background
comments
prupose
test_case_for
example_for
conflicts
contradicts
compare
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
Explains
Replaces, 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
PDF
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
Constraint
Change 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’
• Precede

A: ‘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
Conditions
Contrains
Precondition
content
documents
evolutionary
abstraction
refine
generation
based_on
satisfies
formalize
eleborates
replace
background
background
comments
prupose
test_case_for
example_for
conflicts
contradicts
compare
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

Más contenido relacionado

Más de Sitdhibong Laokok

แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
Software Metrics: Paper Presentation
Software Metrics: Paper PresentationSoftware Metrics: Paper Presentation
Software Metrics: Paper PresentationSitdhibong Laokok
 
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะSitdhibong Laokok
 
SNA: Information Sharing Behavior
SNA: Information Sharing BehaviorSNA: Information Sharing Behavior
SNA: Information Sharing BehaviorSitdhibong Laokok
 
New M-Culture + Elementary WordPress
New M-Culture + Elementary WordPressNew M-Culture + Elementary WordPress
New M-Culture + Elementary WordPressSitdhibong Laokok
 
WordPress Theme Development Short Manual
WordPress Theme Development Short ManualWordPress Theme Development Short Manual
WordPress Theme Development Short ManualSitdhibong Laokok
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentSitdhibong Laokok
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaSitdhibong Laokok
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case WritingSitdhibong Laokok
 
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550Sitdhibong Laokok
 

Más de Sitdhibong Laokok (14)

แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
Software Metrics: Paper Presentation
Software Metrics: Paper PresentationSoftware Metrics: Paper Presentation
Software Metrics: Paper Presentation
 
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
 
SNA: Information Sharing Behavior
SNA: Information Sharing BehaviorSNA: Information Sharing Behavior
SNA: Information Sharing Behavior
 
New M-Culture + Elementary WordPress
New M-Culture + Elementary WordPressNew M-Culture + Elementary WordPress
New M-Culture + Elementary WordPress
 
WordPress Theme Development Short Manual
WordPress Theme Development Short ManualWordPress Theme Development Short Manual
WordPress Theme Development Short Manual
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme Development
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML Schema
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case Writing
 
Introduce to SVN
Introduce to SVNIntroduce to SVN
Introduce to SVN
 
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
 

Seminar Slide: Investigating dependencies in software requirements for change propagation analysis