
最 低 价:¥31.85
| 经典的现代教材,无可置疑的权威性 叙述清晰,内容翔实,更加突出软件过程 |
| Roger S. Pressman 软件过程改善和软件工程技术方面的国际知名的权威人士。30多年来,他作为软件工程师、管理人员、教授、作者及咨询顾问始终工作在软件工程领域。Pressman博士著有6部著作,并撰写了很多技术文章,是多种行业期刊的固定撰稿人,曾任多种行业杂志的编委,多年来一直担任《IEEE Software》杂志的Manager专栏的编辑。Pressman博士是知名的演讲者,曾在许多行业会议上演讲,他还是美国计算机协会(ACM)、美国电气与电子工程师协会(IEEE)等组织的成员。 .. << 查看详细 |
| 《软件工程:实践者的研究方法(英文精编版.第7版)》 出版者的话 adapter's foreword preface about the author chapter 1software and software engineering 1 1.1the nature of software 3 1.1.1defining software 4 1.1.2software application domains 7 1.1.3legacy software 9 1.2software engineering 10 1.3the software process 12 1.4software engineering practice 15 1.4.1the essence of practice 16 1.4.2general principles 17 1.5software myths 19 1.6summary 22 problems and points to ponder 22 further readings and information sources 23 part onethe software process chapter 2process models 26 .2.1a generic process model 27 2.1.1defining a framework activity 28 2.1.2identifying a task set 30 2.1.3process patterns 31 2.2prescriptive process models 32 2.2.1the waterfall model 34 2.2.2incremental process models 36 2.2.3evolutionary process models 37 2.2.4concurrent models 43 2.2.5a final word on evolutionary processes 44 2.3specialized process models 45 2.3.1component-based development 45 2.3.2the formal methods model 46 2.3.3aspect-oriented software development 47 2.4the unified process 48 2.4.1a brief history 49 2.4.2phases of the unified process 49 2.5process technology 51 2.6product and process 52 2.7summary 53 problems and points to ponder 54 further readings and information sources 55 chapter 3agile development 56 3.1what is agility? 58 3.2agility and the cost of change 58 3.3what is an agile process? 59 3.3.1agility principles 60 3.3.2the politics of agile development 61 3.3.3human factors 62 3.4extreme programming (xp) 63 3.4.1xp values 63 3.4.2the xp process 64 3.4.3industrial xp 68 3.4.4the xp debate 69 3.5other agile process models 71 3.5.1adaptive software development (asd) 72 3.5.2scrum 73 3.5.3dynamic systems development method (dsdm) 75 3.5.4crystal 76 3.5.5feature driven development (fdd) 77 3.5.6lean software development (lsd) 78 3.5.7agile modeling (am) 79 3.5.8agile unified process (aup) 80 3.6a tool set for the agile process 82 3.7summary 82 problems and points to ponder 83 further readings and information sources 84 part twomodeling chapter 4understanding requirements 88 4.1requirements engineering 89 4.2establishing the groundwork 94 4.2.1identifying stakeholders 94 4.2.2recognizing multiple viewpoints 95 4.2.3working toward collaboration 95 4.2.4asking the first questions 96 4.3eliciting requirements 97 4.3.1collaborative requirements gathering 97 4.3.2quality function deployment 100 4.3.3usage scenarios 101 4.3.4elicitation work products 102 4.4developing use cases 102 4.5building the requirements model 107 4.5.1elements of the requirements model 108 4.5.2analysis patterns 111 4.6negotiating requirements 111 4.7validating requirements 113 4.8summary 114 problems and points to ponder 114 further readings and information sources 115 chapter 5requirements modeling: scenarios,information, and analysis classes 117 5.1requirements analysis 118 5.1.1overall objectives and philosophy 119 5.1.2analysis rules of thumb 120 5.1.3domain analysis 120 5.1.4requirements modeling approaches 122 5.2scenario-based modeling 123 5.2.1creating a preliminary use case 124 5.2.2refining a preliminary use case 127 5.2.3writing a formal use case 128 5.3uml models that supplement the use case 130 5.3.1developing an activity diagram 130 5.3.2swimlane diagrams 131 5.4data modeling concepts 133 5.4.1data objects 133 5.4.2data attributes 133 5.4.3relationships 134 5.5class-based modeling 136 5.5.1identifying analysis classes 136 5.5.2specifying attributes 140 5.5.3defining operations 140 5.5.4class-responsibility-collaborator (crc) modeling 142 5.5.5associations and dependencies 149 5.5.6analysis packages 151 5.6summary 152 problems and points to ponder 152 further readings and information sources 153 chapter 6requirements modeling: flow, behavior, patterns 155 6.1requirements modeling strategies 155 6.2flow-oriented modeling 156 6.2.1creating a data flow model 157 6.2.2creating a control flow model 160 6.2.3the control specification 160 6.2.4the process specification 161 6.3creating a behavioral model 164 6.3.1identifying events with the use case 164 6.3.2state representations 165 6.4patterns for requirements modeling 168 6.4.1discovering analysis patterns 169 6.4.2a requirements pattern example: actuator-sensor 169 6.5summary 174 problems and points to ponder 174 further readings and information sources 175 chapter 7design concepts 176 7.1design within the context of software engineering 177 7.2the design process 180 7.2.1software quality guidelines and attributes 180 7.2.2the evolution of software design 182 7.3design concepts 183 7.3.1abstraction 184 7.3.2architecture 184 7.3.3patterns 185 7.3.4separation of concerns 186 7.3.5modularity 186 7.3.6information hiding 187 7.3.7functional independence 188 7.3.8refinement 189 7.3.9aspects 189 7.3.10refactoring 190 7.3.11object-oriented design concepts 191 7.3.12design classes 191 7.4the design model 194 7.4.1data design elements 195 7.4.2architectural design elements 195 7.4.3interface design elements 196 7.4.4component-level design elements 198 7.4.5deployment-level design elements 198 7.5summary 200 problems and points to ponder 201 further readings and information sources 201 chapter 8architectural design 203 8.1software architecture 204 8.1.1what is architecture? 204 8.1.2why is architecture important? 206 8.1.3architectural descriptions 206 8.1.4architectural decisions 207 8.2architectural genres 207 8.3architectural styles 210 8.3.1a brief taxonomy of architectural styles 211 8.3.2architectural patterns 214 8.3.3organization and refinement 216 8.4architectural design 216 8.4.1representing the system in context 217 8.4.2defining archetypes 218 8.4.3refining the architecture into components 219 8.4.4describing instantiations of the system 221 8.5assessing alternative architectural designs 222 8.5.1an architecture trade-off analysis method 223 8.5.2architectural complexity 224 8.5.3architectural description languages 225 8.6architectural mapping using data flow 226 8.6.1transform mapping 226 8.6.2refining the architectural design 232 8.7summary 234 problems and points to ponder 234 further readings and information sources 235 chapter 9component-level design 236 9.1what is a component? 237 9.1.1an object-oriented view 237 9.1.2the traditional view 239 9.1.3a process-related view 241 9.2designing class-based components 242 9.2.1basic design principles 242 9.2.2component-level design guidelines 245 9.2.3cohesion 246 9.2.4coupling 248 9.3conducting component-level design 250 9.4designing traditional components 256 9.4.1graphical design notation 257 9.4.2tabular design notation 258 9.4.3program design language 259 9.5component-based development 261 9.5.1domain engineering 261 9.5.2component qualification, adaptation, and composition 262 9.5.3analysis and design for reuse 264 9.5.4classifying and retrieving components 265 9.6summary 267 problems and points to ponder 268 further readings and information sources 269 chapter 10user interface design 270 10.1the golden rules 271 10.1.1place the user in control 271 10.1.2reduce the user's memory load 272 10.1.3make the interface consistent 274 10.2user interface analysis and design 275 10.2.1interface analysis and design models 275 10.2.2the process 277 10.3interface analysis 278 10.3.1user analysis 279 10.3.2task analysis and modeling 280 10.3.3analysis of display content 285 10.3.4analysis of the work environment 286 10.4interface design steps 286 10.4.1applying interface design steps 287 10.4.2user interface design patterns 288 10.4.3design issues 289 10.5design evaluation 292 10.6summary 294 problems and points to ponder 295 further readings and information sources 296 part threequality management 297 chapter 11quality concepts 298 11.1what is quality? 299 11.2software quality 300 11.2.1garvin抯 quality dimensions 301 11.2.2mccall抯 quality factors 302 11.2.3iso 9126 quality factors 303 11.2.4targeted quality factors 304 11.2.5the transition to a quantitative view 305 11.3the software quality dilemma 306 11.3.1揋ood enough?software 306 11.3.2the cost of quality 307 11.3.3risks 309 11.3.4negligence and liability 310 11.3.5quality and security 310 11.3.6the impact of management actions 311 11.4achieving software quality 312 11.4.1software engineering methods 312 11.4.2project management techniques 312 11.4.3quality control 312 11.4.4quality assurance 313 11.5 summary 313 problems and points to ponder 314 further readings and information sources 314 chapter 12review techniques 316 12.1cost impact of software defects 317 12.2defect amplification and removal 318 12.3review metrics and their use 320 12.3.1analyzing metrics 320 12.3.2cost effectiveness of reviews 321 12.4reviews: a formality spectrum 323 12.5informal reviews 324 12.6formal technical reviews 326 12.6.1the review meeting 326 12.6.2review reporting and record keeping 327 12.6.3review guidelines 327 12.6.4sample-driven reviews 329 12.7summary 330 problems and points to ponder 331 further readings and information sources 331 chapter 13software quality assurance 332 13.1background issues 333 13.2elements of software quality assurance 334 13.3sqa tasks, goals, and metrics 336 13.3.1sqa tasks 336 13.3.2goals, attributes, and metrics 337 13.4formal approaches to sqa 338 13.5statistical software quality assurance 339 13.5.1a generic example 339 13.5.2six sigma for software engineering 341 13.6software reliability 342 13.6.1measures of reliability and availability 342 13.6.2software safety 343 13.7the iso 9000 quality standards 344 13.8the sqa plan 345 13.9a framework for product metrics 346 13.9.1measures, metrics, and indicators 347 13.9.2the challenge of product metrics 347 13.9.3measurement principles 348 13.9.4goal-oriented software measurement 350 13.9.5the attributes of effective software metrics 350 13.10function-based metrics 351 13.11summary 355 problems and points to ponder 355 further readings and information sources 356 chapter 14software testing strategies 357 14.1a strategic approach to software testing 358 14.1.1verification and validation 358 14.1.2organizing for software testing 359 14.1.3software testing strategy-the big picture 360 14.1.4criteria for completion of testing 363 14.2strategic issues 363 14.3test strategies for conventional software 364 14.3.1unit testing 364 14.3.2integration testing 367 14.4test strategies for object-oriented software 373 14.4.1unit testing in the oo context 374 14.4.2integration testing in the oo context 374 14.5validation testing 375 14.5.1validation-test criteria 375 14.5.2configuration review 376 14.5.3alpha and beta testing 376 14.6system testing 377 14.6.1recovery testing 378 14.6.2security testing 378 14.6.3stress testing 378 14.6.4performance testing 379 14.6.5deployment testing 379 14.7the art of debugging 380 14.7.1the debugging process 380 14.7.2psychological considerations 382 14.7.3debugging strategies 382 14.7.4correcting the error 385 14.8summary 385 problems and points to ponder 386 further readings and information sources 386 chapter 15testing conventional applications 388 15.1software testing fundamentals 389 15.2internal and external views of testing 391 15.3white-box testing 392 15.4basis path testing 392 15.4.1flow graph notation 392 15.4.2independent program paths 394 15.4.3deriving test cases 396 15.5control structure testing 398 15.5.1condition testing 398 15.5.2data flow testing 399 15.5.3loop testing 399 15.6black-box testing 401 15.6.1equivalence partitioning 401 15.6.2boundary value analysis 402 15.7summary 403 problems and points to ponder 404 further readings and information sources 404 chapter 16testing object-oriented applications 406 16.1broadening the view of testing 407 16.2testing ooa and ood models 408 16.2.1correctness of ooa and ood models 408 16.2.2consistency of object-oriented models 409 16.3object-oriented testing strategies 411 16.3.1unit testing in the oo context 411 16.3.2integration testing in the oo context 411 16.3.3validation testing in an oo context 412 16.4object-oriented testing methods 412 16.4.1the test-case design implications of oo concepts 413 16.4.2applicability of conventional test-case design methods 413 16.4.3fault-based testing 414 16.4.4test cases and the class hierarchy 414 16.4.5scenario-based test design 415 16.4.6testing surface structure and deep structure 417 16.5testing methods applicable at the class level 417 16.5.1random testing for oo classes 417 16.5.2partition testing at the class level 419 16.6interclass test-case design 419 16.6.1multiple class testing 419 16.6.2tests derived from behavior models 421 16.7summary 422 problems and points to ponder 423 further readings and information sources 423 chapter 17software configuration management 424 17.1software configuration management 425 17.1.1an scm scenario 426 17.1.2elements of a configuration management system 427 17.1.3baselines 427 17.1.4software configuration items 429 17.2the scm repository 430 17.2.1the role of the repository 430 17.2.2general features and content 431 17.2.3scm features 432 17.3the scm process 433 17.3.1identification of objects in the software configuration 434 17.3.2version control 435 17.3.3change control 436 17.3.4configuration audit 439 17.3.5status reporting 440 17.4summary 441 problems and points to ponder 441 further readings and information sources 442 part fourmanaging software projects 443 chapter 18project management concepts 444 18.1the management spectrum 445 18.1.1the people 445 18.1.2the product 446 18.1.3the process 446 18.1.4the project 446 18.2people 447 18.2.1the stakeholders 447 18.2.2team leaders 448 18.2.3the software team 449 18.2.4agile teams 452 18.2.5coordination and communication issues 453 18.3the product 454 18.3.1software scope 454 18.3.2problem decomposition 454 18.4the process 455 18.4.1melding the product and the process 455 18.4.2process decomposition 456 18.5the project 458 18.6the w5hh principle 459 18.7critical practices 460 18.8summary 461 problems and points to ponder 461 further readings and information sources 462 chapter 19process and project metrics 464 19.1metrics in the process and project domains 465 19.1.1process metrics and software process improvement 465 19.1.2project metrics 468 19.2software measurement 469 19.2.1size-oriented metrics 470 19.2.2function-oriented metrics 471 19.2.3reconciling loc and fp metrics 471 19.2.4object-oriented metrics 473 19.2.5use-case-oriented metrics 474 19.3metrics for software quality 475 19.3.1measuring quality 476 19.3.2defect removal efficiency 477 19.4summary 479 problems and points to ponder 479 further readings and information sources 480 chapter 20estimation for software projects 481 20.1observations on estimation 482 20.2the project planning process 483 20.3software scope and feasibility 484 20.4resources 485 20.4.1human resources 485 20.4.2reusable software resources 486 20.4.3environmental resources 486 20.5software project estimation 487 20.6decomposition techniques 488 20.6.1software sizing 488 20.6.2problem-based estimation 489 20.6.3an example of loc-based estimation 491 20.6.4an example of fp-based estimation 492 20.6.5process-based estimation 493 20.6.6an example of process-based estimation 494 20.6.7estimation with use cases 495 20.6.8an example of use-case-based estimation 496 20.6.9reconciling estimates 497 20.7empirical estimation models 498 20.7.1the structure of estimation models 499 20.7.2the cocomo ii model 499 20.7.3the software equation 501 20.8estimation for object-oriented projects 502 20.9summary 503 problems and points to ponder 504 further readings and information sources 505 chapter 21project scheduling 506 21.1basic concepts 507 21.2project scheduling 509 21.2.1basic principles 510 21.2.2the relationship between people and effort 510 21.2.3effort distribution 512 21.3defining a task set for the software project 513 21.3.1a task set example 514 21.3.2refinement of software engineering actions 515 21.4defining a task network 516 21.5scheduling 517 21.5.1time-line charts 517 21.5.2tracking the schedule 519 21.5.3tracking progress for an oo project 520 21.6earned value analysis 522 21.7summary 523 problems and points to ponder 524 further readings and information sources 525 chapter 22risk management 526 22.1reactive versus proactive risk strategies 527 22.2software risks 527 22.3risk identification 529 22.3.1assessing overall project risk 530 22.3.2risk components and drivers 531 22.4risk projection 531 22.4.1developing a risk table 532 22.4.2assessing risk impact 534 22.5risk refinement 536 22.6risk mitigation, monitoring, and management 537 22.7the rmmm plan 539 22.8summary 541 problems and points to ponder 541 further readings and information sources 542 appendix 1 an introduction to uml appendix 2 object-oriented concepts references |
商品评论(0条)