Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.

Slides:



Advertisements
Similar presentations
Unified Modeling Language
Advertisements

UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Component and Deployment Diagrams
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
The Need for Packages How do you break down a large system into smaller systems? Structured methods use functional decomposition Functions represent something.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
CS 432 Object-Oriented Analysis and Design
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Software Engineering 1 Object-oriented Analysis and Design Chap 21 Test-Driven Development and Refactoring.
Information System Development Courses Figure: ISD Course Structure.
Modelling Class T16: Conceptual Modelling – Architecture Image from
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Software Engineering Lecture 8 Object-Oriented Analysis.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Computer Science 340 Software Design & Testing Software Architecture.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 7: Other UML Diagrams.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Mapping Designs to Code. It specify how to map the design into object oriented language The UML artifacts created during the design work, the interaction.
CHAPTER
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Systems Analysis and Design With UML 2
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Modeling Language
Arab Open University 2nd Semester, M301 Unit 5
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Software Architecture & Design Pattern
Unified Modeling Language
UNIT – V.
IMPORTANT NOTICE TO STUDENTS:
Chapter 7 –Implementation Issues
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping Designs to Code  Test-Driven Development

Object Oriented Analysis and Design 2 Implementation Model

Object Oriented Analysis and Design Implementation Model  Concept of Component  Component Diagram  Concept of Node  Deployment Diagram

Object Oriented Analysis and Design 4 Concept of Component  a component is a physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces.  Graphically, a component is rendered as a rectangle with tabs, usually including only its name. Login.dll

Object Oriented Analysis and Design 5 Component Diagram component.java ImageObserver image.java  A component diagram shows the organizations and dependencies among software components, including source code components, binary code components, and executable components.  Component diagrams contain:  Component packages.  Components  Interfaces  Dependency relationships

Object Oriented Analysis and Design 6 Component Diagram  Captures the physical structure of the implementation  Built as part of architectural specification  Purpose  Organize source code  Construct an executable release  Specify a physical database  Developed by architects and programmers

Object Oriented Analysis and Design 7 Component Diagram - Example

Object Oriented Analysis and Design 8 Component Diagram - Example

Object Oriented Analysis and Design 9 What is Node?  a node is a physical element that exists at run time and represents a computational resource, generally having at least some memory and, often, processing capability.  A set of components may reside on a node and may also migrate from node to node.  Graphically, a node is rendered as a cube, usually including only its name. Node #1 >

Object Oriented Analysis and Design 10 What Is a Connection?  A connection represents a:  Communication mechanism Physical medium Software protocol Server > Connection Console Kiosk

Object Oriented Analysis and Design 11 Deployment Diagram  A deployment diagram is a diagram that shows the configuration of run time processing nodes and the components that live on them.  Captures the topology of a system’s hardware  Built as part of architectural specification  Purpose  Specify the distribution of components  Identify performance bottlenecks  Developed by architects, networking engineers, and system engineers

Object Oriented Analysis and Design 12 Deployment Diagram - Example Course Catalog > Registration Server Desktop PC Billing System >

Object Oriented Analysis and Design 13 Deployment Diagram -Example

Object Oriented Analysis and Design 14 Deployment Diagram -Example

Object Oriented Analysis and Design Forward, Reverse, and Round-Trip Engineering  Forward Engineering  Reverse Engineering  Round-Trip Engineering

Object Oriented Analysis and Design 16 Forward Engineering  Forward engineering means the generation of code from UML diagrams  Many of the tools can only do the static models:  They can generate class diagrams from code, but can't generate interaction diagrams.  For forward engineering, they can generate the basic (e.g., Java) class definition from a class diagram, but not the method bodies from interaction diagrams.  Demo Generate

Object Oriented Analysis and Design 17 Reverse Engineering  Reverse engineering means generation of UML diagrams from code  Demo Re-Engineer

Object Oriented Analysis and Design 18 Round-Trip Engineering  Round-trip engineering closes the loop  the tool supports generation in either direction and can synchronize between UML diagrams and code, ideally automatically and immediately as either is changed.  Demo

Object Oriented Analysis and Design Mapping Designs to Code  Creating Class Definitions from Class Diagram  Creating Methods from Interaction Diagrams  Collection Classes in Code

Object Oriented Analysis and Design 20 Creating Class Definitions from Class Diagram  Defining a Class with Method Signatures and Attributes

Object Oriented Analysis and Design 21 Creating Methods from Interaction Diagrams

Object Oriented Analysis and Design 22 Collection Classes in Code

Object Oriented Analysis and Design Test-Driven Development and Refactoring  Test-Driven Development  Refactoring

Object Oriented Analysis and Design 24 Test-Driven Development  An excellent practice promoted by the iterative and agile XP method,and applicable to the UP, is test- driven development (TDD).  It is also known as test-first development  In OO unit testing TDD-style, test code is written before the class to be tested,  and the developer writes unit testing code for nearly all production code.  Unit testing framework  The most popular unit testing framework is the xUnit family (for many languages)  For Java, the popular version is JUnit.  There's also an NUnit for.NET,  Example

Object Oriented Analysis and Design 25 Refactoring  Refactoring is a structured, disciplined method to rewrite or restructure existing code without changing its external behavior,  applying small transformation steps combined with re- executing tests each step.  Continuously refactoring code is another XP practice and applicable to all iterative methods  Code that's been well-refactored is short, tight, clear, and without duplicationit looks like the work of a master programmer.  Code that doesn't have these qualities smells bad or has code smells.