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

What's hot (20)

PPTX
SDLC
nethisip13
 
PDF
System ana
Twene Peter
 
PPTX
System Analysis & Design
Mustafa Ali
 
PPTX
System Analysis Methods
Hemant Raj
 
PDF
Architecture evaluation
RamanamurthyBanda1
 
PPTX
CIS 2303 LO1: Introduction to System Analysis and Design
Ahmad Ammari
 
PPT
SE - Software Requirements
Jomel Penalba
 
PPTX
System Analysis And Design 2011
tgushi12
 
DOCX
Introduction to system analysis and design
Twene Peter
 
PPT
SE chapters 6-7
Hardik Patel
 
PPTX
Cs8092 computer graphics and multimedia unit 5
SIMONTHOMAS S
 
PPTX
W4 lecture 7&8 - requirements gathering
Fareeha Iftikhar
 
PPT
Chapter02
Franco Valdez
 
PPTX
Software Development Methodologies-HSM, SSADM
Nana Sarpong
 
PDF
Availability Assessment of Software Systems Architecture Using Formal Models
Editor IJCATR
 
PPTX
SYSTEM ANALYSIS AND DESIGN Assignment help
john mayer
 
PPTX
System Analysis and Design (SAD)
Sachith Perera
 
PPT
Analysis concepts and principles
saurabhshertukde
 
PPTX
Lecture3
Inderpreet Kaur
 
System ana
Twene Peter
 
System Analysis & Design
Mustafa Ali
 
System Analysis Methods
Hemant Raj
 
Architecture evaluation
RamanamurthyBanda1
 
CIS 2303 LO1: Introduction to System Analysis and Design
Ahmad Ammari
 
SE - Software Requirements
Jomel Penalba
 
System Analysis And Design 2011
tgushi12
 
Introduction to system analysis and design
Twene Peter
 
SE chapters 6-7
Hardik Patel
 
Cs8092 computer graphics and multimedia unit 5
SIMONTHOMAS S
 
W4 lecture 7&8 - requirements gathering
Fareeha Iftikhar
 
Chapter02
Franco Valdez
 
Software Development Methodologies-HSM, SSADM
Nana Sarpong
 
Availability Assessment of Software Systems Architecture Using Formal Models
Editor IJCATR
 
SYSTEM ANALYSIS AND DESIGN Assignment help
john mayer
 
System Analysis and Design (SAD)
Sachith Perera
 
Analysis concepts and principles
saurabhshertukde
 
Lecture3
Inderpreet Kaur
 

Similar to Software Architectural & Data Design (20)

PPTX
data design and component design.pptx
ubaidullah75790
 
PPT
Se ii unit3-architectural-design
Ahmad sohail Kakar
 
PPT
software engineering unit-3 in software engineering
terala1
 
PPT
Design engineering
Vikram Dahiya
 
PPT
Design engineering
Vikram Dahiya
 
PPTX
Unit 5 design engineering ssad
Preeti Mishra
 
PPT
Artifical selection for enhancment for people Use
AssadLeo1
 
PPTX
UNIT_III_Design Engineering, design engineering, architecture, patterns, UML ...
MANOJ964697
 
PPTX
Architecture and UML diagrams, types of UML diagrams, types of architecture a...
MANOJ964697
 
PPT
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Bule Hora University
 
PPT
Unit 3 3 architectural design
Hiren Selani
 
PPT
Ch 9-design-engineering
SHREEHARI WADAWADAGI
 
PPTX
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 
PPTX
Design Engineering and Design concepts
JigyasaAgrawal7
 
PPTX
System analysis and design
RobinsonObura
 
PPTX
Design concepts
Karachi University
 
PDF
Block 1 ms-034 unit-2
Nirmal Jasmatiya
 
PPTX
Software design
Zulqarnaintayyab
 
PPT
software Design.ppt
Satyanandaram Nandigam
 
PPT
DESIGN CONCEPTS
VigneshSridhar17
 
data design and component design.pptx
ubaidullah75790
 
Se ii unit3-architectural-design
Ahmad sohail Kakar
 
software engineering unit-3 in software engineering
terala1
 
Design engineering
Vikram Dahiya
 
Design engineering
Vikram Dahiya
 
