The recurring aspects of designs are called design patterns. A pattern is the outline of a reusable solution to a general problem encountered in a particular context Many of them have been systematically documented for all software developersto use
Procedural paradigm: Software is organized around the notion of procedures Procedural abstraction —Works as long as the data is simple Adding data abstractions —Groups together the pieces of data that describe some entity
Software is intangible Hard to understand development effort Software is easy to reproduce Cost is in its development —in other engineering products, manufacturing is the costly stage
7.1 User Centred Design Software development should focus on the needs of users Understand your users Design software based on an understanding of the users’tasks Ensure users are involved in decision making processes