Principal MagicDraw UML Trainer/Consultant

Size: px
Start display at page:

Download "Principal MagicDraw UML Trainer/Consultant"

Transcription

1 Model-Driven Di Development with ithmagicdraw UML Dr. Darius Silingas Principal MagicDraw UML Trainer/Consultant

2 Lecturer Dr. Darius Šilingas, com Principal MagicDraw UML Trainer/Consultant Trained & consulted MagicDraw customers in 17 countries USA, UK, Germany, France, South Africa, Russia, Received Ph.D. in Informatics from Vytautas Magnus University in 2005 Spoke at Architecture & Design World, OOP, JAX Holds the following professional certificates: Microsoft Certified Professional Sun Certified Programmer for the Java 2 Platform 1.4 OMG-Certified UML Professional Advanced 2

3 Contents UML and Software Development Process Introduction to MagicDraw UML UML Case Study Demo of Selected MagicDraw Features 3

4 What Is UML? A language (with graphical notation) for modeling object-oriented oriented systems A standard maintained by the Object Management Group (OMG) Provides 249 modeling concepts (meta-classes) and defines 13 diagram types A means for visualizing, specifying, constructing, and documenting systems % of software developers using UML Almost every software development company # of UML tools available ~10 really mature UML tools MagicDraw, Rational Architect, Enterprise Architect, Artisan Studio, Together/J, Objecteering, ~100 less mature UML tools, focusing on fragments of UML 4

5 Using UML in Software Workflows Domain concepts and relations Package/component structure Domain object lifecycle Interaction scenarios Business processes Data structure Actors and use cases Service API Use cases scenarios GUI navigation schemas Test case action flows Test data object structures Interactions for test scenarios Code generation from UML Visualization of code structure Model transformations 5

6 Choice of Tools? 6

7 Informal Modeling vs. Using UML Tool Informal Modeling Using UML Tool Easy to start Reusable model repository Very useful for brainstorming Model analysis tools No need to buy tools Model 2 code transformations Difficult to maintain Teamwork possibility Allows deviations from standard Learning to use tool Reuse is not possible Need to invest into buying the tool 7

8 What is MagicDraw UML? A visual UML modeling editor Domain-Specific Language (DSL) engine A roundtrip code engineering g tool Business process modeling tool A UML model teamwork control system (using Teamwork Server) System documentation tool (using the built-in and custom reports) A modeling environment and model repository for Enterprise Architecture and Model-Driven Architecture paradigms Developed since 1998 second oldest UML tool in the market! Sold in >70 countries, used in different business domains Widely regarded as the most standard-complient UML tool 8

9 Major MagicDraw UML Concepts Project Options 1 properties Project 1..* modules data 1 Model 0..* codesets Code Engineering Set diagrams 0..* Diagram diagram 1 symbols 0..* Symbol views 0..* data 1 elements 0..* Element modelelements 0..* dependencies 0..* Code File codeelements 0..* 0..* usages 1 properties 1 properties 1 properties Diagram Properties Symbol Properties Specification 9

10 MagicDraw Differentiation from Other UML Tool Most compliant to the standard High modeling productivity Highly configurable and extendible Free technical support Best value for the price 10

11 A Case Study for Various Validation Rule Examples 1. An university needs a system MagicTest, which automates test assessments. 2. Teachers specify and maintain questions. 3. Each question must be applicable for 1 or more courses. 4. A question can be closed or open. 5. A closed question defines an ordered set of answer options, where at least one answer option is correct and at least one is incorrect. 6. An open question defines an expected correct answer. 7. Teachers define tests for particular classes that they are running. 8. A test collects a number of questions. 9. A test author also specifies test title, instructions, and allowed time. 10. Students participate in test assessments by providing answers to test questions. 11. MagicTest calculates test assessment evaluations. 12. Data about teachers, students, courses and classes are provided by University Data System (UDS). CHECK OUT MagicTest.mdzip MODEL for ARTEFACTS 11

12 Current MagicDraw UML Functionalities Model Repository Graphical Diagramming Model Analysis Tools Search/Replace Find/Display Related Elements Calculate Metrics Define Dependency Matrices Configuration User Perspective Environment Options Project Options Environment Extendibility Open API Fragments of AMI Custom Reports Project Decomposition Projects & Modules Model Validation Using OCL or Java Teamwork Server Modeling in Teams DSL Engine Define custom modeling languages Project Version Management Branching, comparison, merge Model Reports Based on user-defined templates Code Engineering Generate code or reserve model 12

