SlideShare a Scribd company logo
SOFTWARE DESIGN
NAME: MAJED ALBADR
ID: 361101757
DR
:.
KHALID NAZIM
DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION
MAJMAAH UNIVERSITY
CONTENT
.
Software Engineering
.
Software Development Processes
.
SOFTWARE DESIGN.
Software Design Levels
.
Software Design process
.
Objectives of Software Design
.
What are the different approaches for Software Design
.
Design principles
.
Software Engineering

What is software Engineering
?

Software engineering is defined as a process of analyzing user
requirements and then designing, building, and testing software
application which will satisfy those requirements
.

Why Software Engineering is Popular
?
Software Development Processes
.
SOFTWARE DESIGN
.

Software design is a process to transform user requirements into
some suitable form, which helps the programmer in software coding
and implementation
.

For assessing user requirements, an SRS (Software Requirement
Specification) document is created whereas for coding and
implementation, there is a need of more specific and detailed
requirements in software terms. The output of this process can
directly be used into implementation in programming languages
.

Software design is the first step in SDLC (Software Design Life Cycle),
which moves the concentration from problem domain to solution
domain. It tries to specify how to fulfill the requirements mentioned
in SRS
.
Software Design Levels
.

Software design yields three levels of results
:

Architectural Design - The architectural design is the highest abstract version of the
system. It identifies the software as a system with many components interacting with
each other. At this level, the designers get the idea of proposed solution domain
.

High-level Design- The high-level design breaks the ‘single entity-multiple
component’ concept of architectural design into less-abstracted view of sub-
systems and modules and depicts their interaction with each other. High-level
design focuses on how the system along with all of its components can be
implemented in forms of modules. It recognizes modular structure of each sub-
system and their relation and interaction among each other
.

Detailed Design- Detailed design deals with the implementation part of what is
seen as a system and its sub-systems in the previous two designs. It is more detailed
towards modules and their implementations. It defines logical structure of each
module and their interfaces to communicate with other modules
.
Software Design process
.
Objectives of Software Design
.
Objectives of Software Design
.

Correctness: Software design should be correct as per requirement
.

Completeness: The design should have all components like data
structures, modules, and external interfaces, etc
.

Efficiency: Resources should be used efficiently by the program
.

Flexibility: Able to modify on changing needs
.

Consistency: There should not be any inconsistency in the design
.

Maintainability: The design should be so simple so that it can be
easily maintainable by other designers
.
What are the different approaches
for Software Design
?

Top Down Design
.

Each system is divided into several sub-systems and components.
Each of the sub-systems is further divided into set of sub-systems and
components. This process of division facilitates in forming of a system
hierarchy structure
.

Bottom-up Design

The design starts with the lowest level components and sub-systems. Y using
these components, the next immediate higher level components and sub-
systems are created or composed. The process is continued till all the
components and sub-systems are composed into a single component and
which is considered as the complete system. The amount of abstraction
grows high as the design moves to more high levels
.
Design principles
.

Abstraction

Modularity, coupling and cohesion

Information hiding

Limit complexity

Hierarchical structure
Abstraction
.
data abstraction: aimed at finding a hierarchy in the data
application-oriented
data structures
simpler data
structure
Modularity
.

structural criteria which tell us something about individual
modules and their interconnections
.
cohesion and coupling
.

cohesion: the glue that keeps a module together

coupling: the strength of the connection between modules
Information hiding
.

each module has a secret

design involves a series of decision: for each such decision, wonder
who needs to know and who can be kept in the dark

information hiding is strongly related to
:

abstraction: if you hide something, the user may abstract from that fact

coupling: the secret decreases coupling between a module and its
environment

cohesion: the secret is what binds the parts of the module together
Complexity
.

measure certain aspects of the software (lines of code, # of if-
statements, depth of nesting, …)

use these numbers as a criterion to assess a design, or to guide the
design

interpretation: higher value  higher complexity  more effort
required (= worse design)

two kinds
:

intra-modular: inside one module

inter-modular: between modules
hierarchy structure
.

Hierarchical architecture views the whole system as a hierarchy
structure, in which the software system is decomposed into logical
modules or subsystems at different levels in the hierarchy. This
approach is typically used in designing system software such as
network protocols and operating systems
.
References
.

https://www.geeksforgeeks.org/software-engineering-software-desi
gn-process
/

https://www.guru99.com/what-is-software-engineering.html

https://
www.synapseindia.com/6-stages-of-software-development-process/1
41

https://
www.tutorialspoint.com/software_engineering/software_design_basi
cs.htm

https://www.javatpoint.com/software-engineering-software-design

https://
iversity/software-engineering-tutorial-33
s-26000.html
ANY QUESTIONS
?
THANK YOU

