소프트웨어 크리에이티비티 2.0

101

Post on 22-Jul-2016

230 views

Category:

Documents


0 download

DESCRIPTION

로버트 L. 글래스 지음 | 박재호, 이해영 옮김 | IT Leaders 시리즈 _ 008 | ISBN: 9788992939256 | 25,000원 | 2009년 05월 28일 발행 | 488쪽

TRANSCRIPT

  • iv

    01 ...............................................7

    1.1 ! ........ 11

    1.2 , ? .................... 17

    1.3 ? ........................ 22

    1.4 ? ....... 27

    1.5 ....................................... 32

    1.6 , ...................... 36

    1.7 ............................... 44

    1.8 .......................................................... 47

    1.9 ............................. 51

    02 .................................. 53

    2.1 .......................................... 59

    2.2 ............................. 66

    2.3 : (, ) ................ 70

    2.4 ................................................ 75

    2.5 ..................... 78

    03 ........................................... 81

    3.1 BIEGE ............................ 85

    3.2 ................................................. 89

    3.3 .................................................... 92

    3.4 (!?) .............. 97

  • v04 .................................101

    4.1 . ? ..................106

    4.2 ...................................................110

    4.3 ......................................117

    4.4 ............................................123

    05 .........................................127

    5.1 ? ...................132

    5.2 ? .136

    5.3 ...............................................140

    5.4 , ................145

    5.5 , .........................149

    5.6 CMM ................................151

    5.7 , ? .................155

    06 ...............................160

    6.1 , ? ? .....................165

    6.2 , ...... ? ..............................................180

    6.3 ....................196

    07 ...............................................201

    7.1 ? ? .........................207

    7.2 ....................................214

    7.3 , .......................................218

    7.4 .........................................................221

    7.5 , ......................................222

    7.6 ........................................226

  • vi

    08 ...............................................235

    8.1 .....................................................239

    8.2 ...........................................................242

    8.3 ............................................................243

    8.4 ...................................244

    8.5 ? .................................................249

    8.6 .....................................................253

    8.7 ...................................................257

    8.8 ..................................................261

    09 ...............................................268

    9.1 .........................................................273

    9.2 , ...........................................279

    9.3 ...................................................283

    9.4 ......................................287

    10 .............................295

    10.1 , ...................297

    10.2 ..................................................302

    10.3 .........................................................306

    10.4 .....................................310

    10.5 ........................................................317

    11 .............................321

    11.1 .....................323

    11.2 , .......................329

    11.3 , ..........................346

  • vii

    12 ................361

    12.1 ........................................364

    12.2 ................................................368

    12.3 ..................................................374

    13 ..........................................385

    14 .............................................391

    15 ..........................................397

    16 ................................................405

    17 ................................................410

    18 ...........................................421

    19 ...................................................428

    A ( L. ) ............432

    B (/ ) .............................436

    C & ................................439

  • viii

    . ,

    .

    .

    .

    ,

    .

    .

    . 2.0

    .

    .

    90 OS

    ,

    .

    . .

    ,

    ,

    . -

  • ix

    .

    ,

    .

    .

    ,

    .

    .

    .

    , ,

    ( ) ( )

    .

    . ,

    .

    !

    ,

    . .

    .

    .

    .

    .

    . .

    !

    !

  • x!

    !

    .

    . ,

    ,

    .

    .

    ,

    .

    .

    .

    , , .

    . ,

    .

    .

    21 , , .

    .

    .

    .

    . .

    .

    -

  • xi

    . 2.0:

    2007

    ,

    2.0 . 2

    .

    .

    .

    ,

    .

    1000 (2

    999 ).

    .

    .

    .

  • xii

    ,

    . ,

    , .

    ?

    .

    .

    .

    ?

    ?

    .

    ,

    .

    2

    ,

    .

    .

    .

  • xiii

    .

    .

    .

    - ,

    [email protected]

    . . ()!

    .

    . .

    .

    .

    .

    .

    .

    .

    - ,

    [email protected]

  • xiv

    ......

    2.0 .

    .

    , .

    .

    , .

    ,

    (

    ).

    (

    ).

    .

    . .

    , .

    .

    ,

    . , ,

    , ,

    . ,

    , .

  • xv

    . Facts

    and Fallacies of Software Engineering 1

    . Software Conflict 2.0 2

    . Software Runaways Computing Calamities

    ,

    .

    . ,

    . .

    .

    . ,

    . 3

    . , 40 .

    ! .

    .

    2.0

    .

    2009 5

    L.

    1 () .

    2 () 2.0 .

  • xvi

    1

    ,

    . ,

    .

    .

    .

    .

    .

    .

    40,

    6 ,

    .

    .

    .

    .

  • xvii

    , , .

    .

    , , .

    The Discipline of Curiosity[Groen 1990]

    .

    .

    ()

    ()

    . ? ? ,

    [Judson 1980]

    . 1

    .

    . 2

    .

    .

    [Shapiro 1991] .

    .

    . ( )

    .

    .

    . .

    .

    1 () : , .

    2 () : 14

  • xviii

    !

    .

    . .

    ?

    .

    . ,

    , .

    .

    , ,

    , .

    .

    ?

    ?

    .

    . .

    .

    .

    - ,

    1994

  • xix

    2

    .

    .

    , , .

    .

    , .

    .

    , ,

    .

    .

    ?

    .

    .

    . 21

    .

    .

    .

    .

    100 ! . 2

    $1196 .

    .

    2.0

  • xx

    . .

    10

    . ,

    .

    ,

    ( ,

    ).

    ,

    .

    . 1

    .

    .

    , ,

    .

    .

    - L ,

    2006

  • xxi

    ?

    .

    .

    .

    .

    - ,

    ,

    A Whack on the Side of the Head,

    ,

    .

    . .

    .

    .

    .

    .

    ,

    , CASE ,

  • xxii

    .

    .

    ?

    ? .

    ? .

    .

    . ,

    . ,

    .

    ,

    . ,

    ( ) .

    .

    1 .

    .

    . , , ,

    , , ,

    . ,

    .

    .

    2

    .

    . ,

    .

  • xxiii

    . 13 ,

    .

    3 .

    ,

    . , ( )

    ? .

    4 .

    .

    ? ?

    .

    .

    ,

    .

    .

    .

    ,

    , Falutin index

    P. J. .

    ,

    .

    .

    .

  • xxiv

    .

    . .

  • 1

    2.0

  • 21

  • 3 ,

    ,

    .

    .

    - ,

    Tools for Thinking and Problem-solving,

    Prentice-Hall 1986

    * * *

    01.

    02.

    03.

    04.

    05.

    06.

    07.

    08.

    09.

  • 41

    .

    . !

    . ,

    .

    .

    ,

    .

    ?

    .

    ,

    . 1 .

    .

    .

  • 5

    .

    .

    () .

    .

    .

    .

    .

    .

    .

    .

    1

    .

    . , ,

    .

  • 6

    .

    .

    .

    ?

    ? ?

    ?

    ? .

    .

    , ,

    . .

  • 701

    1.1 _ !

    1.2 _ , ?

    1.3 _ ?

    1.4 _ ?

    1.5 _

    1.6 _ ,

    1.7 _

    1.8 _

    1.9 _

  • Software Creativity 2.0

    8

    1

    .

    . ()

    . ? ?

    ,

    -

    The Discipline of Curiosity, Elsevier Science 1990;

    Janny Groen, Eefke Smit, Juurd Eijsvoogel

    discipline

    . undisciplined

    .

    .

    .

    ,

    .

    flexibility.

    .

    ;

    .

    ,

    . 100%

    .

    .

  • 901 _

    .

    (......) ?

    . ?

    ?

    .

    ,

    , . ,

    .

    .

    .

    .

    .

    .

    , .

    .

    ,

    ,

    .

    .

    .

    .

    ? .

  • Software Creativity 2.0

    10

    , .

    ( )

    .

    .

    ?

    ?

    .

    . 30

    ! .

    . 30

    . 1

    .

    .

  • 11

    01 _

    1.1

    !

    1

    .

    .

    ,

    .

    .

    , , ,

    . .

    .

    C# ,

    . schedule ,

    .

    , , .

    3

    .

    .

  • Software Creativity 2.0

    12

    ,

    . ,

    .

    ,

    .

    . C#

    ,

    . progress

    , .

    , , .

    . ,

    .

    .

    ,

    .

    . ?

    , . 10

    . ,

    , .

    ,

    .

    . .

    .

    .

  • 13

    01 _

    . ,

    . (

    C# ).

    .

    , , .

    ego-less programming .

    .

    .

    .

    .

    .

    .

    . , .

    . .

    .

    .

    .

    .

    .

    .

    .

    .

    . (

  • Software Creativity 2.0

    14

    )

    .

    .

    .

    .

    ,

    , .

    ,

    .

    .

    .

    . 4 43,

    .

    .

    .

    .

    .

    .

    .

    .

    .

    , ,

  • 15

    01 _

    ,

    , ,

    .

    .

    .

    ,

    .

    . .

    . !

    . .

    ! .

    .

    .

    .

    .

    .

    .

    , , .

    ,

    . , 4

    .

    4 1

    .

    .

    .

    1 () . , ,

    .

  • Software Creativity 2.0

    16

    . RSS

    .

    ACM ,

    .

    .

    ,

    .

    .

    .

    .

    .

    .

    .

    .

    .

    ?

    .

    8:00-4:30

    .

    .

    . 2 .

  • 17

    01 _

    1.2

    ,

    ?

    ! [Moad 1999]

    .

    . ?

    .

    . 400

    70% 90% .

    . []

    .[Moad 1990]

    .

    .

    ?

    ?

    ?

    .

    .

    . /

    [ ]

    . ? .

  • Software Creativity 2.0

    18

    .

    .

    .

    . ?

    .

    .

    .

    .

    ,

    .

    .

    . ?

    .

    .

    .

    ,

    ,

    .

    .

    .

    .

    Software Aspects of Strategic Defense Systems

    [Parnas 1985].

  • 19

    01 _

    [Brooks 1987].

    ( )

    [Rich 1988].

    .

    CASE .

    [SD 1999] CASE

    .

    [Glass

    1999].

    ( ) ?

    ?

    ?

    . ,

    . ,

    . , ,

    1 .

    .

    . , ,

    ( ).

    , (1966, 1976, 1986, 1996 ) 2006

    .

    , .

    NASA-Goddard

    1 () (protocol analysis):

    . , , .

    .

  • Software Creativity 2.0

    20

    .

    . Empirical Studies of Programmers

    .

    Fraunhofer, NICTA,

    Simula

    .

    . , [David 1988]

    CASE .

    SEI ,

    .

    ,

    . ,

    .

    .

    .

    ,

    . .

    [Moad 1990]

    . ,

    .

    ,

    .

    .

  • 21

    01 _

    , .

    [ ]

    Brooks 1987No Silver Bullet, IEEE Computer, April 1987;

    Fred Brooks.

    Davis 1988Commentary, Accounting Horizons, June 1988;

    Gordon B. Davis.

    Glass 1999 The Realities of Software Technology Payoffs,

    Communications of the ACM, February 1999; Robert L. Glass.

    Moad 1990The Software Revolution, Datamation, February 15,

    1990; Jef Moad.

    Parnas 1985Software Aspects of Strategic Defense Systems,

    American Scientist, September 1985; David Parnas.

    Rich 1988Automatic Programming: Myths and Prospects,

    IEEE Computer, August 1988; Charles Rich and Richard C.

    Waters.

    SD 1990Report on the System Development Conference,

    System Development, April 1990.

  • Software Creativity 2.0

    22

    1.3

    ?

    .

    .

    .

    .

    ,

    .

    .

    .

    .

    . ,

    .

    [Lehman 1980]

    .

    ?

    ?

  • 23

    01 _

    ?

    , ,

    .

    .

    .

    [DeMarco 1987]

    .

    [Jeffery 1983] ,

    .

    .1.

    .2.

    .3.

    .

    .

    1.

    ( ).

    ( 2.

    ).

    .

    ( )

    .

    , ,

  • Software Creativity 2.0

    24

    !

    .

    [Lehman 1979].

    ,

    .

    . ,

    X .

    .

    Y .

    .

    Z - .

    X Z

    .

    Y Z .

    . ,

    . ,

    .

    .

    ()

  • 25

    01 _

    ()

    . ?

    ? ,

    [Groen 1990]

    .

    .

    .[Judson 1980]

    .

    , .

    , ,

    .

    50

    . 50

    . ?

    ? .

  • Software Creativity 2.0

    26

    [ ]

    DeMarco 1987Peopleware, Dorset House, 1987; Tom DeMarco and

    Tim Lister.

    : : ,

    Tom DeMarco/Tim Lister , ,

    () 2003

    Groen 1990The Discipline of Curiosity, Elsevier Science, 1990;

    Janny Groen, Eefke Smit, and Juurd Eisvoogel.

    Jeffery 1985Managing Programmer Productivity, Journal of

    Systems and Software, January 1985; Ross Jeffery and M.J.

    Lawrence.

    Judson 1980quoting from a conversation with Murray Gell-Mann,

    the inventor of quarks, in The Search for Solutions, Holt,

    Rinehart and Winston, 1980; Horace Freeland Judson.

    Lehman 1989Uncertainty in Computer Application and Its

    Control Through the Engineering of Software, Journal of

    Software Maintenance, September 1989; M.M. Lehman.

    Lehman 1979How Software Projects Are Really Managed,

    Datamation, January 1979; M.M. Lehman.

  • 27

    01 _

    1.4

    ?

    .

    .

    . .

    .

    .

    . .

    .

    . .

    .

    . .

    .

    .

    .

    . .

    .

    .

    !

    . !

  • Software Creativity 2.0

    28

    ,

    , .

    , ( )

    .

    .

    ,

    .

    .

    . .

    . !

    .

    .

    .

    . ,

    .

    . ,

    . .

    .

    .

    .

    .

    .

  • 29

    01 _

    .

    .

    ?

    ! .

    . 80%

    ?

    ?

    .

    .

    .

    rapid prototyping .

    //

    .

    .

    ,

    ,

    .

    .

    .

    . ,

    . ?

    ?

    .

  • Software Creativity 2.0

    30

    ,

    (, )

    . ,

    .

    .

    .

    () ( ) .

    .

    , , ( )

    .

    .

    ?

    .

    .

    ?

    . .

    (

    ?)

    ,

    .

  • 31

    01 _

    [ ]

    Zelkowitz 1988Resource Utilization During Software

    Development, Journal of Systems and Software, September

    1988; Marvin R. Zelkowitz.

  • Software Creativity 2.0

    32

    1.5

    .

    .

    20 .

    .

    .

    .

    ,

    ,

    .

    .

    ? ?

    .

    . !

    . MCCMicroelectronics and Computing Consortium

    . controlled

  • 33

    01 _

    opportunistic .

    ,

    .

    ,

    .

    .

    ?

    .

    .

    .

    , .

    ( )

    .

    ?

    .

    .

    ?

    ?

    .

    ?

    .

    .

    ? .

  • Software Creativity 2.0

    34

    .

    . .

    .

    .

    , , .

    .

    ? (

    ) ,

    .

    . .

    . ( )

    .

    .

    .

    .

    .

    .

    / .

    .

    hard-part-first-design

    , .

    .

    ( )

  • 35

    01 _

    .

    . .

    .

    .

    .

    [ ]

    David L Parnas and Paul C. Clements, A Rational Design Process :

    How and Why to Fake it, IEEE Trans. Software Eng. 1986.1

    1 () http://web.cs.wpi.edu/~gpollice/cs3733-b05/Readings/FAKE-IT.pdf

  • Software Creativity 2.0

    36

    1.6

    ,

    1995 ,

    .

    , !

    .

    .

    .

    , ,

    (

    XPeXtreme Programming, Crystal Clear,

    ASDAdaptive Software Development, Scrum, DSDMDynamic Systems

    Development Method, FDDFeature-Driven Development

    . XP ).

    ,

    ?

    . 2001

    Agile Manifesto

    Principles behind the Agile Manifesto

    .

    17 .

  • 37

    01 _

    , .

    .

    Agile Manifesto , http://

    agilemanifesto.org/ .

    .

    .

    .

    .

    . http://agilemanifesto.

    org/principle.html .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    . .

  • Software Creativity 2.0

    38

    .

    .

    .

    /

    .

    .

    / .

    , , ,

    1995

    .

    .

    ,

    . ,

    .

    applicability. , ?

    .

    Agile

    Software Development sweet spots [Cockburn

    2002]. , .

    2-8 .

    usage .

    1.

    regression .

    .

  • 39

    01 _

    .

    Balancing Agile and Discipline

    , /

    [Boehm and Turner 2004]. ,

    ( , )

    .

    .

    .

    .

    . [Williams and Cockburn 2003]

    (, !)

    50

    . . [Sutherland 2001]

    .

    .

    .

    . ,

    .

    ,

    .

    ,

    .

    .

  • Software Creativity 2.0

    40

    .

    . . , .

    .

    . , ,

    . [Beck and Boehm 2003]

    , . (, !)

    60% 10 ,

    .

    .

    17%

    . ,

    .

    ? .

    (XP

    ).

    [Lindvall, et al. 2004]

    . ( XP)

    .

    . ,

    , , ,

    .

  • 41

    01 _

    . ?

    . )

    , )

    . ()

    ()

    .

    , ,

    .

    . (

    ) (

    ,

    ) .

    .

    . [Skowronski 2004]

    ( ) 1

    .

    XP ,

    .

    .

    ? ,

    , (

    .

    ).

  • Software Creativity 2.0

    42

    .

    . ?

    [Skowronski 2004] . ,

    , .

    .

    ,

    .

    ?

    .

    . , (

    ) , CASE 4GL .

    .

    .

    .

    .

  • 43

    01 _

    [ ]

    Boehm and Turner 2004Balancing Agility and Discipline,

    Addison-Wesley, 2004; Barry Boehm and Richard Turner.

    Cockburn 2002Agile Software Development, Addison-Wesley,

    2002; Alistair Cockburn.

    Evans and Boehm 2003Agility Through Discipline: A Debate,

    IEEE Software special issue on Agile methods, June 2003; Kent

    Beck vs. Barry Boehm.

    Lindvall et al 2004Agile Software Development in Large

    Organizations, IEEE Computer, December 2004; Mikael

    Lindvall, Dirk Muthig, Aldo Dagnino, Christina Wallin,

    Michael Stupperich, David Kiefer, John May, and Tuomo

    Kahkonen.

    Skowronski 2004Do Agile Methods Marginalize Problem-Solvers?

    IEEE Computer, October 2004; Victor Skowronski.

    Sutherland 2001Agile Can Scale: Inventing and Reinventing

    SCRUM in Five Companies, Cutter IT Journal special issue on

    the Great Methodologies Debate: Part 1, November 2001; Jeff

    Sutherland.

    Williams and Cockburn 2003Agile Software Development:

    Its About Feedback and Change, IEEE Software special issue

    on Agile methods, June 2003; Laurie Williams and Alistair

    Cockburn.

  • Software Creativity 2.0

    44

    1.7

    .

    .

    . ,

    .

    ,

    ( !).

    -Quincy Illinois Herald-Whig ,

    .1

    ,

    . .

    ,

    .

    , .

    -

    .

    .

    .

    1 () . .

  • 45

    01 _

    .

    .

    ,

    . .

    ,

    . .

    . .

    ! !

    .

    .

    . .

    .

    .

    .

    .

    ,

    .

    .

    .

    .

    .

    ( )

    . ,

    .

  • Software Creativity 2.0

    46

    ,

    .

    .

    .

    . , ,

    .

    . .

    .

    . .

    .

    .

  • 47

    01 _

    1.8

    .

    .

    , .

    .

    . ,

    .

    P.J.

    . [Plauger 1992]

    , Falutins Index

    .

    .

    high falutin, ,

    .

    .

  • Software Creativity 2.0

    48

    ? .

    . 1.

    , .

    .2.

    .3.

    , 4.

    .

    .

    .

    ,

    .

    .

    .

    . , ,

    .

    .

    5-6 .

    ,

    .

    .

    ,

    . ,

  • 49

    01 _

    . . !

    , .

    .

    .

    . . .

    .

    . ,

    , .

    . .

    , ,

    . ,

    ,

    .

    .

    . .

    .

    (

    ).

    . .

    .

    .

  • Software Creativity 2.0

    50

    .

    .

    .

    .

    , .

    ,

    . .

    .

    .

    ?

    . .

    .

    ,

    . .

    . .

    ? ?

    , .

    .

    .

    [ ]

    Plauger 1992The Falutin Index, Embedded Systems

    Programming, May 1992, pages 8992; P.J. Plauger.

  • 51

    01 _

    1.9

    .

    .

    ?

    ,

    .

    ,

    . , .

    .

    .

    .

    (

    ) .

    . (

    )

    .

  • Software Creativity 2.0

    52

    .

    . ,

    .

    ,

    . .

    ,

    .

    .

    .

    . .

    . (

    )

    .

    .

    .

    .

    . ,

    , .

    .

    .

  • 53

    02

    2.1 _

    2.2 _

    2.3 _ : (, )

    2.4 _

    2.5 _

  • Software Creativity 2.0

    54

    2

    .

    . ,

    .

    .

    - ( ),

    The Search for Solutions,

    Holt Rinehart & Winston 1980

    l

    .

    , 1 .

    , ,

    ,

    .

    ?

    ;

    . ;

    .

    .

    .

    1 () heuristics .

    . , .

  • 55

    02 _

    ,

    .

    Formal Specification,

    Formal Verification.

    .

    . 1

    ,

    .

    1 ,

    . (

    )

    .

    ,

    .

    ? 1970

    . A. , L. , J.

    ,

    (, )

    . .

    .

    .

    .

    .

    CACMCommunications of the ACM 1979 11

  • Software Creativity 2.0

    56

    , .

    .

    .

    ( [Glass 1981]

    .)

    .

    10 .

    H. .

    . 10 CACM

    ,

    .

    .

    .

    ( [Glass 1991]

    .)

    ?

    .

    .

    .

    .

    .

    ,

    . (

    ) .

    .

  • 57

    02 _

    .

    . ( )

    .

    , ,

    .

    21 ( )

    . 21

    .

    ?

    ?

    problem solving .

    .

    .

    (, )

    .

    .

    .

    ? .

    [Dekleva 1991] .

    1990 1980

    50

    !

    1980, 1990, 2000

    .

  • Software Creativity 2.0

    58

    .

    (

    ).

    . ,

    .

    [ ]

    Dekleva 1991 - Real Maintenance Statistics,

    Software Maintenance News, February 1991.

    Glass 1981 - A Look at Other Upstream Paddlers,

    Software Soliloquies, Computing Trends, 1981;

    Robert L. Glass.

    Glass 1991 - Preface of Software Conflict, Yourdon Press, 1991;

    Robert L. Glass (republished by developer.* Books in 2006

    as Software Conflict 2.0).

    : 2.0( L. ,

    / , 2007 )

  • 59

    02 _

    2.1

    .

    ,

    .

    .

    .

    .

    . 1990 [Computer

    1990, Software 1990, Transactions 1990]

    .

    . NRCNational Research Council CSTBComputer Science

    Technology Board [CSTB 1990]

    .

    /

    .

    .

    ,

    .

  • Software Creativity 2.0

    60

    .

    .

    . ,

    ,

    .

    .

    , .

    .

    [Rombach 1990] H.

    .

    .

    .

    [Blum 1990]

    .

    .

    .

    IEEE

    .

    .

    .

    (Jeanette Wing, [Computer 1990]).

    [ ]

    .([Software 1990,

    Gerhart]).

    .

  • 61

    02 _

    A. The Sciences of the Artificial, [Simon

    1981])

    .

    ......

    .

    ?

    .

    .

    . ,

    ?

    . ,

    . ,

    .

    ,

    .

    . ,

    . , 3 . ,

    , , .

    .

    .

    . ,

    3 . (

  • Software Creativity 2.0

    62

    ) 3

    .

    .

    .

    .

    .

    ( .

    ).

    .

    .

    .

    .

    .

    .

    .

    .

    .

    . NRLNaval

    Research Laboratory A-7

    ( ,

    ).

  • 63

    02 _

    .

    .

    .

    A-7

    .

    .

    .

    . ,

    (

    ).

    . .

    [DeMillo 1979, Fetzer 1988].

    ,

    ,

    , .

    .

    . () ,

    .

    ,

  • Software Creativity 2.0

    64

    [Dijkstra 1989].

    , .

    .

    ,

    .

    .

    . ,

    . ,

    . ,

    . , .

    .

    .

    .

    ,

    ?

    ? (

    ,

    ?) ,

    .

  • 65

    02 _

    []

    Blum 1990Medical Informatics in the United States, 19501975,

    A History of Medical Informatics, ACM Press, 1990; Bruce I.

    Blum.

    Computer 1990Special issue of IEEE Computer, on Formal

    MethodsPrelude to Virtuoso Software, September 1990.

    CSTB 1990Scaling Up: A Research Agenda for Software

    Engineering, a report of the Computer Science Technology

    Board of the National Research Council, Communications of

    the ACM, March 1990.

    DeMillo 1979Social Processes and Proofs of Theorems and

    Programs, Communications of the ACM, May 1979; Richard A.

    DeMillo, Richard J. Lipton, and Alan J. Perlis.

    Dijkstra 1989On the Cruelty of Really Teaching Computing

    Science, Communications of the ACM, December 1989;

    Edsger W. Dijkstra.

    Fetzer 1988Program Verification: The Very Idea, Communications

    of the ACM, September 1988; James H. Fetzer.

    Rombach 1990Design Measurement: Some Lessons Learned,

    IEEE Software, March 1990; H. Dieter Rombach.

    Simon 1981The Sciences of the Artificial, MIT Press, 1981;

    Herbert A. Simon.

    Software 1990Special issue of IEEE Software, on Formal

    MethodsDeveloping Virtuoso Software, September 1990.

    Transactions 1990Special issue of IEEE Transactions on Software

    Engineering on Formal Methods, September 1990.

  • Software Creativity 2.0

    66

    2.2

    ?

    ?

    ?

    . , .

    , . ,

    .

    . ,

    . .

    , .

    ( ) .

    ,

    .

    . ?

    .

    ,

    .

    .

    ,

    . [Vitalari 1983] ,

  • 67

    02 _

    .

    [Curtis 1987] ,

    .

    . ,

    . [Soloway 1988] ,

    . ,

    .

    , .

    , ,

    ,

    .

    . ,

    .

    .

    . [Petroski 1985]

    .

    .

    .

    .

    .

    . (

    , On Medical Education )

    .

  • Software Creativity 2.0

    68

    .(, The

    Pencil )

    .

    . ,

    .

    . [Judson 1980].

    (

    ) .

    S. ,

    .

    .

    .

    .

    . ,

    . .

    . (

    ) .

    !

  • 69

    02 _

    [ ]

    Curtis 1987 - Empirical Studies of the Design Process: Papers for

    the Second Workshop on Empirical Studies of Programmers,

    MCC Technical Report Number STP-260-87, September 1987;

    Bill Curtis, Raymonde Guindon, Herb Krasner, Diane Walz,

    Joyce Elam, and Neil Iscoe.

    Judson 1980 - The Search for Solutions, Holt, Rinehart, and Winston,

    1980; Horace Freeland Judson.

    Petroski 1985 - To Engineer Is Human - The Role of Failure in

    Successful Design, St. Martins Press, 1985; Henry Petroski.

    : :

    , , , 2003

    Soloway 1988 - Designing Documentation to Compensate for

    Delocalized Plans, Communications of the ACM, November

    1988; Elliot Soloway.

    Vitalari 1983?Problem Solving for Effective Systems Analysis:

    An Experimental Exploration, Communications of the ACM,

    November 1983; Vitalari and Dickson.

  • Software Creativity 2.0

    70

    2.3

    :

    (, )

    . .

    .

    ( .

    .

    ,

    ).

    ,

    A-7 .

    ,

    .

    ?

    .

    A-71 .

    , ,

    . !

    1 () A-7: . HUD(Head

    Unit Display) , F16

    .

  • 71

    02 _

    .

    .

    . .

    A-7

    .

    . .

    A-7

    .

    .

    . .

    , .

    ,

    ,

    .

    . ,

    .

    ,

    . .

    . ?

    .

    .

    .

    .

  • Software Creativity 2.0

    72

    .

    . , A-7

    .

    (

    . ,

    .

    .

    ![Glass

    1991])

    .

    .

    .

    .

    [Heninger 1980].

    .

    . ,

    .

    .

    .

    .

    .

    . A-7

  • 73

    02 _

    .

    (,

    ).

    , .

    ,

    .

    .

    , ,

    .

    .

    . .

    .

    A-7 .

    .

    . [

    ]

    . A-7

    .

    [ ] .

    [Zvengintzov 1988]

    A-7

    .

    . .

    .

  • Software Creativity 2.0

    74

    .

    .

    A-7

    .

    ?

    .

    ,

    .

    ,

    .

    .

    [ ]

    Glass 1991: The Re-Engineering Decision: Lessons from the Best of

    Practice, The Software Practitioner, May 1991; Robert L.

    Glass.

    Heninger 1980: Specifying Software Requirements for Complex

    Systems: New Techniques and Their Applications, IEEE

    Transactions on Software Engineering, January 1980; K.L.

    Heninger.

    Zvegintzov 1988: Parnas Interviewed at ESP-2, Software

    Maintenance News, March 1988; Nicholas Zvegintzov.

  • 75

    02 _

    2.4

    .

    The Science of Programming ,

    The Art of Programming .

    , ,

    . ?

    ?

    , .

    . ICSEInternational Conference on

    Software Engineering ,

    .

    .

    . ?

    ?

    .

    . [Grudin 1989] .

    ,

    . [ ]

    .

    .

  • Software Creativity 2.0

    76

    .

    . ,

    .

    .

    [Denning 1991]

    . .

    . . .

    .

    , ,

    ,

    .

    .

    .

    .

    .

    .

    . ,

    .

    .

    ( 10

    50 !) (,

    ) (, )

    .

    .

  • 77

    02 _

    ,

    .

    .

    .

    .

    .

    (, ,

    ).

    .

    [ ]

    Denning 1991- Editorial, Communications of the ACM, March

    1991; Peter J. Denning.

    Grudin 1989 - The Case Against User Interface Consistency,

    Communications of the ACM, October 1989; Jonathan Grudin.