3rd Lecture Languages for information modeling

Similar documents
Model-Code-Deploy platform. Product Overview. Features. UML support. Requirements management

Which Enterprise Architect Edition Should I Purchase?

Model Driven Development Unified Modeling Language (UML)

Unified Modeling Language (UML)

CS560: Formal Modelling and Implementation of Systems (Term II) Lecture: CASE A. O Riordan, 2009.

Which Enterprise Architect Edition Should I Purchase?

UML Diagrams Enterprise Professional Standard Modeler Community. SysML Diagrams Enterprise Professional Standard Modeler Community

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

VP-UML User s Guide (Part 1)

UML & SysML Toolset Enterprise Professional Standard Modeler Community

Modelling in Enterprise Architecture. MSc Business Information Systems

FREQUENTLY ASKED QUESTIONS

Enterprise Architect. User Guide Series. Domain Models

BLU AGE 2009 Edition Agile Model Transformation

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Rational Software White paper

Systems Analysis and Design in a Changing World, Fourth Edition

Enterprise Architect. User Guide Series. Portals

Enterprise Architect Training Courses

UML Diagrams Enterprise Professional Standard Modeler Community

Database Visual ARCHITECT 5.2

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

From business need to implementation Design the right information solution

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

Enterprise Architect. User Guide Series. Portals

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

TTool Training. I. Introduction to UML

IBM Rational Rose XDE Developer

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

IRQA General 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.

Applying UML Modeling and MDA to Real-Time Software Development

(p t y) lt d. 1995/04149/07. Course List 2018

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

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

Notation Standards for TOGAF:

History of object-oriented approaches

Meta-Modeling and Modeling Languages

The etrice Eclipse Project Proposal

Database Visual ARCHITECT 6.3

Enterprise Architect 7.0

IBM Rational Software Architect

Model Driven Architecture and Rhapsody

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

Software Development Methodologies

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Model Driven Engineering (MDE)

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

OMG Specifications for Enterprise Interoperability

MDSE USE CASES. Chapter #3

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

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

From Models to Components. Rapid Service Creation with

Christian Doppler Laboratory

Unit 6 - Software Design and Development LESSON 1 INTRODUCTION

Comparative analysis of MDA tools

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

Model driven Engineering & Model driven Architecture

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Introduction to Dependable Systems: Meta-modeling and modeldriven

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

DOMAIN ENGINEERING OF COMPONENTS

How To Create A Simple Database Schema Diagram In Visual Studio 2012 >>>CLICK HERE<<<

Defining Domain-Specific Modeling Languages

AN INTEGRATED COMPONENT-BASED APPROACH TO ENTERPRISE SYSTEM SPECIFICATION AND DEVELOPMENT

Model Driven Architecture

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

09. Component-Level Design

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

IBM Rational Application Developer for WebSphere Software, Version 7.0

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

index_ qxd 7/18/02 11:48 AM Page 259 Index

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Software Architecture

Transformational Design with

UML 2.5: Specification Simplification

MDA Driven xuml Plug-in for JAVA

UML 2.0 State Machines

New Features Summary PowerDesigner 15.2

Building JavaServer Faces Applications

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Model Driven Development of Component Centric Applications

Enterprise Architect Import Db Schema From Sql File

Empowering DBA's with IBM Data Studio. Deb Jenson, Data Studio Product Manager,

Optimization Tools. Simulation Tools. Modeling Tools. Enactment System 2. Enactment System 1. Keith Swenson XPDL XPDL XPDL XPDL XPDL XPDL

Spemmet - A Tool for Modeling Software Processes with SPEM

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

A Pratical Application of the Object Constraint Language OCL

Rational Application Developer 7 Bootcamp

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Construction of BPMN-based Business Process Model Base

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach

Transcription:

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 CASE tools for object oriented analysis and design

Modeling in computer system development Modeling is one of the most important computer system design techniques. Amodelrepresents an abstraction of a part of the reality in order to better understand the software product that must be developed before starting the actual construction. Once built, the model serves to communication both within the development team and externally, with users. Characteristic features of modeling are: simplification, subordination to a purpose, representation of a reality, division, hierarchy and communication.

Modeling in computer system development Object oriented analysis and design uses three types of models for describing computer system: Static model describes system objects and their relationships; Dynamic model describes object interactions within the system; Functional model describes data value transformation within the system. 23

Languages for information modeling Generally speaking, languages for information modeling enable concise and accurate description of system properties at various level of abstraction. They are an integrated part of the computer system development process and they can be used for: linking the analysis phase with the requirements specification and implementation phases; checking the critical properties of systems; assisting in automatical generation of code and test cases.

Categories of languages for information modeling Depending on the required formalization level, the languages for information modeling are divided in: Informal languages: natural language Semi formal languages:uml, BPMN or SysML Formal languages: OCL (Object Constraint Language), Z Syntax rules NO YES YES Semantic rules NO NO YES Requirement specification language Informal (natural language) Semiformal (UML) Formal (Z, OCL)

