Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 9

UNIVERSITY INSTITUTE OF COMPUTING

UNIT-3
Bachelor of Computer Applications
Software Engineering
(21CAT-312/21SCT-312/22CAT-213/22SCT-213)

DISCOVER . LEARN . EMPOWER


Topics to be Covered
• Procedural Design
Introduction of Software Design
• Software design is a process to conceptualize the software requirements into
software implementation. Software design takes the user requirements as
challenges and tries to find optimum solution.
• While the software is being conceptualized, a plan is chalked out to find the best
possible design for implementing the intended solution.
Data Design
• Introduction: Data design is the first design activity, which results in less
complex, modular and efficient program structure. The information domain model
developed during analysis phase is transformed into data structures needed for
implementing the software.
• The data objects, attributes, and relationships depicted in entity relationship
diagrams and the information stored in data dictionary provide a base for data
design activity. During the data design process, data types are specified along with
the integrity rules required for the data.
• Data design in software engineering refers to the process of designing the
structure, organization, and management of data within a software system. It
involves determining how data will be stored, accessed, manipulated, and secured
to meet the requirements of the software application.
Data Design
• Here are some key aspects of data design:
1. Data Modeling: Data modeling is the process of creating a conceptual
representation of the data entities, attributes, and relationships within a system. It
typically involves the use of entity-relationship diagrams (ERDs) or Unified
Modeling Language (UML) diagrams to visualize the data structure. Data
modeling helps in understanding the data requirements and creating a blueprint for
database design.

2. Database Design: Database design involves transforming the conceptual data


model into a physical database schema. It includes defining tables, columns, data
types, constraints, and relationships. Database design decisions such as
normalization, denormalization, indexing, and partitioning are made to optimize
data storage and retrieval performance.
Data Design
3. Data Integrity: Ensuring data integrity is crucial for maintaining the accuracy
and consistency of data within a software system. Techniques such as primary key
constraints, foreign key constraints, unique constraints, and check constraints are
used to enforce data integrity rules. Validation mechanisms and business rules are
also implemented to prevent invalid or inconsistent data from entering the system.
4. Data Storage and Access: Determining how data will be stored and accessed is
an important aspect of data design. This includes selecting appropriate data
storage technologies such as relational databases, NoSQL databases, file systems,
or in-memory data stores based on the specific requirements of the application.
Designing efficient data access mechanisms, such as indexing strategies and query
optimization, is also important for achieving optimal performance.
Data Design
5. Data Security: Protecting data from unauthorized access, modification, or loss is
critical in software systems. Data design involves implementing appropriate
security measures, such as access controls, encryption, and data backup strategies,
to safeguard sensitive data. Compliance with privacy regulations and industry
standards is also taken into consideration.

6. Data Integration: In many software systems, data needs to be integrated from


multiple sources or shared across different components. Data design involves
defining mechanisms for data integration, such as data import/export, data
synchronization, or integration with external systems through APIs. Designing
data interfaces and protocols ensures seamless data exchange between different
parts of the system.
Data Design
7. Data Migration and Transformation: When transitioning from an existing
system or when making significant changes to the data structure, data migration
and transformation may be required. Data design includes planning and executing
the migration process, mapping data from the old system to the new system, and
ensuring data consistency during the transition.

• Overall, data design focuses on creating a well-organized and efficient data


structure that meets the functional and performance requirements of the software
system while ensuring data integrity and security. It is a crucial aspect of software
engineering that impacts the overall reliability and usability of the software
application.

You might also like