13 Model Validation Created models may be incorrect or incomplete You can define validation rules in OCL and validate model against them 13

14 Model Analysis Tools Generating Relationship Matrix Finding model element Dependencies/Usages Calculating model metrics Comparing two versions of model data structures and diagrams AudioRecord Book Category Item ItemState Loan Penalty Reader Request Reservation ReservationState e Title TitleCollection UserProfile VideoRecord entity AudioRecord Book Category Item ItemState Loan Penalty Reader Request Reservation ReservationState Title TitleCollection UserProfile VideoRecord

15 Comparison of Model Data Structure Versions Added element Deleted elements Modified element a diagram 15

16 Comparison of Diagram Versions Find out modified parts in diagrams! 16

17 Merging Two Model Versions 17

18 Modeling Teamwork Global l project repository Projects Users Permissions Collaboration inside a project Locking/unlocking model elements Seeing who has locked which elements Submitting changes Change management age e Versioning Branching Comparing Merging 18

19 Model Transformations Model 2 Code using Code Engineering i Sets Model 2 Model using plug-in Transformations Model 2 Document using Report Wizard with Templates Concept #forrow ($class in $sorter.sort($class, name )) $report.geticonfor($class) $class.name Description $report.getcomment($class) #endrow Concept Reader Request Description Information about library customer. Document registering reader's wish to have a new title in a library. Request est Evaluation ation Librarian's ian's decision whether to approve or deny reader's request. Title Information about a book, journal or another kind of library inventory item. Library may contain multiple l copies of the same title. 19

20 Model Patterns Apply classic GoF patterns Apply behavioral patterns Reuse predefined model fragments from libraries Title pre-loop action -name : String -publishedat : date -author : String -children 0..* Entry Composite State Inner State A in-loop action TitleCollection Inner State B +add( comp : Title ) +remove( comp : Title ) +getchild( index : int ) : Title [last item] post-loop action [next item] Exit A Exit B 20

21 Source Code Analysis Using UML You can analyze source code structure using UML as visualization Model can be reversed from source code using reverse engineering tools UML tools include model visualization tools that help to create diagrams from reversed model quickly For model analysis, it is common to use dependency diagrams Possibility to track related elements Calculation of various code analysis metrics EXERCISE: Try out reverse engineering and analyzing JUnit framework 21

22 Top-Level Package Dependency Diagram for JUnit Framework junit textui swingui awtui Presentation Layer runner framework extensions Execution Core Additions 22

23 Overview of JUnit Package junit.framework framework (junit) Assert... Test AssertionFailedError TestCase TestSuite ComparisonFailure TestFailure TestResult TestListener t Protectable t

24 Core JUnit Classes Assert (junit.framework) +asserttrue( b : boolean ) : void +assertfalse( b : boolean ) : void +fail( string : String ) : void +fail() : void +assertequals( object : Object, object1 : Object ) : void +assertequals( f : float, f1 : float, f2 : float ) : void +assertequals( b : boolean, b1 : boolean ) : void +assertequals( i : int, i1 : int ) : void +assertnotnull( object : Object ) : void +assertnull( object : Object ) : void +assertsame( object : Object, object1 : Object ) : void +assertnotsame( object : Object, object1 : Object ) : void... Test (junit.framework) +counttestcases() : int +run( testresult : TestResult ) : void -ftests 0..* TestCase (junit.framework) +TestCase() +TestCase( string : String ) +counttestcases() : int +run( testresult : TestResult ) : void... TestSuite (junit.framework) +TestSuite() +TestSuite( string : String ) +addtest( test : Test ) : void +addtestsuite( class : Class ) : void +counttestcases() : int +run( testresult : TestResult ) : void... 24

25 Model-Driven Architecture Model-driven di architecture t (MDA)i is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in org/mda org/wiki/model-driven_architecture 25

26 Data Modeler s Bermuda Triangle Objects Relational databases XML schemas 26

27 Applying MDA to Data Design Domain ER model (concepts and relationships) OO data model (classes, attributes, types, associations) Manual transformation Design solutions Semi-automated transformation UML DDL-specific UML UML XSD-specific UML Relational Schema model (tables & keys complex types & attributes) Automated transformation DDL-specific UML DDL XSD-specific UML XSD DDL XSD code (DDL script XML schema specification) 27

28 Case Study: Domain ER Model Reader submits Reservation fulfills Loan 1 * * * books 1 issues 1 Category is assigned to Title is instance of Item 1..* * 1 * 28

29 Case Study: Object-Oriented Data Model Reader Reservation Loan id : Integer active : Boolean name : String String author 1 madeat : date pendingfrom : date status : Integer reservation 1 madeat : date returnedat : date dueat : date reservedtitle 1 loaneditem 1 Category Title 0..1 Item name : String categories name : String assigneditem nr : Integer description : String 1..* author : String title status : Integer publishedat : date 1 0..* Book isbn : String pages : Integer MediaRecord duration : Integer tracks : String 29

30 Case Study: DDL-Specific Model <<table>> Reader <<table>> Reservation <<table>> Loan <<PK>>id : integer active : Boolean name : varchar varchar <<FK>> <<PK>>id : integer madeat : date pendingfrom : date status : integer fkreader : integer [1] fktitle : integer [1] <<FK>> <<PK>>id : integer madeat : date returnedat : date dueat : date fkitem : integer [1] fkreservation : integer [1] <<FK>> <<FK>> <<FK>> <<table>> CategoryTitle fkcategory : integer fktitle : integer <<FK>> <<table>> Title <<PK>>id : integer name : varchar author : varchar publishedat : date <<FK>> <<table>> Item <<PK>>id : integer nr : integer status : integer fktitle : integer [1] fkreservation : integer [1] <<FK>> <<FK>> <<FK>> <<table>> Category <<table>> Book <<table>> MediaRecord <<PK>>id : integer name : varchar description : varchar <<PK>>id : integer isbn : varchar pages : integer <<PK>>id : integer duration : integer tracks : varchar 30

31 Case Study: DDL Script (Fragment) CREATE TABLE Reservation ( id integer PRIMARY KEY, madeat date, pendingfrom date, status s integer, fkreader integer NOT NULL, fktitle integer NOT NULL, FOREIGN KEY(fkTitle) REFERENCES Title(id), FOREIGN KEY(fkReader) REFERENCES Reader(id)); 31

32 Case Study: XSD-Specific Model <<XSDcomplexType>> <<XSDelement>> <<XSDcomplexType>> <<XSDelement>> <<XSDsequence>> author <<XSDsequence>> reservation Reader 1 0..* Reservation 1 0..* id : integer madeat : datetime active : Boolean pendingfrom : datetime name : string status : integer string <<XSDcomplexType>> <<XSDsequence>> Loan madeat : datetime returnedat : datetime dueat : datetime <<XSDcomplexType>> <<XSDsequence>> Category name : string description : string <<XSDelement>> categories 1..* 0..* <<XSDelement>> reservedtitle 1 <<XSDcomplexType>> <<XSDsequence>> Title name : string author : string publishedat : datetime <<XSDelement>> loaneditem 1 <<XSDelement>> <<XSDcomplexType>> assigneditem <<XSDsequence>> 0..1 Item <<XSDelement>> title nr : integer status : integer 1 0..* <<XSDextension>> <<XSDcomplexContent>> <<XSDcomplexType>> <<XSDsequence>> Book isbn : string pages : integer <<XSDextension>> <<XSDcomplexContent>> <<XSDcomplexType>> <<XSDsequence>> MediaRecord duration : integer tracks : string 32

33 Case Study: XML Schema (Fragment) <xs:complextype name="reservation"> <xs:sequence> <xs:element maxoccurs="1" name="author" type="reader"/> <xs:element maxoccurs="1" name="reservedtitle" type="title"/> <xs:element maxoccurs="1" minoccurs="0" name="assigneditem" type="item"/> </xs:sequence> <xs:attribute name="madeat" type="xs:datetime"/> <xs:attribute name="pendingfrom" type="xs:datetime"/> <xs:attribute name="status" type="xs:integer"/> </xs:complextype> 33

