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

Size: px
Start display at page:

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

Transcription

1 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) Park Bum Seok

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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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 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

20 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

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

22

Architecture Patterns for Mobile Games Product

Architecture Patterns for Mobile Games Product Architecture Patterns for Mobile Games Product Lines Jin-Seok Yang POSTECH Information Research Lab, POSTECH edeward@postech.ac.kr Hojin Cho Dept. of Computer Science and Engineering, POSTECH NUCL23 @postech.ac.kr

More information

Feature-Oriented Domain Analysis (FODA) Feasibility Study

Feature-Oriented Domain Analysis (FODA) Feasibility Study Feature-Oriented Domain Analysis (FODA) Feasibility Study Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, A. Spencer Peterson November 1990 Quick recap of DE terms Application: A system

More information

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

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

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

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

Architectural Design

Architectural Design Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

ADVANCES in NATURAL and APPLIED SCIENCES

ADVANCES in NATURAL and APPLIED SCIENCES ADVANCES in NATURAL and APPLIED SCIENCES ISSN: 1995-0772 Published BYAENSI Publication EISSN: 1998-1090 http://www.aensiweb.com/anas 2017 April 11(4): pages 599-604 Open Access Journal Reusability of a

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

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

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

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

CS560: Formal Modelling and Implementation of Systems (Term II) CS560: Formal Modelling and Implementation of Systems (Term II) Software Design A.P.O Riordan, 2009 Email: a.oriordan@cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs560.html CS560 1 Design Design

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

Software Engineering

Software Engineering Software Engineering Engr. Abdul-Rahman Mahmood MS, MCP, QMR(ISO9001:2000) Usman Institute of Technology University Road, Karachi armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm

More information

An Ontological Approach to Domain Engineering

An Ontological Approach to Domain Engineering An Ontological Approach to Domain Engineering Richard de Almeida Falbo, Giancarlo Guizzardi, Katia Cristina Duarte International Conference on Software Engineering and Knowledge Engineering, SEKE 02 Taehoon

More information

UNIT II Requirements Analysis and Specification & Software Design

UNIT II Requirements Analysis and Specification & Software Design UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Modeling variability with UML

Modeling variability with UML Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,

More information

Application-Oriented System Design

Application-Oriented System Design Application-Oriented System Design LISHA/UFSC Prof. Dr. Antônio Augusto Fröhlich March 2004 March 2004 http://www.lisha.ufsc.br 29 Application-Oriented Operating Systems "An application-oriented operating

More information

Security Risk Management Domain Model

Security Risk Management Domain Model Lecture 2: Security Modelling Understanding security goals and secure business activities Dr. Raimundas Matulevičius email: rma@ut.ee 1" Security Risk Management Domain Model "2"" Goals and Questions What

More information

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

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach. Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction

More information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

More information

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

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Introduction to Architecture. Introduction to Architecture 1

Introduction to Architecture. Introduction to Architecture 1 Introduction to Architecture Introduction to Architecture 1 Content What is architecture? Motivation for architecture Non-functional requirements Introduction to Architecture 2 What is architecture? The

More information

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

What s a BA to do with Data? Discover and define standard data elements in business terms What s a BA to do with Data? Discover and define standard data elements in business terms Susan Block, Lead Business Systems Analyst The Vanguard Group Discussion Points Discovering Business Data The Data

More information

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

Design of a UML profile for feature diagrams and its tooling implementation Design of a UML profile for feature diagrams and its tooling implementation Thibaut Possompès, Christophe Dony, Marianne Huchard, Chouki Tibermacine IBM France PSSC Montpellier Montpellier, France thibaut.possompes@fr.ibm.com

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Improving Reusability in Software Process Lines

Improving Reusability in Software Process Lines Improving Reusability in Software Process Lines Emmanuelle Rouillé, Olivier Barais, Benoit Combemale, Touzet David, Jean-Marc Jézéquel To cite this version: Emmanuelle Rouillé, Olivier Barais, Benoit Combemale,

