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

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

Developed by Reneta Barneva, SUNY Fredonia
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 7 – Object-Oriented Design
What is Software Engineering? And why is it so hard?
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Software Architecture in Practice
SE 555 – Software Requirements & Specifications Introduction
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Software Engineering CSE470: Systems Engineering 35 Computer System Engineering Computer System Engineering is a problem-solving activity. Itemize desired.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Developing Enterprise Architecture
CS 4310: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
PROGRAMMING LANGUAGES The Study of Programming Languages.
S/W Project Management
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Nature of Software Design
An Introduction to Software Architecture
SOFTWARE ENGINEERING MCS-2 LECTURE # 1. COMPULSORY READING MATERIAL  Software Engineering (6 th edition) by IAN Sommerville  Software Engineering; A.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
1 Introduction to Software Architectures Lecture - 3.
SOFTWARE DESIGN.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
10 Software Architecture CSCU 411 Software Engineering.
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Lecture 7: Requirements Engineering
1 Introduction to Software Engineering Lecture 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Chapter 1 The Product Software is
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Smart Home Technologies
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
Software Engineering Introduction.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
BTEC Nationals – Unit 5 Construction Technology and Design in Construction and Civil Engineering.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Introduction to OOAD and UML
Classifications of Software Requirements
Chapter 5 – Requirements Engineering
Software Quality Engineering
Software Processes.
Chapter 20 Object-Oriented Analysis and Design
Chapter 13 Quality Management
Chapter 9 Architectural Design.
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Introduction Software Engineering.
Presentation transcript:

Software Design Process

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

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

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

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

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

Software Design Process

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

Software Design Process

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

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

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

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