DARE: Domain analysis and reuse environment Minwoo Hong William Frakes, Ruben Prieto-Diaz and Christopher Fox Annals of Software Engineering,

Slides:



Advertisements
Similar presentations
Domain Engineering Silvio Romero de Lemos Meira
Advertisements

Ch 3 System Development Environment
DARE Domain Analysis and Reuse Environment סמינר: נושאים מתקדמים בהנדסת תכנה מרצה: ד"ר איריס ריינהרץ- ברגר סמסטר א', תשס"ז אהרוני ענת ברזני ערבה.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
SYSTEM ANALYSIS & DESIGN (DCT 2013)
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Object-Oriented Analysis and Design
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Requirements Analysis
Planning and Writing Your Documents Chapter 6. Start of the Project Start the project by knowing the software you will write about, but you should try.
REUSE-Re-Engineering The Software Process By Venkat Praveen Medikonda.
Software Requirements Engineering CSE 305 Lecture-2.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
RE-ENGINEERING AND DOMAIN ANALYSIS BY- NISHANTH TIRUVAIPATI.
NURHALIMA 1. Identify the trade-offs when using CASE Describe organizational forces for and against adoption of CASE tools Describe the role of CASE tools.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Faculty Economics & Business EBS 2033 Systems Development Lecture 1 The Systems Development Environment Lecturer: Puan Asleena Helmi.
Systems Development Process and Methodologies Dr. T. Ravichandran.
1 January 31, Documenting Software William Cohen NCSU CSC 591W January 31, 2008.
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
WP4 Models and Contents Quality Assessment
Building Enterprise Applications Using Visual Studio®
Elaboration popo.
Chapter 1 The Systems Development Environment
Appendix 2 Automated Tools for Systems Development
Chapter 1 The Systems Development Environment
Working in the Forms Developer Environment
Modern Systems Analysis and Design Third Edition
PLM, Document and Workflow Management
Software Specification Tools
Computer Aided Software Engineering (CASE)
Modern Systems Analysis and Design Third Edition
Chapter 1 The Systems Development Environment
System Design.
Accelerate define.xml using defineReady - Saravanan June 17, 2015.
Business System Development
Software Documentation
Chapter 1 The Systems Development Environment
Component Based Software Engineering
The Process of Object Modeling
Chapter 1 The Systems Development Environment
Taxonomies, Lexicons and Organizing Knowledge
MBI 630: Systems Analysis and Design
Computer Programming.
Systems Engineering Tool for Intelligent Transportation
Tools of Software Development
Chapter 4 Automated Tools for Systems Development
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Modern Systems Analysis and Design Third Edition
Metadata in the modernization of statistical production at Statistics Canada Carmen Greenough June 2, 2014.
Modern Systems Analysis and Design Third Edition
Chapter 1 Introduction(1.1)
Software Processes Process should be
The ultimate in data organization
Requirements Document
Chapter 1 The Systems Development Environment
Modern Systems Analysis and Design Third Edition
Presentation transcript:

DARE: Domain analysis and reuse environment Minwoo Hong William Frakes, Ruben Prieto-Diaz and Christopher Fox Annals of Software Engineering, Vol.5, Num.1, Jan. 1998, Page(s):

Content Introduction Introduction DARE Approach DARE Approach The Domain book The Domain book Using DARE Using DARE The DARE user application The DARE user application DARE Prototype DARE Prototype The first prototype The first prototype The second prototype The second prototype The third prototype The third prototype Summary and conclusions Summary and conclusions 2

Introduction Systematic software reuse Systematic software reuse -Formal engineering principles for creating system models and architectures - is based on the observation that quality and productivity can be significantly increased by shifting the focus of software engineering to a domain-centered Domain engineering Domain engineering -the process of creating an infrastructure to support systematic reuse -the process of customizing the assembly line for a given set of requirements -has two phases: domain analysis and domain implementation Domain Analysis: the activity of identifying and documenting the commonalities and variabilities in related software systems in a domain Domain Analysis: the activity of identifying and documenting the commonalities and variabilities in related software systems in a domain Domain Implementation: the use of information acquired in domain analysis to develop reusable assets Domain Implementation: the use of information acquired in domain analysis to develop reusable assets 3

