component based sw development and domain engineering 1 component based software development and...

11
Component Based SW Development and Domain Engineering Component Based SW Development and Domain Engineering 1 Component Based Software Component Based Software Development Development and and Domain Engineering Domain Engineering

Upload: hugh-fletcher

Post on 04-Jan-2016

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 1

Component Based Software Component Based Software DevelopmentDevelopment

and and Domain EngineeringDomain Engineering

Page 2: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 2

Outline

• Main Ideas• Detailed Map• Problem Description• Potential Approach• Related Work

Page 3: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 3

Main Ideas

Page 4: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 4

Detailed Map

Page 5: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 5

Problems

• How to scope the “problem domainproblem domain”?• How to define “domain analysis domain analysis

processprocess” in agile way?• What is the significance of “human human

factorfactor”?• How to achieve “conceptual reuseconceptual reuse” in

CBSD?• How to identify and represent

“variation pointsvariation points”?• How to automate the “domain domain

engineeringengineering”?

Page 6: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 6

How to scope the “problem domain”?

• Problem Description: Current product line scoping approaches fail

to appropriately define the right set of alternatives with respect to business requirements.

• Potential Approach: Design Space Modeling

• Related Work: Product lines scoping Design space modeling Domain engineering

Page 7: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 7

How to define “domain analysis process” in agile way?

• Problem Description: Domain analysis is a heavy process which requires lots

of time and effort and inherently seems to contradict with agile approaches. On the other hand for deriving the right concepts we need to still apply domain analysis in agile methods. In this problem we focus on the integration of agile and domain analysis processes.

• Potential Approach: Applying agile practices in domain analysis practices

and vice versa (integrating).

• Related Work: Domain analysis Method engineering Process engineering Meta-modeling

Page 8: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 8

What is the significance of “human factor”?• Problem Description:

How to assess the expertise of the domain engineering team of the project?

• Potential Approach: Assessment and metrics of human expertise

• Related Work: Metrics Knowledge management Human factors engineering Participatory design and teamworking

Page 9: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 9

How to achieve “conceptual reuse” in CBSD?• Problem Description:

after cataloging domain models (assets) it is very hard to identify and search the assets with respect to the given semantic requirements.

• Potential Approach: Smart querying and indexing of data Smart (semantic) matching algorithm Integrating (google) like approaches in domain

analysis process.

• Related Work: Knowledge management & engineering Conceptual modeling Semantic spaces Semantic search

Page 10: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 10

How to identify and represent “variation points”?• Problem Description:

Current variability analysis represents statically but we would like to address conditional variation.

Conditions may vary on time, requirements, etc.

• Potential Approach: Rule-based definition of variability Extending feature diagrams

• Related Work: Configuration and reconfiguration management Modeling conditional variation Exploiting automated tools

Page 11: Component Based SW Development and Domain Engineering 1 Component Based Software Development and Domain Engineering

Component Based SW Development and Domain EngineeringComponent Based SW Development and Domain Engineering 11

How to automate the “domain engineering”?• Problem Description:

Existing domain engineering approaches focus on manually identification, specification and evaluation of knowledge sources. In order to support the domain engineer with routine activities we aim to develop tools.

• Potential Approach: Defining Meta-Models for Knowledge Sources,

Concepts and Catalogs. Tool development

• Related Work: Ontology Knowledge engineering Meta-modeling