SlideShare a Scribd company logo
1 of 35
Software Design
Methodologies and Testing
Prof. Prashant J. Gadakh
International Institute of Information Technology
http://www.isquareit.edu.in/
UNIT-I
Design Concept
Introduction To Software Design
• Deriving a solution which satisfies software requirements.
• Software Design is a process of describing, organizing and
structuring the components of a system.
• Software Design are like set of blueprints in which various
components of the system are shown.
Stages of Design
• Problem understanding
• Look at the problem from different angles to discover the
design requirements.
• Identify one or more solutions
• Evaluate possible solutions and choose the most
appropriate depending on the designer's experience and
available resources.
Stages of Design (Cont..)
• Describe solution abstractions
• Use graphical, formal or other descriptive notations to
describe the components of the design.
• Repeat process for each identified abstraction
Until the design is expressed in primitive terms.
The Design Process
• Any design may be modeled as a directed graph made up of
entities with attributes which participate in relationships.
• The system should be described at several different levels of
abstraction.
• Design takes place in overlapping stages. It is artificial to
separate it into distinct phases but some separation is
usually necessary.
Phases in the Design Process
Architectural
design
Abstract
specificatio
n
Interface
design
Component
design
Data
structure
design
Algorithm
design
Sy stem
architecture
Software
specification
Interface
specification
Component
specification
Data
structure
specification
Algorithm
specification
Requirements
specification
Design activities
Design products
PROCEDURAL DESIGN
METHODOLOGY
• A design methodology combines a systematic set of
rules for creating a program design with diagramming
tools needed to represent it.
• Procedural design is best used to model programs that
have an obvious flow of data from input to output.
• It represents the architecture of a program as a set of
interacting processes that pass data from one to another
Design Tools
• The two major diagramming tools used in procedural design
are as follows.
1. Data Flow Diagrams
2. Structure Charts (Flow Chart).
Data Flow Diagrams
• A data flow diagram (or DFD) is a tool to help you
discover and document the program’s major processes.
The following table shows the symbols used and what each
represents.
Sr.
NO
Symbol Used Meaning Example
1
An entity. A source of data or
a destination for data.
2
A process or task that is
performed by the system.
3 A data store, a place where data is
held between processes.
4
A data flow.
Relationship and Rules
• The DFD may be used for any level of data abstraction. DFD can
be partitioned into levels. Each level has more information flow
and data functional details than the previous level.
Highest level is Context Diagram. Some important points are:
• 1 bubble (process) represents the entire system.
• Data arrows show input and output.
• Data Stores NOT shown. They are within the system.
Level 0 DFD
• Next Level is Level 0 DFD. Some important points are:
• Level 0 DFD must balance with the context diagram it
describes.
• Input going into a process are different from outputs leaving
the process.
• Data stores are first shown at this level.
Level 1 DFD
• Next level is Level 1 DFD. Some important points are:
• Level 1 DFD must balance with the Level 0 it describes.
• Input going into a process are different from outputs leaving
the process.
• Continue to show data stores.
Difference Between DFD & Flow
Chart
• A DFD may look similar to a flow chart. However, there is a significant difference
with the data flow diagram. The arrows in DFDs show that there is a flow of data
between the two components and not that the component is sending the data
that must be executed in the following component.
• A component in DFD may not continue execution when sending data and during
execution of the component receiving the data. The component sending data can
send multiple sets of data along several connections. In fact, a DFD node can be
a component that never ends. In DFDs, all arrows must be labelled.
Flow Chart
Structure Chart
• Structural Chart is principle tool of structure design.
• Elements are ,
1. Module
2. Data
3. Flag
• 1. Flag going from caller to
• called
• 2. Data going from caller to
called
• 3. Data going from called to
caller
Design methods: Object-Oriented
Design
Object-Oriented Design
Unified Modeling Language
Introduction
What is UML?
 Is a complete Language for capturing knowledge (semantics)
about a subject and expressing knowledge (syntax) regarding
the subject for the purpose of communication
 Applies to Modeling – process of understanding a subject (or
a system)
 Is Unified – remaining the same at each stage of development
Background
• 1965 - The first object-oriented programming language,
Simula I, was introduced
 Object-oriented Analysis & Design (OOAD) by Grady Booch.
 The Object Modeling Technique (OMT) by James Rumbaugh.
 The Object-oriented Software Engineering method (OOSE) by
Ivar Jacobson
OO Analysis vs. OO Design
 Analysis refers to
understanding
the problem.
 Design refers to
coming up with
the solution.
REQUIREMENTS
and
ANALYSIS
DESIGN
IMPLEMENTATION
TESTING
OO Analysis vs. OO Design
 Jacobson (OOSE) good at high-level design
 Rumbaugh (OMT) good at the middle ground
 Booch (OOAD) good at low-level design
