• Nie Znaleziono Wyników

Information systems modelling – UML and

N/A
N/A
Protected

Academic year: 2021

Share "Information systems modelling – UML and"

Copied!
44
0
0

Pełen tekst

(1)

Internet Engineering

Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik

Information systems modelling – UML and

service description languages

(2)

Student Contact Hours: 25.02.2015- 25.03.2015:

Location: 325 C3 room

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)

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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.

(9)

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

(10)

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.

(11)

Main web pages of the INEA102

subject

(12)

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

(13)

http://www.zsk.ict.pwr.wroc.pl/zsk/dyd/did/sys_modelling/lecture/

- the web page with lectures slides

(14)

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

(15)

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

(16)

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

(17)

Introduction to Information Systems Modelling - UML

1. Multitiered information systems

(18)

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

(19)

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

(20)

Examplary multitiered Information System

(Java EE 7 – Tutorial Java EE 7)

(21)

Introduction to Information Systems Modelling - UML

1. Multitiered information systems

2. Software Development Model

(22)

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

Implementation of the structure and dynamics of the system, code generation

Perspective of the concept what to do?

Perspective of specifications how should I use?

Perspective of implementation how to perform?

• Model of the real system

• Requirements

• Analysis (conceptual model)

• Conceptual model tests

• Design model (hardware and

architecture software;

user access; storage )

• Design model tests

• Programming (specification of the program: declarations, definitions;

additional data structures: structure of containers, files, databases)

• Software tests

• Implementation

• Deployment tests

(23)

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 Transition

Business Modeling

Environment Business Management

(24)

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

(25)

Introduction to Information Systems Modelling - UML

1. Multitiered information systems 2. Software Development Model

3. Introduction to modelling of information

systems

(26)

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)

(27)

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

(28)

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()

(29)

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 )

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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.

(35)

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

(36)

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

(37)

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.

(38)

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.

(39)

The Four Ps: People, Project, Product, and Process in Software Development (7) -People

Architect

The Project Manager

Users

Testers

Designers

Analysts System

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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

Cytaty

Powiązane dokumenty

FC (final conditions) searching titles with the given value of a mandatory attribute ISBN or ISBN, and actor in the case of a cassette with the audio book, or information

FC (final conditions): It inserts a book consistent with the mandatory attribute ISBN, or ISBN and actor in the case of the audio book and the specified number of the book

Creation of connection from the Facade Session Bean of Library_EJB1-ejb module to the Client class of the Library_client-ejb project - right click the edytor window with Client

Creation of connection from the Facade Session Bean of Library1_EJB1-ejb module to the Client class of the Library1_client1-ejb project – expand the Source Packages node of

Add the access to the business classes of the Library2_JPA2 Java Application Project (SE type) in the Library2_EJB2-ejb Enterprise Application – right click the Libraries folder

The data stored in the database (titles) by Store data web page- at previous time they have been inserted by the Enterprise Application Client program. (TLibrary2_client_ejb) as

w wieku XVIP L i W zestawieniu z ogłoszonemi później skrzą- cemi się dowcipem intermedjami, twórczość autora „Postnego obiadu“ uw ypukla się, posiada

Swapy za zwłokę w spłacie kredytu i inne pochodne instrumenty finansowe miały być instrumentami ograniczającymi ryzyko, lecz w przypadku pęknięcia bańki spekulacyjnej i