SlideShare a Scribd company logo
Chapter 1 Introduction to Modeling Java and UML 鄧姚文 [email_address] http://w3.im.knu.edu.tw/~joseph
Agenda What is modeling? UML Modeling software systems with UML Modeling process
Introduction Why Java? A good object-oriented programming language Web-enabled enterprise computing (J2EE) Excellent support for exception handling and concurrency Other OO languages Small Talk, C++, Object Pascal, C#, Python
Goal of This Book Be able to Communicate an understanding of OO modeling theory and practice to others Communicate an understanding of UML notation to others Critically review a wide variety of UML software models Use UML to create a detailed understanding of the problem from the user’s perspective Use UML to visualize and document a balanced solution using the full suite of Java technologies Use UML to describe other technologies and class libraries
What Is Modeling? A model is a simplification with a purpose Use precisely defined notation to describe and simplify a complex and interesting structure, phenomenon, or relationship Real-world examples The solar system model Mathematical models
地軸傾斜 北極冬天沒陽光 南極夏天沒黑夜 以太陽系模型說明極地永晝與永夜
What Is Modeling? (cont’d) Simplification Less complex, more accessible Varying perspectives Describe the system from different perspectives Help developers manage complexity Common notation To facilitate communication Allows developers to combine their efforts and to work in parallel
UML Unified Modeling Language A language for specifying, visualizing, constructing, and documenting the artifacts of software systems A set of precise notations Helps developers create ideas and communicate them An open standard controlled by OMG
UML The Basics Abstraction  抽象化,摘要 只要抓住重點,不必每樣細節都考究 A simplification or model of a complex concept, process, or real-world object Help people understand something at an appropriate level Different people would build different abstractions for the same concept Highlight the characteristics and behavior of something that is too complex to understand in its entirety
UML The Basics Encapsulation  封裝 凸顯重要特質隱藏內部細節 Highlight the important aspects of an object Hide the cumbersome internal details of the object Make the system easier to understand and to reuse Make a system more extendible
UML The Basics Object A particular and finite element in a large model Visible or invisible Persistent or transient State: describes characteristics and current condition Behavior: defines the actions that other objects may perform on the object Method: a service or responsibility that an object exposes to other objects Each has a unique identifier Limited responsibility and cooperation
UML The Basics Class A group of objects that have something in common Captures a particular abstraction Provides a template for object creation Each objects created from a class is identical in The type of data they can hold The type and number of objects they know about The logic for any behavior they provide
UML The Basics Relationships between objects Dependency Association Aggregation Composition
Dependency  Short-term dependency An object may create another object as part of a method, ask it to perform some function, and then forget about it
Association  An object keeps a reference to another object and can call the object’s, methods as it needs them An object may receive an object as a parameter to a configuration method and keep a reference to the object
Aggregation  An object is part of a greater whole The contained object may participate in more than one aggregation relationship, and exists independently of the whole
Composition  An object is owned by a greater whole The contained object may not participate in more than one composition relationship and cannot exist independently of the whole
UML The Basics Navigability The control relationship The arrow indicates direction of control
UML The Basics Multiplicity The number of relationships No default multiplicity
UML The Basics Interface Defines a set of related behavior Does not specify the actual implementation for the behavior Specify the signature of one or more methods A class realizes an interface by implementing each method in the interface
UML The Basics Polymorphism Multiple implementation of a single abstraction Abstraction are captured in classes and in interfaces
Polymorphism Through Realization
Polymorphism Through Inheritance
Modeling Software Systems with the UML UML enables building a single coherent model that describes a software system from several perspectives Internal consistency Distinct views Participants can use the same model and speak the same language throughout the development process
The Customer’s Perspective Use case Defines and describes a discrete way in which users get value from the system Text description of each use case Including the details of the interactions between the user and the system Activity diagram Visual description of the interaction between the system and the user for a use case
The Developer’s Perspective Class diagram Defines and constrains a group of objects in detail Shows the state, behavior, and relationships State chart Describe the state-dependent behavior for a class How an object responses to requests depending on its internal configuration Package diagram How different parts of a system depend on one another
The Developer’s Perspective (cont’d) Sequence diagram How objects interact with one another to provide the functionality Indicates the order of the interaction Collaboration diagram Revealing the relationship between objects
Modeling Process The developers and customers use the UML to understand the problem from the customer’s point of view The developers use UML to understand the problem from their own point of view The UML model is used as a resource by the implementers of the system
Modeling Process (cont’d) Requirements gathering Analysis Technology selection Architecture Design and implementation
Requirements Gathering Understand the problem from the customer’s point of view Do NOT concern for technology or system design In this process, developers create Use case diagrams Text use case descriptions Activity diagrams
Analysis  Understand the problem from the developer’s point of view Still do NOT concern for technology  Discover the roles and responsibilities that must be filled in the system In this process, developers create Class diagrams Sequence diagrams Collaboration diagrams
Technology Selection Categorize the system in terms of its technological requirements Select the most appropriate technologies to fulfill these well-defined needs Produce a high-level summary of the technological requirements and a list of appropriate technologies for the system No additional UML diagrams are produced
Architecture  Describe the system at high level Decompose the system into smaller parts (subsystems) Highlight relationships between parts Hide details of each part In this process, developers create Primary class diagrams Package diagrams
Design and Implementation Design Use all the results from the previous steps Create a model of objects that interact to provide the system’s functionality The last chance to validate the solution Implementation Write the code according to the design

More Related Content

PPTX
UML Modeling in Java
PPT
Uml(unified modeling language) Homework Help
PPT
PPT
Uml in software engineering
PDF
Uml Tutorial
PPTX
Uml
PPT
Uml unified-modeling-language-presented by dileep
UML Modeling in Java
Uml(unified modeling language) Homework Help
Uml in software engineering
Uml Tutorial
Uml
Uml unified-modeling-language-presented by dileep

What's hot (20)

PPT
Unified Modeling Language
PPTX
Unified Modeling Language
PPTX
Uml Presentation
PPT
Object Oriented Modeling and Design with UML
PDF
UNIFIED MODELING LANGUAGE
ODP
Uml
PPT
Uml Explained Step ByStep
PPTX
Unified modelling language (UML)
PPTX
Introduction to OOAD
PPT
UML- Unified Modeling Language
PDF
Unified Modeling Language
PDF
Lecture 4-oop class diagram
PDF
Object Oriented Analysis Design using UML
PPT
PPTX
PPTX
Uml Presentation
PPTX
Unified Modeling Language
PPT
Uml Omg Fundamental Certification 1
PPT
UML Diagram Assignment Help, UML Diagram Homework Help
PPT
UML for OOAD
Unified Modeling Language
Unified Modeling Language
Uml Presentation
Object Oriented Modeling and Design with UML
UNIFIED MODELING LANGUAGE
Uml
Uml Explained Step ByStep
Unified modelling language (UML)
Introduction to OOAD
UML- Unified Modeling Language
Unified Modeling Language
Lecture 4-oop class diagram
Object Oriented Analysis Design using UML
Uml Presentation
Unified Modeling Language
Uml Omg Fundamental Certification 1
UML Diagram Assignment Help, UML Diagram Homework Help
UML for OOAD
Ad

Viewers also liked (20)

PDF
UML for Java Developers
PDF
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
PPTX
Create Agile, Automated and Predictable IT Infrastructure in the Cloud
PDF
Uml for IT Business Analyst a practical guide
PPS
Business analyst (BA) Online Training and Placement @ Crescent IT Solutions
PPT
Business Analysis and IT Business Analyst – An Introduction
PPTX
Mcom Ba Training Module 2
PPTX
The role of Business Analyst
PPT
Introductory session on business analyst training1
DOC
Modeling techniques forthe business analyst
PPT
Business analyst training in india
PPT
Use case
PDF
UML for Business Analysts
PPTX
UML Diagram Assignment help , UML Diagram Online tutors
PPT
What Makes A Good Business Analyst
PPTX
The Role of the Business Analyst in Benefits
PPT
The Business Analyst Role Within Solution Driven Projects
DOCX
Giới thiệu về Rational Rose và Các diagram
PPTX
Career In I.T. as a Business Analyst
PPTX
Agile Requirements Gathering Techniques
UML for Java Developers
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
Create Agile, Automated and Predictable IT Infrastructure in the Cloud
Uml for IT Business Analyst a practical guide
Business analyst (BA) Online Training and Placement @ Crescent IT Solutions
Business Analysis and IT Business Analyst – An Introduction
Mcom Ba Training Module 2
The role of Business Analyst
Introductory session on business analyst training1
Modeling techniques forthe business analyst
Business analyst training in india
Use case
UML for Business Analysts
UML Diagram Assignment help , UML Diagram Online tutors
What Makes A Good Business Analyst
The Role of the Business Analyst in Benefits
The Business Analyst Role Within Solution Driven Projects
Giới thiệu về Rational Rose và Các diagram
Career In I.T. as a Business Analyst
Agile Requirements Gathering Techniques
Ad