1994 : Booch + Rumbaugh = Unified Method 0.8
1995 : + Jacobson = UML 0.8
Receiving a feedback from IBM, Microsoft, Oracle, HP
and other companies
1996 : UML 0.9
1997 : UML 1.0
Object Management Group (OMG) joined UML project
1997 : UML 1.1
UML is running under the OMG Revision Task Force
Improving semantics and flexibility
2003 : UML 2.0
Relationship Among UML Diagrams
• Structural Diagram
• Behaviour Diagrams
Static and Dynamic Modelling
• Static Modelling:-
Static Modelling is used to represent the static constituents
of a Software such as :
1.Classes, 2.Objects, 3.Interfaces and 4.Their relationship
with each other.
Static and Dynamic Modelling
• Dynamic Modelling:-
Dynamic Modelling is used to represent the behaviour of the static
constituents of a software ,
Dynamic Modelling Represent Following Diagrams,
1. Interaction Diagram:- Sequence and Collaboration Diagram.
2. Use Case Modelling
3. Activity Diagram
Use Case Diagram
About I²IT
I²IT aspires to be an academic leader recognized for innovation, quality teaching
and research, holding high moral values and a forward thinking institution that
explores creative approaches for the future.
• Address: P-14, Rajiv Gandhi Infotech Park, Phase – 1, Hinjawadi, Pune – 411057,
India
• Phone: +91 20 2293 3441 / 2 / 3
• Email: info@isquareit.edu.in
• Web: www.isquareit.edu.in

More Related Content

What's hot

Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignMotaz Saad
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and designnaveed428
 
14 functional design
14 functional design14 functional design
14 functional designrandhirlpu
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignAnirban Majumdar
 
Enhancement of Action Description Language for UML Activity Diagram Review
Enhancement of Action Description Language for UML Activity Diagram ReviewEnhancement of Action Description Language for UML Activity Diagram Review
Enhancement of Action Description Language for UML Activity Diagram ReviewChinnapat Kaewchinporn
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...Aman Mishra
 
Data flow oriented modeling
Data flow oriented modelingData flow oriented modeling
Data flow oriented modelingKavithaGowri
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagramktuonlinenotes
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Software Design
Software DesignSoftware Design
Software DesignHa Ninh
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLMamun Ahmed
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behaviorIIUI
 

What's hot (18)

Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and Design
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
14 functional design
14 functional design14 functional design
14 functional design
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Enhancement of Action Description Language for UML Activity Diagram Review
Enhancement of Action Description Language for UML Activity Diagram ReviewEnhancement of Action Description Language for UML Activity Diagram Review
Enhancement of Action Description Language for UML Activity Diagram Review
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...
 
Design final
Design finalDesign final
Design final
 
Data flow oriented modeling
Data flow oriented modelingData flow oriented modeling
Data flow oriented modeling
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagram
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Ooad
OoadOoad
Ooad
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Software Design
Software DesignSoftware Design
Software Design
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 

Similar to Software Design Methodologies and Testing

Android ppt with example of budget manager
Android ppt with example of budget managerAndroid ppt with example of budget manager
Android ppt with example of budget managerNalini Mehta
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxgauriVarshney8
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
chapter 1 software design.pptx
chapter 1 software design.pptxchapter 1 software design.pptx
chapter 1 software design.pptxrecoveraccount1
 
SOFTWARE ENGINEERING ppt
SOFTWARE ENGINEERING pptSOFTWARE ENGINEERING ppt
SOFTWARE ENGINEERING pptHarshita Bansal
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design conceptsJigyasaAgrawal7
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software designCliftone Mullah
 
Software Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN ProcessSoftware Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN ProcessDr Anuranjan Misra
 

Similar to Software Design Methodologies and Testing (20)

SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Android ppt with example of budget manager
Android ppt with example of budget managerAndroid ppt with example of budget manager
Android ppt with example of budget manager
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Uml
UmlUml
Uml
 
chapter 1 software design.pptx
chapter 1 software design.pptxchapter 1 software design.pptx
chapter 1 software design.pptx
 
SOFTWARE ENGINEERING ppt
SOFTWARE ENGINEERING pptSOFTWARE ENGINEERING ppt
SOFTWARE ENGINEERING ppt
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Software design
Software designSoftware design
Software design
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
 
Lab 2
Lab 2Lab 2
Lab 2
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Software Design
Software Design Software Design
Software Design
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
Software Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN ProcessSoftware Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN Process
 

More from International Institute of Information Technology (I²IT)

More from International Institute of Information Technology (I²IT) (20)

Minimization of DFA
Minimization of DFAMinimization of DFA
Minimization of DFA
 
Understanding Natural Language Processing
Understanding Natural Language ProcessingUnderstanding Natural Language Processing
Understanding Natural Language Processing
 
What Is Smart Computing?
What Is Smart Computing?What Is Smart Computing?
What Is Smart Computing?
 
Professional Ethics & Etiquette: What Are They & How Do I Get Them?
Professional Ethics & Etiquette: What Are They & How Do I Get Them?Professional Ethics & Etiquette: What Are They & How Do I Get Them?
Professional Ethics & Etiquette: What Are They & How Do I Get Them?
 
Writing Skills: Importance of Writing Skills
Writing Skills: Importance of Writing SkillsWriting Skills: Importance of Writing Skills
Writing Skills: Importance of Writing Skills
 
Professional Communication | Introducing Oneself
Professional Communication | Introducing Oneself Professional Communication | Introducing Oneself
Professional Communication | Introducing Oneself
 
Servlet: A Server-side Technology
Servlet: A Server-side TechnologyServlet: A Server-side Technology
Servlet: A Server-side Technology
 
What Is Jenkins? Features and How It Works
What Is Jenkins? Features and How It WorksWhat Is Jenkins? Features and How It Works
What Is Jenkins? Features and How It Works
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Hypothesis-Testing
Hypothesis-TestingHypothesis-Testing
Hypothesis-Testing
 
Data Science, Big Data, Data Analytics
Data Science, Big Data, Data AnalyticsData Science, Big Data, Data Analytics
Data Science, Big Data, Data Analytics
 
Types of Artificial Intelligence
Types of Artificial Intelligence Types of Artificial Intelligence
Types of Artificial Intelligence
 
