UML和模式应用:面向对象分析和设计及统一过程导论 英文版

UML和模式应用:面向对象分析和设计及统一过程导论 英文版
作 者: Craig Larman
出版社: 中国电力出版社
丛编项: 原版风暴系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: UML
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  CraigLarman是Valtech公司的首席科学家,该公司在技术咨询领域居领先地位。在国际软件开发社区中,他是对象技术、模式、UML、建模和迭代开发方面广为人知的专家。Larman从20世纪80年代就开始帮助人们学习对象和迭代开发,他亲自指导过的开发人员已达数千人。此外,他还是《Java2PerformanceandldiomGuide》一书的作者之一,并拥有计算机科学学士和硕士学位。

内容简介

本书是当今最畅销的介绍面向对象的分析/设计、迭代开发和UML的书籍。本书的目的是帮助开发人员或学生掌握关于面向对象的分析和设计的核心原理和最佳实践,并将它们真正应用到软件设计中去。本书的作者是颇有声望的对象技术和迭代方法的领军人物。本书在第一版的基础上做了全面的修订,增加了新的案例研究,更新了关于模式、用况、统一过程、架构分析等的探讨。前言PrefaceThankyouforreadingthisbook!Thisisapracticalintroductiontoobject-orientedanalysisanddesign(OOA/D),andtorelatedaspectsofiterativedevelopment.IamgratefulthatthefirsteditionwasreceivedasapopularintroductiontoOOA/Dthroughouttheworld,translatedintomanylanguages.Therefore,thissecondeditionbuildsuponandrefines-ratherthanreplaces-thecontentinthefirst.Iwanttosincerelythankallthereadersofthefirstedition.Hereishowthebookwillbenefityou.Designrobustandmaintainableobjectsystems.First,theuseofobjecttechnologyhasproliferatedinthedevelopmentofsoftware,andmasteryofOOA/Discriticalforyoutocreaterobustandmaintainableobjectsystems.Followaroadmapthroughrequirements,analysis,design,andcoding.Second,ifyouarenewtoOOA/D,youareunderstandablychallengedabouthowtoproceedthroughthiscomplexsubject;thisbookpresentsawell-definedroadmap-theUnifiedProcess-sothatyoucan...

图书目录

Foreword.

Preface.

I. INTRODUCTION.

1. Object-Oriented Analysis and Design.

Applying UML and Patterns in OOA/D. Assigning Responsibilities. What Is Analysis and Design? What Is Object-Oriented Analysis and Design? An Example. The UML. Further Readings.

2. Iterative Development and the Unified Process.

The Most Important UP Idea: Iterative Development. Additional UP Best Practices and Concepts. The UP Phases and Schedule-Oriented Terms. The UP Disciplines (was Workflows). Process Customization and the Development Case. The Agile UP. The Sequential “W...

3. Case Study: The NextGen POS System.

The NextGen POS System. Architectural Layers and Case Study Emphasis. The Book's Strategy: Iterative Learning and Development.

II. INCEPTION.

4. Inception.

Inception: An Analogy. Inception May Be Very Brief. What Artifacts May Start in Inception? You Know You Didn't Understand Inception When…

5. Understanding Requirements.

Types of Requirements. Further Readings.

6. Use-Case Model: Writing Requirements in Context.

Goals and Stories. Background. Use Cases and Adding Value. Use Cases and Functional Requirements. Use Case Types and Formats. Fully Dressed Example: Process Sale. Explaining the Sections. Goals and Scope of a Use Case. Finding Primary Actors, Goals, an...

7. Identifying Other Requirements.

NextGen POS Examples. NextGen Example: (Partial) Supplementary Specification. Commentary: Supplementary Specification. NextGen Example: (Partial) Vision. Commentary: Vision. NextGen Example: A (Partial) Glossary. Commentary: Glossary (Data Dictionary)....

8. From Inception to Elaboration.

