PEARSON. Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto

Size: px
Start display at page:

Download "PEARSON. Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto"

Transcription

1 PEARSON Boston Columbus Indianapolis New York San Francisco Hoboken Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo

2 Preface 3 Part 1 Introduction to Software Engineering 15 Chapter! Introduction Professional software development Software engineering ethics Case studies 31 Chapter 2 Software processes Software process models Process activities Coping with change Process improvement 65 Chapter 3 Agile software development Agile methods Agile development techniques Agile project management Scaling agile methods 88

3 io Contents Chapter 4 Requirements engineering Functional and non-functional requirements Requirements engineering processes Requirements elicitation Requirements specification Requirements validation Requirements change 130 Chapter 5 System modeling Context models Interaction models Structural models Behavioral models Model-driven architecture 159 Chapter 6 Architectural design Architectural design decisions Architectural views Architectural patterns Application architectures 184 Chapter 7 Design and implementation Object-oriented design using the UML Design patterns Implementation issues Open-source development 219 Chapter 8 Software testing Development testing Test-driven development 242

4 Contents Release testing User testing 249 Chapter 9 Software evolution Evolution processes Legacy systems Software maintenance 270 Part 2 System Dependability and Security 283 Chapter 10 Dependable systems Dependability properties Sociotechnical systems Redundancy and diversity Dependable processes Formal methods and dependability 299 Chapter 11 Reliability engineering Availability and reliability Reliability requirements Fault-tolerant architectures Programming for reliability Reliability measurement 331 Chapter 12 Safety engineering Safety-critical systems Safety requirements Safety engineering processes Safety cases 361

5 12 Contents Chapter 13 Security engineering Security and dependability Security and organizations Security requirements Secure systems design Security testing and assurance 402 Chapter 14 Resilience engineering Cybersecurity Sociotechnical resilience Resilient systems design 424 Part 3 Advanced Software Engineering 435 Chapter 15 Software reuse The reuse landscape Application frameworks Software product lines Application system reuse 453 Chapter 16 Component-based software engineering Components and component models CBSE processes Component composition 480 Chapter 17 Distributed software engineering Distributed systems Client-server computing 499

6 Contents Architectural patterns for distributed systems Software as a service 512 Chapter 18 Service-oriented software engineering Service-oriented architecture RESTful services Service engineering Service composition 541 Chapter 19 Systems engineering Sociotechnical systems Conceptual design System procurement System development System operation and evolution 574 Chapter 20 Systems of systems System complexity Systems of systems classification Reductionism and complex systems Systems of systems engineering Systems of systems architecture 599 Chapter 21 Real-time software engineering Embedded system design Architectural patterns for real-time software Timing analysis Real-time operating systems 631

7 14 Contents Part 4 Software Management 639 Chapter 22 Project management Risk management Managing people Teamwork 656 Chapter 23 Project planning Software pricing Plan-driven development Project scheduling Agile planning Estimation techniques COCOMO cost modeling 686 Chapter 24 Quality management Software quality Software standards Reviews and inspections Quality management and agile development Software measurement 716 Chapter 25 Configuration management Version management System building Change management Release management 750 Glossary 757 Subject index 777 Author index 803