More information

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

Learning objectives. Documenting Analysis and Test. Why Produce Quality Documentation? Major categories of documents Learning objectives Documenting Analysis and Test Understand the purposes and importance of documentation Identify some key quality documents and their relations Understand the structure and content of

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

09. Component-Level Design

09. Component-Level Design 09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a

More information

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

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than

More information

Lesson 19 Software engineering aspects

Lesson 19 Software engineering aspects Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept

More information

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

More information

Sending MAC Address Function

Sending MAC Address Function Application Note Sending MAC Address Function Version 1.1 Sollae Systems Co., Ltd. www.eztcp.com Contents CONTENTS... - 1-1 OVERVIEW... - 2-1.1 Overview... - 2-1.2 Using Unique ID for Serial Devices...

More information

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

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced

More information

21) Functional and Modular Design

21) Functional and Modular Design Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - 21) Functional and Modular Design Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software-

More information

Object-Oriented Design and Modeling Using the UML

Object-Oriented Design and Modeling Using the UML Design Classes Object-Oriented Design and Modeling Using the UML Based on Chapter 18 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007

More information

Lecture Chapter 2 Software Development

Lecture Chapter 2 Software Development Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple

More information

Analyzing the Product Line Adequacy of Existing Components

Analyzing the Product Line Adequacy of Existing Components Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany

More information

CS 292 Software Development

CS 292 Software Development CS 292 Software Development and Professional Practice Structured Design and More Design Principles CS 292 Design Principles 1 Unless otherwise expressly stated, all original material of whatever nature

More information

Generic Modeling using UML extensions for variability

Generic Modeling using UML extensions for variability Generic Modeling using UML extensions for variability Intershop Research Intershop, Jena Matthias Clauß Software Engineering Group Dresden University of Technology M.Clauss@intershop.com September 14,

More information

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

Software Design. Software design is a blueprint or a plan for a computerbased solution for system Software Design Software Design Software design is a blueprint or a plan for a computerbased solution for system Software design deals with transforming the customer requirements, as described by the SRS

More information

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

Model-based Transition from Requirements to High-level Software Design Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview

More information

Chapter 8: Class and Method Design

Chapter 8: Class and Method Design Chapter 8: Class and Method Design Objectives Become familiar with coupling, cohesion, and connascence. Be able to specify, restructure, and optimize object designs. Be able to identify the reuse of predefined

More information

Strategies of Systems Engineering Development

Strategies of Systems Engineering Development p. 1/2 ENES 489P Hands-On Systems Engineering Projects Strategies of Systems Engineering Development Mark Austin E-mail: austin@isr.umd.edu Institute for Systems Research, University of Maryland, College

More information

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

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

What is Software Architecture

What is Software Architecture What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

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

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us. Karl Frank Principal Architect: Product Strategy and Architecture kfrank@borland.com OMG Workshop MDA Tool Chains for MDA? Let's consider leaving our tool chains behind us. Please note the existence of

More information

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

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Dimensions for the Separation of Concerns in Describing Software Development Processes

Dimensions for the Separation of Concerns in Describing Software Development Processes Dimensions for the Separation of Concerns in Describing Software Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com http://www.navision.com,

More information

Principles of Software Construction: Objects, Design, and Concurrency

Principles of Software Construction: Objects, Design, and Concurrency Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems Responsibility assignment Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Reading

More information

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

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

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

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/03/2015 http://cs.gsu.edu/~ncasturi1 Object Design Software Engineering -CSC4350/6350 - Rao Casturi 2 Object Design Close

More information

Software Reuse and Component-Based Software Engineering

Software Reuse and Component-Based Software Engineering Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering

More information

EXTRACTION OF REUSABLE COMPONENTS FROM LEGACY SYSTEMS

