SlideShare a Scribd company logo
Software Design Principles
Software Design Principles 1
Being presented by
Mr. Ritesh Singh
Thanks. 1
Special thanks to Ms. Charu Jain for this initiave
Introduction 4
Software: A set of programs which helps user to execute
its task using the system
Design: creation of a plan to construct a system
Principles: Rules or laws to be followed
Demystifying the subjectDemystifying the subject
Objectives 5
• Clearly understand the software design
principles
• Follow the structured approach for the software
design
• Understand different models
System Models 6
System : A collection of components placed together to perform a task which
is beyond components’ individual capability.
System Models 7
Types of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
• data flow diagram
• entity relation diagram
• object class/inheritance diagram
• State transition diagram
• Used to show the principal
activities
System Models :: Data processing Model 8
Data-flow ModelsTypes of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Data-flow Models 9
• Used to model the way data is processed in the system
• Notation Used:
Rounded corner rectangle -> Processing steps
Rectangle -> Data Stores
Arrows -> Flow of data
System Models 10
Types of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Composition Model 11
Data-flow ModelsTypes of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Semantic-data Model 12
• Semantics of data
• Identifies entity in a database, their attributes
and explicit relationship b/w them
Notation Used:
<Nam
e>
<name>
An entity
Input Cardinality
Output Cardinality
<name> An entity or
Relation attribute
System Models 13
Types of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Classification Model 14
Data-flow ModelsTypes of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Object Model 15
• Represent both data and its processing
• Combination of some of uses of DFD and SDM
Notation Used:
<class name>
<Attribute>
<Service>
Object Class
System Models :: Data Dictionaries 16
• List of name used by the systems, arranged alphabetically.
Advantage:
 mechanism for name management
 store of organization information which can link analysis, design,
implementation, and evaluation
Names* -> entities, types, relations, attributes or services
Software Design 17
What is software design?
"all the activities involved in conceptualizing,
framing, implementing, commissioning, and
ultimately modifying complex systems“
-Wikipedia
Software Design:: Activities 18
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 19
To put it simply:
"the activity following requirements specification
and before programming."
Design
Requirement
Specification Programming
Software Design:: Activities 20
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 21
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Process 22
What is a process?
A series of actions or steps taken to
achieve an end.
Action 1 Action 2 Action 3 Action 4 Action nPROCESS
Software Design :: Process 23
Design Activities (Actions):
Architectural
Design
1
Abstract
Specification
2
Software Design :: Process 24
Interface
Design
3
Component
Specification
4
Software Design :: Process 25
Data
Structure
Design5
Algorithm
Design
6
Software Design :: Process 26
Sub-systems making up the system and
their relationships
Architectural
Design
1
Software Design :: Process 27
For each sub-system, an abstract specification of
the services it provides and the constraints
under which it must operate is produced.
Abstract
Specification
2
Software Design :: Process 28
Developing a method for two (or more) modules
in a system to connect and communicate
Interface
Design
3
Software Design :: Process 29
Services are allocated to different components and
the interfaces of these components are designed.
Component
Design
4
Software Design :: Process 30
The data structures used in the system
implementation is designed in detail and specified.
Data
Structure
Design5
*Data Structure : storing and organizing data
Software Design :: Process 31
A specific method to create a mathematical process
in solving problems.
Algorithm
Design
6
*Algorithm : step-by-step procedure for calculations
Software Design:: Activities 32
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 33
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Methods 34
1. Data flow model: data transformations
2. Entity relation model: logical data structures being used
3. Structural model: System components and their interactions
are documented
4. Object oriented model: a model of how objects are
composed of other objects and, usually, an object use
model which shows how objects are used by other objects.
Software Design:: Activities 35
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 36
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Description 37
Role:
•Basis for detailed implementation
•communication medium between designers of sub-systems
•Info to system maintainers about the original intentions of the system designers
Notations Used:
Graphical notations
Program description languages
Informal text
Software Design :: Description 38
1. Graphical notations:
• Display the relationships between the components making up the design
and to relate the design to the real-world system.
• Most useful for giving an overall picture of the system.
2. Program description languages:
• use control and structuring constructs based on programming language
constructs but also allow explanatory text and additional types of
statement to be used.
• intention of the designer is expressed rather than the details of how the
design is to be implemented.
3. Informal text:
1. Information about design rationale or non-functional considerations may
be expressed using natural language text.
Continue..
Software Design:: Activities 39
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 40
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Strategies 41
1. Functional design:
• functional viewpoint, starting with a high-level view and progressively
refining this into a more detailed design.
• Example: Jackson Structured Programming and the Warnier-Orr method
2. Object oriented design:
• system is viewed as a collection of objects rather than as functions.
• JSD is a design method that falls somewhere between function oriented
and object oriented design.
*JSD : Jackson System Develpment
Software Design:: Activities 42
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 43
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Quality 44
• The design components should be cohesive
• Loosely coupled
Coupling the independence of components.
• looser the coupling, easier it is to adapt the design.
Good Design Efficient code
Architectural Design 45
What is a it?
Initial design process of identifying sub-system
and establishing a framework for sub-system
control and communication
Architectural Design 46
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: System Structuring 47
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: System Structuring 48
• Decompose a system into a set of interacting sub-systems
• Notations Used:
• Box -> Sub system
• Boxes within boxes -> sub-system has been decomposed to
sub-systems
• Arrow -> direction of data and/or control
System structuring
 Repository model
 Client-server model
 Abstract machine model
