0% found this document useful (0 votes)
6 views2 pages

Software Engineering Notes

The document covers key concepts in software engineering, including software reuse, object-oriented programming (OOP), software development life cycle (SDLC), debugging, software testing, and version control systems. It outlines the definitions, advantages, disadvantages, and processes associated with each topic. Additionally, it provides specific examples and Git commands related to version control.

Uploaded by

dancingblade66
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views2 pages

Software Engineering Notes

The document covers key concepts in software engineering, including software reuse, object-oriented programming (OOP), software development life cycle (SDLC), debugging, software testing, and version control systems. It outlines the definitions, advantages, disadvantages, and processes associated with each topic. Additionally, it provides specific examples and Git commands related to version control.

Uploaded by

dancingblade66
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Engineering Notes

1. What is Software Reuse?

Using existing software components like code, designs, or libraries in new projects to save time and improve quality.
Two Types:
- Systematic Reuse: Planned reuse (e.g., libraries).
- Opportunistic Reuse: Unplanned reuse of existing parts.

2. What is OOP (Object-Oriented Programming)?

A programming method that organizes code into objects and classes to make it modular and reusable.
Building Blocks:
- Class & Object: Blueprint and instance
- Encapsulation: Hides internal data
- Inheritance: Reuses code
- Polymorphism: One function behaves differently in different contexts
- Abstraction: Hides complexity

3. What is SDLC (Software Development Life Cycle)?

A process guiding software from idea to deployment through steps like planning, designing, building, testing, and
maintaining.
Advantages:
- Structured and organized
- Easier maintenance
- Better quality
- Good documentation
Disadvantages:
- Time-consuming
- Hard to change
- High planning
- Costly if errors appear late

4. What is Debugging?

The process of finding and fixing errors in a program.


Causes of Bugs:
- Syntax mistakes
- Wrong logic
- Runtime failures
- Developer errors
- Integration issues
Logical Bug Example:
A calculator using (a + b + c) / 2 instead of / 3 gives the wrong average.
Software Engineering Notes

5. What is Software Testing?

Checking software to ensure it works properly and meets requirements.


Levels:
- Unit Testing: Tests parts
- Integration Testing: Combined modules
- System Testing: Whole app
- Acceptance Testing: Final check by users

6. What is a Version Control System?

Tool to track and manage code changes (e.g., Git).


Git Commands:
- git add . : Stage all changes
- git commit -m "msg": Save with message
- git status: Check current state
- git pull: Update from remote
- git push: Upload to remote

You might also like