PV213 EIS in Practice: 01 – Introduction, UML overview 1 PV213 Enterprise Information Systems in Practice 01 – Introduction, UML overview.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
The Architecture Design Process
© Copyright Eliyahu Brutman Programming Techniques Course.
Systems Development Life Cycle
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
Software Engineering Case Study Slide 1 Introductory case study.
The Unified Modeling Language (UML) Class Diagrams.
Introduction To System Analysis and design
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
System Analysis & Design Introduction: System Analysis and design course intents to help students understand its importance in developing systems that.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Big Java Chapter 12. Software Process - Waterfall Analysis Design Implementation Testing Deployment Does not work well when rigidly applied! established.
PV213 EIS in Practice: 01 - Introduction1 PV213 Enterprise Information Systems in Practice 01 - Introduction.
Presented by: CHAN LAI SAN ( ) REBAH DAW SARREB ( ) FIDA AL-OBAISI ( ) 08 April 2008 (Tuesday 6pm – 7:30pm)
Introduction To System Analysis and Design
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Design Model Lecture p6 T120B pavasario sem.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Chapter 3: Introducing the UML
PV213 EIS in Practice: 10 – Deployment, Migration, Maintenance 1 PV213 Enterprise Information Systems in Practice 10 – Deployment, Migration, Maintenance.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Unified Modeling Language (UML)
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
UML (Unified Modeling Language)
PV213 EIS in Practice: 13 – Closing 1 PV213 Enterprise Information Systems in Practice 13 – Closing.
Advanced Higher Computing Science
UML Diagrams: Class Diagrams The Static Analysis Model
Evolution of UML.
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Abstract descriptions of systems whose requirements are being analysed
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Introduction To System Analysis and Design PART 2
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Engineering Quality Software
Presentation transcript:

PV213 EIS in Practice: 01 – Introduction, UML overview 1 PV213 Enterprise Information Systems in Practice 01 – Introduction, UML overview

PV213 EIS in Practice: 01 – Introduction, UML overview 2

3

4 Goal of the course Introduce you into real requirements in praxis You should be able to start to work in the enterprise and understand: Different roles (positions) in the enterprise What is expected to know on given position Typical problems you can meet Get some feedback from the real world Practically oriented (but some “theory” is needed)

PV213 EIS in Practice: 01 – Introduction, UML overview 5 Conditions to pass the course To pass the course you must do the homework assignment on given theme At least three pages of text, pictures, tables, … Areas of homework will be e.g. from Management of projects Analysis and architecture Testing At the latest in the half of the course (end of March 2014) homework assignment will be known Deadline for submission is end of May 2014 You will be informed via mail in the MUNI IS

PV213 EIS in Practice: 01 – Introduction, UML overview 6 Further instructions If you have any questions please ask Short answers will be answered immediately Longer answers will be answered on the end of each lecture On the end of each lecture we can discuss presented theme Slides will be available after each lecture

PV213 EIS in Practice: 01 – Introduction, UML overview 7 Who we are I? Course is presented by two presenters Each presenter has its own area of interest We are both from the business Atos IT Solutions and Services, s.r.o. Atos is international company with employees Atos has headquarter in Bezons, France Atos has around 400 employees in the Czech Republic

PV213 EIS in Practice: 01 – Introduction, UML overview 8 Who we are II? Ing. Libor Švehlák Six lessons in the course 14 years of praxis in IT Area of interest: Software architecture and development Different types of projects From embedded to enterprise applications Oracle Certified Master Java EE 5 Enterprise Architect

PV213 EIS in Practice: 01 – Introduction, UML overview 9 Who we are III? Ing. et Ing. Aleš Macek Six lessons in the course 8 years of experience in field of IT Area of interest: Quality and project management Certified Scrum Master

PV213 EIS in Practice: 01 – Introduction, UML overview 10 Content of the course I 01 – Introduction, UML overview Libor Švehlák, – Bid preparation, risk management, team establishment Aleš Macek, – Project management, estimations Aleš Macek, – Quality assurance Aleš Macek,

PV213 EIS in Practice: 01 – Introduction, UML overview 11 Content of the course II 05 – Development process Aleš Macek, – Architecture in the standard environment, cloud I Libor Švehlák, – Cloud II, Integration of EIS with other systems Libor Švehlák, – Security, Configuration management and tools Libor Švehlák,

PV213 EIS in Practice: 01 – Introduction, UML overview 12 Content of the course III 09 – Deployment, migration, maintenance phase Libor Švehlák, – Testing Aleš Macek, – Closing, retrospective, final game Aleš Macek + Libor Švehlák,

PV213 EIS in Practice: 01 – Introduction, UML overview 13 Definition of terms Enterprise Information System Enterprise is a synonym for company, firm, business organization Information system is any application or service that support “main” (or supplementary) business of the company Keep in mind that information system is there to support business and not vice versa It must add some additional value e.g.: Support decision making Increase enterprise efficiency Decrease costs This is often in contrast with end customer products – end customers sometimes buy products irrationally