34 Thank You for Attention! Questions??? Let s Keep in Touch: Dr. Darius Šilingas darius.silingas@nomagic.com Skype: darius.silingas Phone:

MDA. SOA = Model Driven SOA

MDA. SOA = Model Driven SOA Introducing Model Driven SOA MDA + SOA = Model Driven SOA SoaML an Emerging Standard for SOA Modeling Dr. Darius Silingas Principal Trainer/Consultant darius.silingas@nomagic.com Introduction Who Am I?

More information

Towards UML-Intensive Framework for Model-Driven Development

Towards UML-Intensive Framework for Model-Driven Development Towards UML-Intensive Framework for Model-Driven Development Darius Silingas,2, Ruslanas Vitiutinas,3 No Magic, Inc., Lithuanian Development Center Savanoriu av. 363-IV, LT-44242 Kaunas, Lithuania 2 Kaunas

More information

MD3 Integrated Model-Driven Data Design for Objects, XML, and Relational Databases

MD3 Integrated Model-Driven Data Design for Objects, XML, and Relational Databases ISSN 392-056. INFORMACIJOS MOKSLAI. 2009 50 MD3 Integrated Model-Driven Data Design for Objects, XML, and Relational Databases Darius Šilingas UAB Baltijos programinė įranga mokymų skyriaus vadovas No

More information

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. Introduction p. xxi Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. 7 Understanding UML Diagrams p. 10 Visual Modeling

More information

TUTORIALS. version

TUTORIALS. version TUTORIALS version 17.0.1 No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by any means. All

More information

NoMagic Product Comparison Brief

NoMagic Product Comparison Brief 1 NoMagic Product Comparison Brief Presented to: SET, AMSEWG Last Updated : September 15 th, 2017 Presented by: David Fields Overview NoMagic offers a variety of UML and SysML tools each with multiple

More information

IBM Rational Software Architect

IBM Rational Software Architect Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for

More information

Which Enterprise Architect Edition Should I Purchase?

Which Enterprise Architect Edition Should I Purchase? Which Enterprise Architect Edition Should I Purchase? Enterprise Architect is available in four editions - Ultimate, Unified, Corporate, and Professional. Functionality for each edition is as follows:

More information

Ch t 8 Chapter 8. System Models

Ch t 8 Chapter 8. System Models Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling

More information

Which Enterprise Architect Edition Should I Purchase?

Which Enterprise Architect Edition Should I Purchase? Which Enterprise Architect Edition Should I Purchase? Enterprise Architect is available in six editions - Ultimate, Systems, Business and Software, Corporate, Professional and Desktop. Functionality for

More information

Chapter 9 Quality and Change Management

Chapter 9 Quality and Change Management MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the <mymadeuptag> element and generally do their best

HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the <mymadeuptag> element and generally do their best 1 2 HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the element and generally do their best when dealing with badly placed HTML elements. The

More information

IRQA General Information:

IRQA General Information: : TABLE OF CONTENTS INTRODUCTION...4 KEY DIFFERENTIATORS...5 1. Flexibility to visually support multiple end-to-end processes and methodologies in Software and Systems Engineering... 5 2. Low implementation

More information

UML PROFILING AND DSL

UML PROFILING AND DSL UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced

More information

2015 Ed-Fi Alliance Summit Austin Texas, October 12-14, It all adds up Ed-Fi Alliance

2015 Ed-Fi Alliance Summit Austin Texas, October 12-14, It all adds up Ed-Fi Alliance 2015 Ed-Fi Alliance Summit Austin Texas, October 12-14, 2015 It all adds up. Sustainability and Ed-Fi Implementations 2 Session Overview Introduction (5 mins) Define the problem (10 min) Share In-Flight

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

CSCE 747 Unit Testing Laboratory Name(s):

CSCE 747 Unit Testing Laboratory Name(s): CSCE 747 Unit Testing Laboratory Name(s): You have been hired to test our new calendar app! Congrats!(?) This program allows users to book meetings, adding those meetings to calendars maintained for rooms

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.

More information

RUNNING AND CREATING JUNIT TESTS WITH FUEGO FUEGO V5. Pablo Victory

