Software Engineering

Software Engineering

Architecture-driven Software Development

1st Edition - April 30, 2013

Write a review

  • Author: Richard Schmidt
  • eBook ISBN: 9780124078789
  • Paperback ISBN: 9780124077683

Purchase options

Purchase options
DRM-free (PDF, EPub, Mobi)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


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.

Key Features

  • A thorough, integrated compilation on the engineering of software products, addressing the majority of the standard knowledge areas and topics
  • Offers best practices focused on those key skills common to many industries and domains that develop software
  • Learn how software engineering relates to systems engineering for better communication with other engineering professionals within a project environment


Software developers, project managers, systems engineers, and students studying these disciplines

Table of Contents

  • A Note from the Author


    Book outline and subject matter

    Section 1: Software Engineering Fundamentals

    Section 1. Software Engineering Fundamentals

    Systems engineering principles and practices


    Chapter 1. Introduction to Software Engineering

    1.1 Specifying software requirements

    1.2 Software architecture

    1.3 Integrated product and process development

    1.4 Integrated product teams

    1.5 Work breakdown structure

    1.6 Software breakdown structure

    1.7 Specification and documentation trees

    1.8 Integrated master plan and schedule

    1.9 Reviews and audits

    1.10 Configuration management and change control

    1.11 Trade-off analysis

    1.12 Risk management

    1.13 Modeling and simulation

    Chapter 2. Generic Software Development Framework

    2.1 Software breakdown structure

    2.2 Software development process

    2.3 Summary

    Chapter 3. Software Architecture

    3.1 Stakeholder needs relationships and dependencies

    3.2 Software requirements baseline relationships and dependencies

    3.3 Computing environment relationships and dependencies

    3.4 Test and evaluation relationships and dependencies

    3.5 Functional architecture relationships and dependencies

    3.6 Physical architecture relationships and dependencies

    3.7 Post-development process relationships and dependencies

    3.8 Motivation for the software architecture

    Chapter 4. Understanding the Software Project Environment

    4.1 Integrated product teams

    4.2 Software architecture

    4.3 Complexity control mechanisms

    4.4 Software nomenclature registry

    4.5 Software integration strategy

    4.6 Project and technical planning

    Chapter 5. Software Integrated Product and Process Development

    5.1 Application of IPPD to software

    5.2 Software engineering and development

    Chapter 6. Impediments to Software Design

    6.1 Software as a raw material

    6.2 Evolution of software technologies

    6.3 Architecture-driven software development

    Section 2: Software Engineering Practices

    Section 2. Software Engineering Practices

    Developing the software product architecture

    Chapter 7. Understanding Software Requirements

    7.1 Step 1: Soliciting stakeholder needs and expectations

    7.2 Step 2: Requirement analysis and specification

    7.3 Step 3: Task definition and scheduling

    7.4 Step 4: Resource identification, estimation, and allocation

    7.5 Step 5: Establish organizational work packages

    7.6 Step 6: Technical planning

    7.7 Step 7: Project planning

    7.8 Exploring stakeholder needs

    Chapter 8. Software Requirements Analysis Practice

    8.1 Project analysis tasks

    8.2 Operational analysis tasks

    8.3 Product analysis tasks

    8.4 Sustainment analysis tasks

    8.5 Project assessment tasks

    8.6 Establish the requirements baseline

    Chapter 9. Software Requirements Management

    9.1 Embracing change

    9.2 Specifying requirements

    9.3 Requirement decomposition and allocation

    9.4 Requirement traceability

    Chapter 10. Formulating the Functional Architecture

    10.1 Motivation for the functional architecture

    10.2 Functional architecture ontology

    10.3 Conceiving the functional architecture

    10.4 Documenting the functional architecture

    Chapter 11. Functional Analysis and Allocation Practice

    11.1 Assess functional complexity

    11.2 Behavioral analysis

    11.3 Performance allocation

    11.4 Architectural assessment

    11.5 Establish the functional architecture

    Chapter 12. Configuring the Physical Architecture

    12.1 Structural design solution

    12.2 Structural design considerations

    Chapter 13. Software Design Synthesis Practice

    13.1 Design conceptualization

    13.2 Design resolution

    13.3 Design correlation

    13.4 Design manifestation

    13.5 Prepare the software technical data package

    Chapter 14. Software Analysis Practice

    14.1 Defining the trade study

    14.2 Establish the trade-study environment

    14.3 Conduct the analysis

    14.4 Assess project repercussions

    14.5 Evaluate trade-study results

    Chapter 15. Software Verification and Validation Practice

    15.1 Define the V&V strategy

    15.2 Verify the software architecture

    15.3 Validate the physical architecture

    15.4 Document V&V results

    Chapter 16. Software Control Practice

    16.1 Configuration administration

    16.2 Process engineering change packages

    16.3 Change evaluation

    16.4 Change assimilation

    16.5 Software repository control

    Section 3: Stages of Software Engineering Application

    Section 3. Stages of Software Engineering Application

    Chapter 17. Software Requirements Definition

    17.1 Products of software requirements definition

    17.2 Software engineering integrated product team (software requirements definition stage)

    17.3 Software implementation (software requirements definition stage)

    17.4 Computing environment preparation (software requirements definition stage)

    17.5 Post-development process implementation (software requirements definition stage)

    17.6 Software test and evaluation (software requirements definition stage)

    17.7 Reviews, milestones, and baselines (software requirements definition stage)

    Chapter 18. Software Architecture Definition

    18.1 Preliminary architecture definition

    18.2 Detailed architecture definition

    Chapter 19. Software Implementation

    19.1 Products of software implementation

    19.2 Software engineering tasks (software implementation stage)

    19.3 Software implementation tasks (software implementation stage)

    19.4 Computing environment tasks (software implementation stage)

    19.5 Post-development process tasks (software implementation stage)

    19.6 Software test and evaluation tasks (software implementation stage)

    19.7 Reviews and milestones (software implementation stage)

    Chapter 20. Software Acceptance Testing

    20.1 Products of software acceptance testing

    20.2 Software engineering (software acceptance testing stage)

    20.3 Software implementation organization (software acceptance testing stage)

    20.4 Computing environment implementation organization (software acceptance testing stage)

    20.5 Post-development process organization (software acceptance testing stage)

    20.6 Software test and evaluation (software acceptance testing stage)

    20.7 Reviews and milestones (software acceptance testing stage)

    20.8 Establish the software product baseline


