对象软件项目求生法则(影印版)

对象软件项目求生法则(影印版)
作 者: Alistair Cockburn
出版社: 科学出版社
丛编项: 软件工程与方法丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《对象软件项目求生法则(影印版)》作者简介

内容简介

本书论述了面向对象软件开发项目中所有重要的工作内容,包括进度安排、预算、人员配置以及成本控制中可能的风险及相应的解决办法。关键内容都附有短小的真实案例,可以帮助管理人员应对对象软件项目中各种无法预知的问题,取得整个项目的成功。本书适合从事软件开发和软件项目管理的人员使用,也可作为软件企业培训或高等院校软件工程类课程的辅助教材。

图书目录

Contents

Foreword

xi

Preface xiii

Acknowledgments xvii

Chapter 1

Success and Failure

Basic Concepts 4

Object Technology 4

Class

5

Object 5

Inheritance

6

Encapsulation

Polymorphism 9

Framework

9

Incremental and Iterative Development

10

Chapter 2

Project Expectations

Project Histories 11

Alfred: Success with Changing Requirements

12

Brooklyn Union Gas: Success Through Attentiveness

13

Ingrid: Success in Migrating to C

14

Manfred: Failure in Prototyping

15

Mentor Graphics: Trouble Migrating to C

16

Object Technology International: Success in Productivity

and Speed

17

Reginald: Failure with Changing Rules

18

Stanley: Too Much Cutting Edge

18

Tracy: Failure Through Naivete

19

Udall: Success by Restarting Smaller

20

Winifred: Inattentive But Persistent

21

Possible Benefits of Object Technology 23

Responsiveness to Variations on a Theme 23

Responsiveness to Change 23

Time-to-Market 24

Communication Between Developers, Users, and Executives 24

Maintainability 24

Reuse 25

Productivity 25

Window-Based User Interfaces 26

Morale 26

Automated Code Generation 27

Software Process 27

OO Design, Encapsulation, and system Evolution Tom Morgan 28

Costs 28

Are You Underestimating

28

Time to Get New Developers Productive

28

Immaturity of the OO Industry

29

Hazards of C

29

The Difficulty of Reuse

29

Establishing a Software Process

29

Business Modeling versus Software Design

29

The Cost of CASE Modeling Tools

30

Probable Costs 30

Nonobject Issues Checklists 31

Chapter 3 33

Selecting and Setting Up an OO Project

Project Suitability 34

Variations on a Theme 34

Simplified Program Structure 35

Memory Management Features 35

What Is Not Suited

36

Project Purpose 36

SWAT 37

Investigative

37

Production 40

Full-Commit 47

Other Project Categories 41

People 42

Executive Sponsor 42

Project Manager 43

Technical Lead 44

Technical Staff 44

Users 45

Personality Types 46

Technology 47

The Selection Process 47

One Person Is Persuasive or Stubborn

48

The Team Knows a Similar Technology

48

The Technology Is Safe, Popular, or Standard

49

The Technology Is the Rational Choice

50

Programming Languages

51

Managing Smalltalk

52

Managing C

53

Disciplined Use of C

Jeremy Raw

58

Managing OO COBOL

59

Managing Java

60

Tools 61

Upper-CASE Tools

61

Using Java Sam Griffith

62

The Scanner Challenge

65

Minimum CASE Tool Requirements

65

The Cutting Edge

66

Training and Getting Advice 67

What to Teach

68

Developers do not know how to think in objects.

68

Developers do not know how to make design trade-offs.

69

Developers program poorly or use tools badly.

69

Different programmers write differently, making the code hard to learn. 69

Developers create redundant classes because they do not know what

is in the class library.

70

No one knows how to document a framework well.

70

Developers do not understand their role on the project and who depends on them. 71

When to Teach

71

Getting Advice

72

Legacy Issues 72

Mainframes

72

Relational Databases

73

Project Setup C.D.

74

Review 75

Chapter 4 77

Getting Started

Methodology 77

Big-M Methodology

78

A Base Methodology to Tailor 81

Discussion of the Methodology

