dare domain analysis and reuse environment סמינר: נושאים מתקדמים בהנדסת...

27
DARE Domain Analysis and Reuse Environment תתתתת: תתתתתת תתתתתתת תתתתתת תתתת תתתת- תתתת: ת"ת תתתתת תתתתתתת תתתתת ת', תתת"ת תתתתתת תתת תתתתת תתתת

Upload: abner-nichols

Post on 15-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DAREDomain Analysis and

Reuse Environment

סמינר: נושאים מתקדמים בהנדסת תכנה

סמסטר א', תשס"זמרצה: ד"ר איריס ריינהרץ- ברגר

אהרוני ענת

ברזני ערבה

Page 2: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Domain Engineering

DARE supports the following two phases: Domain analysis

The activity of identifying and documenting the commonalities and variabilities in related software systems in a domain

Domain implementationUsage of acquired knowledge in order to develop reusable assets for the domain (reusable components, application generators)

DARE support creation of reusable assets repository

Page 3: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DARE

-Supports domain analyst carrying out well defined domain analysis method

-Provides Method and tools that help users perform domain analysis

-Supports the collection of domain assets in a database and provides a library

search facility.

-Producing a repository of reusable assets for the domain

Page 4: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Primary Goal

Creation of a generic architecture that describes architectural elements and their relationships,

for family of systems.

Support systematic and repeatable domain analysis process uses top-down and bottom-

up strategy and automate it.

Page 5: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

commonalities

variabilities

Recognize Analyze

commonalities

Generic Architecture

varied varied

varied varied

Variabilities, commonalties

Page 6: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

The Domain Book - the product of domain analysis.

To support creation of generic architecture, DARE uses a book metaphor

Contains all domain analysis inputs, outputs and supporting material

Domain book captured domain information from

* domain experts

* domain documents

* code from systems in the domainThe domain book provides a detailed

specification of the domain

Page 7: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Domain Book

User manuals,Requirements documents, Design documents etc.

Provide descriptions of systems in the domainand their architectures

Will be analyzed to discover architectural information aboutsystems in the domain and

provide reusable code components

Page 8: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Tools for producing parts of the book:

• A form based interface For acquiring general domain information from experts

• A graphical architecture editor Recording systems architectures (system may have several architectural representations – DFD, ERD, STRUCTURE CHARTS, OBJECT D., STATE D. FLOW CHARTS, LAYER OR ONION D. and MIXTURES OF THIS).

Creating and recording generic architectures

• A feature table For summarizing system commonalities and

variabilities

For recording decision about commonalities and variabilities in systems based on generic architecture

Page 9: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Tools for producing parts of the book (cont):

• Text analysis toolsFor extracting a domain vocabulary from text sources

• A clustering tool A graphical way for analyzing and manipulating the similarities between different words and phrases

within the domain to form the critical categories of words an phrases.

• A glossary, bibliography, index and appendices For collecting and organizing reference information

Page 10: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Cluster editor screen

Page 11: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DARE system description form

Page 12: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DARE system feature table screen

Page 13: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DARE – architecture editor

Page 14: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DARE – table of contents

Page 15: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Domain sources

Created and updated continuously during

Domain Analysis

Page 16: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Domain book include:All domain sources

The results of vocabulary analysis

The result of architecture analysis, include code analysis

Summary information (glossary, a bibliography, user index, appendices

Recording analyses and design decisions generic architecture

source for repository of reusable components

The domain book organizes all domain information and become the product of domain analysis

Once complete, the domain book provides a detailed specification of the domain

Page 17: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

The DARE-COTS tool Provides navigation support to browse in the domain book and

for tracing outputs & inputs

Domain book solves two vexing problems:

•What should the output of domain analysis be?

The output of domain analysis is a domain book

•What are the criteria for analysis completion?

The process is complete when all section of the domain book are written

Page 18: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

The DARE – COTS implementation

Implement third prototype using COTS and freeware

Domain book- In control

Source document – MS word

Text analysis – Concordance

Expert forms – MS word

Architecture – Inspiration

Stemming – Unix Tools

Code analysis – Unix tools

Dare tool had 2 prototypes, they found them very slow to develop environment as time and project resources became short.

Page 19: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Organization decide to analyze one of its domain:

at least 1 analyst

domain experts: provide descriptions of systems in the domain and architectures

Source code from systems

Documentations for systems in the domain (user manuals, requirements, documents, design documents, and so on)

Page 20: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Experts: enter information by dare

input forms.

architectural information,

reusable code components

documentation: record and

analysis in the domain book

Source Code: record and

analysis in The domain book

Dare text analysis tools to extract

terms & phrases

Dare cluster editor &facet table tool to create facets

Low Level

Automated analysis code

High Level

Facet tableCommon & variable

and system architecture

Record & analysis

Check and refine the system

architecture

System feature table: summary information about commonalities

and variabilities

Page 21: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Facet tableSystem

feature tableCode structures

Generic architecture for the Domain

Generic Feature table

characterizing the stable common aspects

and allowed variabilities

Repository of reusable assetsSource documents characterizing

aspects of systems

con

form

System built

Software components implementing aspects of systems

Placed

Page 22: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Generic architecture

Feature table Repository of reusable assets

Vocabulary

BASE

Domain implementation

Page 23: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

Dare User Population

DARE

Requirements Writer

Write requirements for new systems in

domain Software Architects

Specify architectures for New Systems in

the Domain

Programmers

Look For Reusable components and

can add new assets

Maintenance engineering

Asses Impact of changes on

requirements

Domain engineers

Domain Analysts &

experts

Use domain models and information to create reusable parts and

generators for domain

Use domain models as a

starting point for new domain

analysis

Page 24: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

DARE METHOD - conclusion

DARE Provides a systematic and organized method in order tobuild domains, but not for applications

Provide only knowledge for creating new applications

Page 25: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

The CASE tool: DARE- COTSDARE-COTS method partially based on STARS Reuse

Library Process Model

STARS, FODA, ODM are insufficiently prescriptive for automation and focus on the analysis of low-level domain objects.

Example:

FODA provides very little guidance to the central activity of documenting generic architectures

STARS method places too much emphasis on the bottom-up analysis of domain text.

DARE: More highly perspective: information from experts

Page 26: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז

References

•Dr. Ruben Prieto-Diaz, Dr. Bill Frakes, Mr. B.K Gogia (1998): DARE: Domain analysis and reuse environment, Annals of Software Engineering 5 125-141

•Dr. Ruben Prieto-Diaz, Dr. Bill Frakes, Christopher Fox (1997): DARE-COTS- Domain analysis Support Tool, Proceedings.-17th-International-Conference-of-the-Chilean-Computer-Science- Society-Cat.-No.97TB100194, 73-7

•Dr. Ruben Prieto-Diaz, Dr. Bill Frakes, Mr. B.K Gogia (1992): DARE: Domain analysis and reuse environment, phase 1 final report

• http://www.cs.umaine.edu/~ftp/wisr/wisr7/papers/frakes/frakes.html

Page 27: DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז