SlideShare a Scribd company logo
Submitted by: Gaurav Bisht
B.Tech (CSE) 6th Sem
Contents:
 Software Architecture
 Data Modeling
 Databases
 Data Warehouse
 Analyzing Alternate Architectural Designs
 Architectural Complexity
Software Design:
 Software design provides a design plan that describes the elements of a system, how they fit, and
work together to fulfill the requirement of the system.
 There are 4 phases of a software design:-
1. Data Design – This phase produces data structures.
2. Architectural Design – This phase produces structural units.
3. Interface Design – This phase specifies the interfaces between units.
4. Procedural Design – This phase specifies the algorithms of each method.
Software Architecture:
 The architecture of a system is a comprehensive framework that describes its form and structure -
its components and how they fit together.
 Software architecture must model the structure of a system and the manner in which data and
procedural components collaborate with one another.
Software Architecture (Cont.):
 Goals:-
1. Defines the structure of the system.
2. Realizes all the use-cases.
3. Handles both functional and quality requirements.
4. Reduce the goal of ownership and improves the organization’s market position.
5. Improves quality and functionality offered by the system.
Software Architecture (Cont.):
 Limitations:-
1. Lack of tools and standardized ways to represent architecture.
2. Lack of analysis methods to predict whether architecture will result in an implementation that
meets the requirements.
3. Lack of awareness of the importance of architectural design to software development.
4. Lack of understanding of the role of software architect and poor communication among
stakeholders.
5. Lack of understanding of the design process, design experience and evaluation of design.
Data Modeling:
 Data modeling is the process of creating a data model for the data to be stored in a Database.
 This data model is a conceptual representation of Data objects, the associations between different
data objects and the rules.
 Data modeling helps in the visual representation of data and enforces business rules, regulatory
compliances, and government policies on the data.
 Data model emphasizes on what data is needed and how it should be organized instead of what
operations need to be performed on the data.
Data Modeling (Cont.):
 Why Data Modeling?
- Ensures that all data objects required by the database are accurately represented.
- A data model helps design the database at the conceptual, physical and logical levels.
- It provides a clear picture of the base data and can be used by database developers to
create a physical database.
- It is also helpful to identify missing and redundant data.
- Though the initial creation of data model is labor and time consuming, in the long run, it
makes the IT infrastructure upgradeable and maintainable cheaper and faster.
Data Modeling (Cont.):
 Types of Data Modeling:-
1. Conceptual Data Modeling –
It defines WHAT the system contains.
2. Logical Data Modeling –
It defines HOW the system should be implemented regardless of Database Management
System.
3. Physical Data Modeling –
It describes how the system will be implemented using a specific Database Management
System.
Database:
 Database Design is a collection of processes that facilitates the designing, development,
implementation and maintenance of data management systems.
 Why database designing is important?
1. To meet requirements of the users.
2. High Performance
 Database is designed in two ways:-
1. Database Logical Design – It defines a database in a data model of a specific DBMS.
2. Database Physical Design – It defines the internal database storage structure, file organization
or indexing techniques.
Requirement
Analysis
• Planning
• System
Definition
Database
Designing
• Logical
Model
• Physical
Model
Implementation
• Data
Conversion
and
Loading
• Testing
Database (Cont.):
 Database Design Life Cycle:-
Database (Cont.):
 Requirement Analysis –
Planning - This stage is concerned with planning of entire Database Development Life Cycle.
System definition - This stage defines the scope and boundaries of the proposed database system.
 Database Design –
Logical model - This stage is concerned with developing a database model based on requirements. The entire
design is on paper without any physical implementations or specific DBMS considerations.
Physical model - This stage implements the logical model of the database taking into account the DBMS and
physical implementation factors.
 Implementation –
Data conversion and loading - This stage is concerned with importing and converting data from the old system
into the new database.
Testing - This stage is concerned with the identification of errors in the newly implemented system .
Data Warehouse:
 Data warehouse modeling is the process of designing the schemas of the detailed and
summarized information of the data warehouse.
 The goal of data warehouse modeling is to develop a schema describing the reality, or at least a
part of the fact, which the data warehouse is needed to support.
 Data warehouse modeling is an essential stage of building a data warehouse for two main reasons:
1. Through the schema, data warehouse clients can visualize the relationships among the
warehouse data, to use them with greater ease.
2. A well-designed schema allows an effective data warehouse structure to emerge, to help
decrease the cost of implementing the warehouse and improve the efficiency of using it.
Analyzing Alternative Architectural Designs:
 There are two different approaches for the analysis of alternative architectural designs. The first
method uses an iterative method to assess design trade-offs. The second approach applies a
pseudo-quantitative technique for assessing design quality.
 An Architecture Trade-off Analysis Method (ATAM):-
