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
 
object oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxobject oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxurvashipundir04
 

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
 
object oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxobject oriented programming part inheritance.pptx
object oriented programming part inheritance.pptx
 

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

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

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