FORM : A feature-oriented reuse method with domain-specific reference architectures

Similar documents
Architecture Patterns for Mobile Games Product

Feature-Oriented Domain Analysis (FODA) Feasibility Study

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Object-Oriented Design

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Architectural Design

ADVANCES in NATURAL and APPLIED SCIENCES

Architectural Blueprint

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

CS560: Formal Modelling and Implementation of Systems (Term II)

Presenter: Dong hyun Park

Software Engineering

An Ontological Approach to Domain Engineering

UNIT II Requirements Analysis and Specification & Software Design

Ch 1: The Architecture Business Cycle

Modeling variability with UML

Application-Oriented System Design

Security Risk Management Domain Model

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Quality-Driven Architecture Design Method

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

Introduction to Architecture. Introduction to Architecture 1

What s a BA to do with Data? Discover and define standard data elements in business terms

Design of a UML profile for feature diagrams and its tooling implementation

AADL Graphical Editor Design

Improving Reusability in Software Process Lines

Learning objectives. Documenting Analysis and Test. Why Produce Quality Documentation? Major categories of documents

Semantics-Based Integration of Embedded Systems Models

09. Component-Level Design

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Lesson 19 Software engineering aspects

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures

Sending MAC Address Function

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)

21) Functional and Modular Design

Object-Oriented Design and Modeling Using the UML

Lecture Chapter 2 Software Development

Analyzing the Product Line Adequacy of Existing Components

CS 292 Software Development

Generic Modeling using UML extensions for variability

Software Design. Software design is a blueprint or a plan for a computerbased solution for system

Model-based Transition from Requirements to High-level Software Design

Chapter 8: Class and Method Design

Strategies of Systems Engineering Development

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

Ch 1: The Architecture Business Cycle

What is Software Architecture

Architectural Design

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Dimensions for the Separation of Concerns in Describing Software Development Processes

Principles of Software Construction: Objects, Design, and Concurrency

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015

Software Reuse and Component-Based Software Engineering

EXTRACTION OF REUSABLE COMPONENTS FROM LEGACY SYSTEMS

Model based testing and Hardware-in-the-Loop simulation of embedded CANopen control devices

Minsoo Ryu. College of Information and Communications Hanyang University.

CHAPTER 9 DESIGN ENGINEERING. Overview

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

An Integrated Model for Requirements Structuring and Architecture Design

IVI. Interchangeable Virtual Instruments. IVI-3.10: Measurement and Stimulus Subsystems (IVI-MSS) Specification. Page 1

DESIGN AND TECHNOLOGY

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne

The Open Group SOA Ontology Technical Standard. Clive Hatton

10. Software Testing Fundamental Concepts

Design Concepts and Principles

COMP 6471 Software Design Methodologies

Architectures in Context

Rediscovering. Modularity. Stuttgart JUG November 20 th 2012

System Design. Design: HOW to implement a system

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Chapter 5 Object-Oriented Programming

COMET. Component and Model-based development Methodology. Adapted from COMET I and COMBINE. COMET Methodology Handbook

Object-Oriented Systems Development: Using the Unified Modeling Language

Software Development. Modular Design and Algorithm Analysis

A Lightweight Language for Software Product Lines Architecture Description

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p.

Applying Systems Thinking to MBSE

Object Visibility: Making the Necessary Connections

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

Darshan Institute of Engineering & Technology for Diploma Studies

OMG Systems Modeling Language Tutorial May, 2012

An end-user s perspective What system? I haven t seen a new system

Principles of Software Construction: Objects, Design, and Concurrency

Software Architecture

Creating a Lattix Dependency Model The Process

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

What is CBSE and Why? Component-Based Software Engineering. But why not in Software engineering? Component Everywhere

Component-Based Software Engineering

Module B1 An Introduction to TOGAF 9.1 for those familiar with TOGAF 8

Conceptual Data Modeling for the Functional Decomposition of Mission Capabilities

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Refactoring Practice: How it is and How it Should be Supported

Foundations of Software Engineering

Usability-Focused Architectural Design for Graphical User Interface Components

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Object-Oriented Design

BBK3253 Knowledge Management Prepared by Dr Khairul Anuar

Transcription:

FORM : A feature-oriented reuse method with domain-specific reference architectures Kyo C. Kang, Sajoong Kim, Jaejoon Lee, Kijoo Kim, Euiseob Shin and Moonhang Huh Annals of Software Engineering (1998) 2010-08-18 Park Bum Seok

Contents vintroduction vbackground vrelated work vfeature oriented reuse method Domain engineering Application engineering vconclusion vdiscussion 2/21

Introduction(1/2) vreuse of software artifact One of the most promising solutions to the software crisis vgeneral software reuse environment Pool Library A How to make Create reuse systematically Library B Search and effectively? Developers Store No specification to create reuse modules Component A Component B Expect to be reused Sometime by someone Use Developers No specification for using reuse module 3/21

Introduction(2/2) vprevious research for systematic reuse Feature oriented domain analysis (FODA) Focus on creating reusable assets No systematic method how to use reusable assets vresearch goal Introduction of effective and explicit software reuse method and process extends FODA Method to create reusable software artifact effectively Method to develop new application from reusable artifacts Feature Oriented Reuse Method (FORM) 4/21

vfeature Definition Background (1/3) Informally essential characteristics of applications in a domain Services or functions provided by the system Domain technologies Implementation techniques From other paper An end user visible characteristic of a system Distinguishable characteristic of a concept that is relevant to some stakeholder of the concept Genus of feature is characteristic Abstraction that both customers and developers understand è can be used for requirement engineering Two groups : Functional and non-functional features 5/21

