SlideShare a Scribd company logo
E-Content
on
Software Engineering
Lesson One : Definition and Activities
Lesson Two : Software Design Principles
Lesson Three : Software Design Consideration
Lesson Four : Software Design Process
Developed by
Dr. Sandeep Kumar Nayak
The business process engineering hierarchy:
Software DesignSoftware Design:
•Software Design is a transformation of user requirement with
reference to the SRS document into design documents which
are appropriate for implementation using programming
language.
Software DesignSoftware Design:
•Two activities are performed in software design:
• Preliminary Design
Identification various modules
Relationship among modules
Various interface designing
Output is software architecture using notational diagram
• Detailed Design.
Data structure designing
Algorithms designing
Output is the module specification document
Software DesignSoftware Design:
•It is of two types:
• Function Oriented
•Problem can be viewed as a set of function.
•Most of the functions share global data.
• Object Oriented
•Problem can be viewed as a collection of objects
•Data is hidden and can not be accessed by external functions.
Software DesignSoftware Design:
Characteristics of good software design:
•Correctness
•Understandability
•Efficiency
•Maintainability
Software Design Tool:Software Design Tool: Data Flow Diagram (DFD)Data Flow Diagram (DFD) ::
•Types of DFD
• Logical DFD
• Physical DFD
•DFD Components
Software Design Tool: Data Flow Diagram (DFD) :
•Levels of DFD
• Level 0
Show entire system in one diagram with high level
abstraction.
• Level 1
Show the basic modules of the system with data
flow among them.
• Level 2
elaborate all the modules with data flow between,
inside the modules and data store.
Software Design Tool: Structure Charts
•It derived from the DFD and it more elaborative at lower level
module
Software Design Tool: HIPO Diagram
•It shows the modules hierarchy of system.
•It shows the flow of data and control in a module.
Software Design Tool: Entity-Relationship Model
•It shows the entities and their relationship.
•Modularization
• It follows divide and conquer rule.
• Software system divides into various independent
module.
•Advantage of modularization:
• Modules can be reused.
• Easy maintenance.
• Abstraction can be achieved easily.
• Concurrent processing of module can possible.
•Concurrency
• Ability to execute more than one module in parallel
to each other
• Identify modules which can be executed in parallel.
•Design Verification
• Detection of mistake and missing.
• Structured verification approach for verification
•Software Design Complexity
• Halstead's Complexity Measures
• Cyclomatic Complexity Measures
• Function Point
Object Oriented Design : Process Flow :
Object Oriented Design : UML diagrams :
•This diagram captures the five view of a system.
User’s View
Use case Diagram
Structural View
Class Diagram
Object Diagram
Behavioral View
Sequence Diagram
Collaboration Diagram
State Chart Diagram
Activity Diagram
Implementation View
Component Diagram
Employment View
Deployment Diagram
• Class Diagram
• Object Diagram
• Sequence
Diagram
• Collaboration
Diagram
• State Chart
Diagram
• Activity
Diagram
• Component
Diagram
• Deployment
Diagram
• Alternative approaches should be considered to avoid
tunnel vision.
• Design should be mapped with the requirements.
• The gap between design and problem should be
minimum.
• Uniformity should be exist in the design.
• Changes can be accommodate by the design
whenever required.
• To avoid inconsistency, ambiguity and omissions,
design should be reviewed.
• Quality of design should be exist and maintain after
development.
• Design is not a coding.
• For occurring any unexpected situation, design
should be structured to degrade gently
• Translating the analysis model into a software design
• Translating the Object Oriented analysis model into a
software design
• Abstraction:
procedural abstraction, data abstraction and Control
abstraction
• Refinement:
process of elaboration
• Modularity:
Modular decomposability, Modular composability,
Modular understandability, Modular continuity and Modular
protection
• Software Architecture;
Structural properties, Extra-functional properties and
Families of related systems
• Control Hierarchy:
Levels of control (depth) , overall span of control (width),
Fan-out, Fan-in, superordinate, subordinate, visibility and
connectivity
• Structural Partitioning
Horizontal partitioning and Vertical partitioning
• Data Structure
logical relationship among individual elements of data
• Software Procedure
Details (data organization, structure, repetitive operation,
sequence of events, and exact decision points) of processing of
procured should be defined correctly.
• Information Hiding
Non relevant information should not be accessible among the
modules
• functional independence
Error isolation, Scope of reuse, Understandability
Cohesion:
•Coincidental cohesion: performs a set of tasks that relate to
each other very loosely
•Logical cohesion: elements of the module perform similar
operations
•Temporal cohesion: all the functions must be executed in the
same time span
•Procedural cohesion: set of functions of the module are all part
of a procedure
Cohesion:
•Communicational cohesion: all functions of the module refer to
or update the same data structure
•Sequential cohesion: elements of a module form the parts of
sequence
•Functional cohesion: different elements of a module cooperate
to achieve a single function
Coupling
•Data coupling: two modules are communicated using
parameters.
•Stamp coupling: two module are communicated using
composite data items
•Control coupling: execution of second module depend on the
data of one module
•Common coupling: share global data between two modules
•Content coupling: share code between two modules
• Data Design
Transformation of information model into data
structures which are essential in the implementation.
• Architectural design
Describes the design patterns, relationship between
elements and the rules.
• Interface design
Defines the communication between humans and the
software.
• Component-level design
Defines the procedural description of elements of the
software architecture.
Data Design:
•Data Modeling,
•Data Structures,
•Databases,
•Data Warehouse
Architectural Design Patterns
•Data-centered architectures
Architectural Design Patterns
•Data-flow architectures
Architectural Design Patterns
•Layered architectures
USER INTERFACE DESIGN: Characteristics of good user interface
design
•Speed of learning
•Speed of use
•Speed of recall
•Error prevention
•Attractiveness
•Consistency
•Feedback
•Support for multiple skill levels
•Error recovery (undo facility)
•User guidance and on-line help
Types of User Interface Design:
It can be designed into the following three categories:
• Command language based interfaces
A command language-based interface is designed unique
names to the different commands.
• Menu-based interfaces
A menu-based interface is designed using menu selection through
pointing device with least typing effort
• Direct manipulation interfaces
Direct manipulation interface is designed in the form of visual
models.
User Interface Design: Evaluation
User Interface Design: Process
•User, task, and environment analysis and modeling
•Interface design
•Interface construction
•Interface validation
COMPONENT-LEVEL DESIGN : Flow Chart
Component-level design : Box diagram
Component-level design : Decision table
Component-level design :Resultant Decision table
Thank You

