SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;

Slides:



Advertisements
Similar presentations
Domain Engineering Silvio Romero de Lemos Meira
Advertisements

1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
By Philippe Kruchten Rational Software
Analysis Modeling.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
IBM Software Group ® Use Cases & System of Systems Ivar Jacobson IBM Rational Jaczone AB
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Requirements Analysis Concepts & Principles
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Using Architecture Frameworks
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Nov. 14, 2007 Systems Engineering ä System ä A set or arrangement of things so related as to form a unity or organic whole. ä A set of facts, principles,
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Domain-Specific Software Engineering Alex Adamec.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
An Introduction to Software Architecture
REUSE-Re-Engineering The Software Process By Venkat Praveen Medikonda.
Architecting Web Services Unit – II – PART - III.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
System models l Abstract descriptions of systems whose requirements are being analysed.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Part VII: Design Continuous
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Software Engineering Lecture 10: System Engineering.
A Use Case Based Approach to Feature Models’ Construction Jeroen Eissens
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
UML (Unified Modeling Language)
Engineering, 7th edition. Chapter 8 Slide 1 System models.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Object-Oriented Techniques
FORM: Feature-Oriented Reuse Method
Component Based Software Engineering
Abstract descriptions of systems whose requirements are being analysed
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software engineering -1
An Introduction to Software Architecture
Requirements Document
Software Development Process Using UML Recap
Chapter 10 – Component-Level Design
Presentation transcript:

SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;

The Feature oriented domain analysis (FODA) method supports reuse at the functional and architectural levels. The FODA method provides a means of applying products of domain analysis to support software development. The FODA method applies the aggregation and generalization primitives to capture the commonalities of the applications in the domain in terms of abstractions.

The Reuse-Driven Software Engineering Business (RSEB) is a systematic, model-driven approach to largescale software reuse. The RSEB is a use-case driven systematic reuse process: architecture and reusable subsystems are first described by use cases and then transformed into object models that are traceable to these use cases. The RSEB method uses features informally, suggesting that different features characterize the different systems that can be constructed from the reusable component systems.

Integrating FODA and RSEB, explicit domain engineering steps and an explicit feature model to the RSEB to support domain engineering and component reuse, were added. These additions provide an effective reuse-oriented model as a ‘catalog’ capability to link use cases, variation points, reusable components and configured applications. FeatuRSEB model provides a high-level view of the domain architecture and reusable assets to provide the reusers and the domain engineers a more concise and expressive picture of the way to build systems in the application family.

What is the relationship between feature modeling and use case modeling? The use case model and the feature model serve different purposes. The use case model is user oriented; the feature model is reuser oriented. The use case model provides the “what” of the domain: a complete description of what systems in the domain do. The feature model provides the “which” of the domain: which functionality can be selected when engineering new systems in the domain.

The feature model contains a well-organized collection of items that have been selected according to a process that includes deciding what should or should not become a visible feature of systems in the domain. The feature model need not (and should not) include all possible features, but only those which the domain analyst deems important. The feature model provides a “configuration roadmap” through the use case model, guiding through an understanding of what can be combined, selected, and customized in a new system in the domain. The feature model is used as a catalog of feature commonality and variability.

The feature model contains a well-organized collection of items that have been selected according to a process that includes deciding what should or should not become a visible feature of systems in the domain. The feature model need not (and should not) include all possible features, but only those which the domain analyst deems important. The feature model provides a “configuration roadmap” through the use case model, guiding through an understanding of what can be combined, selected, and customized in a new system in the domain.

the composed_of relationship: A feature can be modeled as composed of several sub-features, following a decomposition/ aggregation abstraction mechanism. the existence attribute: A feature can be mandatory or optional. the alternative relationship: variation and variant features. A feature can act as a variation point (called variation point feature or vp-feature) in the model, while other features play the role of its possible variants (called variant features). the binding time attribute of vp-features: Vp-features can be bound at reuse time, i.e. when the reuser accesses the domain infrastructure to configure reusable assets for his development. the requires and mutual_exclusion constraints: These rules define the semantic constraints on optional and variant features, to give the model consistency.

Each feature node is in fact an iconic view of a more complete feature element, implemented in UML as a stereotype, «feature».

Model construction in the “featured RSEB” is a concurrent process.

Merge individual exemplar use case models into a domain use case model (known as the Family Use case Model in the RSEB), using variation points capture and express the differences. Keep track of the originating exemplars using «trace». Create an initial feature model with functional features derived from the domain use case model, (typically using use case names as a starting point for feature names). Create the RSEB analysis object model, augmenting the feature model with architectural features. These features relate to system structure and configuration rather than to specific function. Create the RSEB design model, augmenting the feature model with implementation feature.

Construct domain actors model: Classify the set of actors over all individual use case models on the basis of their affinity. Construct domain use case model: Merge all exemplar use case models, replacing original actors with those from the domain actors model. Perform robustness analysis on domain use case model: Consider the domain use case model as a specification of a single system and perform a critical review (consistency, redundancy, ambiguities) of the user requirements implied by it, leading to further modifications.

Identify mandatory and optional features Decompose features into sub-features Identify vp-features and their variants Perform robustness analysis on the feature model

Tool Support for Feature Analysis: Rational Rose, Platinum Paradigm Plus or the UML-NICE toolset of Intecs, using the UML extension Mechanisms. Strong integration with configuration management: Intecs' ReuseNICE toolset. Repository-based tool support: UML-based Microsoft Repository, Cobra.

The FeatuRSEB feature models are simpler than those in original FODA, focusing on the feature-oriented parts for domain-engineering purposes. These feature models act as a convenient catalogue or index into the commonality and variability present in use case and object models, simplifying the task for the reuser. FeatuRSEB combination provides a robust and easy to use way of characterizing the many hundreds of reuse-oriented features and use case variants.

I. Jacobson, M. Griss, P. Jonsson, “Software Reuse: Architecture, rocess and Organization for Business Success”, Addison- Wesley-Longman, May A. Metzger, P. Heymans,” Comparing Feature Diagram Examples Found in the Research Literature”, February Y. Bontemps, P. Heymans, P. Schobbens, and J. Trigaux, “Semantics of FODA feature diagrams”, Proceedings of Workshop on Software Variability Management for Product Derivation (Towards Tool Support), Boston, August M. Griss, J. Favaro, M. d'Alessandro, “Integrating feature modeling with the RSEB”,. In: Proceedings of the Fifth International Conference on Software Reuse (ICSR), IEEE Computer Society Press (1998) 76–85. K. Kang, S. Cohen, J. Hess, W. Novak, A. Spencer Peterson, “ Feature- Oriented Domain Analysis (FODA) –Feasibility Study”, Technical Report CMU/SEI-90-TR-21, 1990.

Domain identification and scoping Selection and analysis of examples, needs and trends Identification, factoring and clustering of feature sets Development of ‘domain’ or ‘generic’ model and architecture Representation of usable commonality and variability Exploitation of commonality and variability Implementation, certification, and packaging of reusable components