当前位置:首页 > 工业技术
对象软件项目求生法则
对象软件项目求生法则

对象软件项目求生法则PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(美)考克伯恩(Cockburn,A.)编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2004
  • ISBN:7030124898
  • 页数:250 页
图书介绍:本书给出了面向对象软件开发项目中的所有重要工作,包括进度安排、预算、人员安排以及成本控制中可能的风险及相应的解决办法。关键内容都附有短小的真实案例。本书可以帮助软件项目管理人员们应对项目中无法预知的各种问题,取得整个项目的成功。
《对象软件项目求生法则》目录

Chapter 1 Success and Failure 1

Basic Concepts 4

Object Technology 4

Class 5

Object 5

Inheritance 6

Encapsulation 7

Polymorphism 9

Framework 9

Incremental and Iterative Development 10

Project Histories 11

Chapter 2 Project Expectations 11

ContentsForeword 11

Alfred:Success with Changing Requirements 12

Preface 13

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

Acknowledgments 17

Object Technology International:Success in Productivity and Speed 17

Reginald: Failure with Changing Rules 18

Stanley: Too Much Cutting Edge 18

Tracy: Failure Through Naiveté 19

Udall: Success by Restarting Smaller 20

Winifred: Inattentive But Persistent 21

Responsiveness to Variations on a Theme 23

Responsiveness to Change 23

Possible Benefits of Object Technology 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 Desing,Encapsulation,and System Evolutlon(Tom Morgan) 28

Costs 28

Are You Underestimating? 28

Time to Get New Developers Productive 28

Establishing a Software Process 29

Business Modeling versus Software Design 29

Immaturity of the OO Industry 29

The Difficulty of Reuse 29

Hazards of C++ 29

The Cost of CASE Modeling Tools 30

Probable Costs 30

Nonobject Issues Checklists 31

Chapter 3 Selecting and Setting Up an OO Project 33

Project Suitability 34

Variations on a Theme 34

Simplified Program Structure 35

Memory Management Features 35

What Is Not Suited? 36

Project Purpose 36

Investigative 37

SWAT 37

Production 40

Full-Commit 41

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

The Team Knows a Similar Technology 48

One Person ls Persuasive or Stubborn 48

The Technology ls 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 whatis 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 Getting Started 77

Methodology 77

Big-M Methodology 78

A Base Methodology to Tailor 81

Discussion of the Methodology 82

Roles, Skills, TechniquesTools 87

Teams 88

Ownership 89

Deliverables 89

Standards 91

Activities 92

Building Consumer Understanding of the Design (Ward Cunningham) 94

Estimates 95

Domain Classes 96

Screen Classes 96

Two Weeks per Noncommercial Class 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

Chapter 5 Making Corrections 109

A Study Project 109

Stage 0: The Usual Ignorance 109

Stage 2: Rebuild 110

Stage 1: Disaster 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

Burn some Pancakes(Luke Hohmann) 128

Project Increments 129

Increment 1 129

The Architecture Team 129

The Intentions 130

The Training Team 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

The Domain Model 140

Hazardous Situations 140

Domain Modeling and Reuse 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 Advice From Hindsight 153

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

Reuse Is Easy 158

Classes? 158

More on Iterations 159

Self-Test 160

Two Increments Delivered 160

Thirty People 160

Analysts,Programmers,and Tools 161

Learning OO 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 Expandto Larger Projects 165

Your First Big Project 165

Communication 166

Project Charter 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

Use a Full-Time Mentor 176

Set up 6 to 10 Connected Projects 176

Set up a Full-Time Classroom Program 176

Training 50 or More People 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 Team/Training Team 180

Productivity Changes Over Time 181

Lines of Code per Month 182

Frameworks 183

Migrating the Organization 184

Productivity Revisited 184

Chapter 8 Rechecking: A Case Study 187

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(Jimcoplien) 198

Appendix A Collected Risk-Reduction Strategies 201

Appendix B Crib Sheet 237

Index 243

相关图书
作者其它书籍
返回顶部