Architectural Design :: System Structuring 49
System structuring
Repository model
 Client-server model
 Abstract machine model
• Data is held in a central database
• Accessed by all sub-systems
Project repository
Design
editor
Code
Generator
Design
analyzer
Report
Generator
Program
editor
Design
translator
Architectural Design :: System Structuring 50
System structuring
 Repository model
Client-server model
 Abstract machine model
• Distributed sys model
• Standalone servers offer service to sub-sys (clients)
• A network
Network
Catalog
server
Video
server
Client 1
Picture
server
Hypertext
server
Client 2 Client 4Client 3
Architectural Design :: System Structuring 51
System structuring
 Repository model
 Client-server model
Abstract machine model
• Layered
• Layers provide a set of service to layer above
• Supports incremental development
• Changeable and portable
Client 2Client 2Operating system
Database Management
Object Management
Version Management
Architectural Design 52
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Control Models 53
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design ::Control models 54
• Control flow b/w sub-system
Control models
Centralized control Event-based Control
Architectural Design ::Control models 55
Control models
Centralized control Event-based Control
• One sub-system designated as the system controller
System
Controller
Computation
Process
Sensor
Processes
Actuator
Processes
Fault
Handler
Laser
Interface
Architectural Design ::Control models 56
Control models
Centralized control Event-based Control
• Driven by externally generated events
Broadcast models Interrupt-driven models
• Broadcast to all, but particular
sub-system responds to it
• Used in Real time sys
• Interrupt handler
Architectural Design 57
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Control Models 58
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design ::Modular Decomposition 59
Modular Decomposition
Object-oriented design Data-flow models
• Sys is decomposed into
a set of communicating objects
• Sys is decomposed into
functional modules
• Also called Pipeline Approach
Architectural Design 60
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Control Models 61
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Domain-specific architecture 62
Domain-specific Architecture
Generic models Reference models
• Abstraction of many
real systems
• contains Principal characteristics
• Describe a larger class of systems
• Informs Sys Architect about that
Class of sys
Generic models Vs. Reference models
Derived from “bottom-up”
from existing system
Derived from “top-down”
from existing system
Summary 63
 System Models
 Software Design
 Architecture Design
Thank you for your time. 
1

More Related Content

What's hot (20)

PPT
Architecture design in software engineering
Preeti Mishra
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PPT
Software architecture design ppt
farazimlak
 
PDF
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta
 
PDF
Software Engineering - chp3- design
Lilia Sfaxi
 
PPTX
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 
PDF
Software Engineering - chp5- software architecture
Lilia Sfaxi
 
PDF
Incremental model
Hpibmx
 
PDF
Software Engineering - Ch11
Siddharth Ayer
 
PPTX
Software Cost Estimation Techniques
Santhi thi
 
PPTX
Overview of UML Diagrams
Manish Kumar
 
PDF
Unit 5- Architectural Design in software engineering
arvind pandey
 
PPTX
Software design
Zulqarnaintayyab
 
PPT
Software Testing Fundamentals
Chankey Pathak
 
PPTX
Design pattern-presentation
Rana Muhammad Asif
 
PPTX
Let us understand design pattern
Mindfire Solutions
 
PPTX
Ch 2 what is software quality
Kittitouch Suteeca
 
PPTX
Software Architecture Styles
Henry Muccini
 
PDF
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
Architecture design in software engineering
Preeti Mishra
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Software architecture design ppt
farazimlak
 
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta
 
Software Engineering - chp3- design
Lilia Sfaxi
 
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 
Software Engineering - chp5- software architecture
Lilia Sfaxi
 
Incremental model
Hpibmx
 
Software Engineering - Ch11
Siddharth Ayer
 
Software Cost Estimation Techniques
Santhi thi
 