Introduction Domain analysis is a complex activity requiring the intelligence of a human analyst Domain analysis is a complex activity requiring the intelligence of a human analyst -have lacked a comprehensive prescriptive strategy for domain analysis -have lacked tool support DARE (Domain Analysis and Reuse Environment) DARE (Domain Analysis and Reuse Environment) -is a CASE tool that supports the domain analyst in carrying out a well- defined domain analysis method -supports an analyst in 1.extracting and recording domain information from documents and code 2.acquiring and recording domain knowledge from experts 3.analyzing domain knowledge and producing various domain models 4.producing a repository of reusable assets for the domain -provides a more highly prescriptive method focusing on the extraction of high level domain information from domain experts 4

The DARE Approach The Domain book The Domain book Using DARE Using DARE The DARE user application The DARE user application 5

The DARE Approach Primary Goal Primary Goal -the creation of a generic architecture that describes architectural elements, and their relationships, for a family of systems Commonalities Commonalities -Some elements and relationships will be found in most systems in the domain Variabilities Variabilities -Other elements and relationships are found in only some of the systems in the family 6

The Domain book Domain Book Domain Book -captures domain information from domain experts, domain documents, and code from systems in the domain -organizes the large quantity of domain information typically acquired and produced during a domain analysis, and helps guide the analyst through the DARE domain analysis method -includes:.all domain sources.the results of vocabulary analysis.the results of architecture analysis, including code analysis.summary information, such as a glossary, a bibliography, a user index, and appendices. 7

The Domain book 8

Using DARE The analyst extracts domain information from these code and textual sources and records it in a DARE domain book The analyst extracts domain information from these code and textual sources and records it in a DARE domain book The experts also record system architectures in the domain book The experts also record system architectures in the domain book The analyst runs DARE text analysis tools to extract terms and phrases from domain documents The analyst runs DARE text analysis tools to extract terms and phrases from domain documents The analyst uses the DARE cluster editor and facet table tool to create facets The analyst uses the DARE cluster editor and facet table tool to create facets Facets Facets -provide low-level organizational information the analyst can use to check and refine the architectures provided by the domain experts -used to help generate a system feature table 9

Using DARE The facet table, system feature table, system architectures, and code structures are used by the analyst creating a generic architecture for the domain The facet table, system feature table, system architectures, and code structures are used by the analyst creating a generic architecture for the domain At project completion then, the domain book represents a thorough study and analysis of the domain At project completion then, the domain book represents a thorough study and analysis of the domain the generic architecture the generic architecture feature table feature table Vocabulary Vocabulary the repository of reusable assets the repository of reusable assets 10

The DARE user application 11

DARE Prototype The first prototype The first prototype The second prototype The second prototype The third prototype The third prototype 12

The first prototype The first DARE prototype was developed in C on a UNIX workstation running X-Windows and Motif during 1994 The first DARE prototype was developed in C on a UNIX workstation running X-Windows and Motif during 1994 This version of DARE was used to develop and elaborate the domain book metaphor, and to investigate machine-assisted graphical word and phrase extraction and clustering This version of DARE was used to develop and elaborate the domain book metaphor, and to investigate machine-assisted graphical word and phrase extraction and clustering The output of domain analysis is a domain book The output of domain analysis is a domain book The domain analysis process is complete when all sections of the domain book are written The domain analysis process is complete when all sections of the domain book are written 13

The first prototype 14

The first prototype 15

The first prototype The DARE cluster editor The DARE cluster editor supports domain analysts in creating conceptual clusters of related words and phrases supports domain analysts in creating conceptual clusters of related words and phrases is also helpful for deriving faceted classification schemes is also helpful for deriving faceted classification schemes provides automatic clustering mechanisms for creating initial clusters, along with manual mechanisms for adjusting them provides automatic clustering mechanisms for creating initial clusters, along with manual mechanisms for adjusting them 16

