Showing posts with label uml. Show all posts
Showing posts with label uml. Show all posts

Monday, July 23, 2007

Object-Oriented Project Management with UML

Almost all software projects are risky. The goal of every project manager is to somehow deal with the cost and schedule uncertainty while meeting your customer's needs. In Object-Oriented Project Management with UML, Murray Cantor describes an elegant, UML-based approach to managing object-oriented projects guaranteed to deliver high-quality software on time and within budget.

Object Oriented Systems Development: Using the Unified Modeling Language

I teach Object Oriented Analysis and Design in a University in Pakistan. I taught this course two times before and I am teaching this course third time. I happend to come across this book in a book store. It seems good to me, I bought it. In my point of view it is the best starting book on this topic. Now I am using this as my text book for teaching the course. Previoulsy, I had to consult so many books to make students understand the history, purpose and meaning of object orientation. I did a lot of research. I consulted OMT by Rambaugh, OOAD with applications by Booch, OOSE by Jackobson then Applying UML by Graig Larman, Applying Use cases and so on. After seeing this book, I believe, all my problems have been solved. It is concise, to the point and comprehensive starter to understand this subject.

I would strongly recommend this book to those people who are new in this area and want to have a strong grip on the subject.

Tuesday, July 3, 2007

UML Topics

UML is the way OO and Component development are done. There are too many books on UML, some good, some not so good, some a waste of money, some that are must haves that will never go out of style. The following books are ones I actually own and use in my practice. One of the problems in the UML world is that Rational Software holds the primary "Brand Recognition" for UML and the UML education process. In some case Rational's materials are valuable, in other cases there a much better alternatives. Simply buying a book or a product because of the Rational logo, may be a mistake.

