Software Engineering: Architecture-driven Software Development

advertisement

Software Engineering: Architecture-driven Software Development

Introduction

Software Engineering: Architecture-driven Software Development


    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. 

advertisement

    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
advertisement

Table Of Contents

Introduction

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

Download full PDF in Comment section

advertisement

1 Comments

Previous Post Next Post