网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 计算机/网络 > 商品详情

软件工程基础(第二版)(英文影印版)

分享到:
软件工程基础(第二版)(英文影印版)

最 低 价:¥42.90

定 价:¥0.00

作 者:(意)Carlo Ghezzi,Mehdi Jazayeri,Dino Ma

出 版 社:中国电力出版社

出版时间:2006 年1月

I S B N:7508338766

商品详情

编辑推荐

内容简介

本书介绍了软件工程的基本原理,并展示了这些原理在软件开发的不同阶段的应用。本书强调了软件工程实践的严格方法的重要性。书中提供了350多个练习,用以帮助读者理解相关内容。同时书中还对20多个案例进行了深入研究,展示了如何处理错综复杂的现实问题。.
  第二版保留了第一版成功的组织结构,并增加了关于软件工程中新近开发的内容。...

作者简介

Carlo Ghezzi 米兰工业大学计算机科学教授,主讲软件工程。鉴于他对软件工程研究方面的贡献,美国计算机协会于2000年授予其名誉会员称号。.
Mehdi Jazayeri 维也纳工业大学计算机科学教授,主讲分布式系统。他曾经在美国硅谷做过多年的软件开发,包括在美国加州的惠普实验室那10年的经历。..
Dino Mandrioli 米兰工业大学计算机科学教授,主讲计算机科学原理。他的研究兴趣主要是软件工程实践中的形式化方法。...
.. << 查看详细

目录

software engineering:a preview 1
1.1 the role of software engineering in system design 2
1.2a shortened history of software engineering 3
1.3the role of the software engineer 5
1.4 the software life cycle 6
1.5 the relationship of software engineering to other areas
of computer science 8
1.5.1 programming languages 9
1.5.2 operating systems 10
1.5.3 data bases 10
1.5.4 artificial intelligence 11
1.5.5 theoretical models 12
1.6 the relationship of software engineering to other disciplines 12
1.6.1 management science 13
1.6.2 systemsengineering 13
1.7 concluding remarks 13
bibliographic notes 14
chapter 2 software:its nature and qualities 15
2.1 classification of software qualities 16
2.1.1 external versus internal qualities 16
.2.1.2 product and process qualities 16
2.2 representative qualities 17
2.2.1 correctness,reliability,and robustness 17
2.2.2 performance 20
2.2.3 usability 22
2.2.4 verifiabilitv 23
2.2.5 maintainabilitv 23
2.2.6 reusability 26
2.2.7 portability 28
2.2.8 understandability 28
2.2.9 interoperability 29
2.2.10 productivity 30
2.2.11 timeliness 30
2.2.12 visibility 32
2.3 quality requirements in different application areas 33
2.3.1 information systems 33
2.3.2 real-time systems 34
2.3.3 distributed systems 36
2.3.4 embedded systems 36
2.4 measurement of quality 37
2.5 concluding remarks 38
further exercises 38
hints and sketchy solutions 39
biblio graphic notes 39
cha pter 3 software engineering principles. 41
3.1 rigor and formality 42
3.2 separation of concerns 44
3.3 modularitv 47
3.4 abstraction 49
3.5 anticip ation of change 50
3.6 generality 52
3.7 incrementality 53
3.8 two case studies illustrating software engineering principles 54
3.8.1 application of software engineering principles to compiler
construction 54
3.8.2 a case study in system engineering 59
3.9concluding remarks 64
further exercises 65
hints and sketchy solutions 65
bibliographic notes 66
chapter 4 design and software architecture 67
4.1 the software design activity and its objectives 70
4.1.1 design for change 72
4.1.2 product families 76
4.2 modularization techniques 78
4.2.1 the module structure and its representation 79
4.2.2 interface,implementation,and information hiding 86
4.2.3 design notations 93
4.2.4 categories of modules 100
4.2.5 some specific techniques for design for change 108
4.2.6 stepwise refinement 111
4.2.7 top-down versus bottom-up design 117
4.3 handling anomalies 118
4.4 a case study in design 121
4.5 concurrent software 124
4.5.1 shared data 124
4.5.2 real-time software 132
4.5.3 distributed software 134
4.6 object—oriented design 139
4.6.1 generalization and specialization 140
4.6.2 associations 143
4.6.3 aggregation 145
4.6.4 more on uml class diagrams 146
4.7 architecture and components 146
4.7.1 standard architectures 147
4.7.2 software components 149
4.7.3 architecture as framework for component integration 152
4.7.4 architectures for distributed systems 153
4.8 concluding remarks 154
further exercises 156
hints and sketchy solutions 158
bibliographic notes 159
chapter 5 specification

