Information systems modelling UML and service description languages



Similar documents
IES - Introduction to Software Engineering

I219 Software Design Methodology

The Unified Software Development Process

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Modeling Web Applications Using Java And XML Related Technologies

3C05: Unified Software Development Process

Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk

Foundations of Model-Driven Software Engineering

Classical Software Life Cycle Models

A MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

Software Design Models, Tools & Processes *

Chap 1. Introduction to Software Architecture

Basic Unified Process: A Process for Small and Agile Projects

Software Project Management using an Iterative Lifecycle Model

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Core Issues Affecting Software Architecture in Enterprise Projects

The Rap on RUP : An Introduction to the Rational Unified Process

What Is the Java TM 2 Platform, Enterprise Edition?

Agile Unified Process

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

MDA Case Study: State of Wisconsin Unemployment Insurance Division

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Developing SOA solutions using IBM SOA Foundation

A complete software development process of a general report publication service implemented using Web Services

Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology

The WebShop E-Commerce Framework

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Object-oriented design methodologies

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

Experiences with ALM tools in Software Engineering course

From Object Oriented Conceptual Modeling to Automated Programming in Java

A Software Development Platform for SOA

!! " "!! # $ % " & ' $ % (! %) * +, $ ( ) ' " -

Masters of Science in Software & Information Systems

A UML Introduction Tutorial

Applying 4+1 View Architecture with UML 2. White Paper

Course Title: ITAP 4371: E-Commerce. Semester Credit Hours: 3 (3,0)

A Java Framework for Multi-Tier Web-Centric Applications Development

Organization. Introduction to Software Engineering

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

2. Analysis, Design and Implementation

A FRAMEWORK FOR INTEGRATING SARBANES-OXLEY COMPLIANCE INTO THE SOFTWARE DEVELOPMENT PROCESS

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Designing a Semantic Repository

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

Sistemi ICT per il Business Networking

A Comparison of SOA Methodologies Analysis & Design Phases

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

What is a life cycle model?

Evaluating OO-CASE tools: OO research meets practice

JOURNAL OF OBJECT TECHNOLOGY

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

The leading platform for Model Driven Architecture (MDA) Content:

Plan-Driven Methodologies

Core J2EE Patterns, Frameworks and Micro Architectures

Software Development Methodologies

Adapted for a textbook by Blaha M. and Rumbaugh J. Object Oriented Modeling and Design Pearson Prentice Hall, 2005.

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Practical Application of Service Oriented Architecture

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information

SYSTEMS ANALYSIS DESIGN

Business Modeling with UML

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to

Quality Ensuring Development of Software Processes

An Iterative and Agile Process Model for Teaching Software Engineering

Software Engineering

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

zen Platform technical white paper

New Methods for Performance Monitoring of J2EE Application Servers

1. Introduction 1.1 Methodology

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

An Enterprise-Wide Project Quality Management System in Manufacturing Industry

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Abstract. 1 Introduction

Architected RAD: Tackling the challenges of on demand business

How To Design Software

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno

Architectural view model for an integration platform

Understanding Architectural Assets

A Software Engineering Approach For GIS Developing

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Agile Modeling and Design of Service-Oriented Component Architecture

Software Lifecycles Models

Time Monitoring Tool Software Development Plan. Version <1.1>

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Designing Real-Time and Embedded Systems with the COMET/UML method

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Transcription:

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

Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015: Times: 1) on Monday at 9.00 a.m. - 11.00 a.m. (9.00-11.00) 2) on Wednesday at 5.00 p.m. - 7.00 p.m. (17.00-19.00)

Introduction (1) 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 h, and number of ECTS points equals 5. Traditional teaching The lectures and laboratories consist of three parts, leaded by three lecturers: Zofia Kruczkiewicz, phd Tomasz Babczyński, phd Tomasz Kubik, phd

