Information systems modelling UML and service description languages

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

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages

COMP9321 Web Application Engineering

Model-View-Controller

UNIVERSITY OF NEBRASKA AT OMAHA COURSE SYLLABUS. Department and Course Number CSCI 4900 Internet Systems Development

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

X-S Framework Leveraging XML on Servlet Technology

Rational Software White paper

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Object-Oriented Software Development Goal and Scope

UNIT-I Introduction of Object Oriented Modeling

Software Engineering

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Software Engineering with Objects and Components Open Issues and Course Summary

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca

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

Incremental development A.Y. 2018/2019

Information systems modelling UML and service description languages

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software

Week 9 Implementation

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004

Software Service Engineering

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

CSC Advanced Object Oriented Programming, Spring Overview

COURSE DESCRIPTION. Time distribution

Representing System Architecture

Review Software Engineering October, 7, Adrian Iftene

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Object-Oriented Analysis and Design Using UML (OO-226)

COURSE OUTLINE PRE-REQUISITES/CO-REQUISITES: COMP228, COMP214 COURSE ELIGIBILITY FOR PRIOR LEARNING ASSESSMENT AND RECOGNITION (PLAR):

Index. Add Diagram > Sequence Diagram command,

Software Development Methodologies

Lecture 2: Software Engineering (a review)

Object-Oriented Design

Systems Analysis & Design

Computer Science for Engineers

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Oracle 10g: Build J2EE Applications

Work groups meeting 3

Rational Application Developer 7 Bootcamp

Design and Implementation of Bibliography Registration System

Systems Analysis and Design in a Changing World, Fourth Edition

Practical Model-Driven Development with the IBM Software Development Platform

Accelerating J2EE Development with Rational XDE

Information systems modelling UML and service description languages

Analysis, Modeling, and Design (AMD) Tools Software Market Strategies, Market Opportunities, and Market Forecasts, 2001 to 2006

Chapter 6 Enterprise Java Beans

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

02291: System Integration

Getting a Quick Start with RUP

Object-Oriented Analysis and Design

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

CISC 322 Software Architecture

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.

Object-Oriented Design

Requirements and Design Overview

L02.1 Introduction... 2

James Newkirk

Change Management Process on Database Level within RUP Framework

JAFAR: DETAILED DESIGN OF A PATTERN-BASED J2EE FRAMEWORK

Research Review on Basic Principles of Unified Modelling Language

CS487 Midterm Exam Summer 2005

Using Design Patterns in Java Application Development

Object Design II: Design Patterns

System Structure Modeling

Introduction to Software Engineering

The Unified Modeling Language (UML)

Deccansoft Software Services. J2EE Syllabus

Engineering Design w/embedded Systems

Second Midterm Review

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Outline of Unified Process

Introduction to Object-Oriented Programming

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

White Paper. Rose PowerBuilder Link

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Mapping UML Component Specifications to JEE Implementations

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

An Introduction to Patterns

DESIGN PATTERN - INTERVIEW QUESTIONS

Design Patterns. Gunnar Gotshalks A4-1

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

RADX - Rapid development of web applications in XML

PLATFORM TECHNOLOGY UNIT-5

Design Patterns For Object Oriented Software Development Acm Press

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Designing a Distributed System

Towards Better Support for Pattern-Oriented Software Development

The Unified Modeling Language User Guide

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

Transcription:

Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages

Introduction INFORMATION SYSTEMS MODELLING, UML AND SERVICE DESCRIPTION LANGUAGES - INEA 102 The language of the course is advanced English. Students enrol obligatorily for the course on the second term of the first year, during which 30h of lectures as well as 30h of laboratories take place. Workload is 150, and number of ECTS points equals 5. Traditional teaching Outcome: Knowledge of techniques based on design patterns used in object analysis, design and programming. Web Services architecture design and implementation. Assessment: laboratory (50%) and the two-hour test (50%). The test take place in Mayduring the last lecture.

Literature 1. A. Deepak, J. Crupi, D. Malks, Core J2EE Pattrerns: Best Practicies and Design Strategies, 2nd Edition, Prentice Hall Ptr, 2003 2. E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1994. 3. I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process, Addison-Wesley Professional, 1999 4. J. Nilson: Applying Domain-Driven Designand Patterns,With Examples in C# and.net, Addison-Wesley Professional, 2006 5. R.C. Martin, M. Martin: AGILE principles, patterns and practicesin C#, Prentice Hall, 2006 6. A. Shalloway, J. Trott: Design Patterns Explained: A New Perspective on Object-Oriented Design, Addison- Wesley Professional, 2004 7. Tutorial Java EE 6.0. Available at: http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html