More Related Content

What's hot

Software architecture
Software architectureSoftware architecture
Software architecture
nazn
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-daniellerouxIBM
 
architectural design
 architectural design architectural design
architectural design
Preeti Mishra
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
arvind pandey
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10koolkampus
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
Dr.Jayanthi ramasamy
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
Jay Thakkar
 
Software architecture
Software architectureSoftware architecture
Software architecture
Uri Meirav
 
Strategy of software design
Strategy of software designStrategy of software design
Strategy of software design
Self-employed
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
John Chou
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
DIPEN SAINI
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
IIUI
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
deep sharma
 
Software architecture
Software architectureSoftware architecture
Software architecture
Ahmad Raza Aslam
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed Design
Blue Elephant Consulting
 
Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...
Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...
Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...
Dhivyaa C.R
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategies
ghayour abbas
 

What's hot (19)

Software architecture
Software architectureSoftware architecture
Software architecture
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
 
architectural design
 architectural design architectural design
architectural design
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Strategy of software design
Strategy of software designStrategy of software design
Strategy of software design
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed Design
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...
Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...
Software architecture by Dr.C.R.Dhivyaa, Assistant Professor,Kongu Engineerin...
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategies
 

Similar to Different approaches to software design

Design concepts
Design conceptsDesign concepts
Design concepts
Karachi University
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
JigyasaAgrawal7
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
TharuniDiddekunta
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
Mohammed Fazuluddin
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
nikshaikh786
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
gauriVarshney8
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap762
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
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
KarthigaiSelviS3
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
SHREEHARI WADAWADAGI
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
Preeti Mishra
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
CharenReposposa
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptx
DrPreethiD1
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
Preeti Mishra
 
Software design
Software designSoftware design
Software design
Zulqarnaintayyab
 

Similar to Different approaches to software design (20)

Design concepts
Design conceptsDesign concepts
Design concepts
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
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
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Software design
Software designSoftware design
Software design
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptx
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software design
Software designSoftware design
Software design
 

Recently uploaded

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