5.1 the uses of specifications 162
5.2 specification qualities 165
5.3classification of specification styles 167
5.4verification of specifications 170
5.5operational specifications 171
5.5.1data flow diagrams:specifying functions of information systems 171
5.5.2 uml diagrams for specifying behaviors177
5.5.3 finite state machines:describing control flow 179
5.5.4 petri nets:specifying asynchronous systems 185
5.6 descriptive specifications 210
5.6.1 entity-relationship diagrams 210
5.6.2 logic specifications 213
5.6.3 algebraic specifications 229
5.7 building and using specifications in practice 236
5.7.1 requirements for specification notations 236
5.7.2 building modular specifications 240
5.7.3 specifications for the end user 257
concluding~remarks 258
further exercises 259
hints and sketchy solutions 262
biblio graphic notes 266
chapter 6 verification 269
6.1goals and requirements of verification 270
6.1.1 everything must b e verifled 271
6.1.2 the results of verification mav not be binary 271
6.1.3 verification may be objective or subjective 272
6.1.4 even implicit qualities must be verifled 273
6.2 approaches to verification 274
6.3testing 274
6.3.1 goals for testing 275
6.3.2 theoretical foundations of testing 277
6.3.3 empirical testing principles 280
6.3.4 testing in the small 282
6.3.5 testing in the large 302
6.3.6 separate concerns in the testing activity 312
6.3.7 testing concurrent and real-time systems 313
6.4analysis 316
6.4.1 informal analysis techniq ues 317
6.4.2 correctness proofs 320
6.5 symbolic execution 337
6.5.1 basic concepts of symbolic execution 339
6.5.2 programs with arrays 342
6.5.3 the use of symbolic execution in testing 345
6.6.model checking 347
6.7putting it a11 together 349
6.8d ebugging 351
6.9verfying other software properties 355
6.9.1 verifying performance 356
6.9.2 verifying reliability 356
6.9.3 verifying subjective qualities 360
concluding remarks 371
further exercises 372
hints and sketchy solutions 378
b iblio graphic notes 381
chapter 7 the software production process 385
7.1 what is a software process model? 386
7.2 why are software process models important? 388
7.3 the main activities of software production 391
7.3.1 feasibility study 391
7.3.2 eliciting,understanding,and specifying requirements 392
7.3.3 definition of the software architecture and detailed design 399
7.3.4 coding and module testing 399
7.3.5 integration and system testing 400
7.3.6 delivery,deployment.and maintenance 400
7.3.7 other activities 401
7.4 an overview of software process models 403
7.4.1 waterfall models 403
7.4.2 evolutionary models 410
7.4.3 transformation model 413
7.4.4 spiral model 416
7.4.5 an assessment of process models 417
7.5 dealing with legacy software 420
7.6 case studies 421
7.6.1 case study:a telephone switching system 421
7.6.2 case study:a budget control system 426
7.6.3 case study:the microsoft synchronize and stabilize process 430
7.6.4 case study:the open source approach 431
7.7 organizing the process 433
7.7.1 structured analvsis/structured design 434
7.7.2 jackson's system development and structured programming 439
7.7.3 the unified software development process 444
7.8 organizing artifacts:configuration management 447
7.9 software standards 451
7.1 0 concluding remarks 451
further exercises 452
hints and sketchy solutions 453
bibliographic notes 454
chapter 8 management of software engineering 457
8.1 management functions 459
8.2 project planning 460
8.2.1 software productivity 462
8.2.2 people and productivity 469
8.2.3 cost estimation 469
8.3project control 476
8.3.1 work breakdown structures 477
8.3.2 gantt charts 478
8.3.3 pert charts 479
8.3.4 dealing with deviations from the plan 482
8.4organization 483
8.4.1 centralized-control team organization 486
8.4.2 decentralized-control team organization 487
8.4.3 mixed-control team organization 488
8.4.4 an assessment of team organizations 489
8.5risk management 490
8.5.1 8.5.1 typical management risks in software engineering 491
8.6 8.6 capability maturity model 492
8.7 8.7 concluding remarks 495
further exercises 497
hints and sketchy solutions 498
bibliographic notes 499
chapter 9 software engineering tools and environments 501
9.1 historical evolution of tools and environments 502
9.2 dimensions for comparing softwaretools 503
9.3 representative tools 507
9.3.1 editors 507
9.3.2 linkers 508
9.3.3 interpreters 508
9.3.4 code generators 509
9.3.5 debuggers 510
9.3.6 tools used in software testing 511
9.3.7 static analyzers 512
9.3.8 graphical user interface tools 514
9.3.9 configuration management tools 516
9.3.10 tracking tools 520
9.3.11 reverse and reengineering tools 521
9.3.12 process support tools 522
9.3.13 management tools 522
9.4 tool integration 523
9.5 forces influencing the evolution of tools 524
9.6 concluding remarks 525
further exercises 526
hints and sketchy solutions 526
biblio graphic notes 526
chapter 1 0 epilogue 529
10.1 the future 529
10.2 ethics and social responsibility 532
10.3 software engineering code of ethics 533
10.4 concluding remarksemarks 534
biblio graphic notes 534
appendix 536
case studies
case study a:automatinga law office 536
a.1 economlc and financial planning 538
a.2 technical planning and management 538
a.3 project monitoring 540
a.4 initial delivery 540
a.5 partial recovery 541
case study b:building a family of compliers 541
b.1 initial product planning 541
b.2 economic and financial planning 542
b.3 technical planning and management 542
b.4 early development phases 543
b.5 project monitoring 543
b.6 project reexamination,revival,and goal setting 544
b.7 assignment of responsibility 545
b.8 steady progress and release of the product 546
b.9 product distribution 546
b.10 remarks 546
case study c:incremental delivery 549
case study d.applying formal methods in industry 550
d.1 education and training 551
d.2 requirements specification 552
d.3 requirements validation and verification planning 553
d.4 design,implementation,and verification 555
d.5 overall evaluation and assessment 555
d.6 the impact of the project on company’s strategy 557
concluding remarks 558
bibliographic notes 559
bibliography 560
index 589

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...