PV213 EIS in Practice: 01 – Introduction, UML overview 14 History First systems back in 1960s on mainframes in banks, telecommunication companies 1970s Personal computers 1980s Client/server applications 1990s Three and multitier architecture applications 2000s Web applications 2010s Cloud applications, EIS as a service Everything …as a service

PV213 EIS in Practice: 01 – Introduction, UML overview 15 Types of enterprise information systems ERP – Enterprise Resource Planning CRM – Customer Relationship Management SCM – Supply Chain Management MIS – Management Information System CMS – Content Management System KMS – Knowledge Management System DSS – Decision Support System GIS – Geographic Information System And a lot more…

PV213 EIS in Practice: 01 – Introduction, UML overview 16 Example – Reservation system - Motivation In the company there exist some small equipments (mobile phones, tablets, beamers, flip charts, etc.) which can be used by anyone (pool equipment). Till now reservation of these equipments was done on the paper that is maintained by the secretary. This somehow works but causes several problems. Everyone who wants to make a reservation must visit the secretary and check whether equipment is available at given time. This causes inefficient work time and decreased well-being for employees as well. Another problem is that on the end of the month secretary has to rewrite data about the usage of equipments to the reporting system used by management. These data are then used for analysis whether it is required to buy additional items of given equipment.

PV213 EIS in Practice: 01 – Introduction, UML overview 17 Example – Reservation system – Brief requirements It is required to create internal tool for reservation of equipments. Definitions of these equipments (name, quantity, description) is stored in external inventory system (SAP) and they are available via web services. Tool must allow to make a reservation of the equipment between specified dates (and times). Only the author of the reservation or special user (e.g. secretary) can cancel the reservation. To better indicate real reservation requests it must be possible to mark reservation request even when some equipment is already reserved. Tool must support calendar view (which equipment is reserved for today, tomorrow, etc.) and equipment view (for given equipment show when this equipment is/was reserved). Additionally tool must support export of usage data in given period to the management reporting system.

PV213 EIS in Practice: 01 – Introduction, UML overview 18 Interesting points to requirements I First requirements are often vague, incomplete and sometimes even in opposition. First requirements must be further discussed, analyzed and clarified to create final version of requirements Technical details should not be mentioned. If they are present check if they are really required (e.g. interfaces to other systems) or they represent just inappropriate abstraction (author of requirements things implementation should be done this way) From requirements must be clear what system must do and also what it must not do (clear responsibilities and borders between systems) For some projects there is a special role: Requirement engineer

PV213 EIS in Practice: 01 – Introduction, UML overview 19 Interesting points to requirements II Customers sometimes doesn’t know what they really want. Also requirement specification needs some time and thinking to create a good requirements Be sure both sides (customer and your team) understand the problem the same way. Check it! At this phase several meetings with customer is the most efficient way. Don’t expect everything will be clear within one session with the customer Some customers expects that you know everything and their participation is not needed. Explain them that result will be better when they can be part of the whole process Don’t undervalue requirements. They are basics for further work!

PV213 EIS in Practice: 01 – Introduction, UML overview 20 How sometimes projects look like…

PV213 EIS in Practice: 01 – Introduction, UML overview 21 Motivation to use Unified Modeling Language (UML) We have requirements How to communicate requirements to the team? How to efficiently pass the information between team members? Some standardized language is required Answer is Unified Modeling Language (UML)

PV213 EIS in Practice: 01 – Introduction, UML overview 22 UML UML started in 1990s UML is graphically oriented (one picture is sometimes more than 1000 of words) but allows to add to pictures notes UML allows to express facts in unambiguous form UML has several versions. Current released version is (Aug 2011), version 2.5 is “in process”. Differences are not so important for us For different members of the team are important different types of UML diagrams UML diagrams alone are not enough. Text descriptions are still needed!

PV213 EIS in Practice: 01 – Introduction, UML overview 23 UML diagrams overview Static aspects of the system Dynamic aspects of the system

PV213 EIS in Practice: 01 – Introduction, UML overview 24 Types of UML diagrams - Structural diagrams I Class diagram Class attributes Class methods Visibility modifiers Composition (“has a”) Multiplicity Generalization (“is a”) Stereotype Realization Association class Class name Association

PV213 EIS in Practice: 01 – Introduction, UML overview 25 Types of UML diagrams - Structural diagrams II Find entities (classes) and relations between entities Find “type” of the relation Simple association Whole / part – Composition (aggregation) Parent / child – Generalization / specialization Check multiplicities – mostly they totally influence how system will behave (totally different behavior) In the first step concentrate on classes and their properties – methods are not so important (but if it helps you mark them) Be careful with generalization / specialization It is often misused Simple association or composition is often better