Different approaches to software design

  • 1. E-Content on Software Engineering Lesson One : Definition and Activities Lesson Two : Software Design Principles Lesson Three : Software Design Consideration Lesson Four : Software Design Process Developed by Dr. Sandeep Kumar Nayak
  • 2. The business process engineering hierarchy:
  • 3. Software DesignSoftware Design: •Software Design is a transformation of user requirement with reference to the SRS document into design documents which are appropriate for implementation using programming language.
  • 4. Software DesignSoftware Design: •Two activities are performed in software design: • Preliminary Design Identification various modules Relationship among modules Various interface designing Output is software architecture using notational diagram • Detailed Design. Data structure designing Algorithms designing Output is the module specification document
  • 5. Software DesignSoftware Design: •It is of two types: • Function Oriented •Problem can be viewed as a set of function. •Most of the functions share global data. • Object Oriented •Problem can be viewed as a collection of objects •Data is hidden and can not be accessed by external functions.
  • 6. Software DesignSoftware Design: Characteristics of good software design: •Correctness •Understandability •Efficiency •Maintainability
  • 7. Software Design Tool:Software Design Tool: Data Flow Diagram (DFD)Data Flow Diagram (DFD) :: •Types of DFD • Logical DFD • Physical DFD •DFD Components
  • 8. Software Design Tool: Data Flow Diagram (DFD) : •Levels of DFD • Level 0 Show entire system in one diagram with high level abstraction. • Level 1 Show the basic modules of the system with data flow among them. • Level 2 elaborate all the modules with data flow between, inside the modules and data store.
  • 9. Software Design Tool: Structure Charts •It derived from the DFD and it more elaborative at lower level module
  • 10. Software Design Tool: HIPO Diagram •It shows the modules hierarchy of system. •It shows the flow of data and control in a module.
  • 11. Software Design Tool: Entity-Relationship Model •It shows the entities and their relationship.
  • 12. •Modularization • It follows divide and conquer rule. • Software system divides into various independent module. •Advantage of modularization: • Modules can be reused. • Easy maintenance. • Abstraction can be achieved easily. • Concurrent processing of module can possible.
  • 13. •Concurrency • Ability to execute more than one module in parallel to each other • Identify modules which can be executed in parallel. •Design Verification • Detection of mistake and missing. • Structured verification approach for verification
  • 14. •Software Design Complexity • Halstead's Complexity Measures • Cyclomatic Complexity Measures • Function Point
  • 15. Object Oriented Design : Process Flow :
  • 16. Object Oriented Design : UML diagrams : •This diagram captures the five view of a system. User’s View Use case Diagram Structural View Class Diagram Object Diagram Behavioral View Sequence Diagram Collaboration Diagram State Chart Diagram Activity Diagram Implementation View Component Diagram Employment View Deployment Diagram
  • 17. • Class Diagram • Object Diagram
  • 19. • State Chart Diagram • Activity Diagram
  • 21. • Alternative approaches should be considered to avoid tunnel vision. • Design should be mapped with the requirements. • The gap between design and problem should be minimum. • Uniformity should be exist in the design. • Changes can be accommodate by the design whenever required.
  • 22. • To avoid inconsistency, ambiguity and omissions, design should be reviewed. • Quality of design should be exist and maintain after development. • Design is not a coding. • For occurring any unexpected situation, design should be structured to degrade gently
  • 23. • Translating the analysis model into a software design
  • 24. • Translating the Object Oriented analysis model into a software design
  • 25. • Abstraction: procedural abstraction, data abstraction and Control abstraction • Refinement: process of elaboration • Modularity: Modular decomposability, Modular composability, Modular understandability, Modular continuity and Modular protection
  • 26. • Software Architecture; Structural properties, Extra-functional properties and Families of related systems • Control Hierarchy: Levels of control (depth) , overall span of control (width), Fan-out, Fan-in, superordinate, subordinate, visibility and connectivity • Structural Partitioning Horizontal partitioning and Vertical partitioning
  • 27. • Data Structure logical relationship among individual elements of data • Software Procedure Details (data organization, structure, repetitive operation, sequence of events, and exact decision points) of processing of procured should be defined correctly. • Information Hiding Non relevant information should not be accessible among the modules
  • 28. • functional independence Error isolation, Scope of reuse, Understandability
  • 29. Cohesion: •Coincidental cohesion: performs a set of tasks that relate to each other very loosely •Logical cohesion: elements of the module perform similar operations •Temporal cohesion: all the functions must be executed in the same time span •Procedural cohesion: set of functions of the module are all part of a procedure
  • 30. Cohesion: •Communicational cohesion: all functions of the module refer to or update the same data structure •Sequential cohesion: elements of a module form the parts of sequence •Functional cohesion: different elements of a module cooperate to achieve a single function
  • 31. Coupling •Data coupling: two modules are communicated using parameters. •Stamp coupling: two module are communicated using composite data items •Control coupling: execution of second module depend on the data of one module •Common coupling: share global data between two modules •Content coupling: share code between two modules
  • 32.
  • 33. • Data Design Transformation of information model into data structures which are essential in the implementation. • Architectural design Describes the design patterns, relationship between elements and the rules. • Interface design Defines the communication between humans and the software. • Component-level design Defines the procedural description of elements of the software architecture.
  • 34. Data Design: •Data Modeling, •Data Structures, •Databases, •Data Warehouse
  • 38. USER INTERFACE DESIGN: Characteristics of good user interface design •Speed of learning •Speed of use •Speed of recall •Error prevention •Attractiveness •Consistency •Feedback •Support for multiple skill levels •Error recovery (undo facility) •User guidance and on-line help
  • 39. Types of User Interface Design: It can be designed into the following three categories: • Command language based interfaces A command language-based interface is designed unique names to the different commands. • Menu-based interfaces A menu-based interface is designed using menu selection through pointing device with least typing effort • Direct manipulation interfaces Direct manipulation interface is designed in the form of visual models.
  • 41. User Interface Design: Process •User, task, and environment analysis and modeling •Interface design •Interface construction •Interface validation
  • 44. Component-level design : Decision table