UML language UML (Unified Modeling Language) It arose from the need to standardize the typology, semantics and representation of results. Currently, UML is a modeling standard recognized by OMG (Object Management Group). Standardization is conducted from November 1997, a continuous improvement being performed so far. UML can be defined as a visualization, specification, model building and documentation language. Its main value comes from being an open standard, covering the whole software development cycle and many application types. It is based on the experience of the team that developed it and can be implemented by many CASE tools

UML language UML has standard notations and a semantic that is appropriate for object oriented system modeling. With the advent of this language, system designers can easier understand the system documentation. Before this standardization, an object oriented project could be described using one of the multitude of available object oriented methods. If a revision was needed, a lot of time would have been lost with analyzing method notation and semantic, before starting the design.

UML history 2011 UML 2.4.1

UML basic elements 1. Metamodel for object oriented modeling A coherent set of concepts and of the relationships between them; Each element used for modeling is defined using a precise syntax (E.g.: a class definition); It is a support language for transmitting visual models between various tools;

UML basic elements 2. Diagram types

UML basic elements 3. Extension mechanisms Stereotypes are attached to an element of the model or a relation between elements (there are predefined stereotypes). Notes offer a supplementary description of a model element. Constraints limit the use of a model element. Tagged values represent attributes that are defined for a specific stereotype. Profiles personalize the metamodel by constructions that are specific to a particular field of activity, platform or development method.

Modeling with UML diagrams - perspectives A. Business process modeling is performed by usecasediagram. This diagram conducts the whole development process in the case of use case oriented methods. B. Static structure modeling is performed using class diagram (for modeling the static structure of system classes) and object diagrams (for modeling the static structure of system objects). Package diagram is a means of grouping diagram elements in packages.

Modeling with UML diagrams C. Dynamic modeling is performed by: i. interaction diagrams SEQUENCE DIAGRAM for modeling message flows between objects and COMMUNICATION DIAGRAM for modeling object interactions. ii. diagrams that describe system behavior STATECHART DIAGRAM for modeling system object behavior and ACTIVITY DIAGRAM for modeling the behavior of uses cases, objects or operations; D. Implementation modeling is performed by two diagrams: COMPONENT DIAGRAM for modeling software components DEPLOYMENT DIAGRAM for modeling system physical distribution

Computer Aided Software Engineering CASE tools are software packages based on a certain methodology/method that support designers in developing a software product. CASE tools usefulness is: quantitative (reducing time and cost of implementation) and qualitative (rigorous application of a development methodology, reducing shortfalls in implementation, achieving standard documentation, ease of redesign). CASE tools substantially reduce or eliminate many of the design and development problems of computer applications.

Traditional development vs. CASE based development Computer system traditional development CASE- based computer system development It focuses on coding and testing It focuses on analysis and design. The specifications are based on paper. Quick interactive prototyping Program manual coding Automatic code generation Manual documentation generation Automatic documentation generation Continuous testing of the software Automatic validation Maintenance of code and documentation Maintenance of design specifications

Objectives correct and complete specification of system requirements; reducing time and cost of design and development; achieving accurate, up to date design specifications, with visual presentation; integrating design and development using common methodologies / methods; standardize the design and development of computer systems; simplifying and improving of testing process; development of quality documentations; improving project management; simplifying maintenance phase of the computer systems; reuse of applications modules and documentation; improving the portability of applications; flexibility

CASE features Assistance for project management (resourceand version management) Generation of the computer system development documentation; Automaticgeneration of program code, based on design specifications; Use of Reverse Engineering technique that allows the return to a previous phase for changes. Support for one ore more analysis and design methods of computer systems. The main attended support are the diagram and text editors. Data storage and retrieval from the central data repository using specific utility software; Automatic check of data consistency and completeness using an Analyzer that contains specific rules for each methodology/method. Support for prototypes development, using high level programming languages and code generators.

Types of CASE tools By the scope of the application development cycle: Front end CASE tools (or upper CASE) offer assistance for the first development stages of computer systems (analysis and requirement specification, logical design). Back end CASE tools (or lower CASE) offer assistance for the last development stages of computer systems (physical design, program coding, testing, maintenance). Cross life cycle CASE tools offer assistance for activities that take place in several stages of the design and development of computer system (e.g., tools for project management, documentation generators).

Types of CASE tools By the consistence of the provided support: Real CASE tools provide support for a single activity of a development stage (e.g., diagram and text editors, tools for analyzing the consistency and completeness of system specification, debuggers etc.); CASE workbenches provide support for a stage of the computer system development cycle; CASE environments provide support for most (or all) stages of computer system development. This category includes: Oracle Designer/Oracle, IBM Rational Architect (Rational Rose)/IBM, Cradle/3SL, Corporate Modeler/CASEWise Inc etc.

Types of CASE tools By the intended use: CASE tools for analysis that generally use structured and object oriented analysis methods. CASE tools for design (automatic code generation, tools for interface generation, reverse engineering tools, data modeling tools). CASE tools for testing and debugging (generators of data for testing, interactive debugging tools). Interface generators (form generators, report generators, menu generators). Documentation generators (image editors, page formatting tools (layout)) etc.

