UML Books

umldistFowler, M. with Scott, K. (2003) UML Distilled – A Brief Guide to the Standard Object Modeling Language (Object Technology Series),  Third Edition, Addison-Wesley

Download eBook PDF (PDF 7,564KB)

Companion Web Site: http://martinfowler.com/books/uml.html

The long-awaited third edition of the best-selling UML book on the market; fully-updated and compliant with UML 2.0. This eagerly-anticipated third edition gets students thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book’s convenient, concise format that has made it an essential resource in courses introducing UML. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.

Pressured with tight deadlines, application developers do not have the luxury of keeping completely up-to-date with all of the latest innovations in software engineering. Once in a great while, a tremendous resource comes along that helps these professionals become more efficient.
The first two editions of UML Distilled have been perennial best-sellers because of their concise, yet thorough, nature. This eagerly-anticipated third edition allows you to get acquainted with some of the best thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book’s convenient format that has made it an essential resource for anyone who designs software for a living. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.

Table of Contents

Why bother with the UML?

1. Introduction.
  • What Is the UML?
  • Ways of Using the UML.
  • How We Got to the UML.Notations and Meta-Models.
  • UML Diagrams.
  • What is Legal UML?
  • The Meaning of UML.
  • UML is not enough.
  • Where to Start with the UML.
  • Looking for More Information.

2. Development Process.

  • Iterative and Waterfall Processes.
  • Predictive and Adaptive Planning.
  • Agile Processes.
  • Rational Unified Process.
  • Fitting a Process to a Project.
  • Fitting the UML into a process.
  • Understanding Legacy Code.
  • Choosing a Development Process.
  • Where to Find Out More.

3. Class Diagrams: The Essentials.

  • Properties.Attributes.
  • Associations.
  • Multiplicity.
  • Programming Interpretation of Properties.
  • Bi-directional Associations.
  • Operations.
  • Generalization.
  • Notes and Comments.
  • Dependency.
  • Constraint Rules.
  • When to Use Class Diagrams.
  • Where to Find Out More.

4. Sequence Diagrams.

  • Creating and deleting participants.
  • Loops, conditionals and the like.
  • Synchronous and Asynchronous Calls.
  • When to use Sequence Diagrams.

5. Class Diagrams: Advanced Concepts.

  • Keywords.
  • Responsibilities.
  • Static Operations and Attributes.
  • Aggregation and Composition.
  • Derived Properties.
  • Interfaces and Abstract Classes.
  • Read Only and Frozen.
  • Reference Objects and Value Objects.
  • Qualified Associations.
  • Classification and Generalization.
  • Multiple and Dynamic Classification.
  • Association Class.Template (Parameterized) Class.
  • Enumerations.Active Class.
  • Visibility.Messages.

6. Object Diagrams.

  • When to use Object Diagrams.

7. Package Diagrams.

  • Packages and Dependencies.
  • Package Aspects.
  • Implementing Packages.
  • Where to Find Out More.
  • When to Use Package Diagrams.

8. Deployment Diagrams.

  • When to use deployment diagrams.

9. Use Cases.

  • Content of a Use Case.
  • Use Case Diagrams.
  • Levels of Use Cases.
  • Use cases and features (or stories).
  • When to Use Use Cases.
  • Where to Find Out More.

10. State Machine Diagrams.

  • Internal Activities.
  • Activity States.
  • Superstates.Concurrent States.
  • Implementing State Diagrams.
  • When to Use State Diagrams.
  • Where to Find Out More.

11. Activity Diagrams.

  • Decomposing an action.
  • Partitions.
  • Signals.
  • Tokens.
  • Flows and Edges.
  • Pins and Transformations.
  • Expansion Regions.
  • Flow Final.
  • Join Specifications.
  • And there’s more.
  • When to Use Activity Diagrams.
  • Where to Find Out More.

12. Communication Diagrams.

  • When to use Communication Diagrams.

13. Composite Structures.

  • When to Use Composite Structures.

14. Component Diagrams.

  • When to use Component Diagrams.

15. Collaborations.

  • When to Use Collaborations.

16. Interaction Overview Diagrams.

  • When to use Interaction Overview Diagrams.

17. Timing Diagrams.

  • When to use Timing Diagrams.

