A construção de um software é precedida pelo seu design (projeto). O design de software inclui