SlideShare una empresa de Scribd logo
1 de 64
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

Más contenido relacionado

La actualidad más candente

Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance ShashankBajpai24
 
Software engineering critical systems
Software engineering   critical systemsSoftware engineering   critical systems
Software engineering critical systemsDr. Loganathan R
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSachithra Gayan
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsGatte Ravindranath
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4 Mohammad Faizan
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
Ch 4 components of the sqa system
Ch 4 components of the sqa systemCh 4 components of the sqa system
Ch 4 components of the sqa systemKittitouch Suteeca
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
Structural modeling and analysis
Structural modeling and analysisStructural modeling and analysis
Structural modeling and analysisJIGAR MAKHIJA
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementPratik Tandel
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirementsIIUI
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceEr. Nancy
 

La actualidad más candente (20)

Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
 
Software engineering critical systems
Software engineering   critical systemsSoftware engineering   critical systems
Software engineering critical systems
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Ch 4 components of the sqa system
Ch 4 components of the sqa systemCh 4 components of the sqa system
Ch 4 components of the sqa system
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Structural modeling and analysis
Structural modeling and analysisStructural modeling and analysis
Structural modeling and analysis
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Defect prevention
Defect preventionDefect prevention
Defect prevention
 

Destacado

modelingtools
modelingtoolsmodelingtools
modelingtoolslearnt
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design PrinciplesSteve Zhang
 
Software design principles
Software design principlesSoftware design principles
Software design principlesMd.Mojibul Hoque
 
Modular architecture today
Modular architecture todayModular architecture today
Modular architecture todaypragkirk
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo designConfiz
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularityJose Emilio Labra Gayo
 
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski
 
"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design PrinciplesSerhiy Oplakanets
 
SOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented DesignSOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented DesignRiccardo Cardin
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 

Destacado (10)

modelingtools
modelingtoolsmodelingtools
modelingtools
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design Principles
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Modular architecture today
Modular architecture todayModular architecture today
Modular architecture today
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularity
 
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
 
"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles
 
SOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented DesignSOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented Design
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 

Similar a Software design principles

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.PPTmalathijanapati1
 
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
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software designSandeep Kumar Nayak
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design conceptsJigyasaAgrawal7
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
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 DesignBlue Elephant Consulting
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentationMAHERMOHAMED27
 
Software developement life_cycle_v1.1
Software developement life_cycle_v1.1Software developement life_cycle_v1.1
Software developement life_cycle_v1.1Ganapathi M
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.pptHaiderAli252366
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Fadhil Ismail
 

Similar a Software design principles (20)

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
Design conceptsDesign concepts
Design concepts
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 
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
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Chapter1
Chapter1Chapter1
Chapter1
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
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
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentation
 
Software developement life_cycle_v1.1
Software developement life_cycle_v1.1Software developement life_cycle_v1.1
Software developement life_cycle_v1.1
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Ch01
Ch01Ch01
Ch01
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15
 

Último

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 

Último (20)

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 

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