
Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!
| Preface | p. v |
| Overview | p. 1 |
| Introduction | p. 3 |
| FAQs about software engineering | p. 5 |
| Professional and ethical responsibility | p. 14 |
| Key points | p. 17 |
| Further reading | p. 18 |
| Exercises | p. 18 |
| Computer-based system engineering | p. 20 |
| Emergent system properties | p. 22 |
| Systems and their environment... MORE | p. 24 |
| System modelling | p. 26 |
| The system engineering process | p. 29 |
| System procurement | p. 37 |
| Key points | p. 39 |
| Further reading | p. 40 |
| Exercises | p. 40 |
| Software processes | p. 42 |
| Software process models | p. 44 |
| Process iteration | p. 51 |
| Software specification | p. 55 |
| Software design and implementation | p. 56 |
| Software validation | p. 60 |
| Software evolution | p. 63 |
| Automated process support | p. 63 |
| Key points | p. 68 |
| Further reading | p. 68 |
| Exercises | p. 69 |
| Project management | p. 71 |
| Management activities | p. 73 |
| Project planning | p. 75 |
| Project scheduling | p. 78 |
| Risk management | p. 84 |
| Key points | p. 90 |
| Further reading | p. 91 |
| Exercises | p. 92 |
| Requirements | p. 95 |
| Software requirements | p. 97 |
| Functional and non-functional requirements | p. 100 |
| User requirements | p. 106 |
| System requirements | p. 109 |
| The software requirements document | p. 115 |
| Key points | p. 119 |
| Further reading | p. 119 |
| Exercises | p. 120 |
| Requirements engineering processes | p. 121 |
| Feasibility studies | p. 123 |
| Requirements elicitation and analysis | p. 124 |
| Requirements validation | p. 137 |
| Requirements management | p. 139 |
| Key points | p. 145 |
| Further reading | p. 145 |
| Exercises | p. 146 |
| System models | p. 148 |
| Context models | p. 150 |
| Behavioural models | p. 153 |
| Data models | p. 158 |
| Object models | p. 160 |
| CASE workbenches | p. 166 |
| Key points | p. 168 |
| Further reading | p. 169 |
| Exercises | p. 169 |
| Software prototyping | p. 171 |
| Prototyping in the software process | p. 174 |
| Rapid prototyping techniques | p. 180 |
| User interface prototyping | p. 188 |
| Key points | p. 189 |
| Further reading | p. 190 |
| Exercises | p. 190 |
| Formal specification | p. 192 |
| Formal specification in the software process | p. 194 |
| Interface specification | p. 197 |
| Behavioural specification | p. 204 |
| Key points | p. 209 |
| Further reading | p. 210 |
| Exercises | p. 210 |
| Design | p. 213 |
| Architectural design | p. 215 |
| System structuring | p. 219 |
| Control models | p. 224 |
| Modular decomposition | p. 229 |
| Domain-specific architectures | p. 233 |
| Key points | p. 236 |
| Further reading | p. 237 |
| Exercises | p. 237 |
| Distributed systems architectures | p. 239 |
| Multiprocessor architectures | p. 243 |
| Client-server architectures | p. 244 |
| Distributed object architectures | p. 249 |
| CORBA | p. 252 |
| Key points | p. 257 |
| Further reading | p. 258 |
| Exercises | p. 258 |
| Object-oriented design | p. 260 |
| Objects and object classes | p. 262 |
| An object-oriented design process | p. 267 |
| Design evolution | p. 280 |
| Key points | p. 282 |
| Further reading | p. 282 |
| Exercises | p. 283 |
| Real-time software design | p. 285 |
| System design | p. 287 |
| Real-time executives | p. 291 |
| Monitoring and control systems | p. 295 |
| Data acquisition systems | p. 300 |
| Key points | p. 303 |
| Further reading | p. 303 |
| Exercises | p. 304 |
| Design with reuse | p. 306 |
| Component-based development | p. 310 |
| Application families | p. 318 |
| Design patterns | p. 322 |
| Key points | p. 325 |
| Further reading | p. 325 |
| Exercises | p. 326 |
| User interface design | p. 327 |
| User interface design principles | p. 330 |
| User interaction | p. 332 |
| Information presentation | p. 334 |
| User support | p. 340 |
| Interface evaluation | p. 345 |
| Key points | p. 347 |
| Further reading | p. 348 |
| Exercises | p. 348 |
| Critical Systems | p. 351 |
| Dependability | p. 353 |
| Critical systems | p. 356 |
| Availability and reliability | p. 359 |
| Safety | p. 364 |
| Security | p. 367 |
| Key points | p. 369 |
| Further reading | p. 369 |
| Exercises | p. 370 |
| Critical systems specification | p. 371 |
| Software reliability specification | p. 373 |
| Safety specification | p. 379 |
| Security specification | p. 387 |
| Key points | p. 389 |
| Further reading | p. 389 |
| Exercises | p. 390 |
| Critical systems development | p. 392 |
| Fault minimisation | p. 393 |
| Fault tolerance | p. 400 |
| Fault-tolerant architectures | p. 410 |
| Safe system design | p. 413 |
| Key points | p. 414 |
| Further reading | p. 415 |
| Exercises | p. 415 |
| Verification and Validation | p. 417 |
| Verification and validation | p. 419 |
| Verification and validation planning | p. 423 |
| Software inspections | p. 425 |
| Automated static analysis | p. 431 |
| Cleanroom software development | p. 434 |
| Key points | p. 437 |
| Further reading | p. 438 |
| Exercises | p. 438 |
| Software testing | p. 440 |
| Defect testing | p. 442 |
| Integration testing | p. 452 |
| Object-oriented testing | p. 458 |
| Testing workbenches | p. 462 |
| Key points | p. 464 |
| Further reading | p. 465 |
| Exercises | p. 466 |
| Critical systems validation | p. 467 |
| Formal methods and critical systems | p. 469 |
| Reliability validation | p. 470 |
| Safety assurance | p. 476 |
| Security assessment | p. 483 |
| Key points | p. 484 |
| Further reading | p. 484 |
| Exercises | p. 485 |
| Management | p. 487 |
| Managing people | p. 489 |
| Limits to thinking | p. 490 |
| Group working | p. 497 |
| Choosing and keeping people | p. 503 |
| The People Capability Maturity Model | p. 506 |
| Key points | p. 508 |
| Further reading | p. 509 |
| Exercises | p. 509 |
| Software cost estimation | p. 511 |
| Productivity | p. 513 |
| Estimation techniques | p. 518 |
| Algorithmic cost modelling | p. 520 |
| Project duration and staffing | p. 531 |
| Key points | p. 533 |
| Further reading | p. 533 |
| Exercises | p. 534 |
| Quality management | p. 535 |
| Quality assurance and standards | p. 539 |
| Quality planning | p. 544 |
| Quality control | p. 546 |
| Software measurement and metrics | p. 547 |
| Key points | p. 555 |
| Further reading | p. 555 |
| Exercises | p. 556 |
| Process improvement | p. 557 |
| Process and product quality | p. 560 |
| Process analysis and modelling | p. 562 |
| Process measurement | p. 566 |
| The SEI Process Capability Maturity Model | p. 568 |
| Process classification | p. 573 |
| Key points | p. 576 |
| Further reading | p. 576 |
| Exercises | p. 577 |
| Evolution | p. 579 |
| Legacy systems | p. 581 |
| Legacy system structures | p. 583 |
| Legacy system design | p. 587 |
| Legacy system assessment | p. 592 |
| Key points | p. 598 |
| Further reading | p. 599 |
| Exercises | p. 599 |
| Software change | p. 601 |
| Program evolution dynamics | p. 603 |
| Software maintenance | p. 605 |
| Architectural evolution | p. 614 |
| Key points | p. 620 |
| Further reading | p. 620 |
| Exercises | p. 621 |
| Software re-engineering | p. 622 |
| Source code translation | p. 626 |
| Reverse engineering | p. 628 |
| Program structure improvement | p. 629 |
| Program modularisation | p. 632 |
| Data re-engineering | p. 634 |
| Key points | p. 638 |
| Further reading | p. 639 |
| Exercises | p. 639 |
| Configuration management | p. 641 |
| Configuration management planning | p. 644 |
| Change management | p. 647 |
| Version and release management | p. 650 |
| System building | p. 655 |
| CASE tools for configuration management | p. 656 |
| Key points | p. 660 |
| Further reading | p. 661 |
| Exercises | p. 661 |
| References | p. 663 |
| Index | p. 679 |
| Table of Contents provided by Syndetics. All Rights Reserved. |