Sw Re Engineering Course Outline F24

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

National Computing Education Accreditation

Council
NCEAC
NCEAC.FORM.001

Course Outline
School / Department School of Systems and Technology – SST / Department of Software Engineering

Course Code SE4113

Course Title Software Re-Engineering

Theory / Lab / FYP Theory

Degree Program BS-SE

Credit Hours 3+0 Contact Hours 3

Pre-requisite Software Construction and Development


Classroom Lectures, Assignments, Class Activities, Presentations, Quizzes, Mid Term
Teaching Methodology
Exam, Final Term Exam.
Assignment(s) 10%

Quizzes 20%

Mid-Term Examination 25%


Methods of
Class Participation / Attendance 05%
Assessment (Can be
changed as per course Final Examination 40%
requirement)
Total 100%
Course Moderator
Dr. Nosheen Qamar
/ Coordinator
Contact nosheen.qamar@umt.edu.pk

Counseling Hours Monday (12:15 am – 02:00 pm) Tuesday and Friday (10:45 am – 12:00pm)

Semester Offered 7th


This course to help the students to understand and practice different software
reengineering techniques. The participants of this course will learn how to apply
Course Synopsis reengineering techniques to maintain and modify software systems

To understand the fundamental principles and concepts of software re-engineering


and its importance in the software development lifecycle.
To analyze legacy systems to identify areas for improvement, focusing on both
Course Objectives technical and business aspects.
To apply reverse engineering techniques to extract design and architectural insights
from existing codebases.
To implement various re-engineering strategies, including code refactoring, re-
documentation, and migration to modern platforms.
To evaluate the effectiveness of re-engineering efforts using established metrics and
real-world case studies.
National Computing Education Accreditation
Council
NCEAC
NCEAC.FORM.001

Course Learning Outcomes (CLOs) Domain & BT* Level

After the successful completion of course, the students will be able to:
CLO-1: Define the basic concepts, techniques and methods related to re-engineering
Cognitive, [C1]

CLO-2: Explain the concepts and technique of software re-engineering


Cognitive, [C2]

CLO-3: Apply re-engineering techniques to maintain and modify software systems


Cognitive, [C3]

CLO-4: Analyze and understand maintenance related problems associated with


object-oriented software systems. Cognitive, [C4]

* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain

Mapping of CLOs to Program Learning Outcomes (PLOs)


CLOs / PLOs CLO 1 CLO 2 CLO 3 CLO4
PLO1: Academic Education  

PLO2: Knowledge for Solving Computing Problems 


PLO3: Problem Analysis 

PLO4: Design/ Development of Solutions


PLO5: Modern Tool Usage
PLO6: Individual and Teamwork
PLO7: Communication
PLO8: Computing Professionalism and Society
PLO9: Ethics
PLO10: Life-long Learning
National Computing Education Accreditation
Council
NCEAC
NCEAC.FORM.001

Tentative Week-wise list of topics


Sessional
Week Topics Reference CLOs
Assessment

Engineering vs Re-Engineering
Review of SDLC
Week 1 Reverse Engineering vs Forward Engineering

What is a legacy System


Week 2 Characteristics
Issues in maintenance

Software Evolution vs Software Maintenance


Concept of Software Reuse
Week 3 Software Re-Engineering vs Software Quiz 1 CLO 1
Maintenance

Client Requirements
Need to re-factor existing code
Week 4 When to refactor Chapter 1 Assignment 1 CLO 1
Refactoring: A continuous activity

Introduction to Bad Smells in Code


Duplicated Code
Week 5 Long Method Chapter 1 Quiz 2 CLO 2
Large Class
Long Parameter List

Divergent Change
Shotgun Surgery
Feature Envy
Week 6 Chapter 2
Switch Statements
Examples with help of Code

How to refactor
The First Step in Refactoring
Week 7 Decomposing and Redistributing the Chapter 6 Assignment 2 CLO 2
Statement Method.
National Computing Education Accreditation
Council
NCEAC
NCEAC.FORM.00

Tentative Week-wise list of topics


Sessional
Week Topics Reference CLOs
Assessment
Replacing the Conditional Logic on Price Code
Week 8
with Polymorphism
Quiz 3 CLO 3
CL
Week 9 MID TERM EXAM
O
1,2
When Should You Refactor
Week 10 Problems with Refactoring Online
Refactoring and Design
Refactoring and Performance
Principles in Refactoring Online
Week 11 Defining Refactoring Assignment 3 CLO 3
Why Should You Refactor?
Refactoring Helps You Find Bugs
Parallel Inheritance Hierarchies
CLO 3
Week 12 Lazy Class Chapter 7 Quiz-3
Speculative Generality
Temporary Field
Message Chains
Middle Man
Inappropriate Intimacy
Alternative Classes with Different Interfaces
Week 13 Incomplete Library Class Chapter 8 Assignment 4 CLO 4
Data Class
Refused Bequest.

Week 14 Composing Methods Chapter 10 Quiz 4 CLO 4

Week 15 Chapter 11
Moving Features Between Objects

Using of Design Pattern to reduce cost in Re-


Week 16
Engineering Strategy Pattern
CLO
Week 17  FINAL TERM EXAM
1,2,3,
4
Textbook 1 Re-Engineering legacy software, David Lorge Parnas, Chris Birchall, Safari Books,
Shelter Island, NY, 2016
Other 1 Reengineering, Priyadarshi Tripathy and Kshirasagar Naik, John Wiley & Sons,
References Inc.2015
2. Software Maintenance and Evolution: a Roadmap, K.H.Bennett and V.T Rajlich,
The Future of Software Engineering, ACM Press 2000.
National Computing Education Accreditation
Council
NCEAC
NCEAC.FORM.00

Mapping of CLOs to Direct Assessments

Assignment 4
Assignment 2

Assignment 3
Assignment 1

Final Term
Mid Term
Quiz 1

Quiz 2

Quiz 3

Quiz 4
CLOs

1    
2    
3   
4   
`

Course Moderator Name: _Dr.Faria Nazir

Course Moderator Sign.:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy