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

Preview:

Citation preview

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: ปัจจัยใดทำให้ค้นพบรูปแบบการขึ้นตรงต่อกันของความต้องการ

“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

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

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’

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

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)

Recommended