RUNNING AND CREATING JUNIT TESTS WITH FUEGO FUEGO V5. Pablo Victory USING JUNIT IN FUEGO RUNNING AND CREATING JUNIT TESTS WITH FUEGO FUEGO V5 Pablo Victory pvictory@fuego.com August 11, 2004 CONTENTS Contents 1 Introduction 3 2 Using JUnit 4 2.1 Cataloging JUnit..........................

More information

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development

More information

Defining Domain-Specific Modeling Languages

Defining Domain-Specific Modeling Languages Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often

More information

Publishing and reviewing models on the Web Dr. Andrius Armonas, MagicDraw Product Manager

Publishing and reviewing models on the Web Dr. Andrius Armonas, MagicDraw Product Manager Publishing and reviewing models on the Web Dr. Andrius Armonas, MagicDraw Product Manager Presentation agenda Introduction: the problem being solved Technologies supported by Cameo Systems Modeler for

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Introducing Rational ClearQuest

Introducing Rational ClearQuest Introducing Rational ClearQuest support@rational.com http://www.rational.com IMPORTANT NOTICE COPYRIGHT NOTICE ClearQuest, copyright 1997-1999 Rational Software Corporation. All rights reserved. THIS DOCUMENT

More information

Lecture 17: Case Study: JUnit

Lecture 17: Case Study: JUnit Lecture 17: Case Study: JUnit The JUnit testing framework which you ve been using to test your own code in 6.170 is worth studying in its own right. It was developed by Kent Beck and Erich Gamma. Beck

More information

Chapter 3 Brief Overview of XML

Chapter 3 Brief Overview of XML Slide 3.1 Web Serv vices: Princ ciples & Te echno ology Chapter 3 Brief Overview of XML Mike P. Papazoglou & mikep@uvt.nl Slide 3.2 Topics XML document structure XML schemas reuse Document navigation and

More information

FREQUENTLY ASKED QUESTIONS

FREQUENTLY ASKED QUESTIONS Borland Together FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Together? Borland Together is a visual modeling platform that enables software teams to consistently deliver on-time, high

More information

JUnit Test Patterns in Rational XDE

JUnit Test Patterns in Rational XDE Copyright Rational Software 2002 http://www.therationaledge.com/content/oct_02/t_junittestpatternsxde_fh.jsp JUnit Test Patterns in Rational XDE by Frank Hagenson Independent Consultant Northern Ireland

More information

Introduction to ERwin

Introduction to ERwin Introduction to ERwin Database Design & Modelling Hans-Petter Halvorsen, M.Sc. Software The following Editions can be downloaded for Free on Internet: CA ERwin Data Modeler Community Edition SQL Server

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

IBM Rational Rose XDE Developer

IBM Rational Rose XDE Developer Extend Your Development Experience Developer Highlights Model-driven development Assisted modeling with UML support Multiple model support for Roundtrip engineering Java, Model-Driven Architecture C++,

More information

Modeling Databases Using UML

Modeling Databases Using UML Modeling Databases Using UML Fall 2017, Lecture 4 There is nothing worse than a sharp image of a fuzzy concept. Ansel Adams 1 Software to be used in this Chapter Star UML http://www.mysql.com/products/workbench/

More information

Automated Acceptance Testing

Automated Acceptance Testing Automated Acceptance Testing Björn Beskow Callista Enterprise AB bjorn.beskow@callista.se http://www.callista.se/enterprise CADEC 2004-01-28, Automated Acceptance Testing, Slide 1 Target audience and Objectives

More information

<Insert Picture Here> Oracle SQL Developer Data Modeler 3.0: Technical Overview

<Insert Picture Here> Oracle SQL Developer Data Modeler 3.0: Technical Overview Oracle SQL Developer Data Modeler 3.0: Technical Overview February 2011 Contents Data Modeling Why model? SQL Developer Data Modeler Overview Technology and architecture Features

More information

INF5120 and INF9120 Modelbased System development

INF5120 and INF9120 Modelbased System development INF5120 and INF9120 Modelbased System development Lecture 5: 13.02.2016 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 Course parts (16 lectures) - 2017 January

More information

Test Execution and Automation. CSCE Lecture 15-03/20/2018

Test Execution and Automation. CSCE Lecture 15-03/20/2018 Test Execution and Automation CSCE 747 - Lecture 15-03/20/2018 Executing Tests We ve covered many techniques to derive test cases. How do you run them on the program? You could run the code and check results