More Related Content

PPTX
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
DOCX
Function Oriented and Object Oriented Design,Modularization techniques
PPTX
Software design
PPTX
CS8494 SOFTWARE ENGINEERING Unit-3
PPT
Design final
PPT
Chapter 6 Software Engineering Design.ppt
PPT
Chapter 6 Design in software Engineeing.ppt
PDF
dynamic and implementation uml diagram.pdf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
Function Oriented and Object Oriented Design,Modularization techniques
Software design
CS8494 SOFTWARE ENGINEERING Unit-3
Design final
Chapter 6 Software Engineering Design.ppt
Chapter 6 Design in software Engineeing.ppt
dynamic and implementation uml diagram.pdf

Similar to software Design in software engineering1 (20)

PPT
software engineering unit-3 in software engineering
PPT
Lecture # 8 software design and architecture (SDA).ppt
PDF
SDTpresentaion on testingand sofware all required materials
PPTX
Unit_4_Software_Design.pptx
PPT
Software design
PPT
Design Concepts software engineering.ppt
PPTX
Chapter 08
PPTX
How to design a Software with methods and steps
DOCX
Software engg unit 3
DOCX
Unit 3 Software engineering deataled notes .docx
PPTX
SOFTWARE DESIGN ENGINEERING UNIT-3 PPT.pptx
PPTX
Design concept -Software Engineering
PPT
Software engg. pressman_ch-9
PPT
Chapter1
PPTX
UNIT_III_Design Engineering, design engineering, architecture, patterns, UML ...
PPTX
Architecture and UML diagrams, types of UML diagrams, types of architecture a...
PPT
7. Design Concepts.pptbhhbbbbhjijjnnnnnnnn
PPTX
SA_UNIT_1.pptx
PPTX
Software enginnering
PPTX
Unit 3- Software Design.pptx
software engineering unit-3 in software engineering
Lecture # 8 software design and architecture (SDA).ppt
SDTpresentaion on testingand sofware all required materials
Unit_4_Software_Design.pptx
Software design
Design Concepts software engineering.ppt
Chapter 08
How to design a Software with methods and steps
Software engg unit 3
Unit 3 Software engineering deataled notes .docx
SOFTWARE DESIGN ENGINEERING UNIT-3 PPT.pptx
Design concept -Software Engineering
Software engg. pressman_ch-9
Chapter1
UNIT_III_Design Engineering, design engineering, architecture, patterns, UML ...
Architecture and UML diagrams, types of UML diagrams, types of architecture a...
7. Design Concepts.pptbhhbbbbhjijjnnnnnnnn
SA_UNIT_1.pptx
Software enginnering
Unit 3- Software Design.pptx
Ad

More from nazimsattar (20)

PPTX
how to build a simple operating system type
PPTX
operating system Evolution understanding the basics
PPT
working with internet technologies using XML
PPT
working with internet technologies using CSS
PPT
different Data_Analysis concepts in data science
PPT
Data Munging in concepts of data mining in DS
PDF
Class diagram and its importance in software
PDF
GRASP_Designing Objects With Responsibilities.pdf
PPT
Memory management principles in operating systems
PPT
Deadlock principles in operating systems
PDF
overview of natural language processing concepts
PDF
introduction to natural language processing
PPT
HCI_usable_user_interface_productivity in HCI
PPT
HCI_user_interaction_Design_interaction design
PPT
Introduction to the operating and its types
PPT
Operating systems structures and their practical applications
PPT
Block_Chain_Technology and its concepts in reality
PPT
Edge Computing and its related technologies
PPTX
The Real time applications of Virtual Reality
PPTX
Marketing of AI technology in real life examples
how to build a simple operating system type
operating system Evolution understanding the basics
working with internet technologies using XML
working with internet technologies using CSS
different Data_Analysis concepts in data science
Data Munging in concepts of data mining in DS
Class diagram and its importance in software
GRASP_Designing Objects With Responsibilities.pdf
Memory management principles in operating systems
Deadlock principles in operating systems
overview of natural language processing concepts
introduction to natural language processing
HCI_usable_user_interface_productivity in HCI
HCI_user_interaction_Design_interaction design
Introduction to the operating and its types
Operating systems structures and their practical applications
Block_Chain_Technology and its concepts in reality
Edge Computing and its related technologies
The Real time applications of Virtual Reality
Marketing of AI technology in real life examples
Ad

Recently uploaded (20)

PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Classroom Observation Tools for Teachers
PPTX
Cell Structure & Organelles in detailed.
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Pre independence Education in Inndia.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Institutional Correction lecture only . . .
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Computing-Curriculum for Schools in Ghana
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
master seminar digital applications in india
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Abdominal Access Techniques with Prof. Dr. R K Mishra
Classroom Observation Tools for Teachers
Cell Structure & Organelles in detailed.
Final Presentation General Medicine 03-08-2024.pptx
Pre independence Education in Inndia.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Institutional Correction lecture only . . .
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
O7-L3 Supply Chain Operations - ICLT Program
Supply Chain Operations Speaking Notes -ICLT Program
PPH.pptx obstetrics and gynecology in nursing
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Anesthesia in Laparoscopic Surgery in India
Computing-Curriculum for Schools in Ghana
VCE English Exam - Section C Student Revision Booklet
Renaissance Architecture: A Journey from Faith to Humanism
Microbial diseases, their pathogenesis and prophylaxis
master seminar digital applications in india

software Design in software engineering1

  • 1. SOFTWARE DESIGN NAME: MAJED ALBADR ID: 361101757 DR :. KHALID NAZIM DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION MAJMAAH UNIVERSITY
  • 2. CONTENT . Software Engineering . Software Development Processes . SOFTWARE DESIGN. Software Design Levels . Software Design process . Objectives of Software Design . What are the different approaches for Software Design . Design principles .
  • 3. Software Engineering  What is software Engineering ?  Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements .  Why Software Engineering is Popular ?
  • 5. SOFTWARE DESIGN .  Software design is a process to transform user requirements into some suitable form, which helps the programmer in software coding and implementation .  For assessing user requirements, an SRS (Software Requirement Specification) document is created whereas for coding and implementation, there is a need of more specific and detailed requirements in software terms. The output of this process can directly be used into implementation in programming languages .  Software design is the first step in SDLC (Software Design Life Cycle), which moves the concentration from problem domain to solution domain. It tries to specify how to fulfill the requirements mentioned in SRS .
  • 6. Software Design Levels .  Software design yields three levels of results :  Architectural Design - The architectural design is the highest abstract version of the system. It identifies the software as a system with many components interacting with each other. At this level, the designers get the idea of proposed solution domain .  High-level Design- The high-level design breaks the ‘single entity-multiple component’ concept of architectural design into less-abstracted view of sub- systems and modules and depicts their interaction with each other. High-level design focuses on how the system along with all of its components can be implemented in forms of modules. It recognizes modular structure of each sub- system and their relation and interaction among each other .  Detailed Design- Detailed design deals with the implementation part of what is seen as a system and its sub-systems in the previous two designs. It is more detailed towards modules and their implementations. It defines logical structure of each module and their interfaces to communicate with other modules .
  • 9. Objectives of Software Design .  Correctness: Software design should be correct as per requirement .  Completeness: The design should have all components like data structures, modules, and external interfaces, etc .  Efficiency: Resources should be used efficiently by the program .  Flexibility: Able to modify on changing needs .  Consistency: There should not be any inconsistency in the design .  Maintainability: The design should be so simple so that it can be easily maintainable by other designers .
  • 10. What are the different approaches for Software Design ?  Top Down Design .  Each system is divided into several sub-systems and components. Each of the sub-systems is further divided into set of sub-systems and components. This process of division facilitates in forming of a system hierarchy structure .  Bottom-up Design  The design starts with the lowest level components and sub-systems. Y using these components, the next immediate higher level components and sub- systems are created or composed. The process is continued till all the components and sub-systems are composed into a single component and which is considered as the complete system. The amount of abstraction grows high as the design moves to more high levels .
  • 11. Design principles .  Abstraction  Modularity, coupling and cohesion  Information hiding  Limit complexity  Hierarchical structure
  • 12. Abstraction . data abstraction: aimed at finding a hierarchy in the data application-oriented data structures simpler data structure
  • 13. Modularity .  structural criteria which tell us something about individual modules and their interconnections .
  • 14. cohesion and coupling .  cohesion: the glue that keeps a module together  coupling: the strength of the connection between modules
  • 15. Information hiding .  each module has a secret  design involves a series of decision: for each such decision, wonder who needs to know and who can be kept in the dark  information hiding is strongly related to :  abstraction: if you hide something, the user may abstract from that fact  coupling: the secret decreases coupling between a module and its environment  cohesion: the secret is what binds the parts of the module together
  • 16. Complexity .  measure certain aspects of the software (lines of code, # of if- statements, depth of nesting, …)  use these numbers as a criterion to assess a design, or to guide the design  interpretation: higher value  higher complexity  more effort required (= worse design)  two kinds :  intra-modular: inside one module  inter-modular: between modules
  • 17. hierarchy structure .  Hierarchical architecture views the whole system as a hierarchy structure, in which the software system is decomposed into logical modules or subsystems at different levels in the hierarchy. This approach is typically used in designing system software such as network protocols and operating systems .