Appendix A Changes between UML Versions.

  • Revisions to the UML.
  • Changes in UML Distilled.
  • Changes from UML 1.0 to 1.1.
  • Type and Implementation Class.
  • Complete and Incomplete Discriminator Constraints.
  • Composition.Immutability and Frozen.
  • Returns on Sequence Diagrams.
  • Use of the Term “Role”.
  • Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5).
  • Use Cases.Activity Diagrams.
  • Changes from UML 1.3 to 1.4.
  • Changes from UML 1.4. to 1.5.
  • From UML 1.x to UML 2.0.
  • Class Diagrams (Basic).
  • Interaction Diagrams.
  • Class Diagrams (Advanced).
  • State Diagrams.
  • Activity Diagrams.

Bibliography.


odochertyO’Docherty, M. (2005) Object-Oriented Analysis and Design – Understanding System Development with UML 2.0, John Wiley and Sons, Ltd

Download eBook PDF (PDF 8,485KB)

Companion Web Site: http://eu.wiley.com/legacy/wileychi/odocherty/

Covering the breadth of this core topic, Object-Oriented Analysis and Design provides a thorough grounding in object-oriented concepts, the software development process, UML and multi-tier technologies. Beginning with the basic ground work underpinning object-oriented software projects, it follows the steps of a typical development project (Requirements Capture, Design, Specification & Testing), showing how an abstract problem is taken through to a concrete solution. The authors take a programming language agnostic approach – so code is kept to a minimum to avoid detail and deviation into implementation minutiae.

A single case study running through the text provides a realistic example of software development, from an initial proposal through to a finished system. Key artefacts such as the requirements document and detailed designs are included, plus exercises in each aspect of the case study,  to enable readers to  produce similar documents for a different system.

Table of Contents

  • Introduction.

Part I: Setting the Scene.

  • Object Concepts.
  • Inheritance.
  • Type Systems.
  • Software Development Methodologies.

Part II: Understanding the Problem.

  • Gathering Requirements.
  • Analyzing the Problem.

Part III: Designing the Solution.

  • Designing the System Architecture.
  • Choosing Technologies.
  • Designing the Subsystems.
  • Reusable Design Patterns.
  • Specifying the Interfaces of Classes.
  • Continuous Testing.

Appendix A: Ripple Summary.

Appendix B: iCoot Case Study.

Appendix C: Summary of UML Notation Used.


Image result for teach yourself UML in 24 hoursSchmuller, J. (2004) Sams Teach Yourself UML in 24 Hours: Complete Starter Kit, Third Edition, Sams Publishing

Download eBook PDF (PDF 4,269KB)

Learn UML, the Unified Modeling Language, to create diagrams describing the various aspects and uses of your application before you start coding, to ensure that you have everything covered. Millions of programmers in all languages have found UML to be an invaluable asset to their craft.

More than 50,000 previous readers have learned UML with Sams Teach Yourself UML in 24 Hours. Expert author Joe Schmuller takes you through 24 step-by-step lessons designed to ensure your understanding of UML diagrams and syntax. This updated edition includes the new features of UML 2.0 designed to make UML an even better modeling tool for modern object-oriented and component-based programming. The CD-ROM includes an electronic version of the book, and Poseidon for UML, Community Edition 2.2, a popular UML modeling tool you can use with the lessons in this book to create UML diagrams immediately.

Table of Contents
Introduction.