Similar to Introduction to Modeling Java and UML (20)

PPTX
Understanding unified modelling language
PPTX
PPTX
Introduction to unified language modeling.pptx
PDF
l1_introuml.pdf
PDF
Object oriented analysis and design unit- ii
PPTX
Introduction to Unified Modeling Language
PPT
Uml introduciton
PPT
Apostila UML
PDF
Object-Oriented Analysis and Design report
DOC
Ooad lab manual
PPT
PDF
Unit 2 - Unified Modeling Language (UML).pdf
PPT
Ooad
PPTX
Chap5 oodm-uml-part1
 
PPTX
Chap5 oodm-uml-part11
 
PDF
UML-Advanced Software Engineering
PPT
UML DIAGRAMS FOR IST SEMISTER OF BTECH STUDENTS
PPT
4_5904551816829340505wewewewewewewew.ppt
PDF
Object-oriented modeling and design.pdf
Understanding unified modelling language
Introduction to unified language modeling.pptx
l1_introuml.pdf
Object oriented analysis and design unit- ii
Introduction to Unified Modeling Language
Uml introduciton
Apostila UML
Object-Oriented Analysis and Design report
Ooad lab manual
Unit 2 - Unified Modeling Language (UML).pdf
Ooad
Chap5 oodm-uml-part1
 
Chap5 oodm-uml-part11
 
UML-Advanced Software Engineering
UML DIAGRAMS FOR IST SEMISTER OF BTECH STUDENTS
4_5904551816829340505wewewewewewewew.ppt
Object-oriented modeling and design.pdf

More from Dang Tuan (20)

PDF
Javascript for php developer
PDF
Power your web skills
PDF
Ube Databases
PPT
Chapter1
PPT
Chapter9
PPT
Chapter3
PPT
Chapter7
PPT
Chapter5
PPT
Session02 Part Ii
PPT
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PPT
Ooad Uml
PPT
M02 Uml Overview
PPT
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
PPT
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
PPT
Ooad Overview
PPT
M03 2 Behavioral Diagrams
PPT
M05 Metamodel
PPT
M04 Design Patterns
PPT
M03 1 Structuraldiagrams
PPT
M01 Oo Intro
Javascript for php developer
Power your web skills
Ube Databases
Chapter1
Chapter9
Chapter3
Chapter7
Chapter5
Session02 Part Ii
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Ooad Uml
M02 Uml Overview
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Ooad Overview
M03 2 Behavioral Diagrams
M05 Metamodel
M04 Design Patterns
M03 1 Structuraldiagrams
M01 Oo Intro

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Spectroscopy.pptx food analysis technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MYSQL Presentation for SQL database connectivity
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Spectroscopy.pptx food analysis technology

