Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Analysis Concepts and Principles
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
March 22, 2004CS WPI1 CS 509 Design of Software Systems Lecture #9 Monday, March 22, 2004.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Life Cycle Model
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
Chapter 10 Architectural Design
The Design Discipline.
Chapter 2: Approaches to System Development
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
An Introduction to Software Architecture
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
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.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Information System Development Courses Figure: ISD Course Structure.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Object-Oriented Software Engineering - The professional Developer’s Guide(on OMG’s OOA/OOD proposal) George Wilkie.
GRASP: Designing Objects with Responsibilities
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Moving On To Design Chapter 9. Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
COMM89 Knowledge-Based Systems Engineering Lecture 8 Life-cycles and Methodologies
Software Design Process
1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSE 303 – Software Design and Architecture
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Architecture Components
Object oriented system development life cycle
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
PASSI (Process for Agent Societies Specification and Implementation)
From Use Cases to Implementation
UML Design for an Automated Registration System
Presentation transcript:

Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen

Introduction One of the most encourage reuse techniques available is Component-Based software Development. A reuse environment can help in the effective application of reuse, during software development since it provides methods, tools, and procedures. There is no environment that is capable of addressing all these aspects together. The Odyssey environment provides support to the whole development cycle from conceptual models to component implementation.

Reuse Environment Diagrammatic View

Odyssey Framework 1. Conceptual Models  Understanding and recognition of concepts and functionalities by the Odyssey users.  The main conceptual models used by Odyssey are:  Domain Context Diagram: situates the domain in relation to its scope, limits, relationships with other domains and main actors involved.  Domain Use Cases and related OO models: Capture the main functionalities of the domain, and help in the identification of the reusable components that are described in other OO models.  Feature Diagram: Presents the relationship among the concepts and functionalities of the domain, trying to explain what are the meaning of the main concepts in the domain and its relationship.

Odyssey Framework 2. Architecture Model Partitioned by components:  Each component specifies a domain task.  Each component shows how its task can be architected.  Describes the connections between components.  The main architectural models are:  Services (interfaces) Model of the components: Present each component as a type that controls a series of services.  Architectural Collaboration Model: Presents a global architecture of the domain, including the interaction among the components of the domain.  Classes model and state diagram for each participant type of components: the definition of the internal component design deals with the definition, in greater detail, of the internal structure of each component.

Odyssey Framework 3. Implementation Models  Formed by a set of code components that are related based on a CORBA protocol (Common Object Request Broker Architecture).  The components are more general, but they can be specialized by using techniques such as parameterization, class specialization, etc.

Mediation Layer  Software layer that provides the integration of different domain databases (distributed and possibly various).  Reusable information is naturally divided by domain, which make the search for domain concepts easier.  Includes programs that make the connection between distributed databases, various data models, and users of this data, providing the information in an suitable format to the user.

Odyssey Tools  Odyssey provides tools that enable users to specify and use domain models:  Requirements Elicitation Tool:  The main model that is used in the acquisition process is the use case model.  Responsible for the gaining of domain information.  Information Agent Tool:  This tool serves as a guide to the search for specific domain information.  When the user notifies some interest in a concept, the tool seeks the related concepts and other related information such as use cases, OO models, etc.

Odyssey Tools  Architectural Transformation Tool:  helps in the transformation of conceptual models to architectural components models.  Pattern and Components Management System:  It is responsible for the creation, deletion and modification of patterns and components.

Odyssey DE Method  The main objectives:  Creation of components that can be reused in domain applications in all levels of application development.  Creation of reusable components is done in an incremental and evolutionary process, i.e., as new information are aggregated to the domain, reusable components are developed or adapted based on the acquired information.  Method that retain the best features of the main current DE methods and at the same time avoid their shortcomings.  Covers every phase of DE with equal emphasis.  Provides a domain viability analysis phase.  Provide systematic approach transition from conceptual models to architectural models.

Odyssey DE Method  Composed of four stages:  Domain viability analysis: Analysis of the viability of the domain to provide a group of reusable components.  Domain analysis: Consists in the definition of main domain concepts, standing out similarities and differences among these concepts in high abstraction level.  Domain Design: Deals with specification of components interaction, internal components and architectural model.  Domain Implementation: Deals with writing the components code.

Odyssey DE Method

Definition and Users Odyssey domain engineering is an object-oriented domain analysis and engineering technique that uses component-based software development techniques. The main objective of the process is the creation of components that can be reused in domain applications in all levels of application development The main users of the environment are the domain engineer, the domain specialist and the software engineer responsible for the development of applications within that domain.

Conclusion  Odyssey environment brings some interesting contributions, mainly in the following points: –Identification of technologies and specification of components capable of addressing various stages involved in CBD. – A DE method to support all phases of the process, including a viability analysis stage. –Systematic use of high-level OO constructs, such as patterns, and its insertion into a DE method. –Systematization of the transition between conceptual and architectural models.