I. GETTING STARTED. Hour 1: Introducing the UML.
Adding a Method to the Madness. How the UML Came to Be. Components of the UML. Some Other Features. New Diagrams in UML 2.0. Why So Many Diagrams? But Isn’t It Just a Bunch of Pictures? Summary. Q&A. Workshop. Hour 2: Understanding Object-Orientation.
Objects, Objects Everywhere. Some Object-Oriented Concepts. The Payoff. Summary. Q&A. Workshop.
Hour 3: Working with Object-Orientation.
Visualizing a Class. Attributes. Operations. Attributes, Operations, and Visualization. Responsibilities and Constraints. Attached Notes. Classes―What They Do and How to Find Them. Summary. Q&A. Workshop.
Hour 4: Working with Relationships.
Associations. Multiplicity. Qualified Associations. Reflexive Associations. Inheritance and Generalization. Dependencies. Class Diagrams and Object Diagrams. Summary. Q&A. Workshop.
Hour 5: -Understanding Aggregations, Composites, Interfaces, and Realizations.
Aggregations. Composites. Composite Structure Diagram. Interfaces and Realizations. Interfaces and Ports. Summary. Q&A. Workshop.
Hour 6: Introducing Use Cases.
Use Cases: What They Are. Use Cases: Why They’re Important. An Example: The Soda Machine. Including a Use Case. Extending a Use Case. Starting a Use Case Analysis. Summary. Q&A. Workshop.
Hour 7: Working with Use Case Diagrams.
Representing a Use Case Model. Visualizing Relationships Among Use Cases. Use Case Diagrams in the Analysis Process. Applying Use Case Models: An Example. Taking Stock of Where We Are. The Big Picture. Summary. Q&A. Workshop.
Hour 8: Working with State Diagrams.
What Is a State Diagram? Substates. History States. New in UML 2.0. Why Are State Diagrams Important? Building the Big Picture. Summary. Q&A. Workshop.
Hour 9: Working with Sequence Diagrams.
What Is a Sequence Diagram? Cars and Car Keys. The Soda Machine. Sequence Diagrams: The Generic Sequence Diagram. Creating an Object in the Sequence. Framing a Sequence: Sequence Diagramming in UML 2.0. Building the Big Picture. Summary. Q&A. Workshop.
Hour 10: Working with Communication Diagrams.
What Is a Communication Diagram? Cars and Car Keys. The Soda Machine. Creating an Object. One More Point About Numbering. A Few More Concepts. Building the Big Picture. Summary. Q&A. Workshop.
Hour 11: Working with Activity Diagrams.
The Basics: What Is an Activity Diagram? Applying Activity Diagrams. Swimlanes. Hybrid Diagrams. New Concepts from UML 2.0. An Overview of an Interaction. Building the Big Picture. Summary. Q&A. Workshop.
Hour 12: Working with Component Diagrams.
What Is (and What Isn’t) a Component? Components and Interfaces. What Is a Component Diagram? Applying Component Diagrams. Component Diagrams in the Big Picture. Summary. Q&A. Workshop.
Hour 13: Working with Deployment Diagrams.
What Is a Deployment Diagram? Applying Deployment Diagrams. Deployment Diagrams in the Big Picture. Summary. Q&A. Workshop.
Hour 14: Understanding Packages and Foundations.
Package Diagrams. A Hierarchy. To Boldly Go… Packaging the Infrastructure of UML. And Now At Last…the UML! Extending the UML. Summary. Q&A. Workshop.
Hour 15: Fitting the UML into a Development Process.
Methodologies: Old and New. What a Development Process Must Do. GRAPPLE. RAD3: The Structure of GRAPPLE. The GRAPPLE Wrap-up. Summary. Q&A. Workshop.II. A CASE STUDY. Hour 16: Introducing the Case Study.
Getting Down to Business. GRAPPLEing with the Problem. Discovering Business Processes. Lessons Learned. Summary. Q&A. Workshop.
Hour 17: Performing a Domain Analysis.
Analyzing the Business Process Interview. Developing the Initial Class Diagram. Grouping the Classes. Forming Associations. Forming Aggregates and Composites. Filling Out the Classes. General Issues About Models. Lessons Learned. Summary. Q&A. Workshop.
Hour 18: Gathering System Requirements.
Developing the Vision. Setting Up for Requirements Gathering. The Requirements JAD Session. The Outcome. Now What? Summary. Q&A. Workshop.
Hour 19: Developing the Use Cases.
The Care and Feeding of Use Cases. The Use Case Analysis. The Server Package. Components of the System. Summary. Q&A. Workshop.
Hour 20: Getting into Interactions.
The Working Parts of the System. Interactions in the System. Implications. Summary. Q&A. Workshop.
Hour 21: Designing Look, Feel, and Deployment.
Some General Principles of GUI Design. The GUI JAD Session. From Use Cases to User Interfaces. UML Diagrams for GUI Design. Mapping Out System Deployment. Next Steps. And Now a Word from Our Sponsor. Summary. Q&A. Workshop.
Hour 22: Understanding Design Patterns.
Parameterization. Design Patterns. Chain of Responsibility. Your Own Design Patterns. The Advantages of Design Patterns. Summary. Q&A. Workshop.III. LOOKING AHEAD. Hour 23: Modeling Embedded Systems.
Back to the Restaurant. The Mother of Invention. Fleshing Out the GetAGrip. What Is an Embedded System? Embedded Systems Concepts. Modeling the GetAGrip. Flexing Their Muscles. Summary. Q&A. Workshop. Hour 24: Shaping the Future of the UML.
Extensions for Business. Lessons from the Business Extensions. Graphic User Interfaces. Expert Systems. Web Applications. That’s All, Folks. Summary. Q&A. Workshop.IV. APPENDIXES. Appendix A. Quiz Answers.
Hours 1-24.

