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