Checkpoint: What Happened in Inception? On to Elaboration. Planning the Next Iteration. Iteration 1 Requirements and Emphasis: Fundamental OOA/D Skills. What Artifacts May Start in Elaboration? You Know You Didn't Understand Elaboration When…

III. ELABORATION ITERATION.

9. Use-Case Model: Drawing System Sequence Diagrams.

System Behavior. System Sequence Diagrams. Example of an SSD. Inter-System SSDs. SSDs and Use Cases. System Events and the System Boundary. Naming System Events and Operations. Showing Use Case Text. SSDs and the Glossary. SSDs Within the UP. Further R...

10. Domain Model: Visualizing Concepts.

Domain Models. Conceptual Class Identification. Candidate Conceptual Classes for the Sales Domain. Domain Modeling Guidelines. Resolving Similar Conceptual Classes-Register vs. “POST”. Modeling the Unreal World. Specification or Description Conceptual ...

11. Domain Model: Adding Associations.

Associations. The UML Association Notation. Finding Associations-Common Associations List. Association Guidelines. Roles. How Detailed Should Associations Be? Naming Associations. Multiple Associations Between Two Types. Associations and Implementation...

12. Domain Model: Adding Attributes.

Attributes. UML Attribute Notation. Valid Attribute Types. Non-primitive Data Type Classes. Design Creep: No Attributes as Foreign Keys. Modeling Attribute Quantities and Units. Attributes in the NextGen Domain Model. Multiplicity From SalesLineItem to...

13. Use-Case Model: Adding Detail with Operation Contracts.

Contracts. Example Contract: enterItem. Contract Sections. Postconditions. Discussion-enterItem Postconditions. Writing Contracts Leads to Domain Model Updates. When Are Contracts Useful? Contracts vs. Use Cases? Guidelines: Contracts. NextGen POS Exam...

14. From Requirements to Design in this Iteration.

Iteratively Do the Right Thing, Do the Thing Right. Didn't That Take Weeks To Do? No, Not Exactly. On to Object Design.

15. Interaction Diagram Notation.

Sequence and Collaboration Diagrams. Example Collaboration Diagram: makePayment. Example Sequence Diagram: makePayment. Interaction Diagrams Are Valuable. Common Interaction Diagram Notation. Basic Collaboration Diagram Notation. Basic Sequence Diagram...

16. GRASP: Designing Objects with Responsibilities.

Responsibilities and Methods. Responsibilities and Interaction Diagrams. Patterns. GRASP: Patterns of General Principles in Assigning Responsibilities. The UML Class Diagram Notation. Information Expert (or Expert). Creator. Low Coupling. High Cohesion...

17. Design Model: Use-Case Realizations with GRASP Patterns.

Use-Case Realizations. Artifact Comments. Use-Case Realizations for the NextGen Iteration. Object Design: makeNewSale. Object Design: enterItem. Object Design: endSale. Object Design: makePayment. Object Design: startUp. Connecting the UI Layer to the ...

18. Design Model: Determining Visibility.

Visibility Between Objects. Visibility. Illustrating Visibility in the UML.

19. Design Model: Creating Design Class Diagrams.

When to Create DCDs. Example DCD. DCD and UP Terminology. Domain Model vs. Design Model Classes. Creating a NextGen POS DCD. Notation for Member Details. DCDs, Drawing, and CASE Tools. DCDs Within the UP. UP Artifacts.

20. Implementation Model: Mapping Designs to Code.

Programming and the Development Process. Mapping Designs to Code. Creating Class Definitions from DCDs. Creating Methods from Interaction Diagrams. Container/Collection Classes in Code. Exceptions and Error Handling. Defining the Sale—makeLineItem Meth...

IV. ELABORATION ITERATION 2.

21. Iteration 2 and its Requirements.

Iteration 2 Emphasis: Object Design and Patterns. From Iteration 1 to 2. Iteration 2 Requirements. Refinement of Analysis-oriented Artifacts in this Iteration.

22. GRASP: More Patterns for Assigning Responsibilities.