82

Roles, Skills, Techniques

84

Tools

87

Teams

88

Ownership

89

Deliverables

89

Standards

91

Activities

92

Building Consumer Understanding of the Design Ward Cunningham 94

Estimates 95

Two Weeks per Noncommercial Class

96

Domain Classes 96

Screen Classes 96

Utility Classes 97

Frameworks 97

Plans 98

an Estimation and Planning Session alistair Cockburn 100

Milestones 100

Measurements

102

Take the Time to Design

104

design, and Two Smalltalk Projects K.L. 106

Making Corrections

A Study Project 109

Stage O: The Usual Ignorance

109

Stage 1: Disaster

110

Stage 2: Rebuild

110

Stage 3: Improve

111

Stage 4: Functioning

111

Stage 5: Overconfidence in Scaling Up

111

Lessons From This Study Project

112

Managing Precision, Accuracy, and Scale

112

Managing Work According to Precision

and Accuracy

115

Increments and Iterations

117

Increments and V-W Staging

118

Iterations

123

Combining Increments and Iterations

126

Burm Some Pancakes Luke Hohmann

128

Project Increments 129

Increment 1

129

The Architecture Team

129

The Training Team

130

The Intentions

130

Two Stories

131

Increment 2

132

Pause and Learn

132

Move On

133

Increment N

134

User Involvement

134

Watching Users K.L. 136

Project Teams

136

Ownership

137

Involve the Users Jon Marshall 138

Total-Ownership Teams

138

Matrixed Teams

138

Domain Modeling and Reuse

140

The Domain Model

140

Hazardous Situations

140

The Common Domain Model

141

Why Are There Multiple Valid Domain Models

143

PolyBloodyHardReuse

146

Conflicting Reward Systems

148

Lack of Trust

149

I Can Write It Faster Myself

149

Further Reading

151

Chapter 6 153

Advice From Hindsight

Costs and Benefits Revisited

153

Sentences You Hope Never to Hear 154

Writing 500 Lines of Code per Day

154

Model the World, Then Code

156

Design the Screen, Then Code

157

Iterate Prototypes

157

Classes

158

Reuse Is Easy

158

More on Iterations 159

Self-Test 160

Two Increments Delivered

160

Thirty People

160

Analysts, Programmers, and Tools

161

Learning on From the Compiler

161

Programmers Between Projects

162

On the Cutting Edge

162

Designers and Programmers Separated

162

Six-Month Pilot Started

163

Chapter 7

Expand to Larger Projects

Your First Big Project

165

Project Charter

166

Communication

166

Staffing, Skill Dilution, and Project Teams

167

Methodology 168

Increments and Iterations

169

The Cutting Edge

169

Domain Modeling

169

Risk Reduction

170

PolyBloodyHarderReuse

170

Class Duplication

170

Training the Tidal Wave

171

Ten Lessons the Hard Way Glenn House

172

Train Fewer People

175

Train More Effectively

175

Training 50 or More People

176

Set up a Full-Time Classroom Program

176

Set up 6 to 10 Connected Projects

176

Use a Full-Time Mentor

176

Maintain Tight Standards and Review Policies

177

Rotate People

177

Productivity 177

Size

177

Staff Skill Mix 179

Team Structure

180

Even Mix

180

Progress Teamfrraining Team

180

Productivity Changes Over Time

181

Lines of Code per Month

182

Frameworks

183

Productivity Revisited

184

Migrating the Organization 184

Chapter 8 187

Rechecking: A Case Study

Winifred Revisited 188

Summary

188

History

188

Stage 1: Good Start, with Experience and Support

188

Stage 2: No Architecture, Almost No First Delivery

189

Stage 3: New Increment; Add Teams, Mentors, Architecture

190

Stage 4: Owner per Deliverable; New Infrastructure

191

Analysis

191

Relation to Book''s Topics

192

Technology Is Only Part of the Story 197

Organizations jim Coplien

198

Appendix A

201

Collected Risk-Reduction Strategies

Appendix B

237

Crib Sheet

Index

43