Chapter 5 HLD
Chapter 5 HLD
HIGH-LEVEL DESIGN
After completing this chapter students will be able
to……..
❑Explain High Level Design
❑Describe Detailed/Low Level Design
❑Describe UML Interaction Diagrams
➢Communication Diagrams
➢Sequences Diagrams
SDLC
❑The stages of developing a software application are:
➢ Requirement Analysis
➢System Design
✓High-level Design
✓Low-level Design
➢Implementation
➢Unit Testing
➢Integration Testing
➢System Testing
➢Deployment
➢Maintenances
System design
❑The process of designing any software application in SDLC
is called system design.
❑Software design process tries to specify how to fulfill the
requirements mentioned in SRS.
❑Software design is a process to transform user
requirements into some suitable form(SDD),
• Which helps programmer in software coding or
implementation.
❑The output(SDD) of this process can directly be used into
implementation in programming languages.
Software Design Levels
❑There are two kinds of designs included while designing any system.
1. High-Level Design (HLD)
2. Low-Level Design (LLD)
1. High-Level Design
❑It is a general system design means ,it refers to the overall system design.
❑HLD describes overall description/architecture of application, that would be used
for developing a software product.
❑The architecture (provides an overview of an entire system), identify the main
components that would be developed for the product and their interfaces.
❑ Generally, it includes description of system architecture(3-tier…), data base
design, brief description on systems, services, what platforms to use (PC,
phone…), classes, interfaces and relationship among modules.
Contt…
❑It shows major components of system or info about different components
of software or sub system (software is made up of different component we
called them sub system).
❑But in HLD did not focus how the components work , instead focus
what are the different components involve in system.
❑Or HLD provides a brief description of how various sub-systems and
components of system fit together.
❑Data flows, flowcharts, data structures are included in HLD documents so
that developers/implementers can understand how the system is expected to
work with regards to the features and the database design.
Contt….
❑It is also known as macro level/system design.
High Level Design is the general system design Low Level Design is like detailing HLD means it
means it refers to the overall system design. refers to component-level design process.
HLD specifies the complete report and planning of low-level design specifies the in-detail report of all
the particular software product or application the modules.
It is also known as macro level/system design. It is also known as micro level/detailed design.
It describes the overall description/architecture of It describes detailed description of each and every
the application. module.
It is created first means before Low Level It is created second means after High Level
Design. Design.
In HLD the input criteria is Software In LLD the input criteria is reviewed High Level
Requirement Specification (SRS). Design (HLD).
High Level Solution converts the Business/client Low Level Design converts the High Level
requirement into High Level Solution. Solution into Detailed solution.
In HLD the output criteria is data base design, In LLD the output criteria is program
functional design and review record. specification and unit test plan.
UML Diagram
Before discussing types of UML diagram we have to know an overview of
UML
❑UML stands for Unified Modeling Language.
❑ UML is different from the other common OO languages such as C++,
Java, COBOL, etc.
❑ UML is a pictorial language used to make software blueprints.
❑ UML can be described as a general purpose visual modeling language
to visualize, specify, construct, and document software system.
❑It is a standard which is mainly used for creating object-oriented,
meaningful documentation models for any software system.
❑UML is not a programming language but tools can be used to generate
code in various languages using UML diagrams.
Cont…
❑UML has a direct relation with object oriented analysis and
design(OOAD).
❑Or UML diagrams are representation of object-oriented concepts
only.
❑UML is powerful enough to represent all concepts that exist in
OOAD such as Objects, Class, Abstraction, Encapsulation,
Inheritance, and Polymorphism all can be represented using
UML. How???
❑Although UML is generally used to model software systems, it is
not limited within this boundary, this means also used to model
non-software systems as well. For example, process flow in a
manufacturing unit, etc.
Goals of UML
Object-oriented concepts were introduced much earlier than UML. At
that point of time, there were no standard methodologies to organize
and consolidate the object-oriented development. It was then that
UML came into picture.
There are a number of goals for developing UML but the most
important is…
• To define some general purpose modeling language, which all modelers can
use and it also needs to be made simple to understand and use.
• To simplify modelling mechanism to model all possible practical systems in
today’s complex environment.
UML building blocks
The building blocks of UML can be defined as:
• Things
• Relationships
• Diagrams
1. Things - Things are the most important building blocks of UML.
Things can be:
- Structural - Grouping
- Behavioural - Annotational
Cont…
A. Structural Things - define the static part of the model. They
represent the physical and conceptual elements.
Following are the brief descriptions of the structural things.
• Class: Class represents a set of objects having similar responsibilities.
➢ Class is the blueprint of an object.
Cont…
• Interface: Interface defines a set of operations, which specify the
responsibility of a class.