The Software Engineering Institute (SEI) has developed an architecture trade-off analysis method that
establishes an iterative evaluation process for software architectures. The design analysis activities
that follow are performed iteratively:
1. Collect scenarios – A set of use-cases is developed to represent the system from the user’s point
of view.
2. Explicit requirements, constraints, and environment description – This information is required as
part of requirements engineering and is used to be certain that all customer, user, and stakeholder
concerns have been addressed.
Analyzing Alternative Architectural
Designs (Cont.):
3. Describe the architectural styles/patterns that have been chosen to address the scenarios
and requirements.
4. Evaluate quality attributes by considering each attribute in isolation. The number of quality
attributes chosen for analysis is a function of the time available for review and the degree to which
quality attributes are relevant to the system at hand. Quality attributes for architectural design
assessment include reliability, performance, security, maintainability, flexibility, testability, portability,
reusability, and interoperability.
5. Identify the sensitivity of quality attributes to various architectural attributes for a specific
architectural style. This can be accomplished by making small changes in the architecture and
determining how sensitive a quality attribute, say performance, is to the change. Any attributes that are
significantly affected by variation in the architecture are termed sensitivity points.
Analyzing Alternative Architectural
Designs (Cont.):
 Quantitative Guidance for Architectural Design:-
One of the many problems faced by software engineers during the design process is a general lack of
quantitative methods for assessing the quality of proposed designs. The ATAM approach is
representative of a useful but undeniably qualitative approach to design analysis.
Work in the area of quantitative analysis of architectural design is still in its formative stages. A number
of pseudo-quantitative techniques that can be used to complement the ATAM approach as a method
for the analysis of architectural design quality have been suggested.
Analyzing Alternative Architectural
Designs (Cont.):
1. The first model, called spectrum analysis, assesses an architectural design on a “goodness”
spectrum from the best to worst possible designs. Once the software architecture has been proposed,
it is assessed by assigning a “score” to each of its design dimensions.
2. Design selection analysis is another model that requires a set of design dimensions to be defined.
The proposed architecture is then assessed to determine the number of design dimensions that it
achieves when compared to an ideal (best-case) system.
Architectural Complexity:
 A useful technique for assessing the overall complexity of a proposed architecture is to consider
dependencies between components within the architecture. These dependencies are driven by
information/control flow within the system.
 There are 3 dependencies:-
1. Sharing Dependencies
2. Flow Dependencies
3. Constrained Dependencies
Architectural Complexity (Cont.):
 Sharing Dependencies –
- It represents the dependence relationship among consumers who use the same
resource or producers who produce for the same consumers.
 Flow Dependencies –
- It represents dependence relationship between producers and consumers of resources.
 Constrained Dependencies –
- It represents constraints on the relative flow of control among a set of activities.
Software Architectural & Data Design

More Related Content

PPT
Systems analysis methodologies(white)
PPTX
System design
PPTX
10 architectural design (1)
PPT
architectural design
PPTX
Requirement engineering in S/W Engineering
PPT
Pm02 system design
PPT
Analysis modeling
PPT
Modelling System Requirements: Events & Things
Systems analysis methodologies(white)
System design
10 architectural design (1)
architectural design
Requirement engineering in S/W Engineering
Pm02 system design
Analysis modeling
Modelling System Requirements: Events & Things

What's hot (20)

PPTX
PDF
System ana
PPTX
System Analysis & Design
PPTX
System Analysis Methods
PDF
Architecture evaluation
PPTX
CIS 2303 LO1: Introduction to System Analysis and Design
PPT
SE - Software Requirements
PPTX
System Analysis And Design 2011
DOCX
Introduction to system analysis and design
PPT
SE chapters 6-7
PPTX
Cs8092 computer graphics and multimedia unit 5
PPTX
W4 lecture 7&8 - requirements gathering
PPT
Chapter02
PPTX
Software Development Methodologies-HSM, SSADM
PDF
Availability Assessment of Software Systems Architecture Using Formal Models
PPTX
SYSTEM ANALYSIS AND DESIGN Assignment help
PPTX
System Analysis and Design (SAD)
PPT
Analysis concepts and principles
PPTX
Lecture3
System ana
System Analysis & Design
System Analysis Methods
Architecture evaluation
CIS 2303 LO1: Introduction to System Analysis and Design
SE - Software Requirements
System Analysis And Design 2011
Introduction to system analysis and design
SE chapters 6-7
Cs8092 computer graphics and multimedia unit 5
W4 lecture 7&8 - requirements gathering
Chapter02
Software Development Methodologies-HSM, SSADM
Availability Assessment of Software Systems Architecture Using Formal Models
SYSTEM ANALYSIS AND DESIGN Assignment help
System Analysis and Design (SAD)
Analysis concepts and principles
Lecture3
Ad

