0% found this document useful (0 votes)
29 views16 pages

Software Design Chapter 1

Software design is the process of defining the architecture, components, and interfaces of a system, crucial for translating requirements into software structure. The document outlines the evolution of software design from the 1950s to the present, highlighting key methodologies such as structured programming, object-oriented design, and service-oriented architecture. It also details various aspects of software design, including requirements analysis, architectural design, and testing and validation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views16 pages

Software Design Chapter 1

Software design is the process of defining the architecture, components, and interfaces of a system, crucial for translating requirements into software structure. The document outlines the evolution of software design from the 1950s to the present, highlighting key methodologies such as structured programming, object-oriented design, and service-oriented architecture. It also details various aspects of software design, including requirements analysis, architectural design, and testing and validation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

SOFTWARE DESIGN

By : Allan Jay L. Morillo, CCpE


• Software design refers to the
process of defining the
Software architecture, components,
Design interfaces, and other
characteristics of a system or
application. It plays a crucial role in
the software development lifecycle
by translating requirements into a
representation of the software's
structure
1. Early Days (1950s-1960s):
• During the early days of
History computing, software design
focused largely on algorithms
and efficient use of hardware
resources.
• Languages like Fortran and
COBOL emerged, influencing
early design practices.
2. Structured Programming
(1970s):
History • The 1970s saw the rise of
structured programming,
advocating for modular and
hierarchical program design.
• Edsger Dijkstra and others
promoted structured
programming principles for
clearer, more maintainable
code.
3. Object-Oriented Design
(1980s-1990s):
History • Object-oriented design (OOD)
became prominent,
emphasizing modularity,
encapsulation, and reusability.
• Languages like Smalltalk, C++,
and later Java popularized
OOD concepts.
4. Component-Base Design
(1990s-2000s):
History • Component-based design
(CBD) emerged, promoting
software development based
on reusable software
components.
• This era also saw the advent of
design patterns, standard
solutions to common design
problems.
5. Service-Oriented Design
(2000s-Present):
History • Service-oriented architecture
(SOA) and later microservices
architecture focused on
building applications as loosely
coupled services.
• Design principles shifted
towards scalability, flexibility,
and interoperability.
5. Modern Trends (Present):
• Today, software design
History continues to evolve with agile
and DevOps practices,
emphasizing iterative
development, continuous
integration, and delivery.
• Design patterns, domain-driven
design (DDD), and design
thinking are integral to modern
software design practices.
 Requirements Analysis
- Understanding and
Overview documenting user requirement.
 Architectural Design
- Defining the overall
Overview structure and components of
the system.
 Detailed Design
- Elaborating the user
Overview interface for usability and user
experience.
 User Interface Design
- Designing the user
Overview interface for usability and user
experience.
 Database Design
- Structuring data storage
Overview and retrieval mechanisms.
 Component Design
- Designing individual
Overview software components or
modules.
 Design Patterns
- Applying reusable
Overview solutions to common design
problems.
 Testing and Validation
- Ensuring that the design
Overview meets functional and non-
functional requirements.

You might also like