Introduction to Information Systems Modelling- UML 1. Multitiered information systems 2. Software Development Model 3. Introduction to modelling of information systems 4. Software Development Environment 5. The role of the Unified ModellingLanguage - UML

Introduction to Information Systems Modelling -UML 1. Multitiered information systems

Definition of information system Informal Information system: Human resources - people Formal information system: management procedures knowledge base Technical Information System: Equipment Software Database Knowledge Base Any information system is a collection of interrelated elements informal, formal and technical whose main function is data processing using the computer Technical Information System an organized team of technical resources (computers, software, hardware teletransmission etc.) used for collecting, processing and transmitting information

Multitiered Information System by D.Alur, J.Crupi, D. Malks, Core J2EE. Desin Patterns Client Tier Customer applications, applets, elements of the graphical user interface Presentation Tier JSP Pages, servlets, and other user interface elements Business Tier EJB components and other business objects Integration Tier JMS, JDBC, connectors and connections with external systems Resource Tier Databases, external systems and other resources Interacting with users, device and user interface presentation Login, session management, content creation, formatting, validation and content delivery Business logic, transactions, data and services Resource adapters, external systems, mechanisms for resource, control flow Resources, data and external services

Examplarymultitiered Information System (Java EE 5 TutorialJava EE 5) Java EE Application 1 Java EE Application 2 Client Tier Client Machine JavaServer Faces Pages Web Tier Java EE Server Enterprise Beens Enterprise Beens Business Tier Database Database EIS Tier Database Server

Introduction to Information Systems Modelling -UML 1. Multitiered information systems 2. Software Development Model

The process model of software development (software life cycle model) Creating a technical information system is related to: -construction of software: what and how to do? - software development process management: when to perform? - deployment Modellingthe structure and dynamics of the system Implementation of the structure and dynamics of the system, code generation Perspective of the concept what to do? Model of the realsystem Requirements Analysis(conceptual model) Conceptualmodeltests Perspective of specifications how should I use? Design model (hardwareand architecture software; user access; storage ) Design model tests Perspective of implementation how to perform? Programming(specificationof the program: declarations, definitions; additionaldata structures:structure of containers, files, databases) Software tests Implementation Deployment tests

Unified iterational and incremental software development processwhen? (by Jacobson I., Booch G, Rumbaugh J. The unified software development process) Core Workflows Inception Elaboration Construction Transition Business M odeling Requirements Analysis, Design Program ming Test Implem entation Change M anagement Business M anagement E nvironm ent 1-a 2-a - - - - - n-1 n Iterations (time )

Introduction to Information Systems Modelling- UML 1. Multitiered information systems 2. Software Development Model 3. Introduction to modelling of information systems

Workflows (by G.Booch, J. Rumbaugh, I.Jacobson) Business modelling a description of dynamics and structures Requirements-requirements specificationby means ofuse cases Analysis and design-architectural development of different perspectives Programming- software development, unit testing, system integration Testing to describe test data, procedures and correctness metrics Implementation - to determine the final configuration of the system Configuration management to gain controlover changesand to ensure coherence of the system components Project management to describevarious strategies of an iterative process Determination of the environment-to describe astructure necessary to develop a system

What and how to perform? (by Alan Shalloway, James R.Trott) Perspectives on the development of object oriented information systems: concept(model analysis) interface specification(design model) implementation (implementation) creating and managing objects (implementation) useof objects(implementation)

Perspectivesonunderstanding objects -object identification(1) The perspective on concepts(conceptual model) (What objects need to do?) Objects are collections of various types of liability The perspective on specification(design model) (How to use objects?) Object are collections of methods (behaviours) that may be caused by its methods or other objects The perspective on implementation (implementation) (How to implement an interface?) Objectcode consists of methods and data as well asinteractions

Methods of identifying objects and classes(2) Analysis of commonality The perspective of the concept Abstract class +Methods() The perspective of specifications Analysis of variability The perspective of implementation Concrete Class1 +Methods() Concrete Class2 +Methods() Relationshipbetween the prospect of the specification, design and implementation