The first prototype Cluster Cluster is a group of words and phrases sharing some degree of conceptual similarity is a group of words and phrases sharing some degree of conceptual similarity The length of each radial line can indicate how near or how far the radial word or phrase is from the cluster’s center The length of each radial line can indicate how near or how far the radial word or phrase is from the cluster’s center 17

The first prototype 18

The Second prototype We chose Visual Basic, and the second DARE prototype was developed in Visual Basic 3 on a PC running Windows 3.1 during 1995 We chose Visual Basic, and the second DARE prototype was developed in Visual Basic 3 on a PC running Windows 3.1 during 1995 The book mechanism and the cluster editor from the first prototype were recreated, and several major subsystems were implemented, including: The book mechanism and the cluster editor from the first prototype were recreated, and several major subsystems were implemented, including: the domain expert information entry forms and system feature table the domain expert information entry forms and system feature table the system architecture editor the system architecture editor the facet table the facet table the generic architecture editor and the generic feature table the generic architecture editor and the generic feature table 19

The Second prototype 20

The Second prototype System information falls into two categories System information falls into two categories System characteristics that are properties of the system as a product, System characteristics that are properties of the system as a product, Process characteristics that are properties of the development activities used to produce and maintain Process characteristics that are properties of the development activities used to produce and maintain The DARE system feature table is used to record key commonalities and variabilities across domain systems as perceived by domain experts The DARE system feature table is used to record key commonalities and variabilities across domain systems as perceived by domain experts 21

The Second prototype The final key piece of domain information acquired from domain experts is the architecture of each system in the domain. The final key piece of domain information acquired from domain experts is the architecture of each system in the domain. System architectures are recorded using a general purpose architecture editor System architectures are recorded using a general purpose architecture editor 22

The Second prototype The facet table displays the clusters promoted and named in the cluster editor The facet table displays the clusters promoted and named in the cluster editor The analyst may adjust the ordering of facet terms in the table. The analyst may adjust the ordering of facet terms in the table. Facets may also be returned to the cluster editor for further refinement. Facets may also be returned to the cluster editor for further refinement. 23

The Third prototype We therefore created another prototype using commercial- off-the-shelf tools (COTS) and freeware. We therefore created another prototype using commercial- off-the-shelf tools (COTS) and freeware. We are currently using DARE-COTS to refine the DARE domain analysis method, and to investigate how the method can be supported by various commercial tools. We are currently using DARE-COTS to refine the DARE domain analysis method, and to investigate how the method can be supported by various commercial tools. 24

Summary and conclusions DARE (a tool that provides automated support for domain analysis) DARE (a tool that provides automated support for domain analysis) has been implemented in a series of prototypes used to refine both the tool and the method. has been implemented in a series of prototypes used to refine both the tool and the method. DARE structures the domain analysis process by equating it with writing a domain book. DARE structures the domain analysis process by equating it with writing a domain book. The domain book organizes all domain information and becomes the product of domain analysis. The domain book organizes all domain information and becomes the product of domain analysis. DARE provides navigation support for traversing the domain book and for tracing outputs to inputs. DARE provides navigation support for traversing the domain book and for tracing outputs to inputs. It also provides the necessary tools for producing the different parts of the book. It also provides the necessary tools for producing the different parts of the book. 25

Summary and conclusions Domain experts are the most important source of information for domain analysis Domain experts are the most important source of information for domain analysis The domain book metaphor is crucial for structuring the domain analysis process, and storing and organizing domain information The domain book metaphor is crucial for structuring the domain analysis process, and storing and organizing domain information Several text analysis algorithms are useful for domain analysis, including a new algorithm for automatic clustering developed for DARE. Several text analysis algorithms are useful for domain analysis, including a new algorithm for automatic clustering developed for DARE. The tool set has been designed to support a systematic and repeatable domain analysis method that employs a simultaneous top-down and bottom-up strategy. The tool set has been designed to support a systematic and repeatable domain analysis method that employs a simultaneous top-down and bottom-up strategy. 26

Q & A 27