Overview of UML Diagrams
Manish Kumar
 
Unit 5- Architectural Design in software engineering
arvind pandey
 
Software design
Zulqarnaintayyab
 
Software Testing Fundamentals
Chankey Pathak
 
Design pattern-presentation
Rana Muhammad Asif
 
Let us understand design pattern
Mindfire Solutions
 
Ch 2 what is software quality
Kittitouch Suteeca
 
Software Architecture Styles
Henry Muccini
 
Design and Implementation in Software Engineering
Kourosh Sajjadi
 

Viewers also liked (10)

PPTX
modelingtools
learnt
 
PPT
The OO Design Principles
Steve Zhang
 
PPTX
Software design principles
Md.Mojibul Hoque
 
PDF
Modular architecture today
pragkirk
 
PDF
Solid principles of oo design
Confiz
 
PPTX
Software Architecture Taxonomies - modularity
Jose Emilio Labra Gayo
 
PPTX
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski
 
KEY
"SOLID" Object Oriented Design Principles
Serhiy Oplakanets
 
PPTX
SOLID - Principles of Object Oriented Design
Riccardo Cardin
 
PPT
Design concepts and principles
saurabhshertukde
 
modelingtools
learnt
 
The OO Design Principles
Steve Zhang
 
Software design principles
Md.Mojibul Hoque
 
Modular architecture today
pragkirk
 
Solid principles of oo design
Confiz
 
Software Architecture Taxonomies - modularity
Jose Emilio Labra Gayo
 
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski
 
"SOLID" Object Oriented Design Principles
Serhiy Oplakanets
 
SOLID - Principles of Object Oriented Design
Riccardo Cardin
 
Design concepts and principles
saurabhshertukde
 
Ad

Similar to Software design principles (20)

PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
PPTX
Design concepts
Karachi University
 
PPT
Presentation of se
Usman Bin Saad
 
PPTX
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
PPTX
EContent_11_2024_04_24_08_30_24_Unit3_PPTpptx__2024_04_05_09_12_25.pptx
DevSavaliya1
 
PPTX
UNIT-3_SE_PPT1.pptx software engineering
David Raju N
 
PPT
Different approaches to software design
Sandeep Kumar Nayak
 
PPTX
design concepts in software engineering.pptx
priyadharshini512852
 
PPTX
UN st dp dp dp dp dp dp for app clock y ch ishdhdhdhshdIT III.pptx
jaijsr12345
 
PPTX
requirement Engineeringggggggggggggggggg
pspreeti916
 
PPT
Chapter 6 design
nikshaikh786
 
PPT
Artifical selection for enhancment for people Use
AssadLeo1
 
PPTX
Software Design Concepts
Mohammed Fazuluddin
 
PPT
Introduction to Software Integration and Architecture_2.ppt
JEANELYESPERANZA
 
PPTX
MIS-Chapt jahdja majhdkah kaer 13-23.pptx
ShovonMahmud7
 
PPT
Chapter1
Hoang Vu Dinh
 
PPTX
Diksha sda presentation
dikshagupta111
 
PPTX
Design Engineering and Design concepts
JigyasaAgrawal7
 
PDF
Desining---systems@@@@@@@@@@@@@@.ppt.pdf
timoemin50
 
PPTX
Introduction Software engineering
Jennifer O. Contreras Coloma
 
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
Design concepts
Karachi University
 
Presentation of se
Usman Bin Saad
 
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
EContent_11_2024_04_24_08_30_24_Unit3_PPTpptx__2024_04_05_09_12_25.pptx
DevSavaliya1
 
UNIT-3_SE_PPT1.pptx software engineering
David Raju N
 
Different approaches to software design
Sandeep Kumar Nayak
 
design concepts in software engineering.pptx
priyadharshini512852
 
UN st dp dp dp dp dp dp for app clock y ch ishdhdhdhshdIT III.pptx
jaijsr12345
 
requirement Engineeringggggggggggggggggg
pspreeti916
 
Chapter 6 design
nikshaikh786
 
Artifical selection for enhancment for people Use
AssadLeo1
 
Software Design Concepts
Mohammed Fazuluddin
 
Introduction to Software Integration and Architecture_2.ppt
JEANELYESPERANZA
 
MIS-Chapt jahdja majhdkah kaer 13-23.pptx
ShovonMahmud7
 
Chapter1
Hoang Vu Dinh
 
Diksha sda presentation
dikshagupta111
 
Design Engineering and Design concepts
JigyasaAgrawal7
 
Desining---systems@@@@@@@@@@@@@@.ppt.pdf
timoemin50
 
Introduction Software engineering
Jennifer O. Contreras Coloma
 
