Internet Engineering
Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik
Information systems modelling – UML and
service description languages
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)
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
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
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
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
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
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)
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()
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
Process
Project
Product
Tools
Participants
Template
Result
Automation
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
Architect
The Project Manager
Users
Testers
Designers
Analysts System
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