Polymorphism. Pure Fabrication. Indirection. Protected Variations.

23. Designing Use-Case Realizations with GoF Design Patterns.

Adapter (GoF). “Analysis” Discoveries During Design: Domain Model. Factory (GoF). Singleton (GoF). Conclusion of the External Services with Varying Interfaces Problem. Strategy (GoF). Composite (GoF) and Other Design Principles. Facade (GoF). Observer/...

V. ELABORATION ITERATION 3.

24. Iteration 3 and Its Requirements.

Iteration 3 Requirements. Iteration 3 Emphasis.

25. Relating Use Cases.

The include Relationship. Terminology: Concrete, Abstract, Base, and Addition Use Cases. The extend Relationship. The generalize Relationship. Use Case Diagrams.

26. Modeling Generalization.

New Concepts for the Domain Model. Generalization. Defining Conceptual Superclasses and Subclasses. When to Define a Conceptual Subclass. When to Define a Conceptual Superclass. NextGen POS Conceptual Class Hierarchies. Abstract Conceptual Classes. Mod...

27. Refining the Domain Model.

Association Classes. Aggregation and Composition. Time Intervals and Product Prices-Fixing an Iteration 1 “Error”. Association Role Names. Roles as Concepts vs. Roles in Associations. Derived Elements. Qualified Associations. Reflexive Associations. Or...

28. Adding New SSDs and Contracts.

New System Sequence Diagrams. New System Operations. New System Operation Contracts.

29. Modeling Behavior in Statechart Diagrams.

Events, States, and Transitions. Statechart Diagrams. Statechart Diagrams in the UP? Use Case Statechart Diagrams. Use Case Statechart Diagrams for the POS Application. Classes that Benefit from Statechart Diagrams. Illustrating External and Interval E...

30. Designing the Logical Architecture with Patterns.

Software Architecture. Architectural Pattern: Layers. The Model-View Separation Principle. Further Readings.

31. Organizing the Design and Implementation Model Packages.

Package Organization Guidelines. More UML Package Notation. Further Readings.

32. Introduction to Architectural Analysis and the SAD.

Architectural Analysis. Types and Views of Architecture. The Science: Identification and Analysis of Architectural Factors. Example: Partial NextGen POS Architectural Factor Table. The Art: Resolution of Architectural Factors. Summary of Themes in Arch...

33. Designing More Use-Case Realizations with Objects and Patterns.

Failover to Local Services; Performance with Local Caching. Handling Failure. Failover to Local Services with a Proxy (GoF). Designing for Non-Functional or Quality Requirements. Accessing External Physical Devices with Adapters; Buy vs. Build. Abstrac...

34. Designing a Persistence Framework with Patterns.

The Problem: Persistent Objects. The Solution: A Persistence Service from a Persistence Framework. Frameworks. Requirements for the Persistence Service and Framework. Key Ideas. Pattern: Representing Objects as Tables. UML Data Modeling Profile. Patter...

VI. SPECIAL TOPICS.

35. On Drawing and Tools.

On Speculative Design and Visual Thinking. Suggestions for UML Drawing Within the Development Process. Tools and Sample Features. Example Two.

36. Introduction to Iterative Planning and Project Issues.

Ranking Requirements. Ranking Project Risks. Adaptive vs. Predictive Planning. Phase and Iteration Plans. Iteration Plan: What to Do in the Next Iteration? Requirements Tracking Across Iterations. The (In)Validity of Early Estimates. Organizing Project...

37. Comments on Iterative Development and the UP.

Additional UP Best Practices and Concepts. The Construction and Transition Phases. Other Interesting Practices. Motivations for Timeboxing an Iteration. The Sequential “Waterfall” Lifecycle. Usability Engineering and User Interface Design. The UP Analy...

38. More UML Notation.

General Notation. Implementation Diagrams. Template (Parameterized, Generic) Class. Activity Diagrams.

Bibliography.

Glossary.

Index.