EXTRACTION OF REUSABLE COMPONENTS FROM LEGACY SYSTEMS EXTRACTION OF REUSABLE COMPONENTS FROM LEGACY SYSTEMS Moon-Soo Lee, Yeon-June Choi, Min-Jeong Kim, Oh-Chun, Kwon Telematics S/W Platform Team, Telematics Research Division Electronics and Telecommunications

More information

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

Model based testing and Hardware-in-the-Loop simulation of embedded CANopen control devices Model based testing and Hardware-in-the-Loop simulation of embedded CANopen control devices Mirko Tischer; Dietmar Widmann, Vector Informatik GmbH CANopen is mainly used in connecting devices in embedded

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

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

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

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

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering III. Specifying Software III. Specifying Software Goals: Defining what the software should do (before it is really there) Customer and

More information

An Integrated Model for Requirements Structuring and Architecture Design

An Integrated Model for Requirements Structuring and Architecture Design AWRE 2002 19 An Integrated Model for Requirements Structuring and Architecture Design Abstract Juha Savolainen, Tuomo Vehkomäki Nokia Research Center {Juha.Savolainen Tuomo.Vehkomäki}@nokia.com Mike Mannion

More information

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

IVI. Interchangeable Virtual Instruments. IVI-3.10: Measurement and Stimulus Subsystems (IVI-MSS) Specification. Page 1 IVI Interchangeable Virtual Instruments IVI-3.10: Measurement and Stimulus Subsystems (IVI-MSS) Specification March, 2008 Edition Revision 1.0.1 Page 1 Important Information The IVI Measurement and Stimulus

More information

DESIGN AND TECHNOLOGY

DESIGN AND TECHNOLOGY Qualification Accredited GCSE (9 1) NEA Marking Criteria April 2017 DESIGN AND TECHNOLOGY J310 For first teaching in 2017 www.ocr.org.uk/gcsedesignandtechnology GCSE Design and Technology Iterative Design

More information

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

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing R. Paul, W. T. Tsai, Jay Bayne 1 Table of Content Introduction Service-Oriented Computing Acceptance of SOA within DOD Policy-based

More information

The Open Group SOA Ontology Technical Standard. Clive Hatton

The Open Group SOA Ontology Technical Standard. Clive Hatton The Open Group SOA Ontology Technical Standard Clive Hatton The Open Group Releases SOA Ontology Standard To Increase SOA Adoption and Success Rates Ontology Fosters Common Understanding of SOA Concepts

More information

10. Software Testing Fundamental Concepts

10. Software Testing Fundamental Concepts 10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

More information

COMP 6471 Software Design Methodologies

COMP 6471 Software Design Methodologies COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Week 7 Outline Software Architecture Layered Architecture Model-View-Control

More information

Architectures in Context

Architectures in Context Architectures in Context Software Architecture Lecture 2 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Understand architecture in its relation

More information

Rediscovering. Modularity. Stuttgart JUG November 20 th 2012

Rediscovering. Modularity. Stuttgart JUG November 20 th 2012 Rediscovering Modularity Structure101 @chedgey Stuttgart JUG November 20 th 2012 Modularity Manage complexity by Encapsulation Information hiding Modularity Manage complexity by Encapsulation Defined interface

More information

System Design. Design: HOW to implement a system

System Design. Design: HOW to implement a system System Design Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1

More information

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

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

More information

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

COMET. Component and Model-based development Methodology. Adapted from COMET I and COMBINE. COMET Methodology Handbook COMET Component and Model-based development Methodology Adapted from COMET I and COMBINE COMET Methodology Handbook Business, Requirements, Architecture and Platform modelling documentation Date: 05. April

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 9: The Object-Oriented Design Process and Design Axioms Goals The object-oriented design process. Object-oriented design

More information

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Data Encapsulation Encapsulation is the packing of data and functions into a single component. The features of encapsulation are supported using

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

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

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. Preface p. xv Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. 8 Specification and Design Aspects p.

More information

Applying Systems Thinking to MBSE

