SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptKunal Kishor Nirala
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methodsSyed Zaid Irshad
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software ArchitectureRahimLotfi
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- designLilia Sfaxi
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modelingSyed Zaid Irshad
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Data and functional modeling
Data and functional modelingData and functional modeling
Data and functional modelingSlideshare
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)REHMAT ULLAH
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringMeghaj Mallick
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram Rahul Pola
 

Tendances (20)

Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methods
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Software process
Software processSoftware process
Software process
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Data and functional modeling
Data and functional modelingData and functional modeling
Data and functional modeling
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 

En vedette

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
 
software design principles
software design principlessoftware design principles
software design principlesCristal Ngo
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 

En vedette (11)

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
 
software design principles
software design principlessoftware design principles
software design principles
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 

Similaire à 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
 

Similaire à 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
 

Dernier

Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 

Dernier (20)

Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 

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