Software engineering: a practitioners approach
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
New York, NY
McGraw Hill
[2020]
|
Ausgabe: | Ninth edition [International Student Edition] |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xxx, 671 Seiten Illustrationen, Diagramme |
ISBN: | 9781260548006 1260548007 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV046314190 | ||
003 | DE-604 | ||
005 | 20210113 | ||
007 | t | ||
008 | 191219s2020 a||| |||| 00||| eng d | ||
020 | |a 9781260548006 |9 978-1-260-54800-6 | ||
020 | |a 1260548007 |9 1-260-54800-7 | ||
035 | |a (OCoLC)1135422879 | ||
035 | |a (DE-599)OBVAC15541368 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-573 |a DE-1050 |a DE-739 |a DE-1043 | ||
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
100 | 1 | |a Pressman, Roger S. |d 1947- |e Verfasser |0 (DE-588)172313414 |4 aut | |
245 | 1 | 0 | |a Software engineering |b a practitioners approach |c Roger S. Pressman, Ph.D., Bruce R. Maxim, Ph.D. |
250 | |a Ninth edition [International Student Edition] | ||
264 | 1 | |a New York, NY |b McGraw Hill |c [2020] | |
300 | |a xxx, 671 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
655 | 7 | |8 1\p |0 (DE-588)4151278-9 |a Einführung |2 gnd-content | |
689 | 0 | 0 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Maxim, Bruce R. |e Verfasser |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031691289&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-031691289 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804180792234999808 |
---|---|
adam_text | CHAPTER 1 PART ONE THE SOFTWARE PROCESS CHAPTER CHAPTER CHAPTER CHAPTER PART TWO PART THREE Software and Software Engineering 2 3 4 5 Process Models 19 20 Agility and Process 37 Recommended Process Model 54 Human Aspects of Software Engineering MODELING 83 CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER Principles That Guide Practice 84 Understanding Requirements 102 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 74 Requirements Modeling—A Recommended Approach Design Concepts 156 Architectural Design—A Recommended Approach Component-Level Design 206 User Experience Design 233 Design for Mobility 264 Pattern-Based Design QUALITY AND SECURITY CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER CHAPTER 1 126 181 289 309 Quality Concepts 310 Reviews—A Recommended Approach 325 Software Quality Assurance 339 Software Security Engineering 356 Software Testing—Component Level 372 Software Testing—Integration Level 395 Software Testing—Specialized Testing for Mobility 412 Software Configuration Management 437 Software Metrics and Analytics 460 vii
viii PART FOUR CONTENTS AT A GLANCE MANAGING SOFTWARE PROJECTS CHAPTER CHAPTER CHAPTER CHAPTER PART FIVE 24 25 26 27 489 Project Management Concepts 490 Creating a Viable Software Plan 504 Risk Management 532 A Strategy for Software Support ADVANCED TOPICS 549 567 CHAPTER 28 Software Process Improvement 568 CHAPTER 29 Emerging Trends in Software Engineering CHAPTER 30 Concluding Comments 602 APPENDIX 1 An Introduction to UML 611 APPENDIX 2 Data Science for Software Engineers REFERENCES 639 INDEX 659 629 583
Table Preface The Nature of Software 4 1.1.1 Defining Software 5 1.1.2 Software Application Domains 1.1.3 Legacy Software 8 Defining the Discipline 1.3 The Software Process 9 1.3.1 The Process Framework 1.3.2 Umbrella Activities 11 1.3.3 Process Adaptation 11 1.5 1.6 PART ONE SOFTWARE AND SOFTWARE ENGINEERING 1 1.2 1.4 Contents xxvii CHAPTER 1 1.1 of 8 Software Engineering Practice 12 1.4.1 The Essence of Practice 1.4.2 General Principles 14 How It All Starts Summary 10 12 15 17 THE SOFTWARE PROCESS CHAPTER 2 7 19 PROCESS MODELS 20 2.1 A Generic Process Model 21 2.2 Defining a Framework Activity 2.3 Identifying a Task Set 2.4 Process Assessment and Improvement 2.5 Prescriptive Process Models 25 2.5.1 The Waterfall Model 25 2.5.2 Prototyping Process Model 26 2.5.3 Evolutionary Process Model 29 2.5.4 Unified Process Model 31 2.6 Product and Process 2.7 Summary 23 23 24 33 35 IX
x TABLE OF CONTENTS CHAPTER 3 AGILITY AND PROCESS 37 3.1 What Is Agility? 3.2 Agility and the Cost of Change 3.3 What Is an Agile Process? 40 3.3.1 Agility Principles 40 3.3.2 The Politics of Agile Development 3.4 3.5 3.6 Scrum 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 38 39 42 Scrum Teams and Artifacts 43 Sprint Planning Meeting 44 Daily Scrum Meeting 44 Sprint Review Meeting 45 Sprint Retrospective 45 Other Agile Frameworks 46 3.5.1 The XP Framework 3.5.2 Kanban 48 3.5.3 DevOps 50 Summary CHAPTER 4 46 51 RECOMMENDED PROCESS MODEL 4.1 Requirements Definition 4.2 Preliminary Architectural Design 4.3 Resource Estimation 4.4 First Prototype Construction 4.5 Prototype Evaluation 64 4.6 Go, No-Go Decision 65 4.7 Prototype Evolution 67 4.7.1 New Prototype Scope 67 4.7.2 Constructing New Prototypes 4.7.3 Testing New Prototypes 68 57 59 60 4.8 Prototype Release 4.9 Maintain Release Software 4.10 Summary CHAPTER 5 41 61 68 68 69 72 HUMAN ASPECTS OF SOFTWARE ENGINEERING 74 5.1 Characteristics of a Software Engineer 5.2 The Psychology of Software Engineering 75 75 54
TABLE OF CONTENTS PART TWO XI 5.3 The Software Team 5.4 Team Structures 76 78 5.5 The Impact of Social Media 5.6 Global Teams 5.7 Summary MODELING CHAPTER 6 6.1 79 80 81 83 PRINCIPLES THAT GUIDE PRACTICE 84 Core Principles 85 6.1.1 Principles That Guide Process 6.1.2 Principles That Guide Practice 85 86 6.2 Principles That Guide Each Framework Activity 6.2.1 Communication Principles 88 6.2.2 Planning Principles 91 6.2.3 Modeling Principles 92 6.2.4 Construction Principles 95 6.2.5 Deployment Principles 98 6.3 Summary CHAPTER 7 7.1 7.2 88 100 UNDERSTANDING REQUIREMENTS Requirements Engineering 103 7.1.1 Inception 104 7.1.2 Elicitation 104 7.1.3 Elaboration 104 7.1.4 Negotiation 105 7.1.5 Specification 105 7.1.6 Validation 105 7.1.7 Requirements Management 106 Establishing the Groundwork 107 7.2.1 Identifying Stakeholders 107 7.2.2 Recognizing Multiple Viewpoints 107 7.2.3 Working Toward Collaboration 108 7.2.4 Asking the First Questions 108 7.2.5 Nonfunctional Requirements 109 7.2.6 Traceability 109 102
xii TABLE OF CONTENTS 7.3 Requirements Gathering 110 7.3.1 Collaborative Requirements Gathering 7.3.2 Usage Scenarios 113 7.3.3 Elicitation Work Products 114 7.4 Developing Use Cases 7.5 Building the Analysis Model 118 7.5.1 Elements of the Analysis Model 7.5.2 Analysis Patterns 122 114 7.6 Negotiating Requirements 7.7 Requirements Monitoring 7.8 Validating Requirements 7.9 Summary CHAPTER 8 110 119 122 123 123 124 REQUIREMENTS MODELING— A RECOMMENDED APPROACH 126 8.1 Requirements Analysis 127 8.1.1 Overall Objectives and Philosophy 128 8.1.2 Analysis Rules of Thumb 128 8.1.3 Requirements Modeling Principles 129 8.2 Scenario-Based Modeling 130 8.2.1 Actors and User Profiles 131 8.2.2 Creating Use Cases 131 8.2.3 Documenting Use Cases 135 8.3 Class-Based Modeling 137 8.3.1 Identifying Analysis Classes 137 8.3.2 Defining Attributes and Operations 140 8.3.3 UML Class Models 141 8.3.4 Class-Responsibility-Collaborator Modeling 8.4 8.5 8.6 Functional Modeling 146 8.4.1 A Procedural View 146 8.4.2 UML Sequence Diagrams 148 Behavioral 8.5.1 8.5.2 8.5.3 Modeling 149 Identifying Events with the Use Case UML State Diagrams 150 UML Activity Diagrams 151 Summary 154 149 144
ХІІІ TABLE OF CONTENTS CHAPTER 9 DESIGN CONCEPTS 156 9.1 Design Within the Context of Software Engineering 9.2 The Design Process 159 9.2.1 Software Quality Guidelines and Attributes 9.2.2 The Evolution of Software Design 161 9.3 Design Concepts 163 9.3.1 Abstraction 163 9.3.2 Architecture 163 9.3.3 Patterns 164 9.3.4 Separation of Concerns 165 9.3.5 Modularity 165 9.3.6 Information Hiding 166 9.3.7 Functional Independence 167 9.3.8 Stepwise Refinement 167 9.3.9 Refactoring 168 9.3.10 Design Classes 169 9.4 The Design Model 171 9.4.1 Design Modeling Principles 173 9.4.2 Data Design Elements 174 9.4.3 Architectural Design Elements 175 9.4.4 Interface Design Elements 175 9.4.5 Component-Level Design Elements 176 9.4.6 Deployment-Level Design Elements 177 9.5 Summary CHAPTER 10 157 160 178 ARCHITECTURAL DESIGN— A RECOMMENDED APPROACH 10.1 Software Architecture 182 10.1.1 What Is Architecture? 182 10.1.2 Why Is Architecture Important? 183 10.1.3 Architectural Descriptions 183 10.1.4 Architectural Decisions 184 10.2 Agility and Architecture 10.3 Architectural Styles 186 10.3.1 A Brief Taxonomy of Architectural Styles 10.3.2 Architectural Patterns 192 10.3.3 Organization and Refinement 193 181 185 187
xiv TABLE OF CONTENTS 10.4 Architectural Considerations 193 10.5 Architectural Decisions 10.6 Architectural Design 196 10.6.1 Representing the System in Context 196 10.6.2 Defining Archetypes 197 10.6.3 Refining the Architecture into Components 198 10.6.4 Describing Instantiations of the System 200 10.7 Assessing 10.7.1 10.7.2 10.7.3 10.8 Summary 204 195 Alternative Architectural Designs 201 Architectural Reviews 202 Pattern-Based Architecture Review 203 Architecture Conformance Checking 204 CHAPTER 11 COMPONENT-LEVEL DESIGN 11.1 What Is a Component? 207 11.1.1 An Object-Oriented View 207 11.1.2 The Traditional View 209 11.1.3 A Process-Related View 211 11.2 Designing 11.2.1 11.2.2 11.2.3 11.2.4 Class-Based Components 212 Basic Design Principles 212 Component-Level Design Guidelines Cohesion 216 Coupling 218 206 215 11.3 Conducting Component-Level Design 11.4 Specialized Component-Level Design 225 11.4.1 Component-Level Design for WebApps 226 11.4.2 Component-Level Design for Mobile Apps 226 11.4.3 Designing Traditional Components 227 11.4.4 Component-Based Development 228 11.5 Component Refactoring 11.6 Summary 231 CHAPTER 12 12.1 219 230 USER EXPERIENCE DESIGN User Experience Design Elements 234 12.1.1 Information Architecture 235 12.1.2 User Interaction Design 236 12.1.3 Usability Engineering 236 12.1.4 Visual Design 237 233
TABLE OF CONTENTS XV 12.2 The Golden Rules 238 12.2.1 Place the User in Control 238 12.2.2 Reduce the User’s Memory Load 239 12.2.3 Make the Interface Consistent 240 12.3 User Interface Analysis and Design 241 12.3.1 Interface Analysis and Design Models 12.3.2 The Process 242 12.4 User Experience Analysis 243 12.4.1 User Research 244 12.4.2 User Modeling 245 12.4.3 Task Analysis 247 12.4.4 Work Environment Analysis 12.5 User Experience Design 12.6 User Interface Design 250 12.6.1 Applying Interface Design Steps 251 12.6.2 User Interface Design Patterns 252 12.7 Design Evaluation 253 12.7.1 Prototype Review 253 12.7.2 User Testing 255 12.8 Usability and Accessibility 255 12.8.1 Usability Guidelines 257 12.8.2 Accessibility Guidelines 259 12.9 Conventional Software UX and Mobility 248 249 261 12.10 Summary 261 CHAPTER 13 DESIGN FOR MOBILITY 264 13.1 The Challenges 265 13.1.1 Development Considerations 265 13.1.2 Technical Considerations 266 13.2 Mobile Development Life Cycle 268 13.2.1 User Interface Design 270 13.2.2 Lessons Learned 271 13.3 Mobile Architectures 273 13.4 Context-Aware Apps 274 13.5 Web Design Pyramid 275 13.5.1 WebApp Interface Design 13.5.2 Aesthetic Design 277 13.5.3 Content Design 277 13.5.4 Architecture Design 278 13.5.5 Navigation Design 280 275 i 241
xvi TABLE OF CONTENTS 13.6 Component-Level Design 13.7 Mobility and Design Quality 13.8 Mobility Design Best Practices 13.9 Summary CHAPTER 14 14.1 PART THREE 282 282 285 287 PATTERN-BASED DESIGN 289 Design Patterns 290 14.1.1 Kinds of Patterns 291 14.1.2 Frameworks 293 14.1.3 Describing a Pattern 293 14.1.4 Machine Learning and Pattern Discovery 14.2 Pattern-Based Software Design 295 14.2.1 Pattern-Based Design in Context 295 14.2.2 Thinking in Patterns 296 14.2.3 Design Tasks 297 14.2.4 Building a Pattern-Organizing Table 298 14.2.5 Common Design Mistakes 298 14.3 Architectural Patterns 299 14.4 Component-Level Design Patterns 14.5 Anti-Patterns 14.6 User Interface Design Patterns 14.7 Mobility Design Patterns 14.8 Summary 306 QUALITY AND SECURITY CHAPTER 15 300 302 304 305 309 QUALITY CONCEPTS 310 15.1 What Is Quality? 311 15.2 Software Quality 312 15.2.1 Quality Factors 312 15.2.2 Qualitative Quality Assessment 314 15.2.3 Quantitative Quality Assessment 315 15.3 The Software Quality Dilemma 315 15.3.1 “Good Enough” Software 316 15.3.2 The Cost of Quality 317 15.3.3 Risks 319 15.3.4 Negligence and Liability 320 294
TABLE OF CONTENTS 15.3.5 15.3.6 15.4 15.5 XVII Quality and Security 320 The Impact of Management Actions 321 Achieving Software Quality 321 15.4.1 Software Engineering Methods 322 15.4.2 Project Management Techniques 322 15.4.3 Machine Learning and Defect Prediction 15.4.4 Quality Control 322 15.4.5 Quality Assurance 323 Summary CHAPTER 16 323 REVIEWS—A RECOMMENDED APPROACH 325 16.1 Cost Impact of Software Defects 16.2 Defect Amplification and Removal 16.3 Review Metrics and Their Use 16.4 Criteria for Types of Reviews 16.5 Informal Reviews 16.6 Formal Technical Reviews 332 16.6.1 The Review Meeting 332 16.6.2 Review Reporting and Record Keeping 16.6.3 Review Guidelines 334 326 327 327 330 331 16.7 Postmortem Evaluations 16.8 Agile Reviews 16.9 Summary CHAPTER 17 322 336 336 337 SOFTWARE QUALITY ASSURANCE 339 17.1 Background Issues 17.2 Elements of Software Quality Assurance 341 341 17.3 SQA Processes and Product Characteristics 17.4 SQA Tasks, Goals, and Metrics 343 17.4.1 SQA Tasks 343 17.4.2 Goals, Attributes, and Metrics 17.5 Formal Approaches to SQA 17.6 Statistical Software Quality Assurance 343 345 347 347 333
xviii TABLE OF CONTENTS 17.6.1 17.6.2 17.7 A Generic Example 347 Six Sigma for Software Engineering 17.8 The ISO 9000 Quality Standards 17.9 The SQA Plan 354 355 CHAPTER 18 SOFTWARE SECURITY ENGINEERING 356 Why Software Security Information Is Important 18.2 Security Life-Cycle Models 18.3 Secure Development Life-Cycle Activities 18.4 Security Requirements Engineering 360 18.4.1 SQUARE 360 18.4.2 The SQUARE Process 360 357 357 359 18.5 Misuse and Abuse Cases and Attack Patterns 18.6 Security Risk Analysis 18.7 Threat Modeling, Prioritization, and Mitigation 18.8 Attack Surface 366 18.9 Secure Coding 367 18.10 Measurement 350 353 17.10 Summary 18.1 349 Software Reliability 350 17.7.1 Measures of Reliability and Availability 17.7.2 Use of Al to Model Reliability 351 17.7.3 Software Safety 352 363 364 365 368 18.11 Security Process Improvement and Maturity Models 370 18.12 Summary 370 CHAPTER 19 SOFTWARE TESTING—COMPONENT LEVEL 19.1 Approach to Software Testing 373 Verification and Validation 373 Organizing for Software Testing 374 The Big Picture 375 Criteria for Done” 377 A Strategic 19.1.1 19.1.2 19.1.3 19.1.4 372
TABLE OF CONTENTS ХІХ 19.2 Planning and Recordkeeping 378 19.2.1 Role of Scaffolding 379 19.2.2 Cost-Effective Testing 379 19.3 Test-Case Design 381 19.3.1 Requirements and Use Cases 19.3.2 Traceability 383 19.4 White-Box Testing 383 19.4.1 Basis Path Testing 384 19.4.2 Control Structure Testing 19.5 Black-Box 19.5.1 19.5.2 19.5.3 19.6 Object-Oriented Testing 390 19.6.1 Class Testing 390 19.6.2 Behavioral Testing 392 19.7 Summary 393 CHAPTER 20 382 386 Testing 388 Interface Testing 388 Equivalence Partitioning 389 Boundary Value Analysis 389 SOFTWARE TESTING— INTEGRATION LEVEL 395 20.1 Software Testing Fundamentals 396 20.1.1 Black-Box Testing 397 20.1.2 White-Box Testing 397 20.2 Integration 20.2.1 20.2.2 20.2.3 20.2.4 Testing 398 Top-Down Integration 398 Bottom-Up Integration 399 Continuous Integration 400 Integration Test Work Products 402 20.3 Artificial Intelligence and Regression Testing 20.4 Integration Testing in the OO Context 404 20.4.1 Fault-Based Test-Case Design 405 20.4.2 Scenario-Based Test-Case Design 406 20.5 Validation Testing 20.6 Testing Patterns 20.7 Summary 409 407 409 402
XX TABLE OF CONTENTS CHAPTER 21 SOFTWARE TESTING—SPECIALIZED TESTING FOR MOBILITY 412 21.1 Mobile Testing Guidelines 21.2 The Testing Strategies 413 21.3 User Experience Testing Issues 415 21.3.1 Gesture Testing 415 21.3.2 Virtual Keyboard Input 416 21.3.3 Voice Input and Recognition 416 21.3.4 Alerts and Extraordinary Conditions 414 21.4 Web Application Testing 21.5 Web Testing Strategies 418 21.5.1 Content Testing 420 21.5.2 Interface Testing 421 21.5.3 Navigation Testing 421 21.6 Internationalization 21.7 Security Testing 21.8 Performance Testing 21.9 Real-Time Testing 417 418 423 423 424 426 21.10 Testing Al Systems 428 21.10.1 Static and Dynamic Testing 21.10.2 Model-Based Testing 429 429 21.11 Testing Virtual Environments 430 21.11.1 Usability Testing 430 21.11.2 Accessibility Testing 433 21.11.3 Playability Testing 433 21.12 Testing Documentation and Help Facilities 21.13 Summary 434 435 CHAPTER 22 SOFTWARE CONFIGURATION MANAGEMENT 437 22.1 Software Configuration Management 438 22.1.1 An SCM Scenario 439 22.1.2 Elements of a Configuration Management System 22.1.3 Baselines 441 440
TABLE OF CONTENTS 22.1.4 22.1.5 XXI Software Configuration Items 441 Management of Dependencies and Changes 22.2 The SCM Repository 443 22.2.1 General Features and Content 444 22.2.2 . SCM Features 444 22.3 Version Control Systems 445 22.4 Continuous Integration 22.5 The Change Management Process 447 22.5.1 Change Control 448 22.5.2 Impact Management 451 22.5.3 Configuration Audit 452 22.5.4 Status Reporting 452 22.6 Mobility and Agile Change Management 453 22.6.1 e-Change Control 453 22.6.2 Content Management 455 22.6.3 Integration and Publishing 455 22.6.4 Version Control 457 22.6.5 Auditing and Reporting 458 22.7 Summary 458 CHAPTER 23 442 446 SOFTWARE METRICS AND ANALYTICS 460 23.1 Software Measurement 461 23.1.1 Measures, Metrics, and Indicators 461 23.1.2 Attributes of Effective Software Metrics 462 23.2 Software Analytics 23.3 Product Metrics 463 23.3.1 Metrics for the Requirements Model 464 23.3.2 Design Metrics for Conventional Software 466 23.3.3 Design Metrics for Object-Oriented Software 468 23.3.4 User Interface Design Metrics 471 23.3.5 Metrics for Source Code 473 23.4 Metrics for Testing 462 474 23.5 Metrics for Maintenance 23.6 Process and Project Metrics 476 476
xxii TABLE OF CONTENTS 23.7 Software Measurement 23.8 Metrics for Software Quality 23.9 Establishing Software Metrics Programs 23.10 Summary PART FOUR 479 482 487 MANAGING SOFTWARE PROJECTS CHAPTER 24 485 489 PROJECT MANAGEMENT CONCEPTS 490 24.1 The Management Spectrum 491 24.1.1 The People 491 24.1.2 The Product 491 24.1.3 The Process 492 24.1.4 The Project 492 24.2 People 24.2.1 24.2.2 24.2.3 24.2.4 493 The Stakeholders 493 Team Leaders 493 The Software Team 494 Coordination and Communications Issues 24.3 Product 24.3.1 24.3.2 497 Software Scope 497 Problem Decomposition 497 24.4 Process 24.4.1 24.4.2 498 Melding the Product and the Process Process Decomposition 498 24.5 Project 24.6 The W5HH Principle 498 500 24.7 Critical Practices 24.8 Summary 502 CHAPTER 25 496 501 502 CREATING A VIABLE SOFTWARE PLAN 25.1 Comments on Estimation 505 25.2 The Project Planning Process 506 504
TABLE OF CONTENTS ХХІІІ 25.3 Software Scope and Feasibility 25.4 Resources 507 25.4.1 Human Resources 508 25.4.2 Reusable Software Resources 509 25.4.3 Environmental Resources 509 507 25.5 Data Analytics and Software Project Estimation 25.6 Decomposition and Estimation Techniques 511 25.6.1 Software Sizing 511 25.6.2 Problem-Based Estimation 512 25.6.3 An Example of LOC-Based Estimation 512 25.6.4 An Example of FP-Based Estimation 514 25.6.5 An Example of Process-Based Estimation 515 25.6.6 An Example of Estimation Using Use Case Points 25.6.7 Reconciling Estimates 518 25.6.8 Estimation for Agile Development 519 509 25.7 Project Scheduling 520 25.7.1 Basic Principles 521 25.7.2 The Relationship Between People and Effort 25.8 Defining a Project Task Set 523 25.8.1 A Task Set Example 524 25.8.2 Refinement of Major Tasks 25.9 Defining a Task Network 524 525 25.10 Scheduling 226 25.10.1 Time-Line Charts 526 25.10.2 Tracking the Schedule 528 25.11 Summary 530 CHAPTER 26 RISK MANAGEMENT 532 26.1 Reactive Versus Proactive Risk Strategies 533 26.2 Software Risks 26.3 Risk Identification 535 26.3.1 Assessing Overall Project Risk 536 26.3.2 Risk Components and Drivers 537 26.4 Risk Projection 534 538 522 517
xxiv TABLE OF CONTENTS 26.4.1 26.4.2 26.5 Developing a Risk Table 538 Assessing Risk Impact 540 Risk Refinement 542 26.6 Risk Mitigation, Monitoring, and Management 26.7 The RMMM Plan 26.8 Summary 543 546 547 CHAPTER 27 A STRATEGY FOR SOFTWARE SUPPORT 549 PART FIVE 27.1 Software Support 550 27.2 Software Maintenance 552 27.2.1 Maintenance Types 553 27.2.2 Maintenance Tasks 554 27.2.3 Reverse Engineering 555 27.3 Proactive Software Support 557 27.3.1 Use of Software Analytics 558 27.3.2 Role of Social Media 559 27.3.3 Cost of Support 559 27.4 Refactoring 560 27.4.1 Data Refactoring 561 24.4.2 Code Refactoring 561 27.4.3 Architecture Refactoring 561 27.5 Software Evolution 562 27.5.1 Inventory Analysis 563 27.5.2 Document Restructuring 564 27.5.3 Reverse Engineering 564 27.5.4 Code Refactoring 564 27.7.5 Data Refactoring 564 27.5.6 Forward Engineering 565 27.6 Summary 565 ADVANCED TOPICS 567 CHAPTER 28 SOFTWARE PROCESS IMPROVEMENT 28.1 What Is SPI? 569 28.1.1 Approaches to SPI 569 28.1.2 Maturity Models 570 28.1.3 Is SPI for Everyone? 571 568
TABLE OF CONTENTS XXV 28.2 The SPI Process 571 28.2.1 Assessment and GAP Analysis 572 28.2.2 Education and Training 573 28.2.3 Selection and Justification 573 28.2.4 Installation/Migration 574 28.2.5 Evaluation 575 28.2.6 Risk Management for SPI 575 28.3 The CMMI 28.4 Other SPI Frameworks 579 28.4.1 SPICE 579 28.4.2 TickIT Plus 579 576 28.5 SPI Return on Investment 28.6 SPI Trends 28.7 Summary 581 CHAPTER 29 580 580 EMERGING TRENDS IN SOFTWARE ENGINEERING 583 29.1 Technology Evolution 29.2 Software Engineering as a Discipline 584 29.3 Observing Software Engineering Trends 29.4 Identifying 29.4.1 29.4.2 29.4.3 29.4.4 29.4.5 29.4.6 29.4.7 585 586 “Soft Trends 587 Managing Complexity 588 Open-World Software 589 Emergent Requirements 590 The Talent Mix 591 Software Building Blocks 591 Changing Perceptions of “Value Open Source 592 592 29.5 Technology Directions 593 29.5.1 Process Trends 593 29.5.2 The Grand Challenge 594 29.5.3 Collaborative Development 595 29.5.4 Requirements Engineering 596 29.5.5 Model-Driven Software Development 596 29.5.6 Search-Based Software Engineering 597 29.5.7 Test-Driven Development 598 29.6 Tools-Related Trends 29.7 Summary 600 599
xxvi TABLE OF CONTENTS CHAPTER 30 30.1 CONCLUDING COMMENTS The Importance of Software—Revisited 30.2 People and the Way They Build Systems 30.3 Knowledge Discovery 30.4 The Long View 603 603 605 606 30.5 The Software Engineer s Responsibility 30.6 A Final Comment from RSP 607 609 APPENDIX 1 An Introduction to UML APPENDIX 2 Data Science for Software Engineers REFERENCES INDEX 659 639 602 611 629
|
any_adam_object | 1 |
author | Pressman, Roger S. 1947- Maxim, Bruce R. |
author_GND | (DE-588)172313414 |
author_facet | Pressman, Roger S. 1947- Maxim, Bruce R. |
author_role | aut aut |
author_sort | Pressman, Roger S. 1947- |
author_variant | r s p rs rsp b r m br brm |
building | Verbundindex |
bvnumber | BV046314190 |
classification_rvk | ST 230 |
ctrlnum | (OCoLC)1135422879 (DE-599)OBVAC15541368 |
discipline | Informatik |
edition | Ninth edition [International Student Edition] |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01611nam a2200373 c 4500</leader><controlfield tag="001">BV046314190</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20210113 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">191219s2020 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781260548006</subfield><subfield code="9">978-1-260-54800-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1260548007</subfield><subfield code="9">1-260-54800-7</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1135422879</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)OBVAC15541368</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-573</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-1043</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Pressman, Roger S.</subfield><subfield code="d">1947-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)172313414</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Software engineering</subfield><subfield code="b">a practitioners approach</subfield><subfield code="c">Roger S. Pressman, Ph.D., Bruce R. Maxim, Ph.D.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Ninth edition [International Student Edition]</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York, NY</subfield><subfield code="b">McGraw Hill</subfield><subfield code="c">[2020]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxx, 671 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="8">1\p</subfield><subfield code="0">(DE-588)4151278-9</subfield><subfield code="a">Einführung</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Maxim, Bruce R.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031691289&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-031691289</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
genre | 1\p (DE-588)4151278-9 Einführung gnd-content |
genre_facet | Einführung |
id | DE-604.BV046314190 |
illustrated | Illustrated |
indexdate | 2024-07-10T08:41:23Z |
institution | BVB |
isbn | 9781260548006 1260548007 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-031691289 |
oclc_num | 1135422879 |
open_access_boolean | |
owner | DE-573 DE-1050 DE-739 DE-1043 |
owner_facet | DE-573 DE-1050 DE-739 DE-1043 |
physical | xxx, 671 Seiten Illustrationen, Diagramme |
publishDate | 2020 |
publishDateSearch | 2020 |
publishDateSort | 2020 |
publisher | McGraw Hill |
record_format | marc |
spelling | Pressman, Roger S. 1947- Verfasser (DE-588)172313414 aut Software engineering a practitioners approach Roger S. Pressman, Ph.D., Bruce R. Maxim, Ph.D. Ninth edition [International Student Edition] New York, NY McGraw Hill [2020] xxx, 671 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier Software Engineering (DE-588)4116521-4 gnd rswk-swf 1\p (DE-588)4151278-9 Einführung gnd-content Software Engineering (DE-588)4116521-4 s DE-604 Maxim, Bruce R. Verfasser aut Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031691289&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Pressman, Roger S. 1947- Maxim, Bruce R. Software engineering a practitioners approach Software Engineering (DE-588)4116521-4 gnd |
subject_GND | (DE-588)4116521-4 (DE-588)4151278-9 |
title | Software engineering a practitioners approach |
title_auth | Software engineering a practitioners approach |
title_exact_search | Software engineering a practitioners approach |
title_full | Software engineering a practitioners approach Roger S. Pressman, Ph.D., Bruce R. Maxim, Ph.D. |
title_fullStr | Software engineering a practitioners approach Roger S. Pressman, Ph.D., Bruce R. Maxim, Ph.D. |
title_full_unstemmed | Software engineering a practitioners approach Roger S. Pressman, Ph.D., Bruce R. Maxim, Ph.D. |
title_short | Software engineering |
title_sort | software engineering a practitioners approach |
title_sub | a practitioners approach |
topic | Software Engineering (DE-588)4116521-4 gnd |
topic_facet | Software Engineering Einführung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031691289&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT pressmanrogers softwareengineeringapractitionersapproach AT maximbrucer softwareengineeringapractitionersapproach |