Applying Systems Thinking to MBSE Applying Systems Thinking to MBSE 1 Daniel Hettema, and Steven H. Dam, Ph.D., ESEP, SPEC Innovations, 571-485-7799 daniel.hettema@specinnovations.com October 2013 Overview What makes systems thinking different

More information

Object Visibility: Making the Necessary Connections

Object Visibility: Making the Necessary Connections Object Visibility: Making the Necessary Connections Reprinted from the October 1991 issue of The Smalltalk Report Vol. 2, No. 2 By: Rebecca J. Wirfs-Brock An exploratory design is by no means complete.

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

OMG Systems Modeling Language Tutorial May, 2012

OMG Systems Modeling Language Tutorial May, 2012 OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview System Engineering (SE) is a discipline to deal with complex system realised through

More information

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

An end-user s perspective What system? I haven t seen a new system References 1. Object-Oriented Software Engineering---Practical software development using UML and Java, T.C. Lethbridge and R. Laganiere, McGraw-Hill, 2005. 2. Object-Oriented Systems Analysis and Design

More information

Principles of Software Construction: Objects, Design, and Concurrency

Principles of Software Construction: Objects, Design, and Concurrency Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems A formal design process Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Optional

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Creating a Lattix Dependency Model The Process

Creating a Lattix Dependency Model The Process Creating a Lattix Dependency Model The Process Whitepaper January 2005 Copyright 2005-7 Lattix, Inc. All rights reserved The Lattix Dependency Model The Lattix LDM solution employs a unique and powerful

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

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

What is CBSE and Why? Component-Based Software Engineering. But why not in Software engineering? Component Everywhere Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 1 Basic Concepts (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo What is CBSE and

More information

Component-Based Software Engineering

Component-Based Software Engineering Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 1 Basic Concepts (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo What is CBSE and

More information

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

Module B1 An Introduction to TOGAF 9.1 for those familiar with TOGAF 8 Informs the capability Ensures Realization of Business Vision Business needs feed into method Refines Understanding Informs the Business of the current state Sets targets, KPIs, budgets for architecture

More information

Conceptual Data Modeling for the Functional Decomposition of Mission Capabilities

Conceptual Data Modeling for the Functional Decomposition of Mission Capabilities Conceptual Data Modeling for the Functional Decomposition of Mission Capabilities February 27, 2018 Andrew Battigaglia Andrew.Battigaglia@gtri.gatech.edu 1 Motivation Describing Data The purpose of a functional

More information

ECE-492 SENIOR ADVANCED DESIGN PROJECT

ECE-492 SENIOR ADVANCED DESIGN PROJECT ECE-492 SENIOR ADVANCED DESIGN PROJECT Meeting #4 1 ECE-492 Meeting#4 HW1: Teams show us your Requirements Specification? HW2: Teams show us your Conceptual Design? 2 ENGINEERING DESIGN MAKES A DIFFERENCE

More information

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

Refactoring Practice: How it is and How it Should be Supported Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case

More information

Foundations of Software Engineering

Foundations of Software Engineering Foundations of Software Engineering Lecture 9: Architecture Documentation, Patterns, and Tactics Christian Kaestner 1 Learning Goals Use notation and views to describe the architecture suitable to the

More information

Usability-Focused Architectural Design for Graphical User Interface Components

Usability-Focused Architectural Design for Graphical User Interface Components Usability-Focused Architectural Design for Graphical User Interface Components Stephan Bode, Matthias Riebisch Technical University of Ilmenau {stephan.bode, matthias.riebisch}@tu-ilmenau.de Abstract Although

More information

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

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created> Software Requirements Specification for Version 1.0 approved Prepared by Software Requirements Specification for Page 2 Table of Contents Revision

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

BBK3253 Knowledge Management Prepared by Dr Khairul Anuar

BBK3253 Knowledge Management Prepared by Dr Khairul Anuar BBK3253 Knowledge Management Prepared by Dr Khairul Anuar L7: Developing and Managing Knowledge Repositories www.notes638.wordpress.com 1. Describe the key features of an effective knowledge repository

More information