Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information & Communication Technology Engineering/
  4. ICT Semester 5/
  5. Software Engineering (4353202)/

2 mins· ·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Unit 1: Introduction to Software Engineering

Unit 1: Introduction to Software Engineering

Software Engineering (4353202)

1.1: Introduction to Software & Application Domains

What is Software?

Software is a collection of computer programs, procedures, and documentation that performs tasks on a computer system.

Key Components: Programs + Documentation + Procedures

Software Characteristics

  • Intangible: Cannot be touched, only experienced.
  • Developed: It is engineered, not manufactured in the classical sense.
  • Maintainable: Can be modified and updated.
  • Reliable: Should work consistently.
  • Efficient: Uses resources optimally.

Software Application Domains

DomainDescription
System SoftwareOperating systems, device drivers
Application SoftwareWord processors, games, business apps
Engineering/Scientific SoftwareCAD, simulation tools
Embedded SoftwareReal-time control systems
Web ApplicationsBrowser-based applications
AI SoftwareMachine learning, expert systems

1.2: Software Engineering - A Layered Approach

graph TD A(A Quality Focus) --> B(Process) B --> C(Methods) C --> D(Tools)

Software engineering is a layered technology. The layers are the foundation for software engineering.

1.3: Programs vs. Software Products

A **program** is a set of instructions. A **software product** is a licensed and packaged program or set of programs for sale.

AspectProgramSoftware Product
ScopeSingle, specific taskCollection of integrated features
DocumentationMinimal or noneExtensive user and system docs
LifecycleShort, often for personal useLong, involves maintenance and updates

1.4: Software Process & Engineering Methods

Software Process

A software process is a set of related activities that leads to the production of a software product.

Software Engineering Methods

Provide the technical "how-to's" for building software. Methods encompass a broad array of tasks that include communication, requirements analysis, design modeling, program construction, testing, and support.

1.5: Generic Framework & Umbrella Activities

Generic Process Framework

A process framework establishes the foundation for a complete software engineering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.

graph LR A[Communication] --> B[Planning] B --> C[Modeling] C --> D[Construction] D --> E[Deployment]

Umbrella Activities

Umbrella activities are a set of activities that are applied throughout the software process.

  • Software project tracking and control
  • Risk management
  • Software quality assurance
  • Technical reviews
  • Software configuration management