Software Design

Table of Contents

Software abstraction & modeling

software engineering: the application of engineering to software. a programmer writes a complete program, a software engineer creates a component.

engineers abstract away from details that can be safely ignored.

model: simplified/partial representation of reality, defined to accomplish a task or reach an agreement

abstraction: generalizing – setting aside specific and individual features

software design: creating models representing an abstract view of the system

Models

what is a model?

consumer and intent influence the abstraction level of a model

descriptive models:

prescriptive models: