1 SWE 205 - Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
-
Upload
harvey-shaw -
Category
Documents
-
view
237 -
download
2
Transcript of SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
![Page 1: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/1.jpg)
SWE 214 (071) Introduction to UML Slide 1
Introduction to UML
![Page 2: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/2.jpg)
SWE 214 (071) Introduction to UML Slide 2
Overview
What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools
![Page 3: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/3.jpg)
SWE 214 (071) Introduction to UML Slide 3
Modeling
Models are abstractions that portray the essentials of a complex problem or structure by filtering out nonessential details.
Describing a system at a high level of abstraction• A model of the system• Used for requirements and specifications
Models help us organize, visualize, understand, and create complex things.
Is it necessary to model software systems?
![Page 4: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/4.jpg)
SWE 214 (071) Introduction to UML Slide 4
What is Visual Modeling?
Visual modeling is a way of thinking about problems using models organized around real-world ideas.
Models are useful for• Understanding problems
• Communicating with everyone involved with the project (customer, domain expert, analyst, designers, etc.)
• Modeling enterprises
• Preparing documentation
• Designing programs and databases
![Page 5: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/5.jpg)
SWE 214 (071) Introduction to UML Slide 5
Object Oriented Modeling
![Page 6: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/6.jpg)
SWE 214 (071) Introduction to UML Slide 6
What is UML?
UML stands for “Unified Modeling Language”
It is an industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of an object-oriented system under development.
The UML uses mostly graphical notations to express the OO analysis and design of software projects.
Simplifies the complex process of software design
![Page 7: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/7.jpg)
SWE 214 (071) Introduction to UML Slide 7
Why UML for Modeling
Use graphical notation to communicate more clearly than natural language (imprecise) and code(too detailed).
Help acquire an overall view of a system.
UML is not dependent on any one language or technology.
UML moves us from fragmentation to standardization.
![Page 8: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/8.jpg)
SWE 214 (071) Introduction to UML Slide 8
History of the UML
In 1990s, many different methodologies, along with their own set of notations, were introduced to the market• Object Modeling Technique (OMT) (James Rumbaugh)
• Grady Booch
• Object-oriented software engineering (OOSE) (Ivar Jacobson) Method war
• e.g. is a class a cloud or rectangle? UML
• De facto standard
![Page 9: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/9.jpg)
SWE 214 (071) Introduction to UML Slide 9
![Page 10: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/10.jpg)
SWE 214 (071) Introduction to UML Slide 10
The Unified Modeling Language
Several different notations for describing object-oriented designs were proposed in the 1980s and 1990s.
The Unified Modelling Language is an integration of these notations.
It describes notations for a number of different models that may be produced during OO analysis and design.
It is now a de facto standard for OO modelling.
![Page 11: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/11.jpg)
SWE 214 (071) Introduction to UML Slide 11
Object communication
Conceptually, objects communicate by message passing.
Messages• The name of the service requested by the calling object;
• Copies of the information required to execute the service and the name of a holder for the result of the service.
In practice, messages are often implemented by procedure calls• Name = procedure name;
• Information = parameter list.
![Page 12: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/12.jpg)
SWE 214 (071) Introduction to UML Slide 12
UML Diagrams
Use case diagram Sequence diagram Collaboration diagram State diagram Class diagram Object diagram Component diagram Deployment diagram Activity diagram
![Page 13: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/13.jpg)
SWE 214 (071) Introduction to UML Slide 13
Use Case Diagram
Used for describing a set of user scenarios
Mainly used for capturing user requirements
Work like a contract between end user and software developers
![Page 14: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/14.jpg)
SWE 214 (071) Introduction to UML Slide 14
Use Case Diagram
![Page 15: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/15.jpg)
SWE 214 (071) Introduction to UML Slide 15
Class diagram
Used for describing structure and behavior in the use cases
Provide a conceptual model of the system in terms of entities and their relationships
Used for requirement capture, end-user interaction
Detailed class diagrams are used for developers
![Page 16: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/16.jpg)
SWE 214 (071) Introduction to UML Slide 16
Class diagram
![Page 17: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/17.jpg)
SWE 214 (071) Introduction to UML Slide 17
Good Practice: CRC Card(Class Responsibility Collaborator)
Benefits: It is easy to describe how classes work by moving cards around; allows to quickly consider alternatives.
![Page 18: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/18.jpg)
SWE 214 (071) Introduction to UML Slide 18
Sequence diagram
Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass.
The horizontal dimension shows the objects participating in the interaction.
The vertical arrangement of messages indicates their order.
![Page 19: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/19.jpg)
SWE 214 (071) Introduction to UML Slide 19
Sequence diagram
![Page 20: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/20.jpg)
SWE 214 (071) Introduction to UML Slide 20
State diagram
• State Diagrams show the sequences of states an object goes through during its life cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors.
![Page 21: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/21.jpg)
SWE 214 (071) Introduction to UML Slide 21
UML Modeling Tools
Rational Rose (www.rational.com) by IBM
TogetherSoft Control Center, Borland (http://www.borland.com/together/index.html)
ArgoUML (free software) (http://argouml.tigris.org/ )
OpenSource; written in java
Others (http://www.objectsbydesign.com/tools/umltools_byCompany.html )
![Page 22: SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.](https://reader035.fdocuments.us/reader035/viewer/2022062222/5697bfae1a28abf838c9c51e/html5/thumbnails/22.jpg)
SWE 214 (071) Introduction to UML Slide 22
Reference
1. UML Distilled: A Brief Guide to the Standard Object Modeling Language Martin Fowler, Kendall Scott
2. IBM Rational http://www-306.ibm.com/software/rational/uml/
3. Practical UML --- A Hands-On Introduction for Developers
http://www.togethersoft.com/services/practical_guides/umlonlinecourse/
4. Software Engineering Principles and Practice. Second Edition; Hans van Vliet.