Relationshipbetween analysis, design and implementation (3) Relationship between the perspectives on the specification and the concept The prospect of the specification defines interfaces required to handle all cases of the problem (iethe common part of data and their behaviours from the view point of the perspective of the concept) Relationship between perspectives on the specification and the implementation Taking into account the specification, we understand how to implement the individual cases (ie. variable part of data and their behaviours)

Perspectivesonscaling asystem -creation, management and use of objects The perspective on creating and managing objects (Separation of individual subsystems to create objects and facility management ) Changes in the implementation of the objects relate to the factories of objects (creatingthe objects) and should not affect the management of these objects) The perspective on using objects (The Aobject only uses the B object The A object cannot simultaneously create the B object) Any change of the implementation of an object should not require implementations of objects to be altered

Summary of the principles of objectivity Objects are defined through the prism of their responsibility Encapsulation means any kind of concealment: data, implementation, class (using abstract classes, or interface), the project, the object The use of commonality and variability analysis in order to create abstractions representing the variability in the data and behaviour The use of inheritance as a way of the implementation of the variability in the data and their behaviour Striving for a low degree of relationships Striving for a high degree of consistency Separating code which uses objects from the code that creates them The principle of a single rule -only one implementation of the operation of a single rule The use of names clearly describing the purpose of objects

Introduction to Information Systems Modelling- UML 1. Multitiered information systems 2. Software Development Model 3. Introduction to modellingof information systems 4. Software Development Environment

The Four Ps: People, Project, Product, and Process in Software Development (1) (by Jacobson I., Booch G, Rumbaugh J. The unified software development process) People Template Participants Result Process Project Product Automation Tools

The FourPs: People, Project, Product, and Process in Software Development (2) The importance issues of the software development are as follows: People: Architects, developers, testers, users, customers etc Project:The organizationalelement throughwhichsoftware development is managed Product: Artifacts that are created during the life of the project such as models, source code, executables and documentation Proces:A software engineering processis a definitionof the complete set of activities needed to transform users requirements into a product Tools: Software that is used to automate the activities defined in the process.

The FourPs: People, Project, Product, and Process in Software Development (3)- Product The products are: Subsystems as the collection of models Diagrams: class, interaction, cooperation, states Requirements, tests, manufacture, instalation System composed with artifactsrepresenting programming tools, compilers, computers programmers architects testing facilities traders administrators An artifactisageneral termto name anything created, produced, changed, orusedby workersindeveloping the system. There are artifactsrelatedsoftware creation (requirements, analysis, project, programming, tests) and artifacts of the project management process

The FourPs: People, Project, Product, and Process in Software Development (4) - Project Basic concepts related to the project: Feasibility of the project Risk Management Organization structure of designers Scheduling project tasks Understanding of the project Rational of the project activities Project Features: Sequence changes in the project Iteration series Organizational Pattern

The FourPs: People, Project, Product, and Process in Software Development (5)- Proces Software development process is adefinition of a complete set of activities needed to mapuser requirements into a set of artifacts that present software development factors: organizational domain life-cycle technical.

The Four Ps: People, Project, Product, and Process in Software Development (6)- Tools Software tools allow to: Automate the process Standardize of process and product Support the entire software lifecycle: defining of requirements, visual modellingand design, programming, testing.

The FourPs: People, Project, Product, and Process in Software Development (7)-People Users Architect Testers The Project Manager System Designers Analysts

The FourPs: People, Project, Product, and Process in Software Development (8)- Models Models provide: system abstraction, different perspectives on the system, relationships to other models. Use-Case Model Analysis Model Design Model Deployment Model Implementation Model Test Model

Introduction to Information Systems Modelling- UML 1. Multitiered information systems 2. Software Development Model 3. Introduction to modellingof information systems 4. Software Development Environment 5. The role of the Unified ModellingLanguage - UML

UML - the language supporting the iterative - incremental unified process of the software development (1) UML Diagrams- modelling structure Package Diagrams Class diagrams Object Diagrams Mixed Diagrams Component diagrams Deployment diagrams

UML - the language supporting the iterative - incremental unified process of the software development (2) Diagrams of modelling behaviour Use-case diagrams Activity Diagrams State diagrams Communication Diagrams Sequence Diagrams Timing Diagrams Interaction Diagrams

UML - the language supporting the iterative - incremental unified process of the software development (3) Benefits of using UML 2: teamwork overcome the complexity of the project a formal, precise presentation of the project creating a standard project opportunity to test the software in an early stage in its development