ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Software engineering : a practitioner’s approach

دانلود کتاب مهندسی نرم افزار: رویکرد یک پزشک

Software engineering : a practitioner’s approach

مشخصات کتاب

Software engineering : a practitioner’s approach

ویرایش: Eighth edition. 
نویسندگان: ,   
سری:  
ISBN (شابک) : 9780078022128, 0078022126 
ناشر: McGraw-Hill Education 
سال نشر: 2015 
تعداد صفحات: 977 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 23 مگابایت 

قیمت کتاب (تومان) : 36,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 14


در صورت تبدیل فایل کتاب Software engineering : a practitioner’s approach به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب مهندسی نرم افزار: رویکرد یک پزشک نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Preface......Page 28
Chapter 1. The Nature of Software......Page 32
1.1. The Nature of Software......Page 34
1.1.1. Defining Software......Page 35
1.1.2. Software Application Domains......Page 37
1.1.3. Legacy Software......Page 38
1.2.2. Mobile Applications......Page 40
1.2.3. Cloud Computing......Page 41
1.3. Summary......Page 42
Further Readings and Information Sources......Page 43
Chapter 2. Software Engineering......Page 45
2.1. Defining the Discipline......Page 46
2.2. The Software Process......Page 47
2.2.1. The Process Framework......Page 48
2.2.3. Process Adaptation......Page 49
2.3.1. The Essence of Practice......Page 50
2.3.2. General Principles......Page 52
2.4. Software Development Myths......Page 54
2.5. How It All Starts......Page 57
Further Readings and Information Sources......Page 58
Part One. The Software Process......Page 60
Chapter 3. Software Process Structure......Page 61
3.1. A Generic Process Model......Page 62
3.2. Defining a Framework Activity......Page 63
3.3. Identifying a Task Set......Page 65
3.4. Process Patterns......Page 66
3.5. Process Assessment and Improvement......Page 68
Problems and Points to Ponder......Page 69
Further Readings and Information Sources......Page 70
Chapter 4. Process Models......Page 71
4.1.1. The Waterfall Model......Page 72
4.1.2. Incremental Process Models......Page 74
4.1.3. Evolutionary Process Models......Page 76
4.1.4. Concurrent Models......Page 80
4.1.5. A Final Word on Evolutionary Processes......Page 82
4.2. Specialized Process Models......Page 83
4.2.2. The Formal Methods Model......Page 84
4.2.3. Aspect-Oriented Software Development......Page 85
4.3. The Unified Process......Page 86
4.3.2. Phases of the Unified Process......Page 87
4.4.1. Personal Software Process......Page 90
4.4.2. Team Software Process......Page 91
4.5. Process Technology......Page 92
4.6. Product and Process......Page 93
Problems and Points to Ponder......Page 95
Further Readings and Information Sources......Page 96
Chapter 5. Agile Development......Page 97
5.2. Agility and the Cost of Change......Page 99
5.3. What Is an Agile Process?......Page 100
5.3.1. Agility Principles......Page 101
5.3.2. The Politics of Agile Development......Page 102
5.4.1. The XP Process......Page 103
5.4.2. Industrial XP......Page 106
5.5. Other Agile Process Models......Page 108
5.5.1. Scrum......Page 109
5.5.2. Dynamic Systems Development Method......Page 110
5.5.3. Agile Modeling......Page 111
5.5.4. Agile Unified Process......Page 113
5.6. A Tool Set for the Agile Process......Page 114
5.7. Summary......Page 115
Further Readings and Information Sources......Page 116
Chapter 6. Human Aspects of Software Engineering......Page 118
6.1. Characteristics of a Software Engineer......Page 119
6.2. The Psychology of Software Engineering......Page 120
6.3. The Software Team......Page 121
6.4. Team Structures......Page 123
6.5.1. The Generic Agile Team......Page 124
6.5.2. The XP Team......Page 125
6.6. The Impact of Social Media......Page 126
6.7. Software Engineering Using the Cloud......Page 128
6.8. Collaboration Tools......Page 129
6.9. Global Teams......Page 130
6.10. Summary......Page 131
Problems and Points to Ponder......Page 132
Further Readings and Information Sources......Page 133
Part Two. Modeling......Page 134
Chapter 7. Principles That Guide Practice......Page 135
7.1. Software Engineering Knowledge......Page 136
7.2.1. Principles That Guide Process......Page 137
7.2.2. Principles That Guide Practice......Page 138
7.3. Principles That Guide Each Framework Activity......Page 140
7.3.1. Communication Principles......Page 141
7.3.2. Planning Principles......Page 143
7.3.3. Modeling Principles......Page 145
7.3.4. Construction Principles......Page 152
7.3.5. Deployment Principles......Page 156
7.4. Work Practices......Page 157
7.5. Summary......Page 158
Problems and Points to Ponder......Page 159
Further Readings and Information Sources......Page 160
Chapter 8. Understanding Requirements......Page 162
8.1. Requirements Engineering......Page 163
8.2. Establishing the Groundwork......Page 169
8.2.2. Recognizing Multiple Viewpoints......Page 170
8.2.4. Asking the First Questions......Page 171
8.2.5. Nonfunctional Requirements......Page 172
8.3. Eliciting Requirements......Page 173
8.3.1. Collaborative Requirements Gathering......Page 174
8.3.3. Usage Scenarios......Page 177
8.3.4. Elicitation Work Products......Page 178
8.3.6. Service-Oriented Methods......Page 179
8.4. Developing Use Cases......Page 180
8.5.1. Elements of the Analysis Model......Page 185
8.5.2. Analysis Patterns......Page 188
8.5.4. Requirements for Self-Adaptive Systems......Page 189
8.6. Negotiating Requirements......Page 190
8.7. Requirements Monitoring......Page 191
8.8. Validating Requirements......Page 192
8.10. Summary......Page 193
Problems and Points to Ponder......Page 194
Further Readings and Other Information Sources......Page 195
Chapter 9. Requirements Modeling: Scenario-Based Methods......Page 197
9.1. Requirements Analysis......Page 198
9.1.1. Overall Objectives and Philosophy......Page 199
9.1.2. Analysis Rules of Thumb......Page 200
9.1.3. Domain Analysis......Page 201
9.1.4. Requirements Modeling Approaches......Page 202
9.2.1. Creating a Preliminary Use Case......Page 204
9.2.2. Refining a Preliminary Use Case......Page 207
9.2.3. Writing a Formal Use Case......Page 208
9.3. UML Models That Supplement the Use Case......Page 210
9.3.1. Developing an Activity Diagram......Page 211
9.3.2. Swimlane Diagrams......Page 212
Problems and Points to Ponder......Page 213
Further Readings and Information Sources......Page 214
Chapter 10. Requirements Modeling: Class-Based Methods......Page 215
10.1. Identifying Analysis Classes......Page 216
10.2. Specifying Attributes......Page 219
10.3. Defining Operations......Page 220
10.4. Class-Responsibility-Collaborator Modeling......Page 223
10.5. Associations and Dependencies......Page 229
10.6. Analysis Packages......Page 230
10.7. Summary......Page 231
Further Readings and Information Sources......Page 232
Chapter 11. Requirements Modeling: Behavior, Patterns, and Web/Mobile Apps......Page 233
11.2. Identifying Events with the Use Case......Page 234
11.3. State Representations......Page 235
11.4. Patterns for Requirements Modeling......Page 238
11.4.1. Discovering Analysis Patterns......Page 239
11.4.2. A Requirements Pattern Example: Actuator-Sensor......Page 240
11.5. Requirements Modeling for Web and Mobile Apps......Page 244
11.5.2. Requirements Modeling Input......Page 245
11.5.3. Requirements Modeling Output......Page 246
11.5.4. Content Model......Page 247
11.5.5. Interaction Model for Web and Mobile Apps......Page 248
11.5.6. Functional Model......Page 249
11.5.7. Configuration Models for WebApps......Page 250
11.5.8. Navigation Modeling......Page 251
11.6. Summary......Page 252
Further Readings and Information Sources......Page 253
Chapter 12. Design Concepts......Page 255
12.1. Design within the Context of Software Engineering......Page 256
12.2.1. Software Quality Guidelines and Attributes......Page 259
12.2.2. The Evolution of Software Design......Page 261
12.3. Design Concepts......Page 262
12.3.2. Architecture......Page 263
12.3.3. Patterns......Page 264
12.3.5. Modularity......Page 265
12.3.6. Information Hiding......Page 266
12.3.7. Functional Independence......Page 267
12.3.9. Aspects......Page 268
12.3.11. Object-Oriented Design Concepts......Page 269
12.3.12. Design Classes......Page 270
12.3.13. Dependency Inversion......Page 272
12.3.14. Design for Test......Page 273
12.4. The Design Model......Page 274
12.4.2. Architectural Design Elements......Page 275
12.4.3. Interface Design Elements......Page 276
12.4.4. Component-Level Design Elements......Page 278
12.4.5. Deployment-Level Design Elements......Page 279
12.5. Summary......Page 280
Problems and Points to Ponder......Page 281
Further Readings and Information Sources......Page 282
Chapter 13. Architectural Design......Page 283
13.1.1. What Is Architecture?......Page 284
13.1.2. Why Is Architecture Important?......Page 285
13.1.3. Architectural Descriptions......Page 286
13.1.4. Architectural Decisions......Page 287
13.2. Architectural Genres......Page 288
13.3.1. A Brief Taxonomy of Architectural Styles......Page 289
13.3.3. Organization and Refinement......Page 294
13.4. Architectural Considerations......Page 295
13.5. Architectural Decisions......Page 297
13.6.1. Representing the System in Context......Page 298
13.6.2. Defining Archetypes......Page 300
13.6.3. Refining the Architecture into Components......Page 301
13.6.4. Describing Instantiations of the System......Page 303
13.6.5. Architectural Design for Web Apps......Page 304
13.7. Assessing Alternative Architectural Designs......Page 305
13.7.1. Architectural Description Languages......Page 307
13.7.2. Architectural Reviews......Page 308
13.9. Pattern-based Architecture Review......Page 309
13.10. Architecture Conformance Checking......Page 310
13.11. Agility and Architecture......Page 311
Problems and Points to Ponder......Page 313
Further Readings and Information Sources......Page 314
Chapter 14. Component-Level Design......Page 316
14.1.1. An Object-Oriented View......Page 317
14.1.2. The Traditional View......Page 319
14.2. Designing Class-Based Components......Page 322
14.2.1. Basic Design Principles......Page 323
14.2.2. Component-Level Design Guidelines......Page 326
14.2.3. Cohesion......Page 327
14.2.4. Coupling......Page 329
14.3. Conducting Component-Level Design......Page 330
14.4. Component-Level Design for WebApps......Page 336
14.5. Component-Level Design for Mobile Apps......Page 337
14.6. Designing Traditional Components......Page 338
14.7.1. Domain Engineering......Page 339
14.7.2. Component Qualification, Adaptation, and Composition......Page 340
14.7.3. Architectural Mismatch......Page 342
14.7.5. Classifying and Retrieving Components......Page 343
14.8. Summary......Page 344
Further Readings and Information Sources......Page 346
Chapter 15. User Interface Design......Page 348
15.1.1. Place the User in Control......Page 349
15.1.2. Reduce the User’s Memory Load......Page 350
15.1.3. Make the Interface Consistent......Page 352
15.2.1. Interface Analysis and Design Models......Page 353
15.2.2. The Process......Page 354
15.3.1. User Analysis......Page 356
15.3.2. Task Analysis and Modeling......Page 357
15.3.4. Analysis of the Work Environment......Page 362
15.4.1. Applying Interface Design Steps......Page 363
15.4.2. User Interface Design Patterns......Page 365
15.4.3. Design Issues......Page 366
15.5.1. Interface Design Principles and Guidelines......Page 368
15.5.2. Interface Design Workflow for Web and Mobile Apps......Page 372
15.6. Design Evaluation......Page 373
15.7. Summary......Page 375
Problems and Points to Ponder......Page 376
Further Readings and Information Sources......Page 377
Chapter 16. Pattern-Based Design......Page 378
16.1. Design Patterns......Page 379
16.1.1. Kinds of Patterns......Page 380
16.1.2. Frameworks......Page 382
16.1.3. Describing a Pattern......Page 383
16.1.4. Pattern Languages and Repositories......Page 384
16.2.2. Thinking in Patterns......Page 385
16.2.3. Design Tasks......Page 387
16.2.4. Building a Pattern-Organizing Table......Page 389
16.3. Architectural Patterns......Page 390
16.4. Component-Level Design Patterns......Page 391
16.5. User Interface Design Patterns......Page 393
16.6. WebApp Design Patterns......Page 395
16.6.2. Design Granularity......Page 396
16.7. Patterns for Mobile Apps......Page 397
16.8. Summary......Page 398
Problems and Points to Ponder......Page 399
Further Readings and Information Sources......Page 400
Chapter 17. WebApp Design......Page 402
17.1. WebApp Design Quality......Page 403
17.2. Design Goals......Page 405
17.3. A Design Pyramid for WebApps......Page 406
17.4. WebApp Interface Design......Page 407
17.5. Aesthetic Design......Page 408
17.5.2. Graphic Design Issues......Page 409
17.6.1. Content Objects......Page 410
17.6.2. Content Design Issues......Page 411
17.7.1. Content Architecture......Page 412
17.7.2. WebApp Architecture......Page 415
17.8.1. Navigation Semantics......Page 416
17.9. Component-Level Design......Page 418
17.10. Summary......Page 419
Further Readings and Information Sources......Page 420
Chapter 18. MobileApp Design......Page 422
18.1.1. Development Considerations......Page 423
18.1.2. Technical Considerations......Page 424
18.2. Developing MobileApps......Page 426
18.2.1. MobileApp Quality......Page 428
18.2.2. User Interface Design......Page 429
18.2.3. Context-Aware Apps......Page 430
18.2.4. Lessons Learned......Page 431
18.3. MobileApp Design—Best Practices......Page 432
18.4. Mobility Environments......Page 434
18.5. The Cloud......Page 436
18.6. The Applicability of Conventional Software Engineering......Page 438
18.7. Summary......Page 439
Further Readings and Information Sources......Page 440
Part Three. Quality Management......Page 442
Chapter 19. Quality Concepts......Page 443
19.1. What Is Quality?......Page 444
19.2. Software Quality......Page 445
19.2.1. Garvin’s Quality Dimensions......Page 446
19.2.2. McCall’s Quality Factors......Page 447
19.2.4. Targeted Quality Factors......Page 449
19.3. The Software Quality Dilemma......Page 451
19.3.1. “Good Enough” Software......Page 452
19.3.2. The Cost of Quality......Page 453
19.3.3. Risks......Page 455
19.3.5. Quality and Security......Page 456
19.3.6. The Impact of Management Actions......Page 457
19.4.3. Quality Control......Page 458
19.5. Summary......Page 459
Further Readings and Information Sources......Page 460
Chapter 20. Review Techniques......Page 462
20.1. Cost Impact of Software Defects......Page 463
20.2. Defect Amplification and Removal......Page 464
20.3.1. Analyzing Metrics......Page 466
20.3.2. Cost-Effectiveness of Reviews......Page 467
20.4. Reviews: A Formality Spectrum......Page 469
20.5. Informal Reviews......Page 470
20.6.1. The Review Meeting......Page 472
20.6.3. Review Guidelines......Page 473
20.6.4. Sample-Driven Reviews......Page 475
20.7. Post-Mortem Evaluations......Page 476
Problems and Points to Ponder......Page 477
Further Readings and Information Sources......Page 478
Chapter 21. Software Quality Assurance......Page 479
21.1. Background Issues......Page 480
21.2. Elements of Software Quality Assurance......Page 481
21.4. SQA Tasks, Goals, and Metrics......Page 483
21.4.1. SQA Tasks......Page 484
21.4.2. Goals, Attributes, and Metrics......Page 485
21.6. Statistical Software Quality Assurance......Page 487
21.6.1. A Generic Example......Page 488
21.6.2. Six Sigma for Software Engineering......Page 489
21.7.1. Measures of Reliability and Availability......Page 490
21.7.2. Software Safety......Page 491
21.8. The ISO 9000 Quality Standards......Page 492
21.10. Summary......Page 494
Further Readings and Information Sources......Page 495
22.1. A Strategic Approach to Software Testing......Page 497
22.1.2. Organizing for Software Testing......Page 499
22.1.3. Software Testing Strategy—The Big Picture......Page 500
22.2. Strategic Issues......Page 503
22.3.1. Unit Testing......Page 504
22.3.2. Integration Testing......Page 506
22.4.2. Integration Testing in the OO Context......Page 512
22.5. Test Strategies for WebApps......Page 513
22.7. Validation Testing......Page 514
22.7.3. Alpha and Beta Testing......Page 515
22.8.2. Security Testing......Page 517
22.8.5. Deployment Testing......Page 518
22.9.1. The Debugging Process......Page 519
22.9.2. Psychological Considerations......Page 521
22.9.3. Debugging Strategies......Page 522
22.9.4. Correcting the Error......Page 523
Problems and Points to Ponder......Page 524
Further Readings and Information Sources......Page 525
Chapter 23. Testing Conventional Applications......Page 527
23.1. Software Testing Fundamentals......Page 528
23.2. Internal and External Views of Testing......Page 530
23.4.1. Flow Graph Notation......Page 531
23.4.2. Independent Program Paths......Page 533
23.4.3. Deriving Test Cases......Page 535
23.4.4. Graph Matrices......Page 537
23.5. Control Structure Testing......Page 538
23.6.1. Graph-Based Testing Methods......Page 540
23.6.2. Equivalence Partitioning......Page 542
23.6.3. Boundary Value Analysis......Page 543
23.6.4. Orthogonal Array Testing......Page 544
23.8. Testing Documentation and Help Facilities......Page 547
23.9. Testing for Real-Time Systems......Page 548
23.10. Patterns for Software Testing......Page 550
23.11. Summary......Page 551
Further Readings and Information Sources......Page 552
Chapter 24. Testing Object-Oriented Applications......Page 554
24.1. Broadening the View of Testing......Page 555
24.2.1. Correctness of OOA and OOD Models......Page 556
24.2.2. Consistency of Object-Oriented Models......Page 557
24.3.1. Unit Testing in the OO Context......Page 559
24.4. Object-Oriented Testing Methods......Page 560
24.4.1. The Test-Case Design Implications of OO Concepts......Page 561
24.4.3. Fault-Based Testing......Page 562
24.5.1. Random Testing for OO Classes......Page 563
24.5.2. Partition Testing at the Class Level......Page 564
24.6.1. Multiple Class Testing......Page 565
24.6.2. Tests Derived from Behavior Models......Page 567
24.7. Summary......Page 568
Further Readings and Information Sources......Page 569
Chapter 25. Testing Web Applications......Page 571
25.1.1. Dimensions of Quality......Page 572
25.1.2. Errors within a WebApp Environment......Page 573
25.1.4. Test Planning......Page 574
25.2. The Testing Process—An Overview......Page 575
25.3.1. Content Testing Objectives......Page 576
25.3.2. Database Testing......Page 578
25.4.1. Interface Testing Strategy......Page 580
25.4.2. Testing Interface Mechanisms......Page 581
25.4.4. Usability Tests......Page 583
25.4.5. Compatibility Tests......Page 585
25.5. Component-Level Testing......Page 586
25.6.2. Testing Navigation Semantics......Page 587
25.7.1. Server-Side Issues......Page 589
25.8. Security Testing......Page 590
25.9. Performance Testing......Page 591
25.9.1. Performance Testing Objectives......Page 592
25.9.3. Stress Testing......Page 593
25.10. Summary......Page 594
Problems and Points to Ponder......Page 595
Further Readings and Information Sources......Page 596
Chapter 26. Testing MobileApps......Page 598
26.1. Testing Guidelines......Page 599
26.2. The Testing Strategies......Page 600
26.2.1. Are Conventional Approaches Applicable?......Page 601
26.2.2. The Need for Automation......Page 602
26.2.3. Building a Test Matrix......Page 603
26.2.5. Testing in a Production Environment......Page 604
26.3. Considering the Spectrum of User Interaction......Page 605
26.3.1. Gesture Testing......Page 606
26.3.2. Voice Input and Recognition......Page 607
26.3.4. Alerts and Extraordinary Conditions......Page 608
26.5. Real-Time Testing Issues......Page 609
26.6. Testing Tools and Environments......Page 610
26.7. Summary......Page 612
Further Readings and Information Sources......Page 613
Chapter 27. Security Engineering......Page 615
27.1. Analyzing Security Requirements......Page 616
27.2. Security and Privacy in an Online World......Page 617
27.2.3. Cloud Computing......Page 618
27.3. Security Engineering Analysis......Page 619
27.3.1. Security Requirement Elicitation......Page 620
27.3.2. Security Modeling......Page 621
27.3.4. Correctness Checks......Page 622
27.4.1. The Security Assurance Process......Page 623
27.4.2. Organization and Management......Page 624
27.5. Security Risk Analysis......Page 625
27.6. The Role of Conventional Software Engineering Activities......Page 626
27.7. Verification of Trustworthy Systems......Page 628
Problems and Points to Ponder......Page 630
Further Readings and Information Sources......Page 631
Chapter 28. Formal Modeling and Verification......Page 632
28.1. The Cleanroom Strategy......Page 633
28.2. Functional Specification......Page 635
28.2.1. Black-Box Specification......Page 636
28.2.2. State-Box Specification......Page 637
28.3. Cleanroom Design......Page 638
28.3.2. Design Verification......Page 639
28.4.1. Statistical Use Testing......Page 641
28.5. Rethinking Formal Methods......Page 643
28.6. Formal Methods Concepts......Page 646
28.7. Alternative Arguments......Page 649
28.8. Summary......Page 650
Problems and Points to Ponder......Page 651
Further Readings and Information Sources......Page 652
Chapter 29. Software Configuration Management......Page 654
29.1. Software Configuration Management......Page 655
29.1.1. An SCM Scenario......Page 656
29.1.3. Baselines......Page 657
29.1.5. Management of Dependencies and Changes......Page 659
29.2.1. General Features and Content......Page 661
29.2.2. SCM Features......Page 662
29.3. The SCM Process......Page 663
29.3.1. Identification of Objects in the Software Configuration......Page 664
29.3.2. Version Control......Page 665
29.3.3. Change Control......Page 666
29.3.4. Impact Management......Page 669
29.3.6. Status Reporting......Page 670
29.4. Configuration Management for Web and MobileApps......Page 671
29.4.1. Dominant Issues......Page 672
29.4.2. Configuration Objects......Page 673
29.4.3. Content Management......Page 674
29.4.4. Change Management......Page 677
29.4.5. Version Control......Page 679
29.4.6. Auditing and Reporting......Page 680
29.5. Summary......Page 681
Further Readings and Information Sources......Page 682
Chapter 30. Product Metrics......Page 684
30.1.1. Measures, Metrics, and Indicators......Page 685
30.1.2. The Challenge of Product Metrics......Page 686
30.1.4. Goal-Oriented Software Measurement......Page 687
30.1.5. The Attributes of Effective Software Metrics......Page 688
30.2.1. Function-Based Metrics......Page 690
30.2.2. Metrics for Specification Quality......Page 693
30.3.1. Architectural Design Metrics......Page 694
30.3.2. Metrics for Object-Oriented Design......Page 697
30.3.3. Class-Oriented Metrics—The CK Metrics Suite......Page 698
30.3.4. Class-Oriented Metrics—The MOOD Metrics Suite......Page 701
30.3.7. Operation-Oriented Metrics......Page 702
30.4. Design Metrics for Web and Mobile Apps......Page 703
30.5. Metrics for Source Code......Page 706
30.6.1. Halstead Metrics Applied to Testing......Page 707
30.6.2. Metrics for Object-Oriented Testing......Page 708
30.7. Metrics for Maintenance......Page 709
Problems and Points to Ponder......Page 710
Further Readings and Information Sources......Page 711
Part Four. Managing Software Projects......Page 714
Chapter 31. Project Management Concepts......Page 715
31.1.1. The People......Page 716
31.1.4. The Project......Page 717
31.2.1. The Stakeholders......Page 718
31.2.2. Team Leaders......Page 719
31.2.3. The Software Team......Page 720
31.2.4. Agile Teams......Page 722
31.2.5. Coordination and Communication Issues......Page 723
31.3. The Product......Page 724
31.4. The Process......Page 725
31.4.1. Melding the Product and the Process......Page 726
31.4.2. Process Decomposition......Page 727
31.5. The Project......Page 728
31.6. The W5HH Principle......Page 729
31.7. Critical Practices......Page 730
Problems and Points to Ponder......Page 731
Further Readings and Information Sources......Page 732
Chapter 32. Process and Project Metrics......Page 734
32.1.1. Process Metrics and Software Process Improvement......Page 735
32.1.2. Project Metrics......Page 738
32.2. Software Measurement......Page 739
32.2.1. Size-Oriented Metrics......Page 740
32.2.2. Function-Oriented Metrics......Page 741
32.2.3. Reconciling LOC and FP Metrics......Page 742
32.2.4. Object-Oriented Metrics......Page 744
32.2.6. WebApp Project Metrics......Page 745
32.3. Metrics for Software Quality......Page 747
32.3.1. Measuring Quality......Page 748
32.3.2. Defect Removal Efficiency......Page 749
32.4. Integrating Metrics within the Software Process......Page 750
32.4.2. Establishing a Baseline......Page 751
32.5. Metrics for Small Organizations......Page 752
32.6. Establishing a Software Metrics Program......Page 753
Problems and Points to Ponder......Page 755
Further Readings and Information Sources......Page 756
Chapter 33. Estimation for Software Projects......Page 758
33.1. Observations on Estimation......Page 759
33.2. The Project Planning Process......Page 760
33.3. Software Scope and Feasibility......Page 761
33.4.1. Human Resources......Page 762
33.4.3. Environmental Resources......Page 763
33.5. Software Project Estimation......Page 764
33.6.1. Software Sizing......Page 765
33.6.2. Problem-Based Estimation......Page 766
33.6.3. An Example of LOC-Based Estimation......Page 767
33.6.4. An Example of FP-Based Estimation......Page 769
33.6.5. Process-Based Estimation......Page 770
33.6.7. Estimation with Use Cases......Page 771
33.6.9. Reconciling Estimates......Page 773
33.7. Empirical Estimation Models......Page 774
33.7.3. The Software Equation......Page 775
33.9.1. Estimation for Agile Development......Page 777
33.9.2. Estimation for WebApp Projects......Page 778
33.10. The Make/Buy Decision......Page 779
33.10.1. Creating a Decision Tree......Page 780
33.10.2. Outsourcing......Page 781
Problems and Points to Ponder......Page 783
Further Readings and Information Sources......Page 784
Chapter 34. Project Scheduling......Page 785
34.1. Basic Concepts......Page 786
34.2. Project Scheduling......Page 788
34.2.1. Basic Principles......Page 789
34.2.2. The Relationship between People and Effort......Page 790
34.2.3. Effort Distribution......Page 791
34.3. Defining a Task Set for the Software Project......Page 792
34.3.1. A Task Set Example......Page 793
34.3.2. Refinement of Major Tasks......Page 794
34.4. Defining a Task Network......Page 795
34.5. Scheduling......Page 796
34.5.1. Time-Line Charts......Page 797
34.5.2. Tracking the Schedule......Page 798
34.5.3. Tracking Progress for an OO Project......Page 799
34.5.4. Scheduling for WebApp and Mobile Projects......Page 800
34.6. Earned Value Analysis......Page 803
Problems and Points to Ponder......Page 805
Further Readings and Information Sources......Page 807
Chapter 35. Risk Management......Page 808
35.2. Software Risks......Page 809
35.3. Risk Identification......Page 811
35.3.1. Assessing Overall Project Risk......Page 812
35.4. Risk Projection......Page 813
35.4.1. Developing a Risk Table......Page 814
35.4.2. Assessing Risk Impact......Page 816
35.5. Risk Refinement......Page 818
35.6. Risk Mitigation, Monitoring, and Management......Page 819
35.7. The RMMM Plan......Page 821
Problems and Points to Ponder......Page 823
Further Readings and Information Sources......Page 824
Chapter 36. Maintenance and Reengineering......Page 826
36.1. Software Maintenance......Page 827
36.3. Reengineering......Page 829
36.4.1. Business Processes......Page 830
36.4.2. A BPR Model......Page 831
36.5.1. A Software Reengineering Process Model......Page 833
36.5.2. Software Reengineering Activities......Page 834
36.6. Reverse Engineering......Page 836
36.6.2. Reverse Engineering to Understand Processing......Page 838
36.6.3. Reverse Engineering User Interfaces......Page 839
36.7.1. Code Restructuring......Page 840
36.7.2. Data Restructuring......Page 841
36.8. Forward Engineering......Page 842
36.8.1. Forward Engineering for Client-Server Architectures......Page 843
36.9. The Economics of Reengineering......Page 844
36.10. Summary......Page 845
Problems and Points to Ponder......Page 846
Further Readings and Information Sources......Page 847
Part Five. Advanced Topics......Page 848
Chapter 37. Software Process Improvement......Page 849
37.1.1. Approaches to SPI......Page 850
37.1.2. Maturity Models......Page 852
37.1.3. Is SPI for Everyone?......Page 853
37.2.1. Assessment and Gap Analysis......Page 854
37.2.3. Selection and Justification......Page 856
37.2.4. Installation/Migration......Page 857
37.2.6. Risk Management for SPI......Page 858
37.3. The CMMI......Page 859
37.5. Other SPI Frameworks......Page 863
37.6. SPI Return on Investment......Page 865
37.7. SPI Trends......Page 866
37.8. Summary......Page 867
Further Readings and Information Sources......Page 868
Chapter 38. Emerging Trends in Software Engineering......Page 870
38.1. Technology Evolution......Page 871
38.2. Prospects for a True Engineering Discipline......Page 872
38.3. Observing Software Engineering Trends......Page 873
38.4. Identifying “Soft Trends”......Page 874
38.4.1. Managing Complexity......Page 876
38.4.3. Emergent Requirements......Page 877
38.4.5. Software Building Blocks......Page 878
38.4.7. Open Source......Page 879
38.5.1. Process Trends......Page 880
38.5.2. The Grand Challenge......Page 882
38.5.4. Requirements Engineering......Page 883
38.5.5. Model-Driven Software Development......Page 884
38.5.7. Test-Driven Development......Page 885
38.6. Tools-Related Trends......Page 886
Problems and Points to Ponder......Page 888
Further Readings and Information Sources......Page 889
Chapter 39. Concluding Comments......Page 891
39.2. People and the Way They Build Systems......Page 892
39.3. New Modes for Representing Information......Page 893
39.4. The Long View......Page 895
39.5. The Software Engineer’s Responsibility......Page 896
39.6. A Final Comment from RSP......Page 898
Appendix 1. AN INTRODUCTION TO UML......Page 900
Appendix 2. OBJECT-ORIENTED CONCEPTS......Page 922
Appendix 3. FORMAL METHODS......Page 930
References......Page 940
Index......Page 964




نظرات کاربران