85
Investigating dependencies in software requirements for change propagation analysis He Zhang, Juan Li, Liming Zhu

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

Embed Size (px)

Citation preview

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

Investigating dependencies in software requirements for

change propagation analysisHe Zhang, Juan Li, Liming Zhu

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

ผู้เขียน

• He Zhang

• Juan Li

• Liming Zhu

• Ross Jeffery

• Yan Liu

• Qing Wang

• Mingshu Li

SteFou! - The Conductor

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

กลุ่มที่ 6

• นายกฤษดา รองรัตน์

• นายณัฐพงศ์ เอื้อเพิ่มเกียรติ

• นายพณัฐ จงภักดี

• นายสิทธิพงษ์ เหล่าโก้ก

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

หัวข้อ

• เกริ่นนำ

• ปูมหลังและแรงจูงใจ

• กรณีศึกษา: LIXI, NICTA

• แบบจำลองใหม่

• สรุปผลและแนวทางการพัฒนา

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

เกริ่นนำ

รูปแบบการวิเคราะห์ความขึ้นตรงต่อกันที่ใช้อยู่ และคำถามเริ่มต้นที่ผู้วิจัยต้องการหาคำตอบ

Eli Brody - watchers

Page 6: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 7: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 8: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 9: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 10: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 11: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 14: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis

คำถามวิจัย

RQ1: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ได้ใช้เพื่อระบุความสัมพันธ์กันของความต้องการและเพราะอะไรจึงใช้วิธีการที่เลือกนี้

RQ2: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ใช้ในการวิเคราะห์ผลกระทบที่เกี่ยวข้องกับการเปลี่ยนแปลง และเพราะเหตุใดจึงใช้วิธีการนี้

RQ3: การขึ้นตรงต่อกันแบบใดที่ใช้แล้วมีประสิทธิภาพหรือในทางกลับกันใช้แล้วไม่มีประสิทธิภาพ

RQ4: ปัจจัยใดทำให้ค้นพบรูปแบบการขึ้นตรงต่อกันของความต้องการ

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

“Change propagation การเปลี่ยนแปลงที่ส่งผลกระทบไม่เพียงแค่รหัส

ต้นฉบับ แต่รวมไปถึงองค์ประกอบอื่นๆ ของซอฟต์แวร์”

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

กระบวนการวิเคราะห์ผลกระทบของโบเนอร์

Bohner’s Impact Analysis Process

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

U = Requirements

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

SIS

U = Requirements

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

SIS

CIS

U = Requirements

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

SIS

CIS

AIS

U = Requirements

Page 22: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 23: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 24: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 25: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis

วิธีการตามรอยอัตโนมัติด้วยเทคนิคการสะกัดข้อมูล

• ระหว่างเอกสารและรหัสข้อมูล

• ระหว่างความต้องการด้วยกัน

• ระหว่างข้อมูลความต้องการและกรณีทดสอบ

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

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

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

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

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

Pohl’s Requirements Dependency Model

Dahlstedt and Persson

P-ModelD-Model

18 dependency types7 dependency types

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

D-Model P-Model

ExplainsReplaces, Based_on, Formalises, Elaborates, Generalise, Reines

Requires Precondition

Similar_to Similar

Conflict Constraint, Conflicts

Page 31: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 32: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis
Page 33: Seminar Slide: Investigating dependencies in software requirements for change propagation analysis

Alice Bob Charlie

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

ตำแหน่ง ความคุ้นชินกับระบบ อายุงาน (ปี)

ผู้จัดการโครงการ ผู้ออกแบบระบบ 8

วิศวกรความต้องการ ยังไม่คุ้นเคยกับระบบ 5

นักพัฒนา รู้จักระบบเป็นอย่างดี 2

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

ข้อมูลที่ผู้เข้าร่วมวิจัยได้รับ

• เอกสารความต้องการของ PVS 2.0 (144 ความต้องการใน 19 ส่วนประกอบ)

• เอกสารความต้องการของ PVS 3.0 (33 ความต้องการใน 9 ส่วนประกอบ)

• ตารางสำหรับระบุการขึ้นตรงต่อกัน

• เอกสารต้นฉบับอธิบาย D-Model และ P-Model

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

เป้าหมายของผู้ร่วมวิจัย

• ผู้ร่วมวิจัยแต่ละคนต้องศึกษาเอกสารที่มอบให้ทั้งหมด

• ค้นหาความขึ้นตรงต่อกันของความต้องการ

• ระบุความรูปแบบการขึ้นตรงต่อกันลงในตาราง