Architecture of the CASE toolset

Architecture of the CASE toolset Central data repository (the core of an I CASE) stores all the objects and information necessary for application design, modeling and automatic generation. It contains: Information repository contains information about organization business and its portofolio of software applications. Data dictionary manages and controls access to the information repository. It stores descriptions of data and data processing resources. Diagram editors support the visual representation of a system and of its components. Diagrams are very efficient for representation of process flows, data structures and program structures. Transformation tools convert elements resulted from the analysis stage into design stage elements.

Architecture of the CASE toolset Forms and report generators they are intended for creating, modifying and testing prototypes of forms and reports and for identifying data that will be displayed and retrieved for each form and report Validation tools they generate reports that identify inconsistencies, duplications or gaps in diagrams, forms and reports. Code generators they generate code based on design specifications contained in the central data repository (tools for generating database objects and application modules).

CASE tools for object-oriented system development They are among the newest types of CASE tools. They promote the iterative achievement of computer systems and applications. This enables a return to earlier stages for performing additions or changes as the information system architecture is completed. Object oriented design encourages modularity, extensibility and reuse of code. Object oriented CASE tools include: Utility tools to describe objects, classes and their properties (diagrams for static and dynamic modeling) and working with them; Generators that are specialized in code generation, documentation generation, etc.

CASE tools for object-oriented system development Nowadays, there are many CASE tools that use object oriented development methods, implement UML and the object oriented languages are very popular Some examples of CASE tools that are UML based: Visual Paradigm for UML Rational Software Modeler MagicDraw Microsoft Visio Poseidon for UML Enterprise Architect BOUML StarUML UModel

Visual Paradigm Visual Paradigm for UML (VP UML) is a next generation CASE tool It focuses on three main areas: Requirements Model Code and identification building database generation It offers interoperability with other CASE tools (Visio, Visual UML, Rational) and integration with IDE tools (Net Beans) It covers most of a computer system lifecycle

Visual Paradigm Includs models of some standard languages: UML modeling All the UML 2.x diagram types can be created, building use case models, behavior models, interaction models, structural models, deployment models. BPMN modeling It can be created: business process diagram, data flow diagrams, process map diagrams, event driven process chain diagram, organization chart. Business process diagram can be exported in BPEL. SysML modeling SysML is a generic language for application and computer system engineering. VP UML supports building the requirement diagram (specific to SysML).

Visual Paradigm Requirement modeling: It identifies requirements by several mechanisms: SysML requirement diagrams for identifying functional or non functional requirements of the system. Text analysis It offers text editor whereby requirements are recorded in textual form. It enables the identification of important terms or objects (classes, use cases) for describing the problem. CRC cards contain information such as description of the class, its attributes and responsibilities. They have their own information display formats. User interface editor whereby screen layouts are designed. Term glossary management whereby project vocabulary is identified and described.

User interface editor

Visual Paradigm Database modeling two diagram types can be built: Entity Relationship Diagrams (ERD) şi ORM Object Role Modeling diagrams (for visualization of the mapping between object model and data model). A ERD can model not only table elements and features but also stored procedures, triggers, sequences and views of the database. Diagrams are built by scratch or by reverse engineering, based on an existent database. Synchronization between class diagram and entity relationship diagrams to ensure consistency between the two models. SQL code generation from models.

ERD diagram

Visual Paradigm Code generation Code and reverse engineering generators offer support for model engineering. Java Round Trip engineering offers continuous synchronization code and model for Java language. Model Code generation Reverse engineering Java x x C++ x x XML Schema x x PHP x x Python Source x x Objective-C x x CORBA IDL Source x x.net dll sau fişiere.exe x CORBA IDL Source x XML (structure) x JDBC x Hibernate x C# x VB.NET x ODL x ActionScript x Delphi x Perl x Ada95 x Ruby x

Visual Paradigm Integration with IDE (Integrated Development Environments) It supports the entire development cycle of a computer system using for programming the following IDE products: Eclipse NetBeans/Sun ONE IntelliJ IDEA Documentation generation Documentation can be shared and designed together with computer system beneficiaries, using one of the following formats: HTML (report generation), HTML (project publisher), PDF, Word.

Trends in the development of CASE tools In the last decade, CASE technologies and CASE market have become mature. One factor that stimulates the market of CASE tools is the organization's desire to extend the life of existing systems by using: i) CASE tools with reverse engineering features that support program adaptation to new hardware configurations. The analyst can restructure the code to match current business requirements; ii) CASE tools with re engineering facilities that support existent computer system change in order to improve its quality and performance. Also, object oriented and visual CASE tools will grow rapidly, and development environments will include artificial intelligence (by using software agents).

Trends in the development of CASE tools Increase of integration level of CASE tools depends largely on defining a standard for central data repository that is recognized by most tools. Although CASE technology is considered as being still immature, it provides an important support in system development. Although tend to cover the full system development cycle, CASE tools fail to replace systems implementation team. There will be some important changes in system development approach. Thus, the first stages of the system (analysis and design) will gain growing importance in spite of final stages of system development (software development, implementation and maintenance ).