Date published 


Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and. Iterative previous editions, Craig Larman has updated this book to fully reflect the new UML 2 The final print images were generated as PDF using. Applying UML and Patterns in OOA/D 3. Assigning .. for his second edition, Craig Larman has chosen to embrace and introduce the. Unified Process, showing . final print images were generated as PDF files using Adobe Acrobat Distiller. What does it mean to have a good object design? This book is a tool to help devel- opers and students learn core skills in object-oriented analysis and design .

Language:English, Spanish, French
Country:South Sudan
Published (Last):27.11.2015
Distribution:Free* [*Registration needed]
Uploaded by: WILHEMINA

72571 downloads 120244 Views 40.60MB PDF Size Report

Ooad Craig Larman Pdf

and common design pat-. From Craig Larman, Applying UML and Patterns: An Introduction to Object-. Oriented Analysis and Design, and the Unified Process. I'm grateful to know that the publishers tell me this the most popular text worldwide for software development. It is now in about languages and is a . OOAD with UML. Object Oriented .. Distributed (eg cross site) teams [note that Larman even includes in this category any team Larman (ref [2]) gives details on how to implement timeboxing. One of his Craig Larman (ref [2]) suggests.

Has goals to be fulfilled by system Supporting Actor Offstage Actor Provides service to the system Interested in the behavior, but no contribution In diagrams, Primary actors go on the left and others on the right. Template for definition: Name Definition Example for an ATM application: Customer: Owner of an account who manages account by depositing and withdrawing funds 22 Working with Use Cases Determine the actors that will interact with the system Examine the actors and document their needs For each separate need, create a use case During Analysis, extend use cases with interaction diagrams 23 Preconditions Anything that must always be true before beginning a scenario is a precondition. Preconditions are assumed to be true, not tested within the Use Case itself. Ignore obvious preconditions such as the power being turned on. Only document items necessary to understand the Use Case. This may include the main success scenario and some alternative paths. For example, if the happy path is a cash sale, a credit sale might also be regarded a success. Stakeholders should agree on the guarantee. Alternative Scenarios or Extensions are used to document other common paths through the system and error handling or exceptions. Condition: If [actor] performs [action] the system 28 Two Parts for Extensions Condition Describe the reason for the alternative flow as a condition that the user can detect Handling Describe the flow of processing in the same manner as the happy path, using a numbering system consistent with the original section. These things can be described in the Technology and Data Variations List. For example, if a card reader cannot read the magnetic stripe on a credit card, the cashier might be able to enter it on the keyboard. The next slide gives definitions. In addition, Use Case diagrams may be used in discussions with stakeholders while capturing their requirements. Premature use of real use cases often confirms existing technology when a better technology might be available.

Recent Books. IT Research Library. Miscellaneous Books. Computer Languages. Computer Science. Electronic Engineering. Linux and Unix. Microsoft and. Mobile Computing.

W1L1IntroToOOAD.pdf - Object Oriented Analysis and Design...

The Dice Game The best way to jump start a description of a complex process is to provide a capsulized example at the outset. Larman's dice game example is cute because, while it is a pretty miniature application, it successfully shows the basic process: use case, conceptual model, collaboration diagram, and class diagram.

Also read: OOAD BOOK PDF

Students, being a generally impatient and skeptical breed, need to be convinced that object-oriented analysis and design is worth the effort. After all, it is much easier to 'hack' together a piece of software especially a game!

For the Objects by Design course, we found that spending the time right away to challenge students' assumptions about how to develop software can quickly provide a download-in attitude. The dice game is ideal in this respect. Use Cases The analysis process commences with the use case.

Two features in particular distinguish the author's presentation of use cases: his distinction between high-level and expanded use cases and his use of textual templates for describing use cases. The UML includes a basic use case notation for depicting actors interacting with the system. However, the notation does not specify the format in which the narration of the use case should be captured, nor how it should be used.