Appendix B. Working with a UML Modeling Tool.
What You Should Find in a Modeling Tool. Working with UML in Visio Professional Edition. A Few Words About a Few Tools.
Appendix C. A Summary in Pictures.
Activity Diagram. Class Diagram. Communication Diagram. Component Diagram. Composite Structure Diagram. Deployment Diagram. Object Diagram. Package Diagram. Parameterized Collaboration. Sequence Diagram. State Diagram. Timing Diagram. Use Case Diagram.

51dkMoQMr0L._SX258_BO1,204,203,200_Bennet, Simon, McRobb, Steve and Farmer, Ray (2010 ) Object-Oriented Systems Analysis and Design Using UML, Fourth Edition, McGraw-Hill Education

Student Companion Website: http://highered.mcgraw-hill.com/sites/0077125363/student_view0/

PowerPoint Preentations

01 02

04_04 04_05a 04_05b 04_05c 04_06a 04_06b 04_07a 04_07b 04_08 04_09a 04_09b 04_09c 04_10 04_11 04_12 04_13 04_14 04_15 04_16 04_17 04_18 04_19 04_20 04_21a 04_21b

The fourth edition of Object- Oriented Systems Analysis and Design has been revised and updated to reflect the most up-to-date approaches to information systems development. Still a best-seller in its field, Bennett’s, McRobb’s and Farmer’s text remains a key teaching resource for Systems Analysis and Design courses at both undergraduate and postgraduate level.

The book provides a clear, practical framework for development that uses all the major techniques from UML 2.2. It follows an iterative and incremental approach based on the industry-standard Unified Process, placing systems analysis and design in the context of the whole systems lifestyle. Structured in four parts, the first provides the background to information systems analysis and design and to object-orientation. The second part focuses on the activities of requirements gathering and systems analysis, as well as the basic notation of UML. Part three covers the activities of systems architecture and design, and UML notation for object design, and the book concludes with the implementation of systems and the issues of how the systems life cycle is organized and how reusable components can be developed.

Table of Contents

A1 Agate Ltd Case Study―Introduction
B1 FoodCo Ltd Case Study―Introduction
1 Information Systems―What Are They?
2 Challenges in Information Systems Development
3 Meeting the Challenges
4 What is Object-Orientation?
5 Modelling Concepts
6 Requirements Capture
A2 Agate Ltd Case Study―Requirements Model
7 Requirement Analysis
A3 Agate Ltd Case Study―Requirements Analysis
8 Refining the Requirements Model
9 Object Interaction
10 Specifying Operations
11 Specifying Control
A4 Agate Ltd Case Study―Further Analysis
12 Moving into Design
13 Systems Design and Architecture
14 Detailed Design
15 Design Patterns
16 Human–Computer Interaction
17 Designing Boundary Classes
18 Data Management Design
A5 Agate Ltd Case Study―Design
19 Implementation
20 Software Reuse
21 Software Development Processes


610vn3K7gZL._SX399_BO1,204,203,200_Tegarden, David, Dennis, Alan, Wixam, Barabara Haley (2013) System Analysis and Design UML Version 2.0 – An Object-Oriented Approach, International Student Version, Fourth Edition, John Wiley and Sons

The Fourth edition of Dennis/Wixon/Tegarden′s Systems Analysis and Design with UML continues to offer a concise, modern and applied introduction to OO SAD. The new edition offers updated material, more hands–on exercises, and more applied examples. Furthermore a new emphasis on agile methods tackles programming issues and on business process modeling and ethics to add strategic coverage that appeals to IS majors. Additional coverage of new mobile devices and tablets refresh the content as well as supplementary material, including minicases, coverage of ethics, business process modeling, mobile applications and better illustrations, examples, and exercises.

Table of Contents

Chapter 1 Introduction to Systems Analysis and Design

The Systems Development Life Cycle

Systems Development Methodologies

Typical Systems Analyst Roles and Skills

Basic Characteristics of Object–Oriented Systems

Object–Oriented Systems Analysis and Design (OOSAD)

The Unified Process

The Unified Modeling Language

Applying the Concepts at CD Selections

Chapter 2 Project Management

Project Identification

Feasibility Analysis

Project Selection

Traditional Project Management Tools

Project Effort Estimation

Creating and Managing the Workplan

Staffing the Project

Evironment and Infrastructure Management

Applying the Concepts at CD Selections

PART ONE ANALYSIS MODELING

Chapter 3 Requirements Determination

Requirements Determination

Requirements Analysis Strategies

Requirements–Gathering Techniques

Alternative Requirements Documentation Techniques