The Unified Process: Elaboration Phase and The Unified Process: Construction Phase, Scott Ambler, R&D Book. These, along with the current books, are a series of articles written by Scott on deploying the Unified Process using UML.

  • The Rational Unified Process An Introduction: Second Edition, Philippe Kruchten, Addison Wesley, 2000. This is a good introduction to RUP, with well laid out chapters describing each workflow process. This should be the starting point for any UML based development methodology.

  • Building Web Applications with UML, Jim Conallen, Prentice Hall, 1998. This book describes the methods used to define and build web sites using an extension to UML. This notation extension can be easily implemented in any UML tools that support Stereotypes.

  • Use Case Driven Object Modeling with UML: A Practical Approach, Doug Rosenberg, Prentice Hall, 1999. Using another UML extension, a system development process is described for rapid definition and construction.

  • Use Case: Requirements Context, Daryl Kulak and Eamonn Guiney, Addison Wesley, 2000. The increasing use of Use Cases for formal requirements definition is described in this book. Along with several recent IEEE Computer articles, the concepts described here can be directly applied to the gathering and organization of requirements while completely avoiding the long narrative approaches found in traditional processes.

  • The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, and Ivar Jacobson, Addison Wesley, 1999. This is the text from the authors of UML. 

  • Enterprise Modeling with UML: Designing Successful Software through Business Analysis, Chris Marshall, Addison Wesley, 2000. Like all UML books, this one starts off with simple concepts, but it has several important chapters. The separation of Entities from Process is a critical component of the system architectures I have deployed. Without this understanding, then reuse is very difficult.

  • Applying UML and Patterns: An Introduction to Object–Oriented Analysis and Design, Craig Larman, Prentice Hall, 1998. This is an interesting book in that it is a complete description of UML and its application to a real world problem. Although the problem (a point of sale terminal) is somewhat simple, the application of UML is well formed.

  • UML Distilled: Applying the Standard Object Modeling Language, Martin Fowler, Addison Wesley, 1997. This is the classic book on UML and should kept at hand for anyone working in UML. The second edition is out and should be bought in place of this edition.

  • UML Toolkit, Hans–Erik Eriksson and Magnus Penker, John Wiley & Sons, 1998. This is a good modeling process book, complete with Java code for the case studies.

  • Understanding UML: The Developer's Guide With a Web–Based Application in Java, Paul Harmon and Mark Watson, Morgan Kaufmann, 1998. This is the text supplied with the Popkin UML tool.

  • Instant UML, Pierrre–Alain Muller, WROX Publisher, 1997. This is a good survey of UML with great references.

  • Real–Time UML: Developing Efficient Object for Embedded Systems, Bruce Powel Douglas, Addison Wesley, 1998. Although real–time UML is not the norm in many industries, it is become more so with the advent of distributed Corba and federated systems. This is worth a read once all the other UML books have been digested.

  • UML in a Nutshell, Sinan Si Alhir, O'Reilly, 1998. besides the cool cat picture on the cover this book makes a good pocket reference.

  • Fundamentals of Object–Oriented Design in UML, Meilir Page–Jones, Addison Wesley, 2000. This is a hands on book that coveys many OO design concepts in terms of UML

  • Objects, Components, and Frameworks with UML: The Catalysis Approach, Desmond F. D'Souza and Alan Cameron Wills, Addison Wesley, 1998. The Catalysis Approach is an extension of standard UML. This should not be a hindrance though since many of the case studies can be applied without these extensions.

  • Use Cases Combined with Booch, OMT, UML, Putnam P. Texel and Charles B. Williams, Prentice Hall, 1997. This book is a bit dated with OMT and Booch notation being replaced by UML 1.3. The UML in this text is UML 1.1, so even some of the UML is dated. But there is a significant piece of information in the text — there is a project schedule WBS for an Object Oriented development project that can be the basis of nearly every development project ever encountered.

  • Applying Use Case: A Practical Guide, Geri Schneider and Jason P. Winters, Addison Wesley, 1998. Use Cases are a vital part of UML, so this is a good starting point.

  • Unified Modeling Language User Guide, 2nd Edition

    Grady Booch, James Rumbaugh, Ivar Jacobson
    2005, ISBN: 0321267974

    In The Unified Modeling Language User Guide, the original developers of the UML, Grady Booch, James Rumbaugh, and Ivar Jacobson, provide a tutorial to the core aspects of the language in a two-color format designed to facilitate learning. Starting with a conceptual model of the UML, the book progressively applies the UML to a series of increasingly complex modeling problems across a variety of application domains. This example-driven approach helps readers quickly understand and apply the UML

    Tuesday, June 19, 2007

    Visio: How to Resize a Use Case Shape in a UML Diagram

    SUMMARY

    This articles explains how to resize a Use Case shape in a UML diagram.

    MORE INFORMATION

    Before you can resize a Use Case shape in a UML diagram, you must first remove the default protections on the Use Case shape. Visio adds protections because the shape is a group and needs to be protected to make it act as expected during simple operations.

    To remove the default protections on a Use Case shape:
    1. Select the Use Case shape.
    2. On the Window menu, click Show Shapesheet.
    3. Click the Width cell in the Shape Transform section.
    4. Remove the word GUARD in the Formula line (above the drawing page), and then click the green check mark.
    5. Click the Height cell, and then repeat step 4.
    6. Scroll down to the Protection section, and then click the LockWidth cell.
    7. Change the value from 1 to 0 (zero), and then click the green check mark.
    8. Click the LockHeight cell, and then repeat step 7.
    9. Close the Shape Sheet.

    Friday, June 8, 2007

    Building Web Applications with UML - uml books

    Building Web Applications with UML, Jim Conallen, Prentice Hall, 1998. This book describes the methods used to define and build web sites using an extension to UML. This notation extension can be easily implemented in any UML tools that support Stereotypes.

    The Rational Unified Process An Introduction - uml books

    The Rational Unified Process An Introduction: Second Edition, Philippe Kruchten, Addison Wesley, 2000. This is a good introduction to RUP, with well laid out chapters describing each workflow process. This should be the starting point for any UML based development methodology.
     

    The Unified Process - uml books

    Elaboration Phase and The Unified Process: Construction Phase, Scott Ambler, R&D Book. These, along with the current books, are a series of articles written by Scott on deploying the Unified Process using UML.

    Tuesday, June 5, 2007

    Agile Software Development

    It is amusing that Robert C. Martins book, Agile Software Development is nearly the exact reverse of Larmans. In name , Martins book is about adaptive methods and agile development projects and processes. And in the first part of the book Martin does provide a good overview of agile methods and Extremem programming - and how to use test driven design (but here Martin departs emphatically from many Extremists who have no time for using anything other than code to test a design). In contrast, Martin looks at patterns, design templates even simple simulations to inform the developing design and project. And voila - there you have it - 500 pages later informed by some amazing java and C++ coding examples you discover that you have been exposed to patterns, UML, and design principles under the guise of a exposing a project methodology. The reverse of Larman who develops and elaborates a project methodology while supposedly laying out the goods on desgn methods.

    But of course the two are interelated - design and project process are intimately intertwined. As Martin points out - the design is contingent on the characteristics of the project which in turn determine the nature of the process which both in turn constrain and shape the design options. What Martin does is spell out in simple to complex case after case how requirements, principles, and tested design patterns interact to voila produce a fairly narrow set of designs to choose from. And time and again you say to yourself - isn't that right.

    Applying UML and Patterns

    Ted Larman's book, Applying UML and Patterns, started a flood of good books on UML, Java and Object Oriented deign. Jacquie Barkers's good Java overview, Java Objects followed and then a whole deluge. Yet Larman's book is not just a survey and analysis of UML as applied to patterns but rather an overview of object design and project development in general.In fact this book, introduces OOAD-Object Oriented Analysis and Design as part and parcel of good project management.

    For example, readers are introduced to agile and iterative development practices as some of the compelling reasons for OO design. Then readers are carried through a project using the Unified Process (obviously followng Rational's Process but adapted and watch as UML, OO Design and Patterns are used iteratively to arrive at better approximations to the evolving system design. What is really fascinating here is how flexible the design process can be to changing requirements. This is the bain of development - the need to respond to changing requirements yet the need to guarantee that the design is iterating towards a solution - not just cycling or spiraling out of control. Larman has some but not a definitive set of controls against such jeopardy. However the book is rich in examples of how to turn domain models and use case analysis into the fore-runners of design Then there are a variety of patterns available for assigning the resulting roles, requirements and responsibilities into design sets. It is this process and the iterative testing behind it that is at the core of Larman's book. Its sort of like a mathematical proof - QED that which is required is demonstrated. Well organized, good read.

    Friday, June 1, 2007

    Learning UML - "UML Books"

    Learning UML introduces the Unified Modeling Language and leads you through an orderly progress towards mastery of the language.

    Book Description

    Since the dawn of computing, software designers and developers have searched for ways to describe the systems they worked so hard to create. Flowcharts enabled the concise documentation of program-flow and algorithms. Entity-relationship diagrams enabled database designers to convey the structure underlying the collection of tables and columns that made up a schema. From the beginning, technologists recognized the descriptive power inherent in visual representations of a system, yet it wasn't until 1997 that the first attempt to create a visual language that could be used across all aspects of a system development project came to fruition. Unified Modeling Language (UML) was born. UML has taken the software development industry by storm. Widely supported by development and documentation tools, UML can be used on the one hand by programmers to record such things as the detailed design of classes in an object-oriented system and on the other hand by business analysts to give the broad-brush picture of how a system interacts with users and other systems. UML has become the lingua franca of software development, and no one in the software industry can afford to be without knowledge of this powerfully expressive visual language. Learning UML introduces UML and places it in perspective, then leads you through an orderly progress towards mastery of the language. You'll begin by learning how UML is used to model the structure of a system. Many key UML concepts, especially that of the general (classes) versus the specific (objects), are illustrated in the chapter on class and object diagrams. Next, you'll learn how to use use-case diagrams to model the functionality of a system. Finally, you'll see how component and deployment diagrams are used to model the way in which a system is deployed in a physical environment. Structural modeling answers the "who" and "what" questions of systems development. Behavioral modeling addresses the questions of "when," "how," and "why." You'll learn how to use sequence and collaboration, to model the interaction over time between system components, how to use state diagrams to describe the life cycle of system components, and how to use activity diagrams to document control-flow and responsibility. Throughout this book, author Sinan Si Alhir maintains a clear focus on UML the language and avoids getting caught up in the cobwebs of methodology. His presentation is direct and to-the-point. Each chapter ends with a set of exercises that you can use to test your growing knowledge of UML and its concepts. As you work your way through the book, you'll find yourself warming up to the simple yet expressive language that is UML, and using it to communicate effectively and professionally about all aspects of system design.

    UML Bible - "UML Books"

    UML Bible

    The UML Bible is a comprehensive guide to the principles, standards, and application of the Unified Modeling Language for versions 1.4 and 2.0.

    Friday, May 18, 2007

    Schaum's Outline of UML: Second Edition - "UML Books"




    Schaum's Outline of UML: Second Edition

    Simon Bennett, John Skelton, Ken Lunn
    2005, ISBN: 0077107411

    In the more than seven years since the Object Management Group (OMG) adopted the Unified Modeling Language (UML), UML has established itself as the de facto industry standard for modeling software systems. This book provides a step-by-step guide to the notation and use of UML, one of the most widely used, object-oriented notation systems/programming languages in existence. The outline demonstrates the use of the techniques and notation of UML through case studies in systems analysis, showing the student clearly how UML is used in all kinds of practical situations.

    View UML Book

    UML 2 Toolkit - "UML Books"



    UML 2 Toolkit

    Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado
    2003, ISBN: 0471463612

    Gain the skills to effectively plan software applications and systems using the latest version of UML. UML 2 represents a significant update to the UML specification, from providing more robust mechanisms for modeling workflow and actions to making the modeling language more executable. Now in its second edition, this bestselling book provides you with all the tools you'll need for effective modeling with UML 2.

    View UML Book

    Fast Track UML 2.0 - "UML Books"



    Fast Track UML 2.0

    Kendall Scott, Apress

    2004, ISBN: 1590593200

    This book provides an overview of UML 2.0, discussing such topics as classes, class relationships, class and object diagrams, use cases, packages, state machines and more.

    View UML Book

    UML 2 for Dummies - "UML Books"



    UML 2 for Dummies

    Michael J. Chonoles, James A. Schardt

    2003, ISBN: 0764526146

    UML (Unified Modelling Language) is a graphical modelling language used to specify, visualize, construct, and document applications and software systems, which are implemented with components and object-oriented programming languages, such as Java, C++, and Visual Basic. This guidebook to UML shows programmers how to use UML to design large, complex enterprise applications that enable scalability, security, and robust execution.


    View UML Book

    Use Cases: Requirements in Context, Second Edition - "UML Books"



    Use Cases: Requirements in Context, Second Edition

    Daryl Kulak, Eamon Guiney

    2003, ISBN: 0321154983

    Use Cases: Requirements in Context describes how to gather and define software requirements using a process based on use cases. It shows systems analysts and designers how use cases can provide solutions to the most challenging requirements issues, resulting in effective, quality systems that meet the needs of users.

    View UML Book

    Learning UML - "UML Books"



    Learning UML

    Sinan Si Alhir
    2003, ISBN: 0596003447

    Learning UML introduces UML and places it in perspective, then leads you through an orderly progress towards mastery of the language. You'll begin by learning how UML is used to model the structure of a system. Many key UML concepts, especially that of the general (classes) versus the specific (objects), are illustrated in the chapter on class and object diagrams. Next, you'll learn how to use use-case diagrams to model the functionality of a system. Finally, you'll see how component and deployment diagrams are used to model the way in which a system is deployed in a physical environment.

    View UML Book

    UML 2.0 in a Nutshell - "UML Books"




    UML 2.0 in a Nutshell

    Dan Pilone, Neil Pitman

    2005, ISBN: 0596007957

    Today, UML has become the standard method for modeling software systems, which means you're probably confronting this rich and expressive language more than ever before. And even though you may not write UML diagrams yourself, you'll still need to interpret diagrams written by others. "UML 2.0 in a Nutshell" from O'Reilly feels your pain. It's been crafted for professionals like you who must read, create, and understand system artifacts expressed using UML


    View UML Book

    UML 2.0 Pocket Reference - "UML Books"

    UML 2.0 Pocket Reference

    Dan Pilone

    2006, ISBN: 0596102089

    Updated to cover the very latest in UML, you'll find coverage of the following UML 2.0 diagram types: Class diagrams; Component diagrams; Sequence diagrams; Communication diagrams; Timing diagrams; Interaction Overview diagrams; Package diagrams; Deployment diagrams; Use case diagrams; Composite structure diagrams; Activity diagrams; Statechart diagrams; and new or expanded coverage in this edition. The UML 2.0 Pocket Reference travels well to meetings and fits nicely into your laptop bag. It's near impossible to memorise all aspects of UML and with this book along, you won't have to.

    View UML Book