Scope of Software Engineering
Introduction
The Scope refers to everything it includes and deals with.
Software engineering isn’t just about writing code. It’s the whole process from understanding what users
need, designing, building, testing, delivering, and maintaining software in a clear, reliable, and efficient
way.
● Reliable (works correctly)
● Efficient (uses resources wisely)
● User-friendly
● Delivered on time and within budget
Also involves:
● Project management
● Quality assurance
● Understanding the user’s needs
● Solving real world problems
Historical Aspects
● Hardwares were taught to be more reliable than software, software often failed,
came late, had bugs, missing features, cost more or in many cases the software
projects were cancelled completely.
● NATO suggested that software should be treated as a engineering.
● Based on all the flaws they coined a term “Software Crisis”.
● In order to deal with the crisis NATO introduced the term “Software Engineering” to
improve the quality of software development.
★ Many companies faced legal issues because the software didn’t meet client expectations.
Economic Aspects
● Money matters a lot
● A new method or a tool might cost more at the start, but it can help in developing a
better reliable software.
● It can also reduce the cost of fixing problems later (maintenance).
● Some companies avoid new methods,
○ They need to train staff to use the new tool/technology (takes more time and
money).
○ People are comfortable with old ways.
○ New methods might slow down work at first.
★ Software engineers must balance short-term costs and long-term savings.
Maintenance Aspects
● Postdelivery maintenance refers to any updates, fixes, or changes made to the
product after it has been delivered and installed for the client.
Corrective Maintenance
Enhancements
Adaptive
Maintenance
Perfective
Maintenance
Postdelivery Maintenance
Maintenance Aspects
1. Corrective Maintenance:
● Involves fixing residual (remaining) faults or bugs.
● Also includes software updates to fix issues.
2. Enhancements:
● Improvements or changes made to the product after delivery.
a. Perfective Maintenance
● Changes requested by the client to improve product effectiveness
● example : adding a new functionality
b. Adaptive Maintenance
● Changes made to adjust product to its current environment
● Example : updating a software to work with a new hardware.
★ Bad products are discarded — good ones are maintained and improved.
Requirement, Analysis, and Design Aspects
● If a mistake is made during requirements gathering, it carries through to
specification, design, and code. The earlier it’s fixed, the better.
● Because the cost of fixing errors increases significantly in later stages of
development.
● Mistakes in requirements can spread to design and code, so fixing them early is
easier and less costly.
● It’s also important to check that changes haven’t caused new issues elsewhere in the
product.
● Also the related documentation and manuals need to be updated.
★ Fixing early mistakes is cheaper.
Team Development Aspects
● In software engineering, team development means helping the team work well
together to build software. This includes clear roles, good communication, and
learning to solve problems as a group.
● If one programmer takes a year to finish a task, a team of six can do it faster and
with better code quality by working together.

Scope of Software Engineering & Aspects.pptx

  • 1.
    Scope of SoftwareEngineering
  • 2.
    Introduction The Scope refersto everything it includes and deals with. Software engineering isn’t just about writing code. It’s the whole process from understanding what users need, designing, building, testing, delivering, and maintaining software in a clear, reliable, and efficient way. ● Reliable (works correctly) ● Efficient (uses resources wisely) ● User-friendly ● Delivered on time and within budget Also involves: ● Project management ● Quality assurance ● Understanding the user’s needs ● Solving real world problems
  • 3.
    Historical Aspects ● Hardwareswere taught to be more reliable than software, software often failed, came late, had bugs, missing features, cost more or in many cases the software projects were cancelled completely. ● NATO suggested that software should be treated as a engineering. ● Based on all the flaws they coined a term “Software Crisis”. ● In order to deal with the crisis NATO introduced the term “Software Engineering” to improve the quality of software development. ★ Many companies faced legal issues because the software didn’t meet client expectations.
  • 4.
    Economic Aspects ● Moneymatters a lot ● A new method or a tool might cost more at the start, but it can help in developing a better reliable software. ● It can also reduce the cost of fixing problems later (maintenance). ● Some companies avoid new methods, ○ They need to train staff to use the new tool/technology (takes more time and money). ○ People are comfortable with old ways. ○ New methods might slow down work at first. ★ Software engineers must balance short-term costs and long-term savings.
  • 5.
    Maintenance Aspects ● Postdeliverymaintenance refers to any updates, fixes, or changes made to the product after it has been delivered and installed for the client. Corrective Maintenance Enhancements Adaptive Maintenance Perfective Maintenance Postdelivery Maintenance
  • 6.
    Maintenance Aspects 1. CorrectiveMaintenance: ● Involves fixing residual (remaining) faults or bugs. ● Also includes software updates to fix issues. 2. Enhancements: ● Improvements or changes made to the product after delivery. a. Perfective Maintenance ● Changes requested by the client to improve product effectiveness ● example : adding a new functionality b. Adaptive Maintenance ● Changes made to adjust product to its current environment ● Example : updating a software to work with a new hardware. ★ Bad products are discarded — good ones are maintained and improved.
  • 7.
    Requirement, Analysis, andDesign Aspects ● If a mistake is made during requirements gathering, it carries through to specification, design, and code. The earlier it’s fixed, the better. ● Because the cost of fixing errors increases significantly in later stages of development. ● Mistakes in requirements can spread to design and code, so fixing them early is easier and less costly. ● It’s also important to check that changes haven’t caused new issues elsewhere in the product. ● Also the related documentation and manuals need to be updated. ★ Fixing early mistakes is cheaper.
  • 8.
    Team Development Aspects ●In software engineering, team development means helping the team work well together to build software. This includes clear roles, good communication, and learning to solve problems as a group. ● If one programmer takes a year to finish a task, a team of six can do it faster and with better code quality by working together.