+ All Categories
Home > Documents > Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz...

Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz...

Date post: 17-Oct-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
32
Internet Internet Engineering Engineering Tomasz Babczy Tomasz Babczy ń ń ski, ski, Zofia Zofia Kruczkiewicz Kruczkiewicz Tomasz Kubik Tomasz Kubik Information Information systems systems modelling modelling UML and UML and service description languages service description languages
Transcript
Page 1: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

InternetInternet EngineeringEngineering

Tomasz BabczyTomasz Babczyńński, ski, ZofiaZofia KruczkiewiczKruczkiewiczTomasz KubikTomasz Kubik

InformationInformation systems systems modellingmodelling –– UML and UML and service description languagesservice description languages

Page 2: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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 May during the last lecture.

Page 3: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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. Tutorial Java EE 6.0. Available at: http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html

Page 4: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Introduction to Introduction to Information Information SSystems ystems

ModellingModelling -- UMLUML

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

Page 5: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Introduction to Introduction to Information Information SSystems ystems

MModelodellling ing -- UMLUML

1. Multitiered information systems

Page 6: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Definition of information system

Technical Information System: • Equipment • Software

• Database Knowledge Base

Formal information system:

• management procedures

• knowledge base

Informal Information system:

Human resources - people 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

Page 7: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Page 8: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Examplary multitiered Information System (Java EE 5 – Tutorial Java EE 5)

Database

Server

Java EE

Server

Client

Machine

Java EE

Application 1

Java EE

Application 2

Client Tier

Enterprise

Beens

Enterprise

Beens Business Tier

Web Tier

EIS Tier Database

JavaServer

Faces

Pages

Database

Page 9: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Introduction Introduction to to Information Information SSystemsystems

MModelodellling ing -- UMLUML

1. Multitiered information systems

2. Software Development Model

Page 10: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

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

• Design model

(hardware and

architecture software;

user access; storage )

• Design model tests

• Model of the real system

• Requirements

• Analysis (conceptual model)

• Conceptual model tests

Perspective of

specifications

how should I use?

Perspective of the concept

what to do?

Implementation of the structure and dynamics of the system,

code generation

Modelling the structure and

dynamics of the system

Page 11: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Unified iterational and incremental software development process-

when?

(by Jacobson I., Booch G, Rumbaugh J. The unified software development process)

Core Workflows

Change

Management

Requirements

Analysis,

Design

Programming

Implementation

Test

Iterations (time )

1-a 2-a - - - - - n-1 n

Inception Elaboration Construction Transit ion

Business

Modeling

E nvironment

Business

Management

Page 12: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Introduction Introduction to to Information Information SSystemsystems

ModellingModelling -- UMLUML

1. Multitiered information systems

2. Software Development Model

3. Introduction to modelling of information

systems

Page 13: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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 – to gain control over changes and to ensure coherence of the system components

• Project management – to describe various strategies of an iterative process

• Determination of the environment - to describe a structure necessary to develop a system

Page 14: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

What and how to perform? (by Alan Shalloway, James R.Trott)

Perspectives on the development of objectoriented information systems:

• concept (model analysis)

• interface specification (design model)

• implementation (implementation)

• creating and managing objects (implementation)

• use of objects (implementation)

Page 15: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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 itsmethods or other objects

• The perspective on implementation(implementation)

(How to implement an interface?)Object code consists of methods and data as well as interactions

Page 16: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Methods of identifying objects and classes (2)

Relationship between the prospect of the specification, design and implementation

Analysis of commonality

Analysis of variability

The perspective of the concept

The perspective of specifications

The perspective of implementation

Abstract class

+Methods()

Concrete Class1

+Methods()

Concrete Class2

+Methods()

Page 17: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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 )

Page 18: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

facilitymanagement )

Changes in the implementation of the objects relate to the factories ofobjects (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 requireimplementations of objects to be altered

Page 19: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Page 20: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Introduction Introduction to to Information Information SSystemsystems

ModellingModelling -- UMLUML

1. Multitiered information systems

2. Software Development Model

3. Introduction to modelling of information

systems

4. Software Development Environment

Page 21: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Process

Project

Product

Tools Participants

Template

Result

Automation

Page 22: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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 projectsuch 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 definedin the process.

Page 23: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Page 24: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Page 25: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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.

Page 26: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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.

Page 27: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

The Four Ps: People, Project, Product, and

Process in Software Development (7) -People

Architect

The Project Manager

Users

Testers

Designers

Analysts

System

Page 28: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

DesignModel

Deployment Model

Implementation Model

Test Model

Page 29: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

Introduction Introduction to to Information Information SSystemsystems

ModellingModelling -- UMLUML

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

Page 30: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Page 31: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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

Page 32: Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz ... · Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling –UML and

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


Recommended