Unit 5 design engineering ssad
Preeti Mishra
 
Artifical selection for enhancment for people Use
AssadLeo1
 
UNIT_III_Design Engineering, design engineering, architecture, patterns, UML ...
MANOJ964697
 
Architecture and UML diagrams, types of UML diagrams, types of architecture a...
MANOJ964697
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Bule Hora University
 
Unit 3 3 architectural design
Hiren Selani
 
Ch 9-design-engineering
SHREEHARI WADAWADAGI
 
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 
Design Engineering and Design concepts
JigyasaAgrawal7
 
System analysis and design
RobinsonObura
 
Design concepts
Karachi University
 
Block 1 ms-034 unit-2
Nirmal Jasmatiya
 
Software design
Zulqarnaintayyab
 
software Design.ppt
Satyanandaram Nandigam
 
DESIGN CONCEPTS
VigneshSridhar17
 
Ad

Recently uploaded (20)

PDF
POWER PLANT ENGINEERING (R17A0326).pdf..
haneefachosa123
 
PDF
A presentation on the Urban Heat Island Effect
studyfor7hrs
 
PDF
PRIZ Academy - Change Flow Thinking Master Change with Confidence.pdf
PRIZ Guru
 
PPTX
Presentation on Foundation Design for Civil Engineers.pptx
KamalKhan563106
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PDF
13th International Conference of Networks and Communications (NC 2025)
JohannesPaulides
 
PDF
Non Text Magic Studio Magic Design for Presentations L&P.pdf
rajpal7872
 
PPTX
Cyclic_Redundancy_Check_Presentation.pptx
alhjranyblalhmwdbdal
 
PDF
UNIT-4-FEEDBACK AMPLIFIERS AND OSCILLATORS (1).pdf
Sridhar191373
 
PPTX
MPMC_Module-2 xxxxxxxxxxxxxxxxxxxxx.pptx
ShivanshVaidya5
 
PPTX
site survey architecture student B.arch.
sri02032006
 
PPTX
drones for disaster prevention response.pptx
NawrasShatnawi1
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PPTX
Coding about python and MySQL connectivity
inderjitsingh1985as
 
PPTX
Data_Analytics_Presentation_By_Malik_Azanish_Asghar.pptx
azanishmalik1
 
PDF
NOISE CONTROL ppt - SHRESTH SUDHIR KOKNE
SHRESTHKOKNE
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PDF
monopile foundation seminar topic for civil engineering students
Ahina5
 
PDF
1_ISO Certifications by Indian Industrial Standards Organisation.pdf
muhammad2010960
 
PDF
Statistical Data Analysis Using SPSS Software
shrikrishna kesharwani
 
POWER PLANT ENGINEERING (R17A0326).pdf..
haneefachosa123
 
A presentation on the Urban Heat Island Effect
studyfor7hrs
 
PRIZ Academy - Change Flow Thinking Master Change with Confidence.pdf
PRIZ Guru
 
Presentation on Foundation Design for Civil Engineers.pptx
KamalKhan563106
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
13th International Conference of Networks and Communications (NC 2025)
JohannesPaulides
 
Non Text Magic Studio Magic Design for Presentations L&P.pdf
rajpal7872
 
Cyclic_Redundancy_Check_Presentation.pptx
alhjranyblalhmwdbdal
 
UNIT-4-FEEDBACK AMPLIFIERS AND OSCILLATORS (1).pdf
Sridhar191373
 
MPMC_Module-2 xxxxxxxxxxxxxxxxxxxxx.pptx
ShivanshVaidya5
 
site survey architecture student B.arch.
sri02032006
 
drones for disaster prevention response.pptx
NawrasShatnawi1
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Coding about python and MySQL connectivity
inderjitsingh1985as
 
Data_Analytics_Presentation_By_Malik_Azanish_Asghar.pptx
azanishmalik1
 
NOISE CONTROL ppt - SHRESTH SUDHIR KOKNE
SHRESTHKOKNE
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
monopile foundation seminar topic for civil engineering students
Ahina5
 
1_ISO Certifications by Indian Industrial Standards Organisation.pdf
muhammad2010960
 
Statistical Data Analysis Using SPSS Software
shrikrishna kesharwani
 
Ad

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.