Certificate on Completion
Software Re-Engineering is a specialized course that focuses on analyzing, improving, and transforming existing software systems to meet modern requirements. It covers key topics such as software maintenance, legacy system modernization, reverse engineering, restructuring, and migration techniques. Students learn how to enhance software quality, performance, security, and maintainability while preserving core functionality. The course also emphasizes documentation, testing, and risk management during system upgrades. It prepares learners to handle real-world challenges in evolving outdated software into efficient and reliable solutions.
This course has been curated by Riphah International University faculty and staff using publicly available third-party content and Open Educational Resources (OER) for self-paced learning. Learners will engage with curated open-access materials to achieve the course learning outcomes. All third-party content is used under open-access or fair-use policies, while any original materials are developed specifically for this learning experience.
Source and Credits:
On successful completion of the course, students will be able to:
Understand the concepts and technique of software re-engineering.
Apply re-engineering techniques to maintain and modify software.
Analyze maintenance issues associated with software systems.
To be successful in this course, learners should have:
To succeed in this course, you should have a basic understanding of Software Engineering, software development principles, programming languages (such as Java, C++, or Python), and software design concepts. Familiarity with software development life cycle (SDLC) models, databases, and object-oriented programming will also help you fully grasp the course content.
This course is designed for undergraduate or graduate students in computer science, software engineering, or related fields, as well as early-career software developers and professionals who want to understand, maintain, and improve existing software systems. It is ideal for learners interested in software maintenance, reverse engineering, and improving software quality and maintainability.
Concepts & Techniques
Software Re-Engineering-Introduction & Concepts (Video)
Software Re-Engineering -Techniques and Motivation (Video)
Approaches in Software Re-Engineering (Video)
Techniques and Case Overview (Video)
Strategies and Models
Engg Strategies & Re.Engg Process Models (Video)
R.E Process Models & Other Models (Video)
Phase R.E Model for Software Re-Engineering (Video)
Data Re-Engineering
Re-Engineering-Data (Video)
Reverse Engineering & Visualization
Reverse Engineering (Video)
Visualization Techniques (Video)
Lexical Analysis – Core Concepts for Re-Engineering (Video)
Maintenance Issues & Solutions
Design Problems & Detecting Evolutionary Smells (Video)