UNIT 6
Software Maintenance
Solution: Software maintenance is the phase of SDLC which begins after the delivery of software to users. It is concerned with modifications and updated changes required after system is used or implemeyted on site.
Types of maintenance
Corrective Maintenance
Correction is discovered in user error reports on the basis of that modifications and updation takes place
Adaptive Maintenance
To adapt the software according to ever changing world of technology and requirements of evolving business environment these modifications and updations are incorporated.
Perfective Maintenance
To keep software robust and working for a long duration these modifications and updates are done. it also improves software reliability and performance.
Preventive Maintenance
To prevent future problems these modifications and updations are done focus is on current non significant anomalies in system which might cause huge problems later.
2. What do you understand by Reverse engineering
Solution: Reverse engineering term is being derived from hardware world. To understand the competitive item of a rival company a prouct is dissembled and the manufacturing technology for it is decoded.a successful reverse engineering derives one or more design and manufacturing specifications for a product by investigating and examining actual architecture of the product. Software reverse engineering is none different but mostly it is done by a company’s on its own software product to understand the its complexity and structure several years later. The process of analyzing a program in an effort to create a representation of the program at a higher level of abstraction than source code. Reverse engineering is a process of design recovery. Reverse engineering tools extract data, architectural, and procedural design information from an existing program.
Figure :6.1 Reverse engineering model
3. What is software Configuration management?
Solution: Configuration Management (CM) is a technique of identifying, organizing, and controlling modification made to software by a programming team.The output of the software process can be divided into three broad categories: (1) computer programs (both source level and executable forms); (2) documents that describe the computer programs (targeted at both technical practitioners and users), and (3) data (contained within the program or external to it). The items that comprise all information produced as part of the software process are collectively called a software configuration.
The SCM process includes a no. of processess:
4. Write a short note on Forward Engineering
Forward engineering is done after reverse engineering, which is a process of obtaining specifications from a old software or product. The specification extracted through reverse engineering now mapped and the product is re engineering takes place.
5. Explain maintenance process in software enginnering ?
Solution: The overall maintenance process is given in figure below. It includes following steps:
The first phase consists of analyzing the program in order to understand.
The second phase consists of generating a particular maintenance proposal to accomplish the implementation of the maintenance objective.
The third phase consists of accounting for all of the ripple effect as a consequence of program modifications.
The fourth phase consists of testing the modified program to ensure that the modified program has at least the same reliability level as before.
Each of these four phases and their associated software quality attributes are critical to the maintenance process. All of these factors must be combined to form maintainability.
6. What is the use of Regression Testing ? how it is different from development testing ?
Solution: Regression testing is the process of retesting the modified parts of the software and ensuring that no new errors have been introduced into previously test code.
“Regression testing tests both the modified code and other parts of the
program that may be affected by the program change. It serves many
purposes :
Development testing | Development testing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. Define documentation with an example.
Solution:
Software documentation is the written record of the facts about a software system recorded with the intent to convey purpose, content and clarity.
Types of documentation is given below:
USER DOCUMENTATION
SYSTEM DOCUMENTATION