This textbook mainly addresses beginners and readers with a basic knowledge of object-oriented programming languages like Java or C#, but with little or no modeling or software engineering experience β thus reflecting the majority of students in introductory courses at universities. Using UML, it in
UML @ Classroom: An Introduction to Object-Oriented Modeling (Undergraduate Topics in Computer Science)
β Scribed by Martina Seidl; Marion Scholz; Christian Huemer; Gerti Kappel
- Publisher
- Springer
- Year
- 2015
- Tongue
- English
- Leaves
- 215
- Edition
- 2015
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
This textbook mainly addresses beginners and readers with a basic knowledge of object-oriented programming languages like Java or C#, but with little or no modeling or software engineering experience β thus reflecting the majority of students in introductory courses at universities. Using UML, it introduces basic modeling concepts in a highly precise manner, while refraining from the interpretation of rare special cases.
After a brief explanation of why modeling is an indispensable part of software development, the authors introduce the individual diagram types of UML (the class and object diagram, the sequence diagram, the state machine diagram, the activity diagram, and the use case diagram), as well as their interrelationships, in a step-by-step manner. The topics covered include not only the syntax and the semantics of the individual language elements, but also pragmatic aspects, i.e., how to use them wisely at various stages in the software development process. To this end, the work is complemented with examples that were carefully selected for their educational and illustrative value.
Overall, the book provides a solid foundation and deeper understanding of the most important object-oriented modeling concepts and their application in software development. An additional website offers a complete set of slides to aid in teaching the contents of the book, exercises and further e-learning material.
β¦ Table of Contents
Preface
Acknowledgments
Contents
Chapter 1 Introduction
1.1 Motivation
1.2 Models
1.3 Object Orientation
1.3.1 Classes
1.3.2 Objects
1.3.3 Encapsulation
1.3.4 Messages
1.3.5 Inheritance
1.3.6 Polymorphism
1.4 The Structure of the Book
Chapter 2 A Short Tour of UML
2.1 The History of UML
2.2 Usage
2.3 Diagrams
2.3.1 Structure Diagrams
The Class Diagram
The Object Diagram
The Package Diagram
The Component Diagram
The Composition Structure Diagram
The Deployment Diagram
The Profile Diagram
2.3.2 Behavior Diagrams
The Use Case Diagram
The State Machine Diagram
The Activity Diagram
The Sequence Diagram
The Communication Diagram
The Timing Diagram
The Interaction Overview Diagram
2.4 Diagrams Presented in this Book
Chapter 3 The Use Case Diagram
3.1 Use Cases
3.2 Actors
3.3 Associations
3.4 Relationships between Actors
3.5 Relationships between Use Cases
3.6 Examples of Relationships
3.7 Creating a Use Case Diagram
3.7.1 Identifying Actors and Use Cases
3.7.2 Describing Use Cases
3.7.3 Pitfalls
3.7.4 A Final Example
3.8 Summary
Chapter 4 The Class Diagram
4.1 Objects
4.2 Classes
4.2.1 Notation
4.2.2 Attributes
4.2.3 Multiplicities
4.2.4 Operations
4.2.5 Visibility Markers
4.2.6 Class Variables and Class Operations
4.3 Associations
4.3.1 Binary Associations
4.3.2 N-Ary Associations
4.4 Association Classes
4.5 Aggregations
4.5.1 Shared Aggregations
4.5.2 Compositions
4.6 Generalizations
4.6.1 Inheritance
4.6.2 Classification
4.7 Abstract Classes vs. Interfaces
4.8 Data Types
4.9 Creating a Class Diagram
4.9.1 Generalizations
4.9.2 Associations and Aggregations
4.10 Code Generation
Chapter 5 The State Machine Diagram
5.1 States and State Transitions
5.2 Types of States
5.3 Types of State Transitions
5.4 Types of Events
5.5 Composite States
5.5.1 The Orthogonal State
5.5.2 Submachines
5.5.3 Entry and Exit Points
5.5.4 The History State
5.6 Sequence of Events
5.7 Summary
Chapter 6 The Sequence Diagram
6.1 Interaction Partners
6.2 Exchanging Messages
6.3 Messages
6.4 Combined Fragments
6.4.1 Branches and Loops
6.4.2 Concurrency and Order
6.4.3 Filters and Assertions
6.5 Further Language Elements
6.5.1 Interaction References
6.5.2 Gates
6.5.3 Continuation Markers
6.5.4 Parameters and Local Attributes
6.5.5 Time Constraints
6.5.6 State Invariants
6.6 Creating a Sequence Diagram
6.6.1 The Connection between a Class Diagram and a Sequence Diagram
6.6.2 Describing Design Patterns
6.7 The Communication, Timing, and Interaction Overview Diagrams
6.8 Summary
Chapter 7 The Activity Diagram
7.1 Activities
7.2 Actions
7.2.1 Event-Based Actions
7.2.2 Call Behavior Actions
7.3 Control Flows
7.4 Object Flows
7.5 Partitions
7.6 Exception Handling
7.7 Concluding Example
Chapter 8 All Together Now
8.1 Example 1: Coffee Machine
8.2 Example 2: Submission System
8.3 Example 3: Data Type Stack
8.4 Summary
Chapter 9 Further Topics
9.1 Structuring Models
9.1.1 Packages
9.1.2 Importing Elements/Packages
9.2 The UML Metamodel
9.3 UML Extension Mechanisms
9.3.1 Stereotypes and Profiles
9.3.2 Applying Stereotypes of a Profile
9.4 Model-Based Software Development
References
Index
π SIMILAR VOLUMES
<p><p>This textbook mainly addresses beginners and readers with a basic knowledge of object-oriented programming languages like Java or C#, but with little or no modeling or software engineering experience β thus reflecting the majority of students in introductory courses at universities. Using UML,
<span>1.1 Introduction Object-oriented programming has opened a great many perspectives on the concept of software and has been hailed as part of the solution to the so-called βsoftware crisisβ. It has given the possibility that software components can be constructedandreusedwithconsiderablymorecred
Introduction This engaging textbook provides an accessible introduction to coding and the world of Object-Oriented (OO) programming, using Java as the illustrative programming language. Emphasis is placed on what is most helpful for the first-time coder, in order to develop and understand their kno
<p>This accessible and engaging textbook presents a concise introduction to the exciting field of artificial intelligence (AI). The broad-ranging discussion covers the key subdisciplines within the field, describing practical algorithms and concrete applications in the areas of agents, logic, search