0% found this document useful (0 votes)
8 views16 pages

1 Lecture SE Engineering

The document outlines the course on Software Reengineering, detailing its objectives, processes, and the importance of modernizing existing software systems. It emphasizes the need for skills in reverse engineering, code restructuring, and design reengineering to improve software functionality and maintainability. The reengineering process includes planning, analysis, design, implementation, testing, and deployment to enhance legacy systems while minimizing redevelopment risks.

Uploaded by

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

1 Lecture SE Engineering

The document outlines the course on Software Reengineering, detailing its objectives, processes, and the importance of modernizing existing software systems. It emphasizes the need for skills in reverse engineering, code restructuring, and design reengineering to improve software functionality and maintainability. The reengineering process includes planning, analysis, design, implementation, testing, and deployment to enhance legacy systems while minimizing redevelopment risks.

Uploaded by

gmovie0007
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 16

Software Reengineering

Dr. Rana Muhammad Ashfaq

Lecture # 01
My Attitude Depends On
Your Behavior
Software Reengineering

 Lectures
 Surprise Quiz
 Assignments
 Mid Term Exam
 Final Exam
Software Reengineering course Outcome.

Conceptual understanding :
 Explaining the core concepts and principles of software reengineering,
including its goals, challenges, and different approaches.
Reverse engineering skills :
 Applying reverse engineering techniques to understand the inner
workings of existing software systems, including code analysis, data
flow analysis, and control flow analysis.
Code restructuring: :
 Ability to refactor and restructure legacy code.
Design reengineering:
What is Software Engineering
What is Software Engineering
The process of designing, developing, testing, and maintaining
software applications.
It's a branch of computer science that uses engineering
principles to create software that meets user need.
Software engineering skills:
Software engineers need to be able to apply engineering
principles and use programming languages like Java, Python,
and PHP. They also need to be able to integrate software
systems with existing systems.
What is Software Engineering
What does software engineering involve?
•Planning: Defining the project's budget, requirements, and
feasibility
•Analysis: Understanding the user's needs and the limitations of the
software product
•Design: Creating instructions for the computer system
•Maintenance: Continuously improving the software over its
lifetime
•Development: Writing code to implement the software design
•Testing: Ensuring the software meets its requirements
What is Software Reengineering
 Software re-engineering is the process of
modernizing existing software to make it more
functional, maintainable, and compatible with
current technologies. It's a way to extend the life of
outdated software systems.
 Is a process of software development that is done to
improve the maintainability of a software system.
What is Software Reengineering
 Re-engineering is the examination and alteration of
a system to reconstitute it in a new form.
 This process encompasses a combination of sub-
processes like reverse engineering, forward
engineering, reconstructing, etc.
 The process of significantly restructuring and
updating existing software systems to improve their
functionality, performance, maintainability, and
adaptability to current needs.
What is Software Reengineering

 To analyzing the existing code and design, then


making substantial changes to modernize the system
without altering its external behavior, essentially
giving new life to "legacy" software.
 Software Reengineering is the process of “updating
software”.
What is Software Reengineering
 The process of analyzing, designing, and modifying
existing software systems to improve their quality,
performance, and maintainability.
1. This can include updating the software to work with new hardware or
software platforms, adding new features, or improving the software’s
overall design and architecture.
2. Software restructuring or software renovation, refers to the process of
improving or upgrading existing software systems to improve their
quality, maintainability, or functionality.
3. It involves reusing the existing software artifacts, such as code, design,
and documentation, and transforming them to meet new or updated
requirements.
Objective of Re-engineering
 The primary goal of software re-engineering is to
improve the quality and maintainability of the
software system while minimizing the risks and
costs associated with the redevelopment of the
system from scratch.
 Overall, software re-engineering can be a cost-
effective way to improve the quality and
functionality of existing software systems
Process of Software Reengineering
Process of Software Reengineering
 Planning: The first step is to plan the re-engineering
process, which involves identifying the reasons for re-
engineering, defining the scope, and establishing the
goals and objectives of the process.
 Analysis: The next step is to analyze the existing
system, including the code, documentation, and other
artifacts. This involves identifying the system’s
strengths and weaknesses, as well as any issues that
need to be addressed.
 Design: This involves identifying the changes that
need to be made and developing a plan to implement
them.
Process of Software Reengineering
 Implementation: The next step is to implement the
changes by modifying the existing code, adding new
features, and updating the documentation and other
artifacts.
 Testing: Once the changes have been implemented,
the software system needs to be tested to ensure that it
meets the new requirements and specifications.
 Deployment: The final step is to deploy the re-
engineered software system and make it available to
end-users.
Questions

You might also like