More information

CS561 Spring Mixed Content

CS561 Spring Mixed Content Mixed Content DTDs define mixed content by mixing #PCDATA into the content model DTDs always require mixed content to use the form (#PCDATA a b )* the occurrence of elements in mixed content cannot be

More information

Database Modeling. DBTech-EXT - Thessaloniki, Greece Outi Virkki - Haaga-Helia University of Applied Sciences.

Database Modeling. DBTech-EXT - Thessaloniki, Greece Outi Virkki - Haaga-Helia University of Applied Sciences. 1 (14) Database Modeling DBTech-EXT - Thessaloniki, Greece 10.9.2009 Outi Virkki - Haaga-Helia University of Applied Sciences Contents How to accomplish a database?... 2 Toolbox for a database designer...

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

The Data Web and PLM Transforming PLM through Web Standards and Technologies

The Data Web and PLM Transforming PLM through Web Standards and Technologies The Data Web and PLM Transforming PLM through Web Standards and Technologies PDT Europe 2017 19 October 2017 Brian King - Koneksys About Me 20 years experience in industry Software development background,

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

Why using Smalltalk for Teaching Object- Oriented Design

Why using Smalltalk for Teaching Object- Oriented Design Why using Smalltalk for Teaching Object- Oriented Design N. Bouraqadi - Ecole des Mines de Douai S. Ducasse - University of Berne S. Stinckwich - University of Caen R. Wuyts - Université Libres de Bruxelles

More information

UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK

UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK 01 January, 2018 UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK Document Filetype: PDF 200.01 KB 0 UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK Platform assignment system for the trains in a

More information

QualiWare Lifecycle Manager. Starter course

QualiWare Lifecycle Manager. Starter course QualiWare Lifecycle Manager Starter course Agenda Introduction: agenda, course objectives, presentation Overview About QualiWare Set-up and navigation How to draw diagrams How to describe diagrams and

More information

Answer: D. Answer: B. Answer: B

Answer: D. Answer: B. Answer: B 1. Management information systems (MIS) A. create and share documents that support day-today office activities C. capture and reproduce the knowledge of an expert problem solver B. process business transactions

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Implementing Model Driven Architecture

Implementing Model Driven Architecture TUTORIAL Implementing Model Driven Architecture Using Enterprise Architect MDA in Practice By Frank Truyen frank.truyen@cephas.cc All rights reserved. Page 1 Cephas Consulting Corp. Implementing Model

More information

Enterprise Architect Import Db Schema From Sql File

Enterprise Architect Import Db Schema From Sql File Enterprise Architect Import Db Schema From Sql File Database Schema In order to import your requirements and/ or use cases for your project from EA to In the SQL Server section, the article details how

More information

Index. BigBadGuiTools (BBGT), 186 Business logic and data layer, 32 Business requirements

Index. BigBadGuiTools (BBGT), 186 Business logic and data layer, 32 Business requirements Index A ADO.NET, SQL driver documentation, 171 dr.read() method, 173 ExecuteNonQuery method, 173 IDbDataParameter interface, 174 Interface variables, 173 MySqlDataReader, 173 MySql reference, 170 placeholders,

More information

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods System models Abstract descriptions of systems whose requirements are being analysed Ian Sommerville 995/2000 (Modified by Spiros Mancoridis 999) Software Engineering, 6th edition. Chapter 7 Slide System

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

More information

Philosophy of Unit Testing

Philosophy of Unit Testing Unit Testing in.net Philosophy of Unit Testing What? Where? Why? How? What it is not? Test individual components (units) in isolation isolate and validate verify to confirm preexisting specification. Inputs

More information

6. The Document Engineering Approach

6. The Document Engineering Approach 6. The Document Engineering Approach DE + IA (INFO 243) - 11 February 2008 Bob Glushko 1 of 40 Plan for Today's Class Modeling Methodologies The Document Engineering Approach 2 of 40 What Modeling Methodologies

More information

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

The Sun s Java Certification and its Possible Role in the Joint Teaching Material The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

Model Driven Architecture - The Vision

Model Driven Architecture - The Vision Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

Topics. Software Testing Test Driven Development Black Box Testing Unit Testing White Box Testing Coverage Testing Software Debugging

