Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.

Similar presentations


Presentation on theme: "Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet."— Presentation transcript:

1 Software Design Process

2 What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet ideas about distribution (client–server) ‘scripting’ forms to static description notations such as HTML and XML

3 What is Software? Instructions (computer programs) that when executed provide desired features, function, and performance Data structures that enable the programs to adequately manipulate information Documents that describe the operation and use of the programs

4 What is Software? Difference of Software from Hardware Software is developed or engineered; it is not manufactured in the classical sense Impacts the management of software projects Software doesn't wear out Although the industry is moving toward component-based construction, most software continues to be custom built

5 Building models Properties of software as major factors affecting its development: Complexity no two parts are alike and a system may possess very many states during execution arbitrary, being dependent upon the designer rather than the problem Conformity Software, being ‘pliable’ conform to the standards imposed by other components, such as hardware, or by external bodies, or by existing software Changeability ease of making changes Invisibility any forms of representation that are used to describe it will lack any form of visual link that can provide an easily grasped relationship between the representation and the system

6 What is a model? ‘A three-dimensional representation, usually in miniature, of a thing to be constructed.’ (Larousse) Models may be more abstract An example of such an abstract form is that of the mathematical model used to predict the behaviour of a system within a given context or scenario less precise than the mathematician’s models, more abstract than those used by the ship- builder and not three-dimensional in the physical sense Explore the potential limitations of the solution as well as to assess its behaviour and structure

7 Software Design Process

8 First phase designer develops a highly abstract model of a solution (the ‘architectural’ or ‘logical’ design) external properties of the model elements nature and form of the problem itself less strongly influenced by the eventual form that will be adopted for its solution Second phase abstract ‘chunks’ of the problem are mapped on to technologically-based units (the ‘detailed’ or ‘physical’ design) provides the specifications for the programmers

9 Software Design Process

10 Formulating models: familiar problem; problem that was unfamiliar in detail, but taken from a familiar domain; and problem that was unfamiliar in all senses.

11 Software Design Process Key observations: Use of abstract ‘mental models’ by the designer to simulate the dynamic behaviour of the eventual system that will be derived from the design Expanding the detail of a model in a systematic manner by keeping all elements of the design at the same level of detail as they are developed Need to make any constraints affecting the design as explicit as possible when handling an unfamiliar problem Reuse of previous design plans Making notes about future (detailed) intentions, as an aid to systematic expansion of a design

12 Transferring Design Knowledge Characteristics of an exceptional designer Familiarity with the application domain map between problem structures and solution structures with ease Skill in communicating technical vision to other project members observed to be so significant a factor that much of the design work was often accomplished while interacting with others Identification with project performance significant management responsibilities for ensuring technical progress

13 Transferring Design Knowledge 3 Classic Conditions 1. Recognition step ‘Aha!’ response skill in which the designer recognizes a solution that has been there all along more typical of scientific progress than of design progress 2. Problem restructuring step change of viewpoint leads to a major breakthrough in solving it 3. Development of procedural knowledge perform many creative acts within a domain


Download ppt "Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet."

Similar presentations


Ads by Google