• ผู้เข้าร่วมวิจัยต้องวิเคราะห์ความต้องการของ PVS 2.0 ที่คาดว่าจะมีการเปลี่ยนแปลงใน PVS 3.0

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

ข้อมูลที่ได้จากผู้ร่วมวิจัย

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

ผลลัพธ์ที่ได้และการวิเคราะห์ข้อมูล

ทีมวิจัยจะนำเอาข้อมูลที่ได้จากผู้ร่วมวิจัยมาวิเคราะห์ผลโดยแบ่งตามคำถามวิจัยที่ตั้งไว้

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

RQ1: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ได้ใช้เพื่อระบุความสัมพันธ์กันของความต้องการและเพราะอะไรจึงใช้วิธีการที่เลือกนี้

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

RQ1: ชนิดของการขึ้นตรงต่อกันในการระบุความสัมพันธ์

• มีเพียงไม่กี่รูปแบบที่ใช้บ่อยSimilar_to, Preconditions, Refines, Constraints, Satisfies

• รูปแบบการขึ้นตรงต่อกันบางชนิดนั้นทำความเข้าใจได้ยาก Compare, Conflicts

• รูปแบบการขึ้นตรงต่อกันบางชนิดไม่พบในความต้องการ Example_for, Test_case_for Increase/Decrease_value_of

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

RQ2: การขึ้นตรงต่อกันแบบใด ที่คุณใช้หรือไม่ใช้ในการวิเคราะห์ผลกระทบที่เกี่ยวข้องกับการเปลี่ยนแปลง และเพราะเหตุใดจึงใช้วิธีการนี้

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

RQ2: วิธีการที่ใช้วิเคราะห์

• วิเคราะห์ผลกระทบโดยตรง Replace, Elaborates

• วิเคราะห์ผลกระทบโดยอ้อมPrecondition, Similar_to, Constraint

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

Create request from

PDF

CIS

View Valuation Request

Search Valuation Request

Cancel Valuation Request

similar similar

Change propagateChange propagate

Similar_to

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

Security

Valuation management Valuation request

management

Valuation authorization

SQA Valuation authorization

Constraint

Constraint

ConstraintChange propagate

Impact

Constraint

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

PDA submits valuation

Quality checking on web

quality checking on PDA

Precondition

Impact

Change propagation

Precondition

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

RQ3: การขึ้นตรงต่อกันแบบใดที่ใช้แล้วมีประสิทธิภาพหรือในทางกลับกันใช้แล้วไม่มีประสิทธิภาพ

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

RQ3: ประสิทธิภาพของรูปแบบการขึ้นตรงต่อกัน

• เป็นเงื่อนงำที่ช่วยหาการขึ้นตรงอื่นๆ ได้

• ช่วยเพิ่มคุณภาพของการวิเคราะห์ความต้องการ

• ช่วยระบุการทำงานหลักของระบบได้

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

RQ4: ปัจจัยใดทำให้ค้นพบรูปแบบการขึ้นตรงต่อกันของความต้องการ

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

ตำแหน่ง ความคุ้นชินกับระบบ อายุงาน (ปี)

ผู้จัดการโครงการ ผู้ออกแบบระบบ 8

วิศวกรความต้องการ ยังไม่คุ้นเคยกับระบบ 5

นักพัฒนา รู้จักระบบเป็นอย่างดี 2

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

Alice

Bob

Chalies

0 1.25 2.5 3.75 5

เรียนรู้ วิเคราะห์ บ่งชี้

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

การขึ้นตรงต่อกันที่ผู้เข้าร่วมวิจัยพบเพียงแค่คนเดียว 89 69 81

การขึ้นตรงต่อกันที่พบเหมือนกับผู้เข้าร่วมวิจัยคนอื่น 23 11 4

ระบุการขึ้นตรงต่อกันผิดพลาดเพียงคนเดียว 0 2 23

รวม 112 82 108

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

ปัจจัยที่มีผลในการวิเคราะห์

• ประสบการณ์และความเข้าใจของผู้เข้าร่วมวิจัย

• กระบวนการวิเคราะห์และเวลาที่ใช้

• มุมมองของผู้เข้าร่วมวิจัย

• การนำเสนอในเอกสารความต้องการ

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

แบบจำลองใหม่

แบบจำลองการขึ้นตรงต่อการของความต้องการรูปแบบใหม่ที่พบหลังจากการวิจัย

K.Hatanaka The cabbage germinated

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

จำแนกการขึ้นตรงต่อกันของความต้องการ

แผนภาพและรูปแบบความความสัมพันธ์ของความต้องการ

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

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

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

Intrinsic Dependency

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

Business

• Requires

• And

• Temporal

• Task

• Causality

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

Implementation