vdomain Definition Background (2/3) A family of related systems Domain analysis Definition Examining a family of related systems and extracting the commonalities and differences of these systems Feature oriented domain analysis Doing domain analysis based on features Domain engineering Definition Using analysis results to create a set of reference models» Creating reusable software architectures and components 6/21

vfeature model Definition Background (3/3) The model constructed during the analysis which represents relationships between features as an AND/OR graph Introduced from FODA Characteristics Communication language among stakeholders Easy to capture commonality & difference of applications on feature oriented models Representative of application < Feature model > 7/21

vfoda Purpose Related work Introduce development method that creates reusable assets Feature model is introduced & take a key role to identify commonalities and to generate architecture model Limitation vform No systematic method about how to use reusable assets Purpose Introduce method of creating a set of reusable assets and also developing new application from the assets Feature model is revised and upgraded to cover nonfunctional features and to support detailed architecture 8/21

FORM (1/11) vhow to create artifacts effectively for reuse? Issues for high reusability The more commonality The more accurate specifications ( ex. interface, scope) The more architectural information ( ex. where to use) Proposed approaches for this issues Applications in a same domain can have more commonalities Domain-specific To extract commonalities easily can make artifacts more reusable Feature-oriented Matching information between architecture and component and Standard architectures are helpful for reuse architecture and component 9/21

FORM (2/11) vfeature Oriented Reuse Method (FORM) Systematic method that focuses on capturing commonalities and difference of applications in a domain in terms of features and using the analysis result to develop domain architectures and components Application A In domain Application B In domain Application C In domain Application D In domain Feature Model Create Feature Oriented Domain Engineering Affect s & Reusable Components Applications Applications Applications < Basic concept of FORM > Process Product 10/21

vengineering process FORM (3/11) FORM Domain Engineering Domain Analysis Feature Model Reusable Component Reusable Component User Requirement Analysis Feature Selection Spec Application selection FORM Application Engineering System Model Process Model Module Model Application Software Application Software Process Product Model reuse Feed back < FORM engineering process > 11/21

vdomain engineering Purpose FORM (4/11) Analyzing systems for commonalities and differences Creating feature model Creating reference architectures and reusable components Three phases Context analysis Identification of scope of domain and intended use of the domain Domain (or feature) modeling Domain Analysis Identifying user understandable features on target domain Feature Model Constructing feature model that represents features interrelationships during analysis (or component) modeling FORM Domain Engineering Construction of reference architectures and components Reusable Component Reusable Component 12/21

FORM (5/11) vform feature model Domain Analysis Feature Model FORM Domain Engineering Reusable Component Reusable Component Revised feature model For non functional feature Four layers Capability or Service Operating environment Domain technology Implementation technique < Form feature model > 13/21

FORM (6/11) vform feature model(cont d) Roles of FORM feature model Standardizing both meaning of features and communication Evaluating commonalities and differences between domains, and applications in a domain Standardizing to create reusable domain artifacts Standardizing development of application using domain artifact <Feature model comparison> Feature model B Feature model A Application B Easily compare Feature model C Application A Application C 14/21

FORM (7/11) vdomain analysis Purpose Identifying commonalities and differences of systems in a domain Constructing feature model according to the analysis Process Planning First identification of family of products in a domain Feature analysis Identifying features, classifying them, organizing them Constructing feature model Validation activities Domain Analysis Feature Model Validating feature model before using FORM Domain Engineering Reusable Component Reusable Component 15/21

v modeling Purpose FORM (8/11) Construction of reference architecture and reusable component 3 levels of abstraction of reference architecture Subsystem model Defining overall system structure by packaging service features Applying localization of function blocks Process model Decomposition of subsystem into set of processes Applying software principles of loosely coupled, highly cohesive Considering environment features Module model Domain Analysis Feature Model FORM Domain Engineering Defining module model based on the features on domain technology and implementation technique Containing specification how to integrated into application Reusable Component Reusable Component 16/21

FORM (9/11) vfeature model and reference architecture Non functional features Capabilities services, operations, presentation, use, attributes, etc Operating Environment H/W platform, O/S, DBMS, network, etc Domain Technologies Method, theories, etc Implementation Technologies Algorithms, Abstract data types, etc Packaging of services & operations Refinement considering performance characteristics Abstraction and Specification of Module component Subsystem model Process model Module model Feature Model < Mapping features to architecture models > 17/21

FORM (10/11) vapplication engineering Definition User Requirement Analysis Finding a correct reference architecture through feature selection and then putting in reusable software components Feature Selection Spec Application selection FORM Application Engineering System Model Process Model Module Model Application Software Application Software Feature model Feature model A & reusable component New Application Feature selection Feature model B & reusable component Using Selected architecture 18/21

vfeature selection Definition FORM (11/11) Finding a matching set of features from the feature model Effective feature selection by following the four-level feature hierarchy Capability, operating environment, and finally domain technologies and implementation techniques Order of feature selection 1 2 3 User Requirement Analysis Analyzing user requirements for the target application Constructing feature model for the target application using stepwise refinement comparing with reference feature models Selecting closest feature mode and use the corresponding reference architectures Feature Selection Spec Application selection FORM Application Engineering System Model Process Model Module Model Application Software Application Software 19/21

vcontribution Conclusion FODA is extended in FORM to cover the entire development process including reuse process Feature model is effectively upgraded for designing, architecting and reusing vfuture work Formalize language that formal analysis is possible Feature model will be extended to support development of application optimized for specific problem context 20/21

vpros Discussion Focus on reuse concept and introduce practical method vcons Meaning of feature is not clearly fixed among researches FORM is semi formal Provide construction language but not rigorous analysis of models 21/21