Difference between revisions of "Chapter 9: Software Engineering Models"

From SWEBOK
Jump to: navigation, search
Line 30: Line 30:
 
for single life cycle phases are covered by other
 
for single life cycle phases are covered by other
 
KAs.}}
 
KAs.}}
 +
 +
{{IntroSection|title=Breakdown of Topics for Software Engineering Models and Methods|body=
 +
 +
This chapter on software engineering models and
 +
methods is divided into four main topic areas:
 +
 +
* ''Modeling'': discusses the general practice of modeling and presents topics in modeling principles; properties and expression of
 +
models; modeling syntax, semantics, and pragmatics; and preconditions, postconditions, and invariants.
 +
* ''Types of Models'': briefly discusses models and aggregation of submodels and provides some general characteristics of model types
 +
commonly found in the software engineering practice.
 +
* ''Analysis of Models'': presents some of the common analysis techniques used in modeling to verify completeness, consistency, correctness, traceability, and interaction.
 +
* ''Software Engineering Method''s: presents a brief summary of commonly used software engineering methods. The discussion guides the reader through a summary of heuristic methods, formal methods, prototyping, and agile methods.
 +
The breakdown of topics for the Software Engineering Models and Methods KA is shown in Figure 9.1.}}
 +
[[File:Breakdown of Topics for the Software Engineering Models and Methods.jpg|thumb|400px|frame|Figure 9.1:  Breakdown of Topics for the Software Engineering Models and Methods KA]]

Revision as of 16:11, 26 August 2015


Acronyms
3GL
3rd Generation Language
BNF
Backus-Naur Form
FDD
Feature-Driven Development
IDE
Integrated Development Environment
PBI
Product Backlog Item
RAD
Rapid Application Development
UML
Unified Modeling Language
XP
eXtreme Programming
Introduction

Software engineering models and methods impose structure on software engineering with the goal of making that activity systematic, repeatable, and ultimately more success-oriented. Using models provides an approach to problem solving, a notation, and procedures for model construction and analysis. Methods provide an approach to the systematic specification, design, construction, test, and verification of the end-item software and associated work products. Software engineering models and methods vary widely in scope—from addressing a single software life cycle phase to covering the complete software life cycle. The emphasis in this knowledge area (KA) is on software engineering models and methods that encompass multiple software life cycle phases, since methods specific for single life cycle phases are covered by other KAs.

Breakdown of Topics for Software Engineering Models and Methods

This chapter on software engineering models and methods is divided into four main topic areas:

  • Modeling: discusses the general practice of modeling and presents topics in modeling principles; properties and expression of

models; modeling syntax, semantics, and pragmatics; and preconditions, postconditions, and invariants.

  • Types of Models: briefly discusses models and aggregation of submodels and provides some general characteristics of model types

commonly found in the software engineering practice.

  • Analysis of Models: presents some of the common analysis techniques used in modeling to verify completeness, consistency, correctness, traceability, and interaction.
  • Software Engineering Methods: presents a brief summary of commonly used software engineering methods. The discussion guides the reader through a summary of heuristic methods, formal methods, prototyping, and agile methods.

The breakdown of topics for the Software Engineering Models and Methods KA is shown in Figure 9.1.

Figure 9.1: Breakdown of Topics for the Software Engineering Models and Methods KA