• Constraint

• Conflicts

• Conflicts_with

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

Structure

• Refines

• Refined_to

• Generalise

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

Evolution

• Replace

• Satisfies

• Based_on

• Elaborates

• Formalises

• Changes_to

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

Additional Dependency

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

Value

• Increase/Decrease_value_of

• Positive_value

• Negative_value

• CValue

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

Cost

• Increase/Decrease_cost_of

• Positive_cost

• Negative_cost

• ICost

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

ประเภทการขึ้นตรงต่อกันของความต้องการ

ประเภทการขึ้นตรงต่อกันในแบบจำลองใหม่

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

ตารางเปรียบเทียบรูปแบบการขึ้นตรงต่อกัน

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

วิธีการเลือกและปรับแต่งรูปแบบการขึ้นตรงต่อกัน

• ดึงรูปแบบการขึ้นตรงต่อกันที่ไม่ได้ใช้บ่อยนักออก

• ปรับคำอธิบายที่สับสนและไม่ชัดให้เข้าใจง่ายมากยิ่งขึ้น

• ปรับและรวมเอารูปแบบการขึ้นตรงต่อกันที่ซ้ำซ้อนและซ้อนทับกันขึ้นเป็นรูปแบบใหม่

• สร้างรูปแบบการขึ้นตรงต่อกันใหม่

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

ประเภทการขึ้นตรงต่อกันของความต้องการ

• 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

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

ประเภทการขึ้นตรงต่อกันของความต้องการ

• 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’

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

ประเภทการขึ้นตรงต่อกันของความต้องการ

• 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’

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

ประเภทการขึ้นตรงต่อกันของความต้องการ

• Evolve_into‘Clients use a desktop PC to upload reports’evolves‘clients use PDA to upload reports’

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

ประเภทการขึ้นตรงต่อกันของความต้องการ

• 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’

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

สรุปผลการวิจัย

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

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

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

ตำแหน่ง ความคุ้นชินกับระบบ อายุงาน (ปี)

ผู้จัดการโครงการ ผู้ออกแบบระบบ 8

วิศวกรความต้องการ ยังไม่คุ้นเคยกับระบบ 5

นักพัฒนา รู้จักระบบเป็นอย่างดี 2

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

Alice

Bob

Chalies

0 1.25 2.5 3.75 5

เรียนรู้ วิเคราะห์ บ่งชี้

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

การขึ้นตรงต่อกันที่ผู้เข้าร่วมวิจัยพบเพียงแค่คนเดียว 89 69 81

การขึ้นตรงต่อกันที่พบเหมือนกับผู้เข้าร่วมวิจัยคนอื่น 23 11 4

ระบุการขึ้นตรงต่อกันผิดพลาดเพียงคนเดียว 0 2 23

รวม 112 82 108

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

Requirement Dependency

Intrinsic Dependency

Additional Dependency

Implementation Structure

Business Evolution

Value Dependency

Cost Dependency

Is Is

Impact

Is Is

Is

IsIs

Is

Impact

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

ข้อจำกัดของการวิจัย

• ตัวอย่างการวิจัยมีขนาดเล็ก

• ทำการวิจัยเพียงแค่โครงการเดียว

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

แนวทางการพัฒนาต่อยอด

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

ผลลัพธ์ที่ได้

• คำจำกัดความของบางรูปแบบการขึ้นตรงต่อกันบางชนิดไม่ชัดเจนและนำมาใช้งานยาก

• รูปแบบการขึ้นตรงต่อกันจากบทความก่อนหน้า (P-Model และ D-Model) บางรูปแบบพบได้ยากในการทำงานจริง

• รูปแบบการขึ้นตรงต่อกันทั้ง 5 รูปแบบ ช่วยวิเคราะห์ข้อมูลได้ดี แต่จำเป็นจะต้องปรับคำจำกัดความให้ชัดเจนขึ้น

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

แบบจำลองใหม่

• แบบจำลองใหม่ที่พัฒนาขึ้นเพื่อจำแนกประเภทของการขึ้นตรงต่อกันของความต้องการ

• เพื่อปรับแต่ง พัฒนา และรวม รูปแบบที่มีอยู่เดิมเข้าด้วยกัน

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

แนวทางการพัฒนาต่อ

• ควรทดสอบในโครงการที่มีตัวอย่างหรือข้อมูลที่หลากหลายขึ้น (แบบจำลองใหม่ที่นำเสนอ)

• นักวิจัยควรศึกษาข้อมูลให้มากขึ้นเพื่อวัดผลแบบจำลองการขึ้นตรงต่อกันที่มีอยู่ (P-Model, D-Model)