The System Proposal

Applying the Concepts at CD Selections

Chapter 4 Business Process and Functional Modeling

Business Process Identification with Use Cases and Use–Case Diagrams

Business Process Modeling with Activity Diagrams

Business Process Documentation with Use Cases and Use–Case Descriptions

Verifying and Validating the Business Processes and Functional Models

Applying the Concepts at CD Selections

Chapter 5 Structural Modeling

Structural Models

Object Identification

CRC Cards

Class Diagrams

Creating Structural Models Using CRC Cards and Class Diagrams

Verifying and Validating the Structural Model

Applying the Concepts at CD Selections

Chapter 6 Behavioral Modeling

Behavioral Models

Interaction Diagrams

Behavioral State Machines

Crude Analysis

Verifying and Validating the Behavioral Model

Applying the Concepts at CD Selections

PART TWO DESIGN

Chapter 7 System Design

Verifying and Validating the Analysis Models

Evolving the Analysis Models into Design Models

Packages and Package Diagrams

Design Strategies

Developing the Actual Design

Applying the Concepts at CD Selections

Chapter 8 Class and Method Design

Review of the Basic Characteristics of Object Orientation

Design Criteria

Object Design Activities

Constraints and Contracts

Method Specification

Applying the Concepts at CD Selections

Chapter 9 Data Base Design

Object Persistence Formats

Mapping Problem Domain Objects to Object Persistence Formats

Optimizing RDBMS–Based Object Storage

Designing Data Access and Manipulation Classes

Nonfunctional Requirements and Data Management Layer Design

Applying the Concepts at CD Selections

Chapter 10 User Interface Design

Principles for User Interface Design

User Interface Design Process

Navigation Design

Input Design

Output Design

Mobile Computing and User Interface Design

Social Media and User Interface Design

International and Cultural Issues and User Interface Design

Nonfunctional Requirements and Human–Computer Interaction Layer Design

Applying the Concepts at CD Selections

Chapter 11 Architecture

Elements of the Physical Architecture Layer

Cloud Computing

Green IT

Infrastructure Design

Hardware and System Software Specifications

Nonfunctional Requirements and Physical Architecture Layer Design

Applying the Concepts at CD Selections

PART THREE IMPLEMENTATION

Chapter 12 Development

Managing Programming

Designing Tests

Developing Documentation

Applying the Concepts at CD Selections

Chapter 13 Installation

Cultural Issues and Information Technology Adoption

Conversion

Change Management

Post–Implementation Activities

Applying the Concepts at CD Selections


Grassle, P., Baumann, H. and Baumann, P. (2005) UML 2.0 in Action – A Project Based Tutorial – A Detailed and Practical Walk-through showing how to apply UML to Real World Development Projects, Packt Publishing

Download eBook PDF (PDF 6,707KB)

If you’ve read the UML documentation or a guide to the UML syntax, but don’t feel you really know where to start with UML on a live project, then this unique book is what you need. Written as a practical case study, the book sets out to give you the intuitive feel for UML you need to confidently add it to your core development toolkit. The authors walk through a rich analysis and design scenario, explaining which parts of UML to use, and how to use them. The emphasis is on the systematic and practical application of UML to real business cases. The book was written for business analysts, technical architects and developers. It does not require detailed programming knowledge, nor is prior experience of UML mandatory. It shows how, with UML, simple models of business processes and specification models can be created and read with little effort.

Table of Contents

Introduction

Basic principles

Modeling business systems

External view

Internal view

Modeling IT systems

Modeling for system integration

Messages in UML

Most books about UML describe it almost in its entirety. Inevitably you’re left with only a superficial knowledge of the range of UML elements, without a deep and intuitive understanding of how to apply UML as a whole to real world design problems. This book doesn’t set out to cover all of UML, but instead pulls together those parts of UML with immediate practical relevance and presents them as part of a coherent process for using UML in your actual development projects.

This book is designed to be read while you work on a real project. After an initial review of the essentials of UML and the design process,  it begins with the modeling of a business system and its business processes, in this case an airport.  Then the IT system intended to serve that business process is described and analysed. Finally the integration of the system into the production environment is covered in detail.

The book can be used in two ways: it can be read through as a thorough grounding in how UML really works in practice; in addition it can be used as stand alone guide to that particular aspect of your own project. Both result in an intuitive understanding of how to actually use UML.

What You Will Learn

  • Basic Principles and Background
  • Modeling Business Systems
  • Modeling IT Systems
  • Modeling Systems Integration