Here's a simplified explanation and easy-to-understand study notes based on your Lecture 1: Introduction to Software
Engineering from Engr. Mohammad Nawaz Mirwani.
🧠 Lecture Summary: Introduction to Software Engineering
🎯 Learning Objectives
By the end of this lecture, you should:
Understand what Software Engineering is.
Know why it is important.
Be able to answer common questions about the field.
🤔 What is Software Engineering?
Software Engineering = A field of engineering that deals with creating software in a disciplined and organized way.
It includes all stages: Planning ➝ Building ➝ Testing ➝ Maintaining software.
🗨️First used in 1968 during a NATO conference to describe the software crisis.
📢 Why is it Important?
Software is used everywhere (phones, banks, airplanes, hospitals).
Bad software causes big problems:
o Late projects
o High costs
o Unreliable systems
o Difficult to fix or improve
💣 Examples of Software Crisis
1. Flight Delay (2009) – Air traffic system glitch delayed UK flights.
2. Ariane 5 Rocket Crash – $7 billion loss because of a simple math error.
3. London Ambulance (1992) – System failure caused 46 deaths due to mismanagement.
➡️Lesson: Software must be made carefully and correctly.
📦 What is Software?
Programs + documentation (how to use and maintain them).
Two types:
1. Generic – For everyone (e.g., MS Word, games).
2. Customized – For one client (e.g., hospital systems).
🧪 Attributes of Good Software
🔄 Software Process (4 Steps)
1. Specification – What should the software do?
2. Development – Design & coding
3. Validation – Testing and checking
4. Evolution – Updating and improving
🔁 Software Process Models
1. Waterfall Model – Step-by-step.
2. Iterative Development – Repeating cycles.
3. CBSE (Component-Based Software Engineering) – Using pre-made parts.
💰 Cost of Software
60% of cost = development
40% of cost = testing
For long-term software, maintenance costs more than development.
🛠️What is CASE?
Computer-Aided Software Engineering
Tools that help in:
o Design
o Debugging
o Testing
o Requirements analysis
❓ FAQs on Software Engineering
⚠️Challenges in SE
📝 Easy Tips for Exam
Learn the 4 main software activities.
Understand the types of software (Generic vs. Customized).
Know real-life examples of software failures.
Memorize key differences: Software Engineering vs Computer Science.
Be ready to explain why SE is important.
Thanks for sharing your second lecture! Let's break it down into very easy notes and explain everything so you can revise
quickly for your exam tomorrow.
🧠 Lecture 2: Software Process (Easy Notes)
Teacher: Engr. Mohammad Nawaz Mirwani
Course: Software Engineering | BSCS 5th & BS(IT) 5th Semester
🚀 What is a Software Process Model?
A software process model is like a map or plan to build software.
It organizes all the steps (activities) needed to develop a system.
It’s also called a software development life cycle (SDLC).
👉 4 Main Activities in a Software Process:
1. Specification – What should the software do?
2. Design & Implementation – How to build it?
3. Validation – Does it work correctly?
4. Evolution – Update it when needed.
🧱 Generic Process Models (Types of Software Development Plans)
1. 🪜 Waterfall Model
o The oldest and most basic model.
o Work is done step-by-step (you finish one step, then go to the next).
o No going back! (Like water flowing down a waterfall).
o Steps:
1. Requirement Specification
2. Design
3. Implementation (Coding)
4. Testing
5. Maintenance
✅ Easy to manage, ❌ But not flexible.
2. 🔁 Evolutionary Development
o You start with a simple version of the software.
o Keep improving it with customer feedback.
o Useful when requirements are not clear at the beginning.
✅ Good for changing requirements, ❌ Might be less structured.
3. 🧩 Component-Based Software Engineering (CBSE)
o Software is built by reusing existing parts (components).
o Like using Lego blocks instead of creating everything from scratch.
✅ Fast and efficient, ❌ Finding good components can be hard.
💬 Summary Table
📝 Final Tip for Exam:
Focus on understanding the differences between the three models.
Remember the main four steps in any software process.
Think of real-life examples like:
o Waterfall → Government project
o Evolutionary → Mobile app updates
o CBSE → E-commerce website