Software Engineering: Architecture-driven Software Development is the first comprehensive guide to the underlying skills embodied in the IEEE’s Software Engineering Body of Knowledge (SWEBOK) standard. Standards expert Richard Schmidt explains the traditional software engineering practices recognized for developing projects for government or corporate systems.
Software engineering education often lacks standardization, with many institutions focusing on implementation rather than design as it impacts product architecture. Many graduates join the workforce with incomplete skills, leading to software projects that either fail outright or run woefully over budget and behind schedule.
Additionally, software engineers need to understand system engineering and architecture-the hardware and peripherals their programs will run on. This issue will only grow in importance as more programs leverage parallel computing, requiring an understanding of the parallel capabilities of processors and hardware. This book gives both software developers and system engineers key insights into how their skillsets support and complement each other. With a focus on these key knowledge areas, Software Engineering offers a set of best practices that can be applied to any industry or domain involved in developing software products.
Part 1 Software Engineering Fundamentals
Chapter 1 Introduction to Software Engineering
Chapter 2 Generic Software Development Framework
Chapter 3 Software Architecture
Chapter 4 Understanding the Software Project Environment
Chapter 5 Software Integrated Product and Process Development
Chapter 6 Impediments to Software Design
Part 2 Software Engineering Practices
Chapter 7 Understanding Software Requirements
Chapter 8 Software Requirements Analysis Practice
Chapter 9 Software Requirements Management
Chapter 10 Formulating the Functional Architecture
Chapter 11 Functional Analysis and Allocation Practice
Chapter 12 Configuring the Physical Architecture
Chapter 13 Software Design Synthesis Practice
Chapter 14 Software Analysis Practice
Chapter 15 Software Verification and Validation Practice
Chapter 16 Software Control Practice
Part 3 Stages of Software Engineering Application
Chapter 17 Software Requirements Definition
Chapter 18 Software Architecture Definition
Chapter 19 Software Implementation
Chapter 20 Software Acceptance Testing