Introduction to Modeling Java and UML

  • 1. Chapter 1 Introduction to Modeling Java and UML 鄧姚文 [email_address] http://w3.im.knu.edu.tw/~joseph
  • 2. Agenda What is modeling? UML Modeling software systems with UML Modeling process
  • 3. Introduction Why Java? A good object-oriented programming language Web-enabled enterprise computing (J2EE) Excellent support for exception handling and concurrency Other OO languages Small Talk, C++, Object Pascal, C#, Python
  • 4. Goal of This Book Be able to Communicate an understanding of OO modeling theory and practice to others Communicate an understanding of UML notation to others Critically review a wide variety of UML software models Use UML to create a detailed understanding of the problem from the user’s perspective Use UML to visualize and document a balanced solution using the full suite of Java technologies Use UML to describe other technologies and class libraries
  • 5. What Is Modeling? A model is a simplification with a purpose Use precisely defined notation to describe and simplify a complex and interesting structure, phenomenon, or relationship Real-world examples The solar system model Mathematical models
  • 6. 地軸傾斜 北極冬天沒陽光 南極夏天沒黑夜 以太陽系模型說明極地永晝與永夜
  • 7. What Is Modeling? (cont’d) Simplification Less complex, more accessible Varying perspectives Describe the system from different perspectives Help developers manage complexity Common notation To facilitate communication Allows developers to combine their efforts and to work in parallel
  • 8. UML Unified Modeling Language A language for specifying, visualizing, constructing, and documenting the artifacts of software systems A set of precise notations Helps developers create ideas and communicate them An open standard controlled by OMG
  • 9. UML The Basics Abstraction 抽象化,摘要 只要抓住重點,不必每樣細節都考究 A simplification or model of a complex concept, process, or real-world object Help people understand something at an appropriate level Different people would build different abstractions for the same concept Highlight the characteristics and behavior of something that is too complex to understand in its entirety
  • 10. UML The Basics Encapsulation 封裝 凸顯重要特質隱藏內部細節 Highlight the important aspects of an object Hide the cumbersome internal details of the object Make the system easier to understand and to reuse Make a system more extendible
  • 11. UML The Basics Object A particular and finite element in a large model Visible or invisible Persistent or transient State: describes characteristics and current condition Behavior: defines the actions that other objects may perform on the object Method: a service or responsibility that an object exposes to other objects Each has a unique identifier Limited responsibility and cooperation
  • 12. UML The Basics Class A group of objects that have something in common Captures a particular abstraction Provides a template for object creation Each objects created from a class is identical in The type of data they can hold The type and number of objects they know about The logic for any behavior they provide
  • 13. UML The Basics Relationships between objects Dependency Association Aggregation Composition
  • 14. Dependency Short-term dependency An object may create another object as part of a method, ask it to perform some function, and then forget about it
  • 15. Association An object keeps a reference to another object and can call the object’s, methods as it needs them An object may receive an object as a parameter to a configuration method and keep a reference to the object
  • 16. Aggregation An object is part of a greater whole The contained object may participate in more than one aggregation relationship, and exists independently of the whole
  • 17. Composition An object is owned by a greater whole The contained object may not participate in more than one composition relationship and cannot exist independently of the whole
  • 18. UML The Basics Navigability The control relationship The arrow indicates direction of control
  • 19. UML The Basics Multiplicity The number of relationships No default multiplicity
  • 20. UML The Basics Interface Defines a set of related behavior Does not specify the actual implementation for the behavior Specify the signature of one or more methods A class realizes an interface by implementing each method in the interface
  • 21. UML The Basics Polymorphism Multiple implementation of a single abstraction Abstraction are captured in classes and in interfaces
  • 24. Modeling Software Systems with the UML UML enables building a single coherent model that describes a software system from several perspectives Internal consistency Distinct views Participants can use the same model and speak the same language throughout the development process
  • 25. The Customer’s Perspective Use case Defines and describes a discrete way in which users get value from the system Text description of each use case Including the details of the interactions between the user and the system Activity diagram Visual description of the interaction between the system and the user for a use case
  • 26. The Developer’s Perspective Class diagram Defines and constrains a group of objects in detail Shows the state, behavior, and relationships State chart Describe the state-dependent behavior for a class How an object responses to requests depending on its internal configuration Package diagram How different parts of a system depend on one another
  • 27. The Developer’s Perspective (cont’d) Sequence diagram How objects interact with one another to provide the functionality Indicates the order of the interaction Collaboration diagram Revealing the relationship between objects
  • 28. Modeling Process The developers and customers use the UML to understand the problem from the customer’s point of view The developers use UML to understand the problem from their own point of view The UML model is used as a resource by the implementers of the system
  • 29. Modeling Process (cont’d) Requirements gathering Analysis Technology selection Architecture Design and implementation
  • 30. Requirements Gathering Understand the problem from the customer’s point of view Do NOT concern for technology or system design In this process, developers create Use case diagrams Text use case descriptions Activity diagrams
  • 31. Analysis Understand the problem from the developer’s point of view Still do NOT concern for technology Discover the roles and responsibilities that must be filled in the system In this process, developers create Class diagrams Sequence diagrams Collaboration diagrams
  • 32. Technology Selection Categorize the system in terms of its technological requirements Select the most appropriate technologies to fulfill these well-defined needs Produce a high-level summary of the technological requirements and a list of appropriate technologies for the system No additional UML diagrams are produced
  • 33. Architecture Describe the system at high level Decompose the system into smaller parts (subsystems) Highlight relationships between parts Hide details of each part In this process, developers create Primary class diagrams Package diagrams
  • 34. Design and Implementation Design Use all the results from the previous steps Create a model of objects that interact to provide the system’s functionality The last chance to validate the solution Implementation Write the code according to the design