Document not found! Please try again

Knowledge and Case-Based Reasoning for customization of software ...

4 downloads 59238 Views 2MB Size Report
Jul 16, 2007 - Suggests a structured mechanism to customize a process. • For diverse application domains. ✓ Suggests a hybrid method to achieve this.
Knowledge and Case-Based Reasoning for customization of software processes – A hybrid approach YU WHOAN AHN, HYUNG JUN AHN and SUNG JOO PARK International Journal of Software Engineering and Knowledge Engineering, 2003

2007. 7. 16 Chanhee Yi

Contents § § § § § § §

Introduction Background Related work Overall procedure Process customization Case study Conclusion

2007-07-16

Software Engineering Lab, KAIST

2/20

Introduction(1/2) §

Motivation ü

Problems in customizing the software process • •

ü

Traditional approaches to address these problems •

ü

Depends on the knowledge of experts and manual activities Can be time-consuming, costly and error-prone

Tried to use the past experience and knowledge

Problems in traditional reuse mechanisms •

Generates a incompletely tailored process ¨ When applied independently

2007-07-16

Software Engineering Lab, KAIST

3/20

Introduction(2/2) §

Research goal ü

Suggests a structured mechanism to customize a process •

ü

Suggests a hybrid method to achieve this • •

ü

For diverse application domains

With Case-Based Reasoning(CBR) technique With knowledge-based technique

Designs a Process Library(PL) as a repository • • •

For past cases used by CBR technique For process components used by knowledge-based technique For knowledge needed to integrate two techniques

2007-07-16

Software Engineering Lab, KAIST

4/20

Background(1/2) §

Process Library ü

Structure •



Entity ¨ Has knowledge Relationship ¨ Require ¨ Supported-by ¨ Deactivate

::= (, {}) ::= (,) | (, OPT) ::= | {'(', ')'} | NULL ::= | | | '(' { } ')' [Basic specification syntax of the frame]

2007-07-16

Software Engineering Lab, KAIST

[Main structure of PL]

5/20

Background(2/2) §

Process Library(cont’d) ü

Knowledge model •







Improvement ¨ Improvement goal ¨ Knowledge of activity Domain-specific ¨ Domain characteristics ¨ Relation of domain factors Case ¨ Cases of past processes Dependency ¨ Integrity constraints [Complete representation of PL]

2007-07-16

Software Engineering Lab, KAIST

6/20

Related work(1/2) §

About the domain analysis that deals experience reuse ü

Summary of domain analysis by heuristics [SSR’97] •

ü

Domain modeling for software reuse [CASE’94] •

§

Addressed approaches for dealing reusable object Facilitated the process of generating target system specifications

About the knowledge-based technique ü

Knowledge-based process model generation [ISSE-TR’96] •

Showed a way to customize complete process based on knowledge

2007-07-16

Software Engineering Lab, KAIST

7/20

Related work(2/2) §

About the reuse repository ü

Representing software engineering models [IEEE TSE’92] •

ü

Library of process models for software design [CASE’95] •

ü

Utilized the Experience Factory concepts

Developed a prototype library of software process models

Organizational learning to domain analysis [ICSE’95] •

Used case-based approach to organize and use the repository

2007-07-16

Software Engineering Lab, KAIST

8/20

Overall procedure §

Process customization steps

- Flow of information - Flow of the procedure

2007-07-16

Software Engineering Lab, KAIST

9/20

Process customization(1/5) §

Step 1. Identification of key factors ü

Needs to define factors to differentiate one project from others •

ü

Improvement goals, organizational policy types, etc.

Defines two groups of characteristics in this paper • •

Improvement initiatives Domain factors ¨ Factors that identifies the software development process ¨ ¨

2007-07-16

Defined in this paper based on the standards Inserted into the PL if a new one is needed

Software Engineering Lab, KAIST

10/20

Process customization(2/5) §

Step 2-1. Application of CBR techniques ü

1. Defines the case •

ü

Represents requirements in form of a case frame

2. Retrieves the case •

Calculates similarity ¨ between the defined case ‘C’ and the past case ‘P’ * w i = weight of i th domain factor * MNV(ci, pi) : Number of coinciding factor values * NV(ci) : Number of values in factors

[Definition of the similarity] •

Retrieves the one which has the highest similarity

2007-07-16

Software Engineering Lab, KAIST

11/20

Process customization(3/5) §

Step 2-1. Application of CBR techniques(cont’d) ü

3. Adapts the case • •

Obsolete factors are deleted Required factors are added

[case adaptation algorithm] 2007-07-16

[Procedure after retrieving]

Software Engineering Lab, KAIST

12/20

Process customization(4/5) §

Step 2-2. Application of knowledge-based techniques ü ü ü

1. Constructs a set of domain factors 2. Includes drivers and activities for each domain factor 3. Deactivate activities if needed

[Algorithm for process generation] 2007-07-16

Software Engineering Lab, KAIST

13/20

Process customization(5/5) §

Step 3. Conflict resolution ü ü

Occurs when applying two techniques together Uses dependency knowledge to resolve inconsistencies

[Algorithm for conflict resolution]

§

Step 4. Manual tailoring ü ü

Has the need due to many project-specific requirement Lets users apply their own knowledge •

Add or delete some activities manually

2007-07-16

Software Engineering Lab, KAIST

14/20

Case study(1/4) §

Illustration of knowledge-based technique ü

Web-based Executive Information System(EIS) •

Information management system for decision-making of executive

[Representation of the case ‘Web-based EIS’ ] 2007-07-16

[Representation of the relationship]

Software Engineering Lab, KAIST

15/20

Case study(2/4) §

Illustration of knowledge-based technique(cont’d) - Domain factor

- Drivers

- Activities

- ‘required’ relationship - ‘supported by’ relationship

[Example of the customized process] 2007-07-16

Software Engineering Lab, KAIST

- Conflict relationship 16/20

Case study(3/4) §

Illustration of CBR technique ü

Intranet-based total Management Information System(MIS) •

Information system to solve business system

[The case ‘Intranet-based MIS’ vs the case ‘Web-based EIS’ ]

[Calculation of similarity between two cases]

2007-07-16

Software Engineering Lab, KAIST

[Comparison result of two cases]

17/20

Case study(4/4) §

Illustration of CBR technique(cont’d)

[Example of parts of the adapted process] 2007-07-16

Software Engineering Lab, KAIST

18/20

Conclusion §

Contribution ü

Suggests a hybrid approach • •

ü

Overcomes the limitations •

§

Efficient customization by CBR technique Easy to model knowledge by knowledge-based technique Possible to apply various application domain

Future work ü ü

Needs to accumulate the actual project cases Needs to extend process models and implement completely

2007-07-16

Software Engineering Lab, KAIST

19/20

Discussion §

Characteristic ü ü

§

Utilized existing works effectively Intuitive and easy to understand and use

Limitation ü ü

Couldn’t show the overcome of other works’ limitation clearly Can’t be used without having lots of past experience

2007-07-16

Software Engineering Lab, KAIST

20/20

Domain factors §

Defined ten factors in this paper

Domain factor

Type

Values

Lifecycle model

Single value

Waterfall, Incremental, Evolutionary, …

Software development type

Single value

New development, Prototyping, Re-use, …

Software type

Single value

Web-based, Intranet, Real-time system, …

Project size

Single value

Small, Medium, Large

Organizational Policy

Multiple value

Security policy, Safety policy, …







2007-07-16

Software Engineering Lab, KAIST

21/20

Suggest Documents