Introduction (2)- subject objectives (http://www.weka.pwr.wroc.pl/files/prv/id4//plany%20i%20programy/2012-2013/iist/pl_kpr_w04_inf_ang_iim_st.pdf) C1 The acquisition of knowledge and skills on the use of techniques based on design patterns used in the analysis, design and programming of information systems C2 Acquiring the ability to define and use model transformations C3 Acquiring knowledge and skills relating to the definition and use of domain-oriented textual languages, XML-based and graphical languages based on XML standards. C4 The acquisition of knowledge and skills relating to the design and implementation of web services

Introduction (3)- subject educational effects (knowledge) (http://www.weka.pwr.wroc.pl/files/prv/id4//plany%20i%20programy/2012-2013/iist/pl_kpr_w04_inf_ang_iim_st.pdf) PEK_W01 He knows properties of design patterns represented by class and sequence diagrams PEK_W02 He knows the responsibilities of business, presentation, client and integration tiers PEK_W03 He knows iterative-incremental process of building and development of information systems PEK_W04 He knows Model-Driven Architecture (MDA) methodology. PEK_W05 He knows ways to define domain-specific languages. PEK_W06 He knows translation methods of textual and graphical languages. PEK_W07 He knows methods for describing Internet resources using RDF and semantics of network by using OWL PEK_W08 He knows ways to define Web services using WSDL and SAWSDL, he knows how to register Web services using UDDI and description of communication of Internet users using WS-CDL

Introduction (4)- subject educational effects (skills) (http://www.weka.pwr.wroc.pl/files/prv/id4//plany%20i%20programy/2012-2013/iist/pl_kpr_w04_inf_ang_iim_st.pdf) PEK_U01 He can detect context of the applying of design patterns and outcomes leading to improved structural complexity, performance and scalability of information systems PEK_U02 He can design and implement the business, presentation, client and integration tiers of information system PEK_U03 He can implement iterative-incremental process of building and development of information systems PEK_U04 He can define domain-oriented textual language. PEK_U05 He can write translator (interpreter / compiler) of the domain-oriented language PEK_U06 He can define and use the model transformation to the textual language PEK_U07 He can describe Internet resources using RDF and semantics of network using OWL PEK_U08 Can define and implement web services using WSDL and SAWSDL, knows how to register Internet services using UDDI and realize the communication process between Internet users using WS-CDL

Introduction (5)- subject educational effects (competences) (http://www.weka.pwr.wroc.pl/files/prv/id4//plany%20i%20programy/2012-2013/iist/pl_kpr_w04_inf_ang_iim_st.pdf) PEK_K01 He has ability to work in a double or triple group, which are preparing the specifications and requirements of the construction of models and their implementation in the framework of the tasks set out in the program texts for laboratory

Introduction (6) Outcome of first five lectures: Knowledge of techniques based on design patterns used in object analysis, design and programming. The language of designing is UML Programming language is Java.

Introduction (7) - Assessment Assessment: laboratory (50%) and lectures (50%). Assessment of laboratory: the rounded value calculated as the sum of three assessments of three parts of laboratory divided by three. Assessment od lectures: the rounded value calculated as the sum of three assessments of three parts of lectures divided by three

Introduction (8) Assessments of first part of laboratory and lectures Laboratory: Implementation of the web-based multi-tier application based on a laboratory instructions similar to the tutorial allows for assessment of 3-4. If the web application will be independently enriched with new services based on original concepts, the evaluation will be increased to 4.5-5.5 Lecture: During the last lecture will be a short test (30 min) on material from the lectures 2, 3 and 4. The final grade is a rounded value of the sum of the assessment of the laboratory and the test assessment divided by 2.

Main web pages of the INEA102 subject

http://www.zsk.ict.pwr.wroc.pl/zsk/dyd/did/sys_modelling/ The Computer and Discrete Systems Group web site the web page of the INEA102 subject

http://www.zsk.ict.pwr.wroc.pl/zsk/dyd/did/sys_modelling/lecture/ - the web page with lectures slides

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/index.php?id=inea102 - the web page of the INEA102L subject (first five laboratories)

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 Design and Patterns,With Examples in C# and.net, Addison-Wesley Professional, 2006 5. R.C. Martin, M. Martin: AGILE principles, patterns and practices in C#, Prentice Hall, 2006 6. A. Shalloway, J. Trott: Design Patterns Explained: A New Perspective on Object-Oriented Design, Addison- Wesley Professional, 2004 7. Tutorials Java EE 6 and Java EE 7. Available at: http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html https://docs.oracle.com/javaee/7/tutorial/index.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 Modelling Language - 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 technique 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

Examplary multitiered Information System (Java EE 7 Tutorial Java EE 7)

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 Modelling the structure and dynamics of the system Perspective of the concept what to do? Model of the real system Requirements Analysis (conceptual model) Conceptual model tests Implementation of the structure and dynamics of the system, code generation Perspective of specifications how should I use? Design model (hardware and architecture software; user access; storage ) Design model tests Perspective of implementation how to perform? Programming (specification of the program: declarations, definitions; additional data 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 Modeling Requirements Analysis, Design Programming Test Implementation Change Management Business Management Environment 1-a 2-a - - - - - n-1 n Iterations (time )

Workflows (by G.Booch, J. Rumbaugh, I.Jacobson) Business modelling a description of dynamics and structures Requirements - requirements specification by means of use 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 (Change management) to gain control over changes and to ensure coherence of the system components Project management (Business Management) to describe various strategies of an iterative process Determination of the environment (Environment) - to describe a structure necessary to develop a system

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

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) use of objects (implementation)

Perspectives on understanding 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?) Object code consists of methods and data as well as interactions

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() Relationship between the prospect of the specification, design and implementation

Relationship between 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 (ie the 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 )

Perspectives on scaling a system - 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 (creating the objects) and should not affect the management of these objects) The perspective on using objects (The A object 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 modelling of 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 Four Ps: 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 organizational element through which software 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 process is a definition of 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 Four Ps: 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 artifacts representing programming tools, compilers, computers programmers architects testing facilities traders administrators An artifact is a general term to name anything created, produced, changed, or used by workers in developing the system. There are artifacts related software creation (requirements, analysis, project, programming, tests) and artifacts of the project management process

The Four Ps: 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 Four Ps: People, Project, Product, and Process in Software Development (5) - Proces Software development process is a definition of a complete set of activities needed to map user 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 modelling and design, programming, testing.

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

The Four Ps: 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 modelling of information systems 4. Software Development Environment 5. The role of the Unified Modelling Language - 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