Skip to content

Object-Oriented Analysis and Design Understanding System Development with UML 2. 0

Best in textbook rentals since 2012!

ISBN-10: 0470092408

ISBN-13: 9780470092408

Edition: 2005

Authors: Mike O'Docherty

List price: $92.95
Shipping box This item qualifies for FREE shipping.
Blue ribbon 30 day, 100% satisfaction guarantee!
Rent eBooks
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Covering the breadth of a large topic, this book provides a thorough grounding in object-oriented concepts, the software development process, UML and multi-tier technologies.    After covering some basic ground work underpinning OO software projects, the book follows the steps of a typical development project (Requirements Capture - Design - Specification & Test), showing how an abstract problem is taken through to a concrete solution. The book is programming language agnostic - 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 showing development from an initial proposal…    
Customers also bought

Book details

List price: $92.95
Copyright year: 2005
Publisher: John Wiley & Sons, Incorporated
Publication date: 5/20/2005
Binding: Paperback
Pages: 580
Size: 7.50" wide x 9.33" long x 1.20" tall
Weight: 2.332

Introduction
Background
A Brief History of Programming
Methodologies
About this Book
Setting the Scene
Object Concepts
Introduction
What Is an Object?
Identical or Equal?
Depicting Objects
Encapsulation
Association and Aggregation
Graphs and Trees
Links and Navigability
Messages
Invoking an Operation
An Example Collaboration
How and Object-Oriented Program Works
Garbage Collection
Classes
What Does a Class Define?
Shared Data and Shared Operations
Types
Terminology
Reusing Code
Summary
Further Reading
Review Questions
Answers to Activity 1
Answers to Review Questions
Inheritance
Introduction
Designing a Class Hierarchy
Adding Implementations to a Class Hierarchy
Abstract Classes
Redefining Methods
Implementing a Stack Class
Multiple Inheritance
Guidelines for Using Inheritance
Summary
Further Reading
Review Questions
Answers to Review Questions
Type Systems
Introduction
Dynamic and Static Type Systems
Polymorphism
Dynamic Binding
Polymorphism Guideline
Type Casting
Explicit Casts
Genericity with Templates
Summary
Further Reading
Review Questions
Answers to Activity 2
Answers to Activity 3
Answers to Review Questions
Software Development Methodologies
Introduction
Classical Phases in Software Production
Software Engineering and the Waterfall Methodology
New Methodologies
Object-Oriented Methodologies
Ripple Overview
Summary
Further Reading
Review Questions
Answers to Review Questions
Understanding the Problem
Gathering Requirements
Introduction
The Birth of a System
Use Cases
Business Perspective
Developer Perspective
Summary
Further Reading
Review Questions
Answers to Review Questions
Analyzing the Problem
Introduction
Why Do Analysis?
Overview of the Analysis Process
Static Analysis
Dynamic Analysis
Summary
Further Reading
Review Questions
Answers to Activity 4
Answers to Review Questions
Designing the Solution
Designing the System Architecture
Introduction
Design Priorities
Steps in System Design
Choosing a Networked System Topology
Designing for Concurrency
Designing for Security
Partitioning Software
Summary
Further Reading
Review Questions
Answers to Review Questions
Choosing Technologies
Introduction
Client Tier Technologies
Client Tier to Middle Tier Protocols
Middle Tier Technologies
Middle Tier to Data Tier Technologies
Other Technologies
Typical Front-End Configurations
Back-End Configurations
Java E-Commerce Configuration
UML Packages
Summary
Further Reading
Review Questions
Answers to Review Questions
Designing the Subsystems
Introduction
Mapping the Analysis Class Model into the Design Class Model
Handling Persistence with a Relational Database
Finalizing the User Interfaces
Designing the Business Services
Using Patterns, Frameworks and Libraries
Transactions
Handling Multiple Activities
Summary
Further Reading
Review Questions
Answers to Review Questions
Reusable Design Patterns
Introduction
A Pattern Template
Common Design Patterns
Using Patterns
Discovering, Combining and Adapting Patterns
Summary
Further Reading
Specifying the Interfaces of Classes
Introduction
What Is a Specification?
Formal Specification
Informal Specification
Dynamic Checking
Object-Oriented Specification
Design by Contract
Informal Specification in Java
Summary
Further Reading
Review Questions
Answers to Review Questions
Continuous Testing
Introduction
Testing Terminology
Types of Test
Automating Tests
Preparing for Testing
Testing Strategies
What to Test For
Test-Driven Development
An Example of Test-Driven Development using JUnit
Summary
Further Reading
Ripple Summary
Coot Case Study
Business Requirements
Customer's Mission Statement
Actor List
Use Case List
Use Case Communication Diagrams
Use Case Activity Diagrams
Use Case Details
System Requirements
User Interface Sketches
Actor List
Use Case List
Use Case Diagram
Use Case Survey
Use Case Details
Supplementary Requirements
Use Case Priorities
Analysis
Class Diagram
Attributes
Operation List
State Machine for a Reservation
Use Case Realization
System Design
Technology Choices
Layer Diagram
Layer Interaction Policy
Packages
Deployment Diagram
Security Policy
Concurrency Policy
Subsystem Design
Business Services
ServletsLayer Class Diagram
ServletsLayer Field List
ServletsLayer Message List
ServerLayer Class Diagram
ServerLayer Field List
ServerLayer Message List
BusinessLayer Class Diagram
BusinessLayer Field List
Protocol Objects Class Diagram
Database Schema
User Interface Design
Business Service Realization
Class Specification
Server Class Specification
Business Logic Class Specification
Outline Test Plan
Introduction
The Impact of Spirals and Increments
Testing of Non-Code Artifacts
Code Reviews
Test-Driven Development
Assertions
Testing Phase
Documentation Testing
Build Testing
Test Documentation and Logging
Testing Activities by Phase
Glossary
Summary of UML Notation Used
Bibliography
Index