This is where the author steps in. High-level use cases include the use case name, list of actors, and a basic summary of the actors' interaction with the system being modeled. The purpose of the high-level use case is to rapidly scope out the system, without getting bogged down in detail. This can be a highly effective tool for project planning: in the early stages of a project the entire scope may be known.

Using projections based on previous projects, a skilled manager may be able to produce reasonable time estimates for a new project. Also, the order in which the system is designed may be understood by mapping the dependencies between the full set of use cases.

Larman's expanded use-case template, which describes the Actor-System interaction in greater detail, is a subtle but powerful tool. For one, the template makes a clear distinction between the Actor Action and System Response by separating them into two columns.

Secondly, by using sequence numbers to order the events initiated by the actor and the system responses, the template provides a clear framework which feeds into subsequent stages in the process: system sequence diagrams and contracts. This forms the foundation for the Larman process; subsequent stages always have well defined precedents from which they are derived. What immediately brings the use-case templates to life is their application to the example system which dominates the book - the point-of-sale terminal, or POST.

Conceptual Model The conceptual model captures real-world concepts objects , their attributes, and the associations between these concepts. The author provides guidance for identifying each of these components by means of very useful 'category checklists' and introduces the UML class diagram notation for capturing the conceptual model.

The emphasis throughout is that this is an analysis-level activity - a model of real-world objects - and not an attempt to design the actual software. The example application, the POST, is used to create a full-fledged model and the reader gets a true sense of accomplishment by the end when all the pieces come together in an intelligible diagram.

From the process perspective, the author also describes the technique of identifying nouns in the use cases as a strategy for finding concepts and their attributes.

(PDF) OOAD lectures | vikash batra -

We particularly like this approach because it emphasizes the continuity of the process by deriving the outcome of each stage from previous stages. It also provides students with their first tangible proof of the value of doing good use cases. Fundamentals As an interlude to our discussion of Larman's process at this point, we need to take note of a fundamental difference between the approaches of two pioneers of object technology: Ivar Jacobson and Bertrand Meyer.

Jacobson has long championed the 'use-case driven' approach to object-oriented development and has built a comprehensive process around this approach called Objectory, or more recently, the Unified Software Development Process.

Meyer, in his highly regarded book Object-Oriented Software Construction , has roundly rejected a central role for use cases in object-oriented development. An online excerpt from the book clarifies this rejection. Essentially, he believes that an early emphasis on the sequencing of interactions between actors and the system being modeled shifts the focus away from creating well-abstracted, independent objects. The pitfall of focusing on the sequencing of interactions is inevitably to lock into the design artificial sequencing dependancies between objects which are hard to break later on.

Instead, Meyer promotes the Design by Contract approach whereby a contract is formed for each object, precisely specifying the tasks it is obligated to perform on behalf of clients.

This focus on abstraction allows interactions between objects to remain fluid; as long as the contracts are honored, the sequence of interactions may be easily modified as need arises. Whatever Craig Larman's motivation theoretical, practical , it appears that he has consciously tried to reconcile these two fundamentally different approaches, as we will now see at this point in our discussion of his process.

System Sequence Diagrams In order to clearly model the events which will be handled by a system, the system sequence diagram is used.

Hm... Are You a Human?

In the Larman process, these are directly derived from the expanded use cases by identifying each of the events generated by the user to the system.

Here the benefit of separating the actor actions from the system responses in the use case template using two columns becomes evident - it is much simpler to identify the actor initiated events with this visual partitioning.

As we will soon see, identifying these system interactions forms a precise framework for subsequent stages of the process. Which diagrams are preferable under such situations?

Use-Case Model: Writing Requirements in Context: Applying UML and Patterns -Craig Larman

Also give practical situations, when to use the following diagram:a. Use-Case Diagram, b. Object Diagram, c. Draw the Interaction diagram for an ATM — used for card based banking system. Prepare object diagram showing at least 10 relationships among the following object classes. Include associations and qualified associations, aggregations, generalizations, and multiplicity.

You may add additional objects.