PV213 EIS in Practice: 01 – Introduction, UML overview 26 Types of UML diagrams - Structural diagrams III Generalization/specialization – what can be wrong?

PV213 EIS in Practice: 01 – Introduction, UML overview 27 Types of UML diagrams - Structural diagrams IV Generalization/specialization fix – possible solutions Suitable in a case when we need to only know different roles Suitable in a case when we need to store for different roles also different attributes

PV213 EIS in Practice: 01 – Introduction, UML overview 28 Types of UML diagrams - Structural diagrams V Component diagram Different notation in UML 1.x Connector between components

PV213 EIS in Practice: 01 – Introduction, UML overview 29 Types of UML diagrams - Structural diagrams VI Package diagram Dependency

PV213 EIS in Practice: 01 – Introduction, UML overview 30 Types of UML diagrams - Structural diagrams VII Object diagram Object (instance of the class)

PV213 EIS in Practice: 01 – Introduction, UML overview 31 Types of UML diagrams - Structural diagrams VIII Deployment diagram Nodes Communication protocols between nodes

PV213 EIS in Practice: 01 – Introduction, UML overview 32 Types of UML diagrams - Behavioral diagrams I Use case diagram Actors Use cases Machines are also actors

PV213 EIS in Practice: 01 – Introduction, UML overview 33 Types of UML diagrams - Behavioral diagrams II Activity diagram Process oriented Initial state Final state Activities Decision Split of activities Join of activities

PV213 EIS in Practice: 01 – Introduction, UML overview 34 Types of UML diagrams - Behavioral diagrams III State Machine Diagram State oriented Named “State Diagram” in UML 1.x Initial state Final state State Transition

PV213 EIS in Practice: 01 – Introduction, UML overview 35 Types of UML diagrams - Behavioral diagrams IV Sequence diagram Life line Objects Messages Return messages Synchronous call Actor

PV213 EIS in Practice: 01 – Introduction, UML overview 36 How to start with transformation from text into diagrams? How to convert text description into diagrams? Find nouns, adjectives and verbs in the text Nouns can represent entities Adjectives can represent properties of entities Verbs can represent actions, processes or relations Such lists are only preliminary: Some items can be redundant Some items can be missing Sometimes you need to use different wordings (e.g. to eliminate ambiguity) Most probably you need to generalize some items

PV213 EIS in Practice: 01 – Introduction, UML overview 37 Which diagrams to create in the first step? Use case diagram Identify main use cases Find all actors Find boundaries of the system Business Domain Model (BDM) Special type of class diagram Represents “topmost view“ on the system Contains only most important entities representing “core” of the solution Important relationships between entities must be covered Identify multiplicities Not needed in this step to specify exact relationships like generalization / specialization or association / composition

PV213 EIS in Practice: 01 – Introduction, UML overview 38 Example – Use Case Diagram for Reservation system

PV213 EIS in Practice: 01 – Introduction, UML overview 39 Example – Business Domain Model for Reservation system

PV213 EIS in Practice: 01 – Introduction, UML overview 40 Example – Class Model for Reservation system I

PV213 EIS in Practice: 01 – Introduction, UML overview 41 Example – Class Model for Reservation system II

PV213 EIS in Practice: 01 – Introduction, UML overview 42 Further tips and tricks I It is needed to clearly define boundaries (borders) of the system. They will define for what system is responsible. Actors are not part of the system! Check that all main use cases are covered. Use cases on top level represents bigger amount of work than sub use cases. If you forget something on top level it can have catastrophic consequences! Try to identify missing use cases. Maybe they are missing in description but needed for full functionality of the system. Split large use case models into sub use cases or more use case diagrams. Check that system will solve problem of customer. The worst situation is when system is implemented but it doesn’t help customer.

PV213 EIS in Practice: 01 – Introduction, UML overview 43 Further tips and tricks II Think ahead but don’t jump into inappropriate level of abstraction (avoid “sidestep to meta-level”) Start with first version and enhance it in the next iteration after feedback/better know how. Don’t expect final results after the first step. Use iterative approach. If it is helpful create also other types of diagrams Object diagram to better understand relationships between objects Activity diagram to better understand processes Sequence diagram to better understand use cases when interactions are important Transformation requires some experience. Don’t be frustrated that first results are not ideal!

PV213 EIS in Practice: 01 – Introduction, UML overview 44 UML and team roles Project manager You should be able to read use case and deployment diagrams Analyst Create use case, business domain model and activity diagrams Architect Create deployment, package, component and class diagrams Developer Create class, sequence, state machine diagrams Tester Read use case, deployment, activity diagrams

PV213 EIS in Practice: 01 – Introduction, UML overview 45 Bonus question What can represent following class diagram? Family (Genealogical) Tree

PV213 EIS in Practice: 01 – Introduction, UML overview 46 Děkuji za pozornost.