NOTES 2023 COMPLETE
UPDATED SUMMARY.
, INF3705 - Advanced Systems Development
Summary of Textbook Chapters
Software Engineering: A Practitioners' Approach 7th ed. - Roger S Pressman
Chapter Page
Chapter 2 - Process Models 2
Chapter 3 - Agile Development 9
Chapter 4 - Principles that Guide Practice 20
Chapter 5 - Understanding Requirements 27
Chapter 8 - Design Concepts 34
Chapter 10 - Component-Level Design 42
Chapter 17 - Software Testing Strategies 52
Chapter 18 - Testing Conventional Applications 61
Chapter 19 - Testing Object-Oriented Applications 68
Page 1 of 73
,Chapter 2 - Process Models
Chapter 2 – Process Models
Overview
• The roadmap to building high quality software products is software process.
• Software processes are adapted to meet the needs of software engineers and
managers as they undertake the development of a software product.
• A software process provides a framework for managing activities that can very easily
get out of control.
• Modern software processes must be agile, demanding only those activities, controls,
and work products appropriate for team or product.
• Different types of projects require different software processes.
• The software engineer's work products (programs, documentation, data) are produced
as consequences of the activities defined by the software process.
• The best indicators of how well a software process has worked are the quality,
timeliness, and long-term viability of the resulting software product.
Software Process
• Framework for the activities, actions, and tasks required to build high quality software.
• Defines approach taken as software is engineered.
• Adapted by creative, knowledgeable software engineers so that it is appropriate for the
products they build and the demands of the marketplace
Generic Process Framework
• Communication
• Planning
• Modelling
• Construction
• Deployment
Page 2 of 73
, Chapter 2 - Process Models
Umbrella Activities (applied throughout process)
• Software project tracking and control
• Risk management
• Software quality assurance
• Formal technical reviews
• Measurement
• Software configuration management
• Reusability management
• Work product preparation and production
Process Flow
• Describes how each of the five framework activities, actions, and tasks are organized
with respect to sequence and time.
• Linear process flow executes each of the framework activities in order beginning with
communication and ending with deployment.
• Iterative process flow executes the activities in a circular manner creating a more
complete version of the software with each circuit or iteration.
• Parallel process flow executes one on more activities in parallel with other activities.
Task Sets
• Each software engineering action associated with a framework activity can be
represented by different task sets.
• Small one person projects do not require task sets that are as large and detailed as
complex projects team oriented project task sets.
• Task sets are adapted to meet the specific needs of a software project and the project
team characteristics.
Process Patterns
• Templates or methods for describing project solutions within the context of software
processes.
• Software teams can combine patterns to construct processes that best meet the needs
of specific projects.
Page 3 of 73