Product details

  • No. of pages: 376
  • Language: English
  • Copyright: © Morgan Kaufmann 2013
  • Published: April 30, 2013
  • Imprint: Morgan Kaufmann
  • eBook ISBN: 9780124078789
  • Paperback ISBN: 9780124077683

About the Author

Richard Schmidt

Richard Schmidt
Richard F. Schmidt has over 30 years of experience in systems and S/W engineering in the aerospace community. While serving the Air Force Systems Command, he chaired a Joint Service Working Group which produced Revision A of DoD-STD- 2167, Defense Systems S/W Development, and DOD-STD-2168, Defense Systems S/W Quality Program. Richard continued his involvement in standards by chairing the IEEE Working Group on Systems Engineering Management, responsible for the publication of IEEE 1220, The Application and Management of the Systems Engineering Process. Supported the Navy’s RDA Chief Systems Engineer (CHENG) Office for 9 years as an independent consultant for Systems and Software Engineering policy and practices, producing the Naval System-of-Systems (SoS) Systems Engineering Guidebook in 2005. Richard is currently the Director of Marketing for Vitech Corporation, the providers of CORE. Richard has also worked for CASE Tool vendors including Rational S/W, and Ascent Logic Corporation.

Affiliations and Expertise

Richard Schmidt: Chair, IEEE Working Group on Systems Engineering Management, and Founder, Sirrush Corporation

Ratings and Reviews

Write a review

There are currently no reviews for "Software Engineering"