Similar to Software Architectural & Data Design (20)

PPTX
data design and component design.pptx
PPT
Se ii unit3-architectural-design
PPT
software engineering unit-3 in software engineering
PPT
Design engineering
PPT
Design engineering
PPTX
Unit 5 design engineering ssad
PPT
Chapter 7 Basic Building of SE Architecture.ppt
PPT
Artifical selection for enhancment for people Use
PPTX
UNIT_III_Design Engineering, design engineering, architecture, patterns, UML ...
PPTX
Architecture and UML diagrams, types of UML diagrams, types of architecture a...
PPT
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
PPT
Unit 3 3 architectural design
PPT
Ch 9-design-engineering
PPTX
Design Model & User Interface Design in Software Engineering
PPTX
Design Engineering and Design concepts
PPTX
System analysis and design
PPTX
Design concepts
PDF
Block 1 ms-034 unit-2
PPTX
Software design
PPT
software Design.ppt
data design and component design.pptx
Se ii unit3-architectural-design
software engineering unit-3 in software engineering
Design engineering
Design engineering
Unit 5 design engineering ssad
Chapter 7 Basic Building of SE Architecture.ppt
Artifical selection for enhancment for people Use
UNIT_III_Design Engineering, design engineering, architecture, patterns, UML ...
Architecture and UML diagrams, types of UML diagrams, types of architecture a...
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Unit 3 3 architectural design
Ch 9-design-engineering
Design Model & User Interface Design in Software Engineering
Design Engineering and Design concepts
System analysis and design
Design concepts
Block 1 ms-034 unit-2
Software design
software Design.ppt
Ad

Recently uploaded (20)

PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Geodesy 1.pptx...............................................
PPT
Project quality management in manufacturing
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Welding lecture in detail for understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
DOCX
573137875-Attendance-Management-System-original
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Sustainable Sites - Green Building Construction
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Geodesy 1.pptx...............................................
Project quality management in manufacturing
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Embodied AI: Ushering in the Next Era of Intelligent Systems
Internet of Things (IOT) - A guide to understanding
Welding lecture in detail for understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
573137875-Attendance-Management-System-original
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Sustainable Sites - Green Building Construction
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks

Software Architectural & Data Design

  • 1. Submitted by: Gaurav Bisht B.Tech (CSE) 6th Sem
  • 2. Contents:  Software Architecture  Data Modeling  Databases  Data Warehouse  Analyzing Alternate Architectural Designs  Architectural Complexity
  • 3. Software Design:  Software design provides a design plan that describes the elements of a system, how they fit, and work together to fulfill the requirement of the system.  There are 4 phases of a software design:- 1. Data Design – This phase produces data structures. 2. Architectural Design – This phase produces structural units. 3. Interface Design – This phase specifies the interfaces between units. 4. Procedural Design – This phase specifies the algorithms of each method.
  • 4. Software Architecture:  The architecture of a system is a comprehensive framework that describes its form and structure - its components and how they fit together.  Software architecture must model the structure of a system and the manner in which data and procedural components collaborate with one another.
  • 5. Software Architecture (Cont.):  Goals:- 1. Defines the structure of the system. 2. Realizes all the use-cases. 3. Handles both functional and quality requirements. 4. Reduce the goal of ownership and improves the organization’s market position. 5. Improves quality and functionality offered by the system.
  • 6. Software Architecture (Cont.):  Limitations:- 1. Lack of tools and standardized ways to represent architecture. 2. Lack of analysis methods to predict whether architecture will result in an implementation that meets the requirements. 3. Lack of awareness of the importance of architectural design to software development. 4. Lack of understanding of the role of software architect and poor communication among stakeholders. 5. Lack of understanding of the design process, design experience and evaluation of design.
  • 7. Data Modeling:  Data modeling is the process of creating a data model for the data to be stored in a Database.  This data model is a conceptual representation of Data objects, the associations between different data objects and the rules.  Data modeling helps in the visual representation of data and enforces business rules, regulatory compliances, and government policies on the data.  Data model emphasizes on what data is needed and how it should be organized instead of what operations need to be performed on the data.
  • 8. Data Modeling (Cont.):  Why Data Modeling? - Ensures that all data objects required by the database are accurately represented. - A data model helps design the database at the conceptual, physical and logical levels. - It provides a clear picture of the base data and can be used by database developers to create a physical database. - It is also helpful to identify missing and redundant data. - Though the initial creation of data model is labor and time consuming, in the long run, it makes the IT infrastructure upgradeable and maintainable cheaper and faster.
  • 9. Data Modeling (Cont.):  Types of Data Modeling:- 1. Conceptual Data Modeling – It defines WHAT the system contains. 2. Logical Data Modeling – It defines HOW the system should be implemented regardless of Database Management System. 3. Physical Data Modeling – It describes how the system will be implemented using a specific Database Management System.
  • 10. Database:  Database Design is a collection of processes that facilitates the designing, development, implementation and maintenance of data management systems.  Why database designing is important? 1. To meet requirements of the users. 2. High Performance  Database is designed in two ways:- 1. Database Logical Design – It defines a database in a data model of a specific DBMS. 2. Database Physical Design – It defines the internal database storage structure, file organization or indexing techniques.
  • 11. Requirement Analysis • Planning • System Definition Database Designing • Logical Model • Physical Model Implementation • Data Conversion and Loading • Testing Database (Cont.):  Database Design Life Cycle:-
  • 12. Database (Cont.):  Requirement Analysis – Planning - This stage is concerned with planning of entire Database Development Life Cycle. System definition - This stage defines the scope and boundaries of the proposed database system.  Database Design – Logical model - This stage is concerned with developing a database model based on requirements. The entire design is on paper without any physical implementations or specific DBMS considerations. Physical model - This stage implements the logical model of the database taking into account the DBMS and physical implementation factors.  Implementation – Data conversion and loading - This stage is concerned with importing and converting data from the old system into the new database. Testing - This stage is concerned with the identification of errors in the newly implemented system .
  • 13. Data Warehouse:  Data warehouse modeling is the process of designing the schemas of the detailed and summarized information of the data warehouse.  The goal of data warehouse modeling is to develop a schema describing the reality, or at least a part of the fact, which the data warehouse is needed to support.  Data warehouse modeling is an essential stage of building a data warehouse for two main reasons: 1. Through the schema, data warehouse clients can visualize the relationships among the warehouse data, to use them with greater ease. 2. A well-designed schema allows an effective data warehouse structure to emerge, to help decrease the cost of implementing the warehouse and improve the efficiency of using it.
  • 14. Analyzing Alternative Architectural Designs:  There are two different approaches for the analysis of alternative architectural designs. The first method uses an iterative method to assess design trade-offs. The second approach applies a pseudo-quantitative technique for assessing design quality.  An Architecture Trade-off Analysis Method (ATAM):- The Software Engineering Institute (SEI) has developed an architecture trade-off analysis method that establishes an iterative evaluation process for software architectures. The design analysis activities that follow are performed iteratively: 1. Collect scenarios – A set of use-cases is developed to represent the system from the user’s point of view. 2. Explicit requirements, constraints, and environment description – This information is required as part of requirements engineering and is used to be certain that all customer, user, and stakeholder concerns have been addressed.
  • 15. Analyzing Alternative Architectural Designs (Cont.): 3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements. 4. Evaluate quality attributes by considering each attribute in isolation. The number of quality attributes chosen for analysis is a function of the time available for review and the degree to which quality attributes are relevant to the system at hand. Quality attributes for architectural design assessment include reliability, performance, security, maintainability, flexibility, testability, portability, reusability, and interoperability. 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style. This can be accomplished by making small changes in the architecture and determining how sensitive a quality attribute, say performance, is to the change. Any attributes that are significantly affected by variation in the architecture are termed sensitivity points.
  • 16. Analyzing Alternative Architectural Designs (Cont.):  Quantitative Guidance for Architectural Design:- One of the many problems faced by software engineers during the design process is a general lack of quantitative methods for assessing the quality of proposed designs. The ATAM approach is representative of a useful but undeniably qualitative approach to design analysis. Work in the area of quantitative analysis of architectural design is still in its formative stages. A number of pseudo-quantitative techniques that can be used to complement the ATAM approach as a method for the analysis of architectural design quality have been suggested.
  • 17. Analyzing Alternative Architectural Designs (Cont.): 1. The first model, called spectrum analysis, assesses an architectural design on a “goodness” spectrum from the best to worst possible designs. Once the software architecture has been proposed, it is assessed by assigning a “score” to each of its design dimensions. 2. Design selection analysis is another model that requires a set of design dimensions to be defined. The proposed architecture is then assessed to determine the number of design dimensions that it achieves when compared to an ideal (best-case) system.
  • 18. Architectural Complexity:  A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components within the architecture. These dependencies are driven by information/control flow within the system.  There are 3 dependencies:- 1. Sharing Dependencies 2. Flow Dependencies 3. Constrained Dependencies
  • 19. Architectural Complexity (Cont.):  Sharing Dependencies – - It represents the dependence relationship among consumers who use the same resource or producers who produce for the same consumers.  Flow Dependencies – - It represents dependence relationship between producers and consumers of resources.  Constrained Dependencies – - It represents constraints on the relative flow of control among a set of activities.