Ad

Recently uploaded (20)

PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
PDF
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PDF
My Thoughts On Q&A- A Novel By Vikas Swarup
Niharika
 
PDF
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
PPTX
Virus sequence retrieval from NCBI database
yamunaK13
 
PPTX
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
PPTX
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
PPTX
Cybersecurity: How to Protect your Digital World from Hackers
vaidikpanda4
 
PPTX
Applied-Statistics-1.pptx hardiba zalaaa
hardizala899
 
PPTX
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
Basics and rules of probability with real-life uses
ravatkaran694
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
My Thoughts On Q&A- A Novel By Vikas Swarup
Niharika
 
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
Virus sequence retrieval from NCBI database
yamunaK13
 
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
Cybersecurity: How to Protect your Digital World from Hackers
vaidikpanda4
 
Applied-Statistics-1.pptx hardiba zalaaa
hardizala899
 
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 

Software design principles

  • 2. Software Design Principles 1 Being presented by Mr. Ritesh Singh
  • 3. Thanks. 1 Special thanks to Ms. Charu Jain for this initiave
  • 4. Introduction 4 Software: A set of programs which helps user to execute its task using the system Design: creation of a plan to construct a system Principles: Rules or laws to be followed Demystifying the subjectDemystifying the subject
  • 5. Objectives 5 • Clearly understand the software design principles • Follow the structured approach for the software design • Understand different models
  • 6. System Models 6 System : A collection of components placed together to perform a task which is beyond components’ individual capability.
  • 7. System Models 7 Types of System Model Process Data-processing Classification Composition Stimulus-response • data flow diagram • entity relation diagram • object class/inheritance diagram • State transition diagram • Used to show the principal activities
  • 8. System Models :: Data processing Model 8 Data-flow ModelsTypes of System Model Process Data-processing Classification Composition Stimulus-response
  • 9. System Models :: Data-flow Models 9 • Used to model the way data is processed in the system • Notation Used: Rounded corner rectangle -> Processing steps Rectangle -> Data Stores Arrows -> Flow of data
  • 10. System Models 10 Types of System Model Process Data-processing Classification Composition Stimulus-response
  • 11. System Models :: Composition Model 11 Data-flow ModelsTypes of System Model Process Data-processing Classification Composition Stimulus-response
  • 12. System Models :: Semantic-data Model 12 • Semantics of data • Identifies entity in a database, their attributes and explicit relationship b/w them Notation Used: <Nam e> <name> An entity Input Cardinality Output Cardinality <name> An entity or Relation attribute
  • 13. System Models 13 Types of System Model Process Data-processing Classification Composition Stimulus-response
  • 14. System Models :: Classification Model 14 Data-flow ModelsTypes of System Model Process Data-processing Classification Composition Stimulus-response
  • 15. System Models :: Object Model 15 • Represent both data and its processing • Combination of some of uses of DFD and SDM Notation Used: <class name> <Attribute> <Service> Object Class
  • 16. System Models :: Data Dictionaries 16 • List of name used by the systems, arranged alphabetically. Advantage:  mechanism for name management  store of organization information which can link analysis, design, implementation, and evaluation Names* -> entities, types, relations, attributes or services
  • 17. Software Design 17 What is software design? "all the activities involved in conceptualizing, framing, implementing, commissioning, and ultimately modifying complex systems“ -Wikipedia
  • 18. Software Design:: Activities 18 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 19. Software Design 19 To put it simply: "the activity following requirements specification and before programming." Design Requirement Specification Programming
  • 20. Software Design:: Activities 20 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 22. Software Design :: Process 22 What is a process? A series of actions or steps taken to achieve an end. Action 1 Action 2 Action 3 Action 4 Action nPROCESS
  • 23. Software Design :: Process 23 Design Activities (Actions): Architectural Design 1 Abstract Specification 2
  • 24. Software Design :: Process 24 Interface Design 3 Component Specification 4
  • 25. Software Design :: Process 25 Data Structure Design5 Algorithm Design 6
  • 26. Software Design :: Process 26 Sub-systems making up the system and their relationships Architectural Design 1
  • 27. Software Design :: Process 27 For each sub-system, an abstract specification of the services it provides and the constraints under which it must operate is produced. Abstract Specification 2
  • 28. Software Design :: Process 28 Developing a method for two (or more) modules in a system to connect and communicate Interface Design 3
  • 29. Software Design :: Process 29 Services are allocated to different components and the interfaces of these components are designed. Component Design 4
  • 30. Software Design :: Process 30 The data structures used in the system implementation is designed in detail and specified. Data Structure Design5 *Data Structure : storing and organizing data
  • 31. Software Design :: Process 31 A specific method to create a mathematical process in solving problems. Algorithm Design 6 *Algorithm : step-by-step procedure for calculations
  • 32. Software Design:: Activities 32 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 34. Software Design :: Methods 34 1. Data flow model: data transformations 2. Entity relation model: logical data structures being used 3. Structural model: System components and their interactions are documented 4. Object oriented model: a model of how objects are composed of other objects and, usually, an object use model which shows how objects are used by other objects.
  • 35. Software Design:: Activities 35 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 37. Software Design :: Description 37 Role: •Basis for detailed implementation •communication medium between designers of sub-systems •Info to system maintainers about the original intentions of the system designers Notations Used: Graphical notations Program description languages Informal text
  • 38. Software Design :: Description 38 1. Graphical notations: • Display the relationships between the components making up the design and to relate the design to the real-world system. • Most useful for giving an overall picture of the system. 2. Program description languages: • use control and structuring constructs based on programming language constructs but also allow explanatory text and additional types of statement to be used. • intention of the designer is expressed rather than the details of how the design is to be implemented. 3. Informal text: 1. Information about design rationale or non-functional considerations may be expressed using natural language text. Continue..
  • 39. Software Design:: Activities 39 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 41. Software Design :: Strategies 41 1. Functional design: • functional viewpoint, starting with a high-level view and progressively refining this into a more detailed design. • Example: Jackson Structured Programming and the Warnier-Orr method 2. Object oriented design: • system is viewed as a collection of objects rather than as functions. • JSD is a design method that falls somewhere between function oriented and object oriented design. *JSD : Jackson System Develpment
  • 42. Software Design:: Activities 42 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 44. Software Design :: Quality 44 • The design components should be cohesive • Loosely coupled Coupling the independence of components. • looser the coupling, easier it is to adapt the design. Good Design Efficient code
  • 45. Architectural Design 45 What is a it? Initial design process of identifying sub-system and establishing a framework for sub-system control and communication
  • 46. Architectural Design 46 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 47. Architectural Design :: System Structuring 47 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 48. Architectural Design :: System Structuring 48 • Decompose a system into a set of interacting sub-systems • Notations Used: • Box -> Sub system • Boxes within boxes -> sub-system has been decomposed to sub-systems • Arrow -> direction of data and/or control System structuring  Repository model  Client-server model  Abstract machine model
  • 49. Architectural Design :: System Structuring 49 System structuring Repository model  Client-server model  Abstract machine model • Data is held in a central database • Accessed by all sub-systems Project repository Design editor Code Generator Design analyzer Report Generator Program editor Design translator
  • 50. Architectural Design :: System Structuring 50 System structuring  Repository model Client-server model  Abstract machine model • Distributed sys model • Standalone servers offer service to sub-sys (clients) • A network Network Catalog server Video server Client 1 Picture server Hypertext server Client 2 Client 4Client 3
  • 51. Architectural Design :: System Structuring 51 System structuring  Repository model  Client-server model Abstract machine model • Layered • Layers provide a set of service to layer above • Supports incremental development • Changeable and portable Client 2Client 2Operating system Database Management Object Management Version Management
  • 52. Architectural Design 52 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 53. Architectural Design :: Control Models 53 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 54. Architectural Design ::Control models 54 • Control flow b/w sub-system Control models Centralized control Event-based Control
  • 55. Architectural Design ::Control models 55 Control models Centralized control Event-based Control • One sub-system designated as the system controller System Controller Computation Process Sensor Processes Actuator Processes Fault Handler Laser Interface
  • 56. Architectural Design ::Control models 56 Control models Centralized control Event-based Control • Driven by externally generated events Broadcast models Interrupt-driven models • Broadcast to all, but particular sub-system responds to it • Used in Real time sys • Interrupt handler
  • 57. Architectural Design 57 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 58. Architectural Design :: Control Models 58 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 59. Architectural Design ::Modular Decomposition 59 Modular Decomposition Object-oriented design Data-flow models • Sys is decomposed into a set of communicating objects • Sys is decomposed into functional modules • Also called Pipeline Approach
  • 60. Architectural Design 60 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 61. Architectural Design :: Control Models 61 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 62. Architectural Design :: Domain-specific architecture 62 Domain-specific Architecture Generic models Reference models • Abstraction of many real systems • contains Principal characteristics • Describe a larger class of systems • Informs Sys Architect about that Class of sys Generic models Vs. Reference models Derived from “bottom-up” from existing system Derived from “top-down” from existing system
  • 63. Summary 63  System Models  Software Design  Architecture Design
  • 64. Thank you for your time.  1