







Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Lecture notes for software maintenance
Typology: Study notes
1 / 13
This page cannot be seen from the preview
Don't miss anything!
IV. Preventive Changes Preventive changes refer to changes made to increase the understanding and maintainability of your software in the long run. Restructuring, optimizing code and updating documentation are common preventive changes. Executing preventive changes reduces the amount of unpredictable effects a software can have in the long term and helps it become scalable, stable, understandable and maintainable. RE-ENGINEERING
Advantages
It is a process to re-structure and re-construct the existing software. It is all about re- arranging the source code, either in same programming language or from one programming language to a different one. Restructuring can have either source code-restructuring and data-restructuring or both. Re-structuring does not impact the functionality of the software but enhance reliability and maintainability. Program components, which cause errors very frequently can be changed, or updated with re-structuring. The dependability of software on obsolete hardware platform can be removed via re- structuring. FORWARD ENGINEERING Forward engineering is a process of obtaining desired software from the specifications in hand which were brought down by means of reverse engineering. It assumes that there was some software engineering already done in the past. Forward engineering is same as software engineering process with only one difference – it is carried out always after reverse engineering. Figure 3 Reverse Engineering Process Figure 4 Forward Engineering
Project Scheduling: Project Scheduling in a project refers to roadmap of all activities to be done with specified order and within time slot allotted to each activity. Project managers tend to define various tasks and project milestones and then arrange them keeping various factors in mind. They look for tasks like in critical path in the schedule, which are necessary to complete in specific manner (because of task interdependency) and strictly within the time allocated. During the project scheduling the total work is separated into various small activities. For scheduling a project, it is necessary to:
Objectives of project management: o The objective of the project planning and management is to provide a framework for the project. o Using the project framework, the project manager decides the estimates for the schedule, cost and resources. o Another objective of the project planning and management is that- it should be possible to get the best case and worst-case outcomes of the project. o There should be sufficient information discovery through the project so that reasonable project estimate can be made. SOFTWARE QUALITY ASSURANCE (SQA): Software Quality : In the context of software engineering, software quality measures how well software is designed (quality of design), and how well the software conforms to that design (quality of conformance). Quality Control: Quality control (QC) is a procedure or set of procedures intended to ensure that a manufactured product or performed service adheres to a defined set of quality criteria or meets the requirements of the client or customer. Quality Assurance: It is planned and systematic pattern of activities necessary to provide a high degree of confidence in the quality of a product. It provides quality assessment of the quality control activities and determines the validity of the data or procedures for determining quality. SQA Activities to Assure the Software Quality The Software Quality Assurance of the software is analysed and ensured by performing a series of activities. The activities are performed as step by step process and the result analysis is reported for the final evaluation process. The activities are performed as step by step process and the result analysis is reported for the final evaluation process.
What is capability maturity model? The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time- consuming process. Levels of CMM
similar applications. Program management is a key characteristic of a level two organization.
What Is A Component-Based System?