Difference Between AI(Artificial Intelligence), ML(Machine Learning), DL (Dee...
Difference Between AI(Artificial Intelligence), ML(Machine Learning), DL (Dee...Difference Between AI(Artificial Intelligence), ML(Machine Learning), DL (Dee...
Difference Between AI(Artificial Intelligence), ML(Machine Learning), DL (Dee...
 
Sentiment Analysis in Machine Learning
Sentiment Analysis in  Machine LearningSentiment Analysis in  Machine Learning
Sentiment Analysis in Machine Learning
 
What Is Cloud Computing?
What Is Cloud Computing?What Is Cloud Computing?
What Is Cloud Computing?
 
Introduction To Design Pattern
Introduction To Design PatternIntroduction To Design Pattern
Introduction To Design Pattern
 
Importance of Theory of Computations
Importance of Theory of ComputationsImportance of Theory of Computations
Importance of Theory of Computations
 
Java as Object Oriented Programming Language
Java as Object Oriented Programming LanguageJava as Object Oriented Programming Language
Java as Object Oriented Programming Language
 
What Is High Performance-Computing?
What Is High Performance-Computing?What Is High Performance-Computing?
What Is High Performance-Computing?
 
Data Visualization - How to connect Microsoft Forms to Power BI
Data Visualization - How to connect Microsoft Forms to Power BIData Visualization - How to connect Microsoft Forms to Power BI
Data Visualization - How to connect Microsoft Forms to Power BI
 

Recently uploaded

Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideStefan Dietze
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 

Recently uploaded (20)

Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 

Software Design Methodologies and Testing

  • 1. Software Design Methodologies and Testing Prof. Prashant J. Gadakh International Institute of Information Technology http://www.isquareit.edu.in/
  • 3. Introduction To Software Design • Deriving a solution which satisfies software requirements. • Software Design is a process of describing, organizing and structuring the components of a system. • Software Design are like set of blueprints in which various components of the system are shown.
  • 4. Stages of Design • Problem understanding • Look at the problem from different angles to discover the design requirements. • Identify one or more solutions • Evaluate possible solutions and choose the most appropriate depending on the designer's experience and available resources.
  • 5. Stages of Design (Cont..) • Describe solution abstractions • Use graphical, formal or other descriptive notations to describe the components of the design. • Repeat process for each identified abstraction Until the design is expressed in primitive terms.
  • 6. The Design Process • Any design may be modeled as a directed graph made up of entities with attributes which participate in relationships. • The system should be described at several different levels of abstraction. • Design takes place in overlapping stages. It is artificial to separate it into distinct phases but some separation is usually necessary.
  • 7. Phases in the Design Process Architectural design Abstract specificatio n Interface design Component design Data structure design Algorithm design Sy stem architecture Software specification Interface specification Component specification Data structure specification Algorithm specification Requirements specification Design activities Design products
  • 8. PROCEDURAL DESIGN METHODOLOGY • A design methodology combines a systematic set of rules for creating a program design with diagramming tools needed to represent it. • Procedural design is best used to model programs that have an obvious flow of data from input to output. • It represents the architecture of a program as a set of interacting processes that pass data from one to another
  • 9. Design Tools • The two major diagramming tools used in procedural design are as follows. 1. Data Flow Diagrams 2. Structure Charts (Flow Chart).
  • 10. Data Flow Diagrams • A data flow diagram (or DFD) is a tool to help you discover and document the program’s major processes. The following table shows the symbols used and what each represents.
  • 11. Sr. NO Symbol Used Meaning Example 1 An entity. A source of data or a destination for data. 2 A process or task that is performed by the system. 3 A data store, a place where data is held between processes. 4 A data flow.
  • 12. Relationship and Rules • The DFD may be used for any level of data abstraction. DFD can be partitioned into levels. Each level has more information flow and data functional details than the previous level. Highest level is Context Diagram. Some important points are: • 1 bubble (process) represents the entire system. • Data arrows show input and output. • Data Stores NOT shown. They are within the system.
  • 13.
  • 14. Level 0 DFD • Next Level is Level 0 DFD. Some important points are: • Level 0 DFD must balance with the context diagram it describes. • Input going into a process are different from outputs leaving the process. • Data stores are first shown at this level.
  • 15.
  • 16. Level 1 DFD • Next level is Level 1 DFD. Some important points are: • Level 1 DFD must balance with the Level 0 it describes. • Input going into a process are different from outputs leaving the process. • Continue to show data stores.
  • 17.
  • 18. Difference Between DFD & Flow Chart • A DFD may look similar to a flow chart. However, there is a significant difference with the data flow diagram. The arrows in DFDs show that there is a flow of data between the two components and not that the component is sending the data that must be executed in the following component. • A component in DFD may not continue execution when sending data and during execution of the component receiving the data. The component sending data can send multiple sets of data along several connections. In fact, a DFD node can be a component that never ends. In DFDs, all arrows must be labelled.
  • 20. Structure Chart • Structural Chart is principle tool of structure design. • Elements are , 1. Module 2. Data 3. Flag
  • 21. • 1. Flag going from caller to • called • 2. Data going from caller to called • 3. Data going from called to caller
  • 25.  Is a complete Language for capturing knowledge (semantics) about a subject and expressing knowledge (syntax) regarding the subject for the purpose of communication  Applies to Modeling – process of understanding a subject (or a system)  Is Unified – remaining the same at each stage of development
  • 26. Background • 1965 - The first object-oriented programming language, Simula I, was introduced  Object-oriented Analysis & Design (OOAD) by Grady Booch.  The Object Modeling Technique (OMT) by James Rumbaugh.  The Object-oriented Software Engineering method (OOSE) by Ivar Jacobson
  • 27. OO Analysis vs. OO Design  Analysis refers to understanding the problem.  Design refers to coming up with the solution. REQUIREMENTS and ANALYSIS DESIGN IMPLEMENTATION TESTING
  • 28. OO Analysis vs. OO Design  Jacobson (OOSE) good at high-level design  Rumbaugh (OMT) good at the middle ground  Booch (OOAD) good at low-level design
  • 29. 1994 : Booch + Rumbaugh = Unified Method 0.8 1995 : + Jacobson = UML 0.8 Receiving a feedback from IBM, Microsoft, Oracle, HP and other companies 1996 : UML 0.9 1997 : UML 1.0 Object Management Group (OMG) joined UML project 1997 : UML 1.1 UML is running under the OMG Revision Task Force Improving semantics and flexibility 2003 : UML 2.0
  • 30. Relationship Among UML Diagrams • Structural Diagram • Behaviour Diagrams
  • 31.
  • 32. Static and Dynamic Modelling • Static Modelling:- Static Modelling is used to represent the static constituents of a Software such as : 1.Classes, 2.Objects, 3.Interfaces and 4.Their relationship with each other.
  • 33. Static and Dynamic Modelling • Dynamic Modelling:- Dynamic Modelling is used to represent the behaviour of the static constituents of a software , Dynamic Modelling Represent Following Diagrams, 1. Interaction Diagram:- Sequence and Collaboration Diagram. 2. Use Case Modelling 3. Activity Diagram
  • 35. About I²IT I²IT aspires to be an academic leader recognized for innovation, quality teaching and research, holding high moral values and a forward thinking institution that explores creative approaches for the future. • Address: P-14, Rajiv Gandhi Infotech Park, Phase – 1, Hinjawadi, Pune – 411057, India • Phone: +91 20 2293 3441 / 2 / 3 • Email: info@isquareit.edu.in • Web: www.isquareit.edu.in