Topics. Software Testing Test Driven Development Black Box Testing Unit Testing White Box Testing Coverage Testing Software Debugging Supplemental Materials: Software esting CS2: Data Structures and Algorithms Colorado State University Chris Wilcox, Russ Wakefield, Wim Bohm, Dave Matthews opics Software esting est Driven Development

More information

BEAWebLogic. Integration. Transforming Data Using XQuery Mapper

BEAWebLogic. Integration. Transforming Data Using XQuery Mapper BEAWebLogic Integration Transforming Data Using XQuery Mapper Version: 10.2 Document Revised: March 2008 Contents Introduction Overview of XQuery Mapper.............................................. 1-1

More information

Collaborative Repositories in Model Driven Engineering

Collaborative Repositories in Model Driven Engineering IEEE Copyright Notice. Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, Alfonso Pierantonio. Collaborative Repositories in Model Driven Engineering. IEEE Software. Published version are available at http://ieeexplore.ieee.org/document/7093036/references

More information

Index. Add Diagram > Sequence Diagram command,

Index. Add Diagram > Sequence Diagram command, Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered

More information

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner Xiao-Yun WANG PowerDesigner Chief Architect xwang@sybase.com OBJECTIVES 1. Understand what s Model-Driven Development 2. Understand why Model-Driven

More information

Version Control for PL/SQL

Version Control for PL/SQL Version Control for PL/SQL What is the problem? How did we solve it? Implementation Strategies Demo!! Customer Spotlight Success Story: (In other words, this really works. :-) ) Rhenus Logistics, leading

More information

JUnit 3.8 Documented Using Collaborations

JUnit 3.8 Documented Using Collaborations JUnit 3.8 Documented Using Collaborations Dirk Riehle, dirk@riehle.org, www.riehle.org Abstract This technical report describes the design of the unit testing framework JUnit in its version 3.8. The documentation

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Part 2: XML and Data Management Chapter 6: Overview of XML

