Lesson 7: Application of Software Engineering

Web Application - A web application is a program that is hosted on a remote server and   accessed via the internet through a browser

Web Server - The receptionist

Application Server - The worker

Requires a web server and an application server 

Key Points:

        Hosted on a Remote Server

        Accessed via the Internet

        Accessible Anywhere

        Flexible and Scalable

        Uses Database for Storage 


Primary Contrast

Web Application

Web Service

Website

To allow users to perform tasks interactively through a

web interface

To enable communication and data exchange between systems

To provide

informational content or services


Mobile Application

- is a software program designed to run on portable, wireless devices like smartphones and tablets, as opposed to desktop or laptop computers.

Key Points: 

  • Runs on Portable Devices 

  • Downloaded from App Stores 

  • Optimized for Touchscreen 

  • Access to Device Features 

  • Offline Functionality 

  • Push Notification 

Defining Difference

Feature

Web Application

Mobile Application

Access

Browser-based, internet required

Downloaded from app store

Installation

No installation required

Must be installed on device

Internet

Requires an internet connection

Can function offline in some cases

UI/UX

Responsive design for various devices

Optimized for mobile devices with touchscreen input

Updates

Automatic updates via the server

Manual updates through app stores

Cost of

Development

Cheaper

More expensive

Performance

Dependent on internet speed and browser capabilities

Faster and smoother performance

Enterprise Software

- refers to computer programs designed to meet the complex needs of large organizations, facilitating efficient management of various business processes such as data analysis, sales, marketing, and customer service


Important in Businesses because - it enhances operational efficiency by automating tasks and streamlining processes, leading to increased productivity and cost savings.


Key Characteristics

Scalability

- Supports large operations and growth without affecting performance. 

Security

- Incorporates advanced measures to protect sensitive data and ensures compliance with regulations. 

Integration with Other Systems

- Connects with existing applications for smooth data exchange and automation. 

High Availability and Reliability

- Maintains continuous operations with minimal downtime. 

Types of Enterprise Software

Enterprise Resource Planning (ERP)

- Integrates various core business processes, including finance, inventory management, and human resources, into a unified system.

Examples: SAP ERP, Oracle NetSuite, Microsoft

Customer Relationship Management (CRM)

- Helps businesses manage customer interactions, track sales, and improve customer retention. 

Examples: Salesforce, HubSpot CRM, Zoho CRM 

Supply Chain Management (SCM)

- Oversees the entire flow of goods, from production to delivery,\ensuring efficiency and cost effectiveness.

Examples: SAP SCM, Oracle SCM Cloud, JDA Software (now Blue Yonder)

Human Resource Management Systems (HRMS)

- Handles employee-related processes such as payroll, recruitment, performance management, and benefits administration.

Examples: Workday HCM, ADP Workforce Now, BambooHR

Business Intelligence (BI)

- Analyzes data to provide valuable insights that support strategic decision-making.

Examples: Tableau, Power BI (Microsoft), QlikView

Benefits

Challenges

Improved Efficiency & Productivity

High Initial Costs

Centralized Data Management

Complexity in Implementation

Better Decision-Making Through Analytics

Integration with Legacy Systems

Cost Reduction and Automation

User Training and Adoption

Future Trends in Enterprise Software

Cloud-Based Solutions and SaaS

- Offers scalability and flexibility, reducing the need for on-premises infrastructure.

Internet of Things (IoT) Integration

- Connects devices for smarter operations and real-time data collection.

Artificial Intelligence and Automation

- Enhances data analysis and automates routine tasks, improving efficiency.

Enhanced Cybersecurity Measures

- Addresses evolving security threats to protect organizational data

Embedded Systems

- is a microprocessor-based computer hardware system with software that is designed to perform a dedicated function, either as an independent system or as a part of a larger system.

Key Components

Microcontroller & Microprocessor

Memory

Software & Firmware

ADCs & DACs

Timers and Counters

Power Supply & Management

Communication Interfaces

Input Devices

Output Devices


Types of Embedded Systems

Standalone Embedded Systems

- Operate independently without relying on external systems or networks. Examples: Air Traffic Control Systems, Automotive Airbags

Real-Time Embedded Systems

- Used in time-sensitive applications where real-time response is critical. Examples: Sensor Networks 

Mobile Embedded Systems

- Designed for portability and low power consumption.

Examples: Smart Home Devices, IoT Devices

Applications of Embedded Systems

  • Consumer Electronics

  • Healthcare

  • Automotive Industry

  • Internet of Things

Key Challenges

Potential Solutions

Resource Constraints

Efficient Resource Management

Energy Consumption

Energy Management

Real-Time Performance

RTOS Implementation

Security

Security Measures

Complex Development

Development Tools

Testing Reliability

Comprehensive High-Level API

Scalability and Flexibility

Embedded Systems are essential to modern technology, powering everything from smart homes and automobiles to healthcare and industrial automation. With advancements in AI, IoT, and edge computing, they are becoming more intelligent, efficient, and connected.


AI and Machine Learning Software

TensorFlow

- suitable for both small projects and large enterprise applications.

        Strong Community and Support

        Comprehensive Ecosystem

        Scalability & Flexibility

PyTorch

- preferred by researchers due to its dynamic computation graphs and ease of experimentation.

        TorchScript for Production

        Strong Research Adoption

        Dynamic Computation Graphs

Scikit-Learn

- simplifies traditional machine learning with an easy-to-use API and seamless integration with Python libraries.

        Easy-to-Use API

        Integration with Python Ecosystem

        Increased Operational Efficiency 

Microsoft Azure 

Machine Learning

- ideal for enterprises, offering cloud-based Al tools and automated machine learning (AutoML)

        Integration with Microsoft Services

        Automated ML (AutoML)

        Cloud-Based Machine Learning

Keras

- Makes deep learning accessible with a high-level API and pre-trained models for quick prototyping.

Amazon SageMaker

- provides an end-to-end machine learning platform, integrating seamlessly with  AWS services for scalability and efficiency.

        Effortless AWS Integration

        Pre-Packaged Algorithms and AutoML

        Comprehensive Machine Learning Service

IBM Watson Studio

- Focuses on AI-driven business insights, collaboration, and hybrid cloud deployment.

        AI-Driven Insights

        Collaboration and Management 



robot