Week 1 Lecture: Software Development Life Cycles PDF

Summary

This document is a lecture on the Software Development Lifecycle (SDLC), covering its purpose, phases, and importance. It also introduces the Database Development Life Cycle (DBLC).

Full Transcript

CC105 – APPLICATIONS DEVELOPMENT AND EMERGING TECHNOLOGIES WEEK 1: INTRODUCTION TO SOFTWARE DEVELOPMENT LIFECYCLES INTRODUCTION TO SDLC  The Software Development Lifecycle (SDLC) is a structured process followed by software developers and teams to design, test, and deploy software systems ef...

CC105 – APPLICATIONS DEVELOPMENT AND EMERGING TECHNOLOGIES WEEK 1: INTRODUCTION TO SOFTWARE DEVELOPMENT LIFECYCLES INTRODUCTION TO SDLC  The Software Development Lifecycle (SDLC) is a structured process followed by software developers and teams to design, test, and deploy software systems effectively. PURPOSE OF SDLC  Ensures high-quality software delivery  Helps manage time, resources, and costs  Minimizes risks and errors during development. PHASES OF SDLC  Planning  Requirements Analysis  Design  Development  Testing  Deployment  Maintenance PHASES OF SDLC - PLANNING  Identify the purpose, goals, and feasibility of the software project.  Key activities include gathering initial requirements, conducting feasibility studies (technical, operation, and financial), defining project scope and risks, and creating a project plan or roadmap. PHASES OF SDLC – REQUIREMENTS ANALYSIS  Understand what the stakeholders need from the software  Key activities include elicit requirements through interviews, surveys, and workshops. Document requirements (e.g. functional and non-functional requirements), and validate and finalize the requirements. PHASES OF SDLC – DESIGN  Transform requirements into a detailed architecture and design  Key activities include design system architecture (e.g. modules, data flows, user interface), create detailed design documents, and choose tools, technologies, and frameworks. PHASES OF SDLC – DEVELOPMENT  Build the software system according to the design specifications.  Key activities include write and review code, implement system functionalities, and perform intial unit testing by developers. PHASES OF SDLC – TESTING  Identify and fix defects to ensure software quality  Key activities include conduct various tests (e.g unit, integration, system, and user acceptance testing), ensure that the software meets all requirements, and prepare test reports. PHASES OF SDLC - DEPLOYMENT  Release the software for use in the product environment  Key activities include deploy the software in stages (e.g. pilot or full roll-out), train end-users and provide documentation, and monitor initial performance and fix any critical issues PHASES OF SDLC - MAINTENANCE  Support and improve the software post-deployment  Key activities include fix bugs reported by users, enhance features based on user feedback, and perform regular updates to ensure compatibility and security. IMPORTANCE OF SDLC  Ensures clarity in project requirements and objectives  Reduces risks and improves quality control  Optimizes resource utilization and cost-effectiveness  Enhances collaboration between teams and stakeholders  Provides a clear structure for project monitoring and management CHALLENGES IN SDLC  Incomplete or changing requirements  Time and resource constraints  Inefficient communication among stakeholders  Technical challenges and integration issues BEST PRACTICES  Involve stakeholders in every phase  Regularly update documentation  Use version control systems for code management  Implement automated testing where possible  Monitor project progress through performance metrics DATABASE DEVELOPMENT LIFECYCLE DATABASE DEVELOPMENT LIFE CYCLE  The Database Development Life Cycle (DDLC) is a structured approach to designing, developing, and maintaining a database system.  This process ensures the database meets the requirements of users, is efficient, and is easy to manage. KEY PHASES OF DBLC 1. Planning Phase 2. Analysis Phase 3. Design Phase 4. Implementation Phase 5. Testing Phase 6. Deployment Phase 7. Maintenance Phase DBLC PLANNING PHASE  The objective of the planning phase of the DBLC is to define the scope and purpose of the database.  Importance of defining the scope and purpose of the database: 1. Establishing clear goals and expectations 2. Avoiding Scope Creep 3. Resource Allocation 4. Aligning with Business Needs 5. Facilitating Future Enhancements 6. Ensuring Data Quality and Integrity 7. Reducing Risks DBLC PLANNING PHASE - ACTIVITIES 1. Identifying Stakeholders (e.g. end-users, database administrators, developers 2. Understanding the business requirements and goals 3. Defining the data requirements for the organization 4. Creating a high-level plan for database development, timeline and resources. DBLC PLANNING PHASE – DELIVERABLES 1. Project Plan 2. Requirements Gathering Documentation DBLC ANALYSIS PHASE  The objective of the analysis phase is to analyze the business requirements and translate them into data requirements.  Importance of analyzing business requirements and translating them into data requirements 1. Aligning with business goals 2. Identifying essential data 3. Minimizing redundancy and inconsistencies 4. Enhancing user experiences 5. Scalability and future growth 6. Avoiding unnecessary features 7. Data security and compliance DBLC ANALYSIS PHASE - ACTIVITIES 1. Conducting interviews, surveys, and workshops with stakeholders. 2. Identifying entities, relationships, and constraints. 3. Defining functional and non-functional requirements. 4. Creating a detailed requirements specification document. DBLC ANALYSIS PHASE – DELIVERABLES 1. Entity-relationship Diagram 2. Data models and requirements specification documents DBLC DESIGN PHASE  The objective of the design phase is to translate the analysis into a detailed database structure.  Importance of translating the analysis into a detailed database structure 1. Aligning with business requirements 2. Efficiency and optimization 3. Scalability and flexibility 4. Clear structure for development 5. Data integrity 6. Avoids future issues 7. Improves communication DBLC DESIGN PHASE - ACTIVITIES 1. Conceptual Design: Defining the overall structure of the database (high-level design). Ex: Creating Entity-Relationship Diagram (ERD) or UML class diagrams. 2. Logical Design: Defining the logical structure of the database without physical considerations. Ex: Transforming ER diagrams into tables, columns, keys, and relationships. 3. Physical Design: Determining how the database will be physically implemented on storage systems. Ex: Indexing, partitioning, normalization, and denormalization. DBLC DESIGN PHASE - DELIVERABLES 1. Entity-Relationship Diagram 2. Normalized Relational Schema 3. Database Design Document DBLC IMPLEMENTATION PHASE  The objective of the implementation phase is to build the database according to the design specifications.  Importance of building the database according to the design specifications 1. Ensures Consistency and Integrity 2. Meets User Requirements 3. Optimizes Performance 4. Avoids Future Issues 5. Facilitates Collaboration 6. Supports Scalability and Flexibility 7. Reduces Errors and Rework DBLC IMPLEMENTATION PHASE - ACTIVITIES 1. Creating the database schema. 2. Writing and testing SQL queries and stored procedures. 3. Implementing integrity constraints (e.g., primary keys, foreign keys). 4. Loading data into the database from existing systems or external sources. DBLC IMPLEMENTATION PHASE - DELIVERABLES 1. Fully functional database 2. Data migration scripts (if applicable) DBLC TESTING PHASE  The objective of the testing phase is to ensure the database performs as expected under real-world conditions.  Importance of ensuring that the database performs as expected 1. Reliable User Experience 2. Scalability 3. Efficiency 4. Cost Management 5. Data Integrity and Security 6. Predictable Performance DBLC TESTING PHASE - ACTIVITIES 1. Unit Testing: Testing individual components (tables, queries) 2. Integration Testing: Ensuring different database components work together. 3. Performance Testing: Checking if the database meets performance benchmarks (e.g., speed, scalability). 4. Security Testing: Ensuring the database is secure from unauthorized access. DBLC TESTING PHASE - DELIVERABLES 1. Test Case and Reports 2. Bug fixes and performance optimization DBLC DEPLOYMENT PHASE  The objective of the deployment phase is to deploy the database for use in a production environment.  Importance 1. Making the system available for the users 2. Ensuring Data Accessibility and Integrity 3. Configuring and Securing Access 4. Migrating Data from Legacy Systems 5. Performance and Load Testing 6. User Training and Support 7. Setting Up Monitoring and Maintenance Plans 8. Compliance and Security Regulations DBLC DEPLOYMENT PHASE - ACTIVITIES 1. Installing the database on production servers. 2. Configuring user access and permissions. 3. Migrating data from old systems (if necessary). 4. Training end-users on how to use the database system. DBLC DEPLOYMENT PHASE - DELIVERABLES 1. Deployed database system 2. User manuals and training materials DBLC MAINTENANCE EPHASE  The objective of the maintenance phase is to ensure the database remains effective, secure, and efficient over time.  Importance 1. Data Integrity and Accuracy (Effectiveness) 2. Performance Optimization (Efficiency) 3. Security and Data Protection (Security) 4. Adaptation to Changing Requirements (Effectiveness) 5. Cost Efficiency (Efficiency) 6. Legal and Compliance (Security) DBLC MAINTENANCE PHASE - ACTIVITIES 1. Monitoring database performance and user feedback. 2. Applying patches, updates, and backups regularly. 3. Handling database optimization and refactoring. 4. Managing user roles and security protocols. DBLC DEPLOYMENT PHASE - DELIVERABLES 1. Maintenance Logs 2. Updated System Documentation KEY CONCEPTS OF DBLC Normalization vs. Denormalization Normalization reduces data redundancy, while denormalization is used for performance optimization by introducing some redundancy. KEY CONCEPTS OF DBLC Indexes: Indexing improves query performance, but excessive indexing may degrade performance in data modification operations (insert/update/delete). KEY CONCEPTS OF DBLC Data Integrity Ensuring accuracy and consistency of the data is critical. This includes enforcing constraints like primary keys, foreign keys, and unique constraints. KEY CONCEPTS OF DBLC Security Protecting sensitive data through encryption, secure access control, and regular audits. NETWORK DEVELOPMENT LIFECYCLE NETWORK DEVELOPMENT LIFECYCLE  The Network Development Life Cycle (NDLC) is a structured approach to planning, designing, implementing, and maintaining network systems.  It helps ensure that network infrastructure is reliable, scalable, secure, and aligned with business goals.  By following a systematic lifecycle, organizations can avoid common network issues and enhance performance. KEY PHASES OF NDLC 1. Planning 2. Design 3. Implementation 4. Testing 5. Deployment 6. Maintenance NDLC PLANNING PHASE  The objective of the planning phase is to define the network's scope and requirements, aligning with business needs.  Importance of defining the network’s scope and requirements 1. Clear Understanding of Network Goals 2. Resource Allocation and Budget Management 3. Security and Data Protection (Security) 4. Ensuring Business Continuity 5. Security and Compliance 6. Performance and Reliability 7. Risk Reduction NDLC PLANNING PHASE – ACTIVITIES 1. Identify the business goals and how the network will support them. 2. Assess current network infrastructure and performance. 3. Determine network capacity, coverage, and security needs. 4. Define budget, timelines, and resources required for the network project. 5. Engage stakeholders to ensure alignment with organizational objectives. NDLC PLANNING PHASE – DELIVERABLES 1. Project plan and timeline 2. Network requirements and scope document 3. Budget and resource allocation NDLC DESIGN PHASE  The objective of the design phase is to create a blueprint of the network based on the requirements and constraints identified in the planning phase.  Importance of creating a blueprint of the network 1. Clear Direction for Implementation 2. Alignment with Business Goals and Needs 3. Resource and Cost Optimization 4. Scalability and Flexibility 5. Risk Reduction 6. Enhanced Security 7. Better Communication and Collaboration 8. Compliance with Standards and Regulations NDLC DESIGN PHASE - ACTIVITIES 1. Logical Design: Define network architecture, such as IP addressing, routing protocols, and data flow. 2. Physical Design: Plan the physical infrastructure, including hardware (routers, switches, cables) and network topology (star, mesh, etc.). 3. Security Design: Define security measures such as firewalls, intrusion detection systems (IDS), and access controls. 4. Consider factors like redundancy, load balancing, scalability, and failover mechanisms. 5. Compliance: Ensure the design complies with industry standards and regulations. NDLC DESIGN PHASE – DELIVERABLES 1. Network architecture and topology diagram 2. Detailed design document (logical and physical) 3. Security design document NDLC IMPLEMENTATION PHASE  The objective of the implementation phase is to set up the network according to the design specifications..  Importance of setting up the network according to the design specifications. 1. Consistency with Planning and Design 2. Optimal Performance 3. Scalability 4. Security Assurance 5. Reduced Downtime and Errors 6. Cost Efficiency 7. Compliance with Standards and Regulations NDLC IMPLEMENTATION PHASE - ACTIVITIES 1. Procure the required hardware and software for the network. 2. Set up physical components such as routers, switches, firewalls, and cabling. 3. Install and configure networking software, including operating systems, network management tools, and security software. 4. Implement the designed network topology and connectivity. 5. Configure IP addresses, subnetting, and routing protocols. 6. Test the network for basic connectivity, performance, and security features. NDLC IMPLEMENTATION PHASE – DELIVERABLES 1. Fully functional network infrastructure 2. Configuration files and setup documentation 3. Test reports on initial functionality NDLC TESTING PHASE  The objective of the testing phase is to ensure the network operates as expected under real-world conditions.  Importance of ensuring that the network operates as expected. 1. Validating Functionality 2. Performance Assurance 3. Identifying Potential Issues 4. Security Verification 5. Scalability and Adaptability 6. User Experience Validation NDLC TESTING PHASE - ACTIVITIES 1. Perform functionality tests, such as pinging devices, checking routing, and verifying IP addressing. 2. Test for performance, including throughput, latency, and bandwidth. 3. Conduct security tests, such as penetration testing, vulnerability assessments, and firewall configurations. 4. Validate network reliability and redundancy by simulating failures and observing failover mechanisms. 5. Test network integration with other systems (e.g., databases, servers). NDLC TESTING PHASE – DELIVERABLES 1. Test plans and reports 2. Identified issues and resolutions 3. Performance and security validation documents NDLC DEPLOYMENT PHASE  The objective of the deployment phase is to deploy the network into the production environment.  Importance of deploying the network. 1. Real-World Operation 2. Minimal Disruption to Business Operations 3. User Access and Configuration 4. Implementation of Backup and Recovery Plans 5. System Integration 6. Training and Knowledge Transfer 7. Monitoring and Fine-Tuning NDLC DEPLOYMENT PHASE - ACTIVITIES 1. Install the network in the live environment and ensure minimal disruption to business operations. 2. Provide user access, configure permissions, and ensure proper connectivity. 3. Implement backup solutions and disaster recovery plans. 4. Provide training for network administrators and users on proper network usage and maintenance. 5. Monitor the network closely during the initial deployment phase for any issues. NDLC DEPLOYMENT PHASE - DELIVERABLES 1. Deployed network in production 2. Network usage and access documentation 3. End-user and administrator training materials NDLC MAINTENANCE PHASE  The objective of the maintenance phase is to ensure the network continues to operate efficiently and securely over time.  Importance of ensuring that the network continues to operate efficiently and securely 1. Consistent Performance 2. Security and Data Protection 3. Reliability and Availability 4. Adaptability to Changing Needs 5. Cost Efficiency 6. Legal and Compliance Adherence NDLC MAINTENANCE PHASE - ACTIVITIES 1. Monitor network performance regularly to detect issues such as congestion, downtime, or degraded performance. 2. Apply software and hardware updates, including security patches and firmware upgrades. 3. Conduct routine backups and ensure disaster recovery plans are up to date. 4. Review security protocols and configurations periodically to prevent breaches. 5. Scale the network as needed to support increased demand and future growth. 6. Provide ongoing support to resolve network issues and optimize performance. NDLC MAINTENANCE PHASE - DELIVERABLES 1. Monitoring reports 2. Patches and update logs Performance improvement reports 3. Scalability planning documents KEY CONCEPTS OF NDLC Network Topology The layout of how different network devices (e.g., routers, switches) are connected. Common topologies include bus, ring, star, and mesh. KEY CONCEPTS OF NDLC Redundancy and Failover Redundancy ensures that backup paths exist in case a primary link or device fails, improving reliability and uptime. KEY CONCEPTS OF NDLC Quality of Service (QoS) Refers to managing network resources to ensure that critical applications receive priority in terms of bandwidth, latency, and packet loss. KEY CONCEPTS OF NDLC Network Security Implementing measures like firewalls, encryption, access control, and intrusion detection systems to protect the network from unauthorized access and cyber threats. KEY CONCEPTS OF NDLC Network Scalability Designing the network so that it can handle increased traffic and new devices as the organization grows without major redesigns. WEB DEVELOPMENT LIFECYCLE WEB DEVELOPMENT LIFECYCLE  The Web Development Life Cycle (WDLC) is a systematic approach to developing, deploying, and maintaining websites and web applications.  It includes multiple phases that ensure the website is functional, user-friendly, secure, and scalable.  By following a structured cycle, developers can meet the needs of users, adhere to business goals, and create a high-quality web presence. KEY PHASES OF WDLC 1. Planning and Requirements Gathering 2. Design 3. Development 4. Testing 5. Deployment 6. Maintenance and Updates WDLC PLANNING AND REQUIREMENTS GATHERING PHASE  The objective of the planning and requirements gathering phase is to define the purpose, goals, and scope of the web project. IMPORTANCE OF DEFINING THE PURPOSE, GOALS, AND SCOPE OF A WEB PROJECT 1. Clarity of Vision 2. Guides Decision-Making 3. Resource Allocation 4. Helps Identify Requirements 5. Stakeholder Alignment 6. Measurable Success Criteria 7. Project Scope Management 8. Risk Management 9. User-Centered Development 10. Improved Time Management WDLC PLANNING AND REQUIREMENTS GATHERING PHASE - ACTIVITIES 1. Identify stakeholders and gather requirements (target audience, functionality, design preferences, etc.). 2. Define the business objectives and how the website will achieve them. 3. Analyze competitors and perform market research. 4. Determine the technology stack (e.g., front-end, back-end, database, etc.). 5. Create a project timeline and set realistic milestones. 6. Define key performance indicators (KPIs) for success (e.g., user engagement, traffic, conversions). WDLC PLANNING AND REQUIREMENTS GATHERING PHASE - DELIVERABLES 1. Requirements document 2. Project scope 3. Timeline and resource plan 4. Target audience analysis WDLC DESIGN PHASE  The objective of the design phase is to create the visual and functional blueprint of the website or application. IMPORTANCE OF CREATING THE VISUAL AND FUNCTIONAL BLUEPRINT OF THE WEBSITE OR APPLICATION 1. Clarifies Project Vision 2. Improves User Experience (UX) 3. Prevents Scope Creep 4. Saves Time and Resources 5. Ensures Consistency 6. Supports Cross-Device Compatibility 7. Facilitates Communication 8. Optimizes Content Layout 9. Identifies Functional Requirements Early 10. Enhances Brand Identity WDLC DESIGN PHASE - ACTIVITIES 1. Wireframing: Design wireframes or prototypes to outline the layout, content structure, and navigation flow. 2. UI/UX Design: Focus on user interface (UI) and user experience (UX), ensuring the design is visually appealing and user-friendly. 3. Choose color schemes, typography, and graphic elements. 4. Plan the responsiveness of the design to ensure compatibility across devices (desktop, tablet, mobile). 5. Define the content management structure (e.g., how content will be organized and updated). WDLC DESIGN PHASE - DELIVERABLES 1. Wireframes and prototypes 2. Visual design mockups 3. UI/UX design documentation 4. Responsive design plans WDLC DEVELOPMENT PHASE  The objective of the development phase is to convert the design into a functional website or application. IMPORTANCE OF CONVERTING THE DESIGN INTO A FUNCTIONAL WEBSITE OR APPLICATION 1. Realization of Vision 2. User Interaction 3. Implementation of Functionality 4. Ensures Business Goals Are Met 5. Improves User Experience 6. Optimization for Performance 7. Security Implementation 8. Foundation for Testing 9. Adaptability and Scalability 10. Enables Feedback Collection WDLC DEVELOPMENT PHASE - ACTIVITIES 1. Front-End Development: Write the HTML, CSS, and JavaScript code to create the website’s layout and interactivity. Use frameworks like React, Angular, or Vue.js if needed. 2. Back-End Development: Build the server-side functionality, including database management, user authentication, and server-side logic. Use technologies like PHP, Node.js, Python, or Ruby. 3. Database Integration: Set up and integrate databases (e.g., MySQL, MongoDB) to store and manage data. 4. Ensure the website is optimized for speed, security, and performance. 5. Integrate APIs and third-party services (e.g., payment gateways, social media sharing). 6. Perform unit testing for individual components. WDLC DEVELOPMENT PHASE - DELIVERABLES 1. Working front-end and back-end code 2. Database schema and integration 3. Integration with external services/APIs 4. Performance and optimization reports WDLC TESTING PHASE  The objective of the testing phase is to ensure the website functions as expected and is free of bugs and issues. IMPORTANCE OF TESTING IN WEB DEVELOPMENT: ENSURE THE WEBSITE FUNCTIONS AS EXPECTED AND IS FREE OF BUGS AND ISSUES 1. Quality Assurance 2. User Satisfaction 3. Prevention of Downtime 4. Security 5. Compliance 6. Performance Optimization 7. Cost Savings 8. Smooth Launch 9. Brand Reputation 10. Continuous Improvement WDLC TESTING PHASE - ACTIVITIES 1. Functional Testing: Test all features and functionalities of the website, including forms, navigation, search, and interactive elements. 2. Compatibility Testing: Ensure the website works across various browsers (Chrome, Firefox, Safari, etc.) and devices (desktop, tablet, mobile). 3. Performance Testing: Test the load speed, server response time, and scalability under heavy traffic conditions. 4. Security Testing: Perform security audits and tests to identify vulnerabilities (e.g., SQL injection, cross-site scripting). 5. User Acceptance Testing (UAT): Get feedback from end-users or stakeholders to validate the design and functionality. 6. Bug Fixing: Address any bugs or issues identified during testing WDLC TESTING PHASE - DELIVERABLES 1. Test plans and test cases 2. Testing reports and issue logs 3. Bug fixes and updates WDLC DEPLOYMENT PHASE  The objective of the deployment phase is to launch the website or application for public access. IMPORTANCE OF LAUNCHING THE WEBSITE OR APPLICATION FOR PUBLIC ACCESS 1. Public Availability 2. Business Exposure 3. User Engagement 4. Achieving Business Goals 5. Feedback Collection 6. SEO and Search Engine Visibility 7. Building Brand Credibility 8. Market Differentiation 9. Promotion and Marketing 10. Monitoring and Optimization WDLC DEPLOYMENT PHASE - ACTIVITIES 1. Set up the web server and deploy the application to a live environment. 2. Configure domains and set up web hosting. 3. Ensure that the database is properly configured and linked to the live environment. 4. Perform final checks for security, performance, and usability. 5. Ensure proper search engine optimization (SEO) practices are in place for visibility on search engines. 6. Monitor the site after launch for issues and performance. WDLC DEPLOYMENT PHASE - DELIVERABLES 1. Deployed website on a live server 2. Final website configurations and optimizations 3. Domain and hosting setup 4. SEO and metadata setup WDLC MAINTENANCE AND UPDATES PHASE  The objective of the maintenance and updates phase is to ensure the website remains functional, secure, and up-to-date. IMPORTANCE OF ENSURING THE WEBSITE REMAINS FUNCTIONAL, SECURE, AND UP-TO-DATE 1. Functionality Maintenance 2. Security Protection 3. Up-to-Date Content 4. Compliance with Legal and Regulatory Standards 5. Search Engine Optimization (SEO) 6. User Experience (UX) Improvement 7. Performance Optimization 8. Adaptation to Technological Changes 9. Competitive Edge 10. Long-Term Sustainability WDLC MAINTENANCE AND UPDATES PHASE - ACTIVITIES 1. Monitoring: Continuously monitor the website’s performance and user behavior to identify any issues or opportunities for improvement. 2. Security Updates: Apply patches, updates, and security fixes to protect against vulnerabilities and hacks. 3. Content Updates: Regularly update content, images, and features to keep the website fresh and relevant. 4. Backup and Recovery: Ensure regular backups are taken, and recovery procedures are in place in case of data loss or site failure. 5. User Feedback: Gather feedback from users and stakeholders to make improvements to the website’s design, functionality, or performance. WDLC MAINTENANCE AND UPDATES PHASE - DELIVERABLES 1. Regular updates and patches 2. Backups and recovery plans 3. User feedback reports 4. Performance monitoring reports KEY CONCEPTS OF WDLC Responsive Design Ensuring that the website provides a good user experience across different devices (desktop, tablet, mobile). KEY CONCEPTS OF WDLC SEO (Search Engine Optimization) Optimizing the website so that it ranks well in search engine results and attracts more traffic. KEY CONCEPTS OF WDLC Version Control Using tools like Git to manage and track changes in code, ensuring collaboration and reducing errors. KEY CONCEPTS OF WDLC Security Protecting the website from attacks such as cross- site scripting (XSS), SQL injection, and other vulnerabilities by implementing security best practices. KEY CONCEPTS OF WDLC Scalability Designing the website to handle growth in traffic, users, and content without compromising performance. THAT’S IT! END OF THE LESSON NA MAY QUIZ NA

Use Quizgecko on...
Browser
Browser