Part 2: XML and Data Management Chapter 6: Overview of XML Part 2: XML and Data Management Chapter 6: Overview of XML Prof. Dr. Stefan Böttcher 6. Overview of the XML standards: XML, DTD, XML Schema 7. Navigation in XML documents: XML axes, DOM, SAX, XPath, Tree

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives Software Engineering 1 SOFTWARE ENGINEERING For the undergraduate curriculum in Software Engineering (http:// www.se.iastate.edu) leading to the degree Bachelor of Science. This curriculum is accredited

More information

On why C# s type system needs an extension

On why C# s type system needs an extension On why C# s type system needs an extension Wolfgang Gehring University of Ulm, Faculty of Computer Science, D-89069 Ulm, Germany wgehring@informatik.uni-ulm.de Abstract. XML Schemas (XSD) are the type

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

The Eclipse Modeling Framework and MDA Status and Opportunities The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

TTool Training. I. Introduction to UML

TTool Training. I. Introduction to UML TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML

More information

Enterprise Architect. User Guide Series. Portals. Author: Sparx Systems. Date: 19/03/2018. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Portals. Author: Sparx Systems. Date: 19/03/2018. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Portals Author: Sparx Systems Date: 19/03/2018 Version: 1.0 CREATED WITH Table of Contents Portals 3 Perspective Portal 6 Workspace Portal 7 Window Portal 9 Status

More information

Building JavaServer Faces Applications

Building JavaServer Faces Applications IBM Software Group St. Louis Java User Group Tim Saunders ITS Rational Software tim.saunders@us.ibm.com 2005 IBM Corporation Agenda JSF Vision JSF Overview IBM Rational Application Developer v6.0 Build

More information

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Fusion Middleware 11g: Build Applications with ADF I Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn Java EE is a standard, robust,

More information

(Introduction Title slide) (Forward engineering) [Start demo]

(Introduction Title slide) (Forward engineering) [Start demo] (Introduction Title slide) Welcome to this demonstration of IBM InfoSphere Data Architect. InfoSphere Data Architect is a collaborative data design solution to discover, model, relate, and standardize

More information

Creating databases using SQL Server Management Studio Express

Creating databases using SQL Server Management Studio Express Creating databases using SQL Server Management Studio Express With the release of SQL Server 2005 Express Edition, TI students and professionals began to have an efficient, professional and cheap solution

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

Enterprise Architect. User Guide Series. Portals

Enterprise Architect. User Guide Series. Portals Enterprise Architect User Guide Series Portals What are Portals? In Sparx Systems Enterprise Architect, each Portal is a high-level logical grouping of common tools, custom searches, window layouts and

More information

A learning initiative for all What is it? - What does it cost? Usability Mapping. By CAT - i

A learning initiative for all What is it? - What does it cost? Usability Mapping. By CAT - i A learning initiative for all What is it? - What does it cost? Usability Mapping By CAT - i Safety and documentation cannot be separated. We will never know how much harm we prevented. We must always know

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

Dynamic Analysis Techniques Part 2

Dynamic Analysis Techniques Part 2 oftware Design (F28SD2): Dynamic Analysis Techniques Part 2 1 Software Design (F28SD2) Dynamic Analysis Techniques Part 2 Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University

More information

Module Road Map. 7. Version Control with Subversion Introduction Terminology

Module Road Map. 7. Version Control with Subversion Introduction Terminology Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with Subversion Introduction Terminology

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

CS159. Nathan Sprague. September 30, 2015

CS159. Nathan Sprague. September 30, 2015 CS159 Nathan Sprague September 30, 2015 Testing Happens at Multiple Levels Unit Testing - Test individual classes in isolation. Focus is on making sure that each method works according to specification.

More information

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA IBM Software Group Oliopäivät 28-29.11.2006 Modelling Now and in the Future, with Acronyms or without = RSA rami.talme@fi.ibm.com 2006 IBM Corporation IBM Software Group Rational software The business-driven

More information

Enterprise Architect. User Guide Series. Portals

Enterprise Architect. User Guide Series. Portals Enterprise Architect User Guide Series Portals What are Portals? In Sparx Systems Enterprise Architect, each Portal is a high-level logical grouping of common tools, custom searches, window layouts and

More information

Avancier Methods (AM)

Avancier Methods (AM) Methods (AM) CONCEPTS Regular expressions in XSDs, Perl & JSP It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems Doi:10.5901/ajis.2014.v3n6p475 Abstract Oskeol Gjoni PHD Student at European

More information

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr Conceptual Modelling AGENDA Analysis & Specification with Conceptual Models 2 Requirements Specification ANALYSIS & SPECIFICATION WITH CONCEPTUAL

More information

Component-based Architecture Buy, don t build Fred Broks

Component-based Architecture Buy, don t build Fred Broks Component-based Architecture Buy, don t build Fred Broks 1. Why use components?... 2 2. What are software components?... 3 3. Component-based Systems: A Reality!! [SEI reference]... 4 4. Major elements

More information

COPYRIGHTED MATERIAL. Contents. Part One: Team Architect 1. Chapter 1: Introducing the Visual Designers 3

COPYRIGHTED MATERIAL. Contents. Part One: Team Architect 1. Chapter 1: Introducing the Visual Designers 3 About the Authors Acknowledgments Introduction Part One: Team Architect 1 Chapter 1: Introducing the Visual Designers 3 Why Design Visually? 4 Microsoft s Modeling Strategy 5 Model-driven development 5

More information

Course Microsoft Dynamics 365 Customization and Configuration with Visual Development (CRM)

Course Microsoft Dynamics 365 Customization and Configuration with Visual Development (CRM) Course 822716 Microsoft Dynamics 365 Customization and Configuration with Visual Development (CRM) Length 3 days Prerequisites Working knowledge of: Dynamics 365 (CRM) features and functionality; development,

More information

JUnit: The Goals of JUnit

JUnit: The Goals of JUnit JUnit Cook s s Tour CSIE Department, NTUT Woei-Kae Chen 1 JUnit: The Goals of JUnit To write a framework within which we have some glimmer of hope that developers will actually write tests. The framework

More information

Database Systems. S. Adams. Dilbert. Available: Hans-Petter Halvorsen

Database Systems. S. Adams. Dilbert. Available:  Hans-Petter Halvorsen Database Systems S. Adams. Dilbert. Available: http://dilbert.com Hans-Petter Halvorsen Old fashion Database (Data-storage) Systems Not too long ago, this was the only data-storage device most companies

More information