Muutke küpsiste eelistusi

E-raamat: UML @ Classroom: An Introduction to Object-Oriented Modeling

  • Formaat - PDF+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

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 (www.uml.ac.at) offers a complete set of slides to aid in teaching the contents of the book, exercises and further e-learning material.

1 Introduction
1(10)
1.1 Motivation
1(1)
1.2 Models
2(4)
1.3 Object Orientation
6(3)
1.3.1 Classes
6(1)
1.3.2 Objects
6(1)
1.3.3 Encapsulation
7(1)
1.3.4 Messages
7(1)
1.3.5 Inheritance
7(1)
1.3.6 Polymorphism
8(1)
1.4 The Structure of the Book
9(2)
2 A Short Tour of UML
11(12)
2.1 The History of UML
11(3)
2.2 Usage
14(1)
2.3 Diagrams
15(6)
2.3.1 Structure Diagrams
17(2)
2.3.2 Behavior Diagrams
19(2)
2.4 Diagrams Presented in this Book
21(2)
3 The Use Case Diagram
23(26)
3.1 Use Cases
24(1)
3.2 Actors
25(2)
3.3 Associations
27(1)
3.4 Relationships between Actors
28(2)
3.5 Relationships between Use Cases
30(3)
3.6 Examples of Relationships
33(1)
3.7 Creating a Use Case Diagram
34(12)
3.7.1 Identifying Actors and Use Cases
34(1)
3.7.2 Describing Use Cases
35(2)
3.7.3 Pitfalls
37(5)
3.7.4 A Final Example
42(4)
3.8 Summary
46(3)
4 The Class Diagram
49(36)
4.1 Objects
50(2)
4.2 Classes
52(8)
4.2.1 Notation
53(1)
4.2.2 Attributes
54(1)
4.2.3 Multiplicities
55(1)
4.2.4 Operations
56(2)
4.2.5 Visibility Markers
58(1)
4.2.6 Class Variables and Class Operations
59(1)
4.3 Associations
60(5)
4.3.1 Binary Associations
60(4)
4.3.2 N-Ary Associations
64(1)
4.4 Association Classes
65(2)
4.5 Aggregations
67(2)
4.5.1 Shared Aggregations
68(1)
4.5.2 Compositions
68(1)
4.6 Generalizations
69(3)
4.6.1 Inheritance
70(2)
4.6.2 Classification
72(1)
4.7 Abstract Classes vs. Interfaces
72(3)
4.8 Data Types
75(1)
4.9 Creating a Class Diagram
76(4)
4.9.1 Generalizations
78(1)
4.9.2 Associations and Aggregations
78(2)
4.10 Code Generation
80(5)
5 The State Machine Diagram
85(22)
5.1 States and State Transitions
86(3)
5.2 Types of States
89(3)
5.3 Types of State Transitions
92(2)
5.4 Types of Events
94(2)
5.5 Composite States
96(6)
5.5.1 The Orthogonal State
97(1)
5.5.2 Submachines
98(1)
5.5.3 Entry and Exit Points
99(2)
5.5.4 The History State
101(1)
5.6 Sequence of Events
102(3)
5.7 Summary
105(2)
6 The Sequence Diagram
107(34)
6.1 Interaction Partners
108(2)
6.2 Exchanging Messages
110(2)
6.3 Messages
112(3)
6.4 Combined Fragments
115(11)
6.4.1 Branches and Loops
116(3)
6.4.2 Concurrency and Order
119(6)
6.4.3 Filters and Assertions
125(1)
6.5 Further Language Elements
126(7)
6.5.1 Interaction References
127(1)
6.5.2 Gates
128(1)
6.5.3 Continuation Markers
129(1)
6.5.4 Parameters and Local Attributes
129(1)
6.5.5 Time Constraints
130(2)
6.5.6 State Invariants
132(1)
6.6 Creating a Sequence Diagram
133(3)
6.6.1 The Connection between a Class Diagram and a Sequence Diagram
133(2)
6.6.2 Describing Design Patterns
135(1)
6.7 The Communication, Timing, and Interaction Overview Diagrams
136(3)
6.8 Summary
139(2)
7 The Activity Diagram
141(26)
7.1 Activities
142(1)
7.2 Actions
143(3)
7.2.1 Event-Based Actions
144(1)
7.2.2 Call Behavior Actions
145(1)
7.3 Control Flows
146(8)
7.4 Object Flows
154(2)
7.5 Partitions
156(3)
7.6 Exception Handling
159(2)
7.7 Concluding Example
161(6)
8 All Together Now
167(16)
8.1 Example 1: Coffee Machine
167(4)
8.2 Example 2: Submission System
171(9)
8.3 Example 3: Data Type Stack
180(2)
8.4 Summary
182(1)
9 Further Topics
183(12)
9.1 Structuring Models
183(3)
9.1.1 Packages
184(1)
9.1.2 Importing Elements/Packages
185(1)
9.2 The UML Metamodel
186(1)
9.3 UML Extension Mechanisms
187(5)
9.3.1 Stereotypes and Profiles
189(2)
9.3.2 Applying Stereotypes of a Profile
191(1)
9.4 Model-Based Software Development
192(3)
References 195(4)
Index 199
Martina Seidl is assistant professor at the Institute for Formal Models and Verification at the Johannes Kepler University Linz and research associate of the Business Informatics Group of the Vienna University of Technology. Her research focuses on formal methods in modeling, model evolution as well as different aspects of automated theorem proving. She has been involved in teaching numerous courses for all stages of the computer science curricula in Vienna and Linz, many of them directly related to her research.

Marion Scholz studied computer science at the Vienna University of Technology and at the University of Vienna. Since 2007 she teaches object-oriented modeling to first year bachelor students studying computer science and business informatics. As a senior lecturer, her research interests are new teaching methods with a strong focus on e-learning technologies. One of her main challenges is raising the quality of teaching despite large numbers of students.

Christian Huemer is associate professor in the Business Informatics Group of the Vienna University of Technology and serves as vice-dean of academic affairs for business informatics. In addition, he is Scientific Director of the Research Centre Smart Agent Technologies of Research Studios Austria. For ten years he was Chair of the Techniques & Methodologies Group of the United Nations Centre for Trade Facilitation and e-Business (UN / CEFACT). In particular, he has been the project lead of UN / CEFACT Modeling Methodology (UMM) - a UML profile for the specification of inter-organizational business processes.

Gerti Kappel is a full professor at the Institute of Software Technology and Interactive Systems at the Vienna University of Technology, chairing the Business Informatics Group. She is head of the Doctoral College Adaptive Distributed Systems, funded by Vienna University of Technology. Her current research interests include model engineering (model transformation/versioning/evolution, model-driven software development, object-oriented modeling), Web engineering (ubiquitous Web technologies, context awareness, information integration, model-driven development), and process engineering (process modeling, inter-organizational systems, workflow systems).