Skip to main content
Hany Ammar
Professor Emeritus, Computer Science and Electrical Engineering
  • Home
  • SENG 540 Software Evolution

SENG 540 Software Evolution


                                 WEST VIRGINIA UNIVERSITY
                 College of Engineering and Mineral Resources
      Lane Department of Computer Science and Electrical Engineering
                               SENG-540 Software Evolution
                                        3 credit hours

Class time: Once a week 6:00 pm – 8:20 pm Location: WVU eCampus,

Instructor: Prof. Hany Ammar

Office: 246 Advanced Engineering Research Building

Office phone: 304-293-9682, cell: 304-282-4213




Office hours: By appointment.

Prerequisites: SENG 550 or knowledge of Object-Oriented Programming and Design, and an undergraduate level knowledge of software engineering.


Required Textbook: Software Evolution and Maintenance: A Practitioner’s Approach, Priyadarshi Tripathy, Kshirasagar Naik, Publisher: Wiley, ISBN: 978-0-470-60341-3, 416 pages, November 2014.

Method of instruction: Lecture. Offered online.

Course Description: This course investigates Software Maintenance and Evolution concepts and technologies. Students will be exposed to the basic concepts and current practices of Software Maintenance and Evolution. Topics include Software Evolution Models and Processes, Reengineering, Legacy Systems, Impact Analysis, Refactoring, Program Comprehension, and Software Reuse. Course work will include student presentations, and a term project that will provide exposure to advanced topics in Software Maintenance and Evolution.  

Course Modules:

1.      Introduction to Software Evolution and Maintenance - Basic Concepts and Preliminaries

2.      Taxonomy of Software Maintenance and Evolution

3.      Software Evolution Models and Processes

4.      Reengineering

5.      Legacy Systems

6.      Impact Analysis

7.      Refactoring

8.      Program Comprehension

9.      Software Reuse


Course Learning Outcomes: Upon successful completion of SENG 540, students will be able to

1. Demonstrate knowledge of the basic concepts and technologies of Software Maintenance and Evolution

2. Analyze and compare techniques and tools of Software Maintenance and Evolution

3. Conduct studies on the use of Software Maintenance and Evolution technologies in certain application domains.


Attendance: Students are expected to regularly follow the lectures. Students are responsible for all material covered in the course, keeping track of assignments’ due dates and examination date. Students are required to attend the in-class discussions of assignments. If a student cannot attend an in-class discussion due to an excused absence she/he will be required to submit a recorded briefing. Each unexcused absence from these classes will result in a penalty of 30% of assignment grade.

Communication: All course material, important announcements, assignments, etc. will be provided using the eCampus features. Please use the eCampus Course Messages feature to communicate with the Instructor and other students in the class. The instructor will make the best effort to respond within 24 hours. Paper: will be required to submit project briefing presentations, final project presentation, and project final report using eCampus.

Exams: There will be a term exam which will cover class material and will be administered in the last week of classes.

Term project: Each student will conduct a multi-stage term project which will be based on the methods discussed in class. The project will have the following four stages: (1) Choosing a topic from the provided list and compiling the related work section and bibliography, (2) Project Plan describing the tasks and timelines, (3) Project Briefings presentations in class, (4) Final project presentation, and (5) Final report.

Grading: Semester grades will be computed as follows Assignment/exam


Points %



Term exam


Assignments & Project

Assignment 1: Project Proposal             (10%)                                    

Assignment 2: Project Plan                    (5%)

Assignment 3: Extract Metrics               (8%)  

Assignment 4: 1st Project briefing,         (5%)

Assignment 5: Reengineering                  (8%)          

Assignment 6: 2nd  Project briefing,       (5%) 

Assignment 7: UML Visualization        (8%)                

Assignment 8: 3rd Project briefing.        (5%)                      

Final Project Presentation&                      

Final Report                                           (21%)



Class total



Grading scale: Grades will generally be A = 90 – 100%, B = 80 - 89%, C = 70 - 79%, D = 60 - 69%, and F = 0 – 59%. ‘+’ and ‘-‘ grade may be reported if the score is near boundary.



Reading and Assignments

Assignment Due

Week 1

 May 15

Module 1 – Introduction to Software Evolution and Maintenance

Read Text: Chapter 1

Assignment 1: Project proposal

May 29

Week 2

 May 22

Module 2 –Taxonomy of Software Maintenance and Evolution

 Read Text: Chapter 2


Week 3

 May 29

Module 3 – Evolution and Maintenance Models

Read Text: Chapter 3

Assignment 2: Project Plan

June 5th

Week 4

 June 5

Module 4 – Reengineering

Assignment 3: Extract Metrics

 June 19th

Week 5

 June 12

Module 5 – Legacy Information Systems

Assignment 4: Project briefing #1

June 20th

Week 6

 June 19

Module 6 – Impact Analysis

Assignment 5: Reengineering

 3rd July

Week 7

 June 26

Module 7 – Refactoring 

Assignment 6: Project briefing # 2

 July 11th

Week 8

 July 3

4th of July Break



Week 9

  July 10

Module 8 – Program Comprehension 

Assignment 7: UML Visualization

July 20th

Week 10

  July 17

Module 9 – Reuse

  Assignment 8: Project briefing #3

 July 25th

Week 11

  July 24

 Final review

Final Exam

August 4th

Week 12

 July 31


Project Final Presentation&Report

August 7th


Term Examination: The examination is designed to gauge the student’s understanding of topics covered in assigned readings, lectures, and project assignments. The final will be comprehensive. The primary focus will be on all the course material. The ‘take home’ exam will partly have questions based on the text topics and partly in essay format. Students will be given one week to complete the final examination. The Final Exam Rubric will be provided on the exam and discussed in class during the review.


Academic Integrity: Students who practice academic dishonesty, such as cheating or plagiarism, will be penalized. Severe penalties will follow from the discovery of any representation of another individual’s work (in any form) as your own (i.e., copying any portion of written assignments or exams). Check the MLA Handbook for Writers of Research Papers Seventh Edition (ISBN: 9781603290241) for proper citation of others’ work to avoid plagiarism in written assignments. Penalties range from a grade of “zero” on the assignment in question to an “unforgivable F” in the course.

If you have not already done so please go to the website and sign-in as WVU Students-First Time. Use your MyID username and password and complete the Tutorial & Take the Test. Please e-mail your certificate for the test to the Software Engineering Program Coordinator, Please refer to the New Student Orientation Manual for Online Courses at

The document provides information on eCampus, Mix, STAR, Help Desk, refund policy, WVU Bookstore and important phone numbers.


Attendance Policy: Students are expected to attend every class. Archives are made available to review if missed due to personal or work related absence that should be communicated with instructor when possible. Missing in class assignments discussions or project briefings without a valid excused reason will result in a penalty of 10% of the grade of the respective assignment or project briefing. Consistent with WVU guidelines, students absent from regularly scheduled examinations because of authorized University activities will have the opportunity to take them at an alternate time. Make-up exams for absences due to any other reason will be at the discretion of the instructor.  


Inclusivity Statement: The West Virginia University community is committed to creating and fostering a positive learning and working environment based on open communication, mutual respect, and inclusion. If you are a person with a disability and anticipate needing any type of accommodation in order to participate in this class, please advise me and make appropriate arrangements with the Office of Accessibility Services (URL; Phone 304 293-6700). For more information on West Virginia University's Diversity, Equity, and Inclusion initiatives, please see