出版時間:2004-5 出版社:中國電力出版社 作者:(美)Carig Larman,(美)Philippe Kruchten 頁數(shù):627
Tag標(biāo)簽:無
內(nèi)容概要
本書是當(dāng)今最暢銷的介紹面向?qū)ο蟮姆治?設(shè)計、迭代開發(fā)和UML的書籍。本書的目的是幫助開發(fā)人員或?qū)W生掌握關(guān)于面向?qū)ο蟮姆治龊驮O(shè)計的核心原理和最佳實踐,并將它們真正應(yīng)用到軟件設(shè)計中去。本書的作者是頗有聲望的對象技術(shù)和迭代方法的領(lǐng)軍人物。本書在第一版的基礎(chǔ)上做了全面的修訂,增加了新的案例研究,更新了關(guān)于模式、用況、統(tǒng)一過程、架構(gòu)分析等的探討。
作者簡介
Craig
Larman是Valtech公司的首席科學(xué)家,該公司在技術(shù)咨詢領(lǐng)域居領(lǐng)先地位;在國際軟件開發(fā)社區(qū)中,他是對象技術(shù)、模式、UML、建模和迭代開發(fā)方面廣為人知的專家。Larman從20世紀(jì)80年代就開始幫助人們學(xué)習(xí)對象和迭代開發(fā),他親自指導(dǎo)過的開發(fā)人員已達數(shù)千人
此外,他還是《Java 2 Performance and ldiom
Guide》一書的作者之一,并擁有計算機科學(xué)學(xué)士和碩士學(xué)位、Larman的最新作品《Agile&Iterative
Development:a Manager's Guide》(《敏捷迭代開發(fā)》)即將由中國電力出版社出版。
書籍目錄
foreword xv
preface xvii
Part 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 workfiows)
process customization and the development case
the agile up
the sequential "waterfall" lifecycle
you know you didn't understand the up when...
further readings
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
Part 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, and use cases
congratulations: use cases have been written, and are
imperfect
write use cases in an essential ui-free style
actors
use case diagrams
requirements in context and low-level feature lists
use cases are not object-oriented
use cases within the up
case study: use cases in the nextgen inception phase
further readings
up artifacts and process context
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)
reliable specifications: an oxymoron?
online artifacts at the project website
not much uml during inception?
other requirement artifacts within the up
further readings
up artifacts and process context
8 from inception to elaboration
checkpoint: what happened in inception?
on to elaboration
planning the next iteration
iteration 1 requirements and emphasis: fundamental ooa/i)
skills
what artifacts may start in elaboration?
you know you didn't understand elaboration when...
Part 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 readings
up artifacts
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 classes
uml notation, models, and methods: multiple perspectives
lowering the representational gap
example: the nextgen pos domain model
domain models within the up
further readings
up artifacts
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
nextgen pos domain model associations
nextgen pos domain model
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 unite
attributes in the nextgen domain model
multiplicity from saleslineitem to item
domain model conclusion
13 use-case model: adding detail with operation contracts
contracts
example contract: enteritem
contract sections
postconditions
discussion---enterltem postconditions
writing contracts leads to domain model updates
when are contracts useful? contracts vs. use cases?
guidelines: contracts
nextgen pos example: contracts
changes to the domain model
contracts, operations, and the uml
operation contracts within the up
further readings
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 notation
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 export (or expert)
creator
low coupling
high cohesion
controller
object design and crc cards
further readings
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 domain layer
use-case realizations within the up
summary
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--makelineltem method
order of implementation
test-first programming
summary of mapping designs to code
introduction to the program solution
Part iv elaboration iteration
21 iteration 2 and its requirements
iteration 2 emphasis: object design and patterns
from iteration i 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/publish-subscribe/delegation event model (gof)
conclusion
further readings
Part v elaboration iteration
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
modeling changing states
class hierarchies and inheritance in software
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
ordered elements
using packages to organize the domain model
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 events
additional statechart diagram notation
further readings
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 architectural analysis
architectural analysis within the up
further readings
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
abstract factory (gof) for families of related objects
handling payments with polymorphism and do it myself
conclusion
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
pattern: object identifier
accessing a persistence service with a facade
mapping objects: database mapper or database broker pattern
framework design with the template method pattern
materialization with the template method pattern
configuring mappers with a mapperfactory
pattern: cache management
consolidating and hiding sql statements in one class
transactional states and the state pattern
designing a transaction with the command pattern
lazy materialization with a virtual proxy
how to represent relationships in tables
persistentobject superclass and separation of concerns
unresolved issues
Part 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 artifacts
some team iteration scheduling issues
you know you didn't understand planning in the up when...
further readings
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 analysis model
the rup product
the challenge and myths of reuse
38 more uml notation
general notation
implementation diagrams
template (parameterized, generic) class
activity diagrams
bibliography
glossary
index
編輯推薦
《UML和模式應(yīng)用:面向?qū)ο蠓治龊驮O(shè)計及統(tǒng)一過程導(dǎo)論(第2版)(影印版)》:在這一版中,Larma保持了其一貫精準(zhǔn)和細(xì)心的寫作風(fēng)格,這是一本比第一版更好的書。很少有人能掌握解釋事情的訣竅,而能夠很好地對軟件分析和設(shè)計進行解釋的人則更少,但Craig Larma做到了這兩點。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載