Deck 16: Postdelivery Maintenance
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Unlock Deck
Sign up to unlock the cards in this deck!
Unlock Deck
Unlock Deck
1/21
Play
Full screen (f)
Deck 16: Postdelivery Maintenance
1
Why do you think that the mistake is frequently made of considering postdelivery software maintenance to be inferior to software development?
Software development is referred to as implementation of new projects. Once the initial development project is complete and the client accepts it then cycle moves to the maintenance phase. Maintenance refers to as changes done to the product such as fault fixing, change in functionality, changes done due to environment change etc. So, Development can be said as 'Complete New Project' whereas Maintenance can be said as 'Ongoing Technical support'.
But mostly a mistake is frequently made of considering post-delivery software maintenance to be inferior to software development. A number of features and services are provided by the software maintenance but still software maintenance is considered only as service provider whereas software development is considered superior as it is concerned with the development of product.
Few important features of software maintenance are:
• Software maintenance is an important part of software development life cycle. The purpose of maintenance is to modify and update software product after the delivery to correct faults and to improve the performance.
• Software maintenance includes a number of activities such as optimization, error correction, fault detection, enhancement of existing features, increasing the performance etc.
• Planning has to done for the maintenance of the product which includes estimation of defects, controlling and making modifications.
• The software maintenance process includes a maintenance plan which contains software preparation and problem identification.
• The maintenance process includes checking if the change is valid, examining it along with a solution and then getting all the required hardware, software etc. to apply that modification.
Thus, software maintenance is not inferior in any case then software development as the maintenance programmer should be qualified in almost every technical skill that a software professional could have. These maintainers deal with dis-satisfied users and if the users are not happy then the product development is of no use.
But mostly a mistake is frequently made of considering post-delivery software maintenance to be inferior to software development. A number of features and services are provided by the software maintenance but still software maintenance is considered only as service provider whereas software development is considered superior as it is concerned with the development of product.
Few important features of software maintenance are:
• Software maintenance is an important part of software development life cycle. The purpose of maintenance is to modify and update software product after the delivery to correct faults and to improve the performance.
• Software maintenance includes a number of activities such as optimization, error correction, fault detection, enhancement of existing features, increasing the performance etc.
• Planning has to done for the maintenance of the product which includes estimation of defects, controlling and making modifications.
• The software maintenance process includes a maintenance plan which contains software preparation and problem identification.
• The maintenance process includes checking if the change is valid, examining it along with a solution and then getting all the required hardware, software etc. to apply that modification.
Thus, software maintenance is not inferior in any case then software development as the maintenance programmer should be qualified in almost every technical skill that a software professional could have. These maintainers deal with dis-satisfied users and if the users are not happy then the product development is of no use.
2
Consider a product that determines whether a computer is virus free. Describe why such a product is likely to have multiple variations of many of its code artifacts. What are the implications for postdelivery maintenance? How can the resulting problems be solved?
The product that determines whether a computer is virus free will has multiple variations in many of its code. The viruses are rapidly increasing day by day. Nearly one million viruses are released each day and the product that detects these rapidly changing viruses will surely have multiple variations in its code.
• The code of such product has to be changed again and again as per the requirements of changing virus codes.
• The product should be fully up to date and should be updated regularly.
• In depth scanning should be done on regular basis and the functionality should be updated regularly.
• Because of such kind of variations in the code there will be difficulties in its post-delivery maintenance. There will be the issue of "moving target problem'.
• As soon as the developer will construct the product there will be changes in the requirement because of the change in the type of virus.
• The variations in the code with moving target problem will be encountered during post-delivery maintenance. If the changes are supposed to be done on a completely developed product then it will be more difficult to do the changes and the original design will be deviated.
• The problem of moving target problem can be solved by making a perfect defect report each time the changes come.
• Documentation should be done appropriately which should reflect a detailed description of what to change, why to change and by whom and when.
• If required, the analysis and design artifacts are also changed and documented.
Thus, such kind of maintenance is perfective or adaptive maintenance in which code is changed to improve the efficiency of the product and make the product compatible with the changing environment.
• The code of such product has to be changed again and again as per the requirements of changing virus codes.
• The product should be fully up to date and should be updated regularly.
• In depth scanning should be done on regular basis and the functionality should be updated regularly.
• Because of such kind of variations in the code there will be difficulties in its post-delivery maintenance. There will be the issue of "moving target problem'.
• As soon as the developer will construct the product there will be changes in the requirement because of the change in the type of virus.
• The variations in the code with moving target problem will be encountered during post-delivery maintenance. If the changes are supposed to be done on a completely developed product then it will be more difficult to do the changes and the original design will be deviated.
• The problem of moving target problem can be solved by making a perfect defect report each time the changes come.
• Documentation should be done appropriately which should reflect a detailed description of what to change, why to change and by whom and when.
• If required, the analysis and design artifacts are also changed and documented.
Thus, such kind of maintenance is perfective or adaptive maintenance in which code is changed to improve the efficiency of the product and make the product compatible with the changing environment.
3
Repeat Problem 16.2 for the automated library circulation system of Problem 8.7.
The product of Automated Library circulation system will has multiple variations in many of its code. Automated Library circulation system has to perform various functions such as book issue, book return, renewal, reservation, recall, overdue calculation, fines, and reports.
• The code of such product has to be changed as the use of circular library system is decreasing day by day. Online books system with new books and new authors are available on a click.
• New book publishers with online line system are working and accordingly the Automated Library circulation system will have to change.
• The product should be fully up to date and should be updated regularly with addition of new books, users and resources.
• In depth scanning should be done on regular basis and the functionality should be updated regularly.
• Because of such kind of variations in the code there will be difficulties in its post-delivery maintenance. There will be the issue of "moving target problem'.
• As soon as the developer will construct the product there will be changes in the requirement because of the change in the book issue process, requirement of online process, improved GUI screens for easy process and improved database software to handle increasing database.
• The variations in the code with moving target problem will be encountered during post-delivery maintenance. If the changes are supposed to be done on a completely developed product then it will be more difficult to do the changes and the original design will be deviated.
• The problem of moving target problem can be solved by making a perfect defect report each time the changes come.
• Documentation should be done appropriately which should reflect a detailed description of what to change, why to change and by whom and when.
• If required, the analysis and design artifacts are also changed and documented.
Thus, such kind of maintenance is perfective or adaptive maintenance in which code is changed to improve the efficiency of the product and make the product compatible with the changing environment.
• The code of such product has to be changed as the use of circular library system is decreasing day by day. Online books system with new books and new authors are available on a click.
• New book publishers with online line system are working and accordingly the Automated Library circulation system will have to change.
• The product should be fully up to date and should be updated regularly with addition of new books, users and resources.
• In depth scanning should be done on regular basis and the functionality should be updated regularly.
• Because of such kind of variations in the code there will be difficulties in its post-delivery maintenance. There will be the issue of "moving target problem'.
• As soon as the developer will construct the product there will be changes in the requirement because of the change in the book issue process, requirement of online process, improved GUI screens for easy process and improved database software to handle increasing database.
• The variations in the code with moving target problem will be encountered during post-delivery maintenance. If the changes are supposed to be done on a completely developed product then it will be more difficult to do the changes and the original design will be deviated.
• The problem of moving target problem can be solved by making a perfect defect report each time the changes come.
• Documentation should be done appropriately which should reflect a detailed description of what to change, why to change and by whom and when.
• If required, the analysis and design artifacts are also changed and documented.
Thus, such kind of maintenance is perfective or adaptive maintenance in which code is changed to improve the efficiency of the product and make the product compatible with the changing environment.
4
Repeat Problem 16.2 for the product of Problem 8.8 that checks whether a bank statement is correct.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
5
Repeat Problem 16.2 for the automated teller machine of Problem 8.9.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
6
You are the manager in charge of postdelivery maintenance in a large software organization. What qualities do you look for when hiring new employees?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
7
What are the implications of postdelivery maintenance for a one-person software production organization?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
8
You have been asked to build a computerized defect report file. What sort of data would you store in the file? What sorts of queries could be answered by your tool? What sorts of queries could not be answered by your tool?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
9
You receive a memo from the vice-president for software maintenance of Ye Olde Fashioned Software Corporation (Problem 15.29), pointing out that, for the foreseeable future, Olde Fashioned will have to maintain tens of millions of lines of COBOL 85 code and asking your advice with regard to CASE tools for such postdelivery maintenance. What do you reply?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
10
Now you are told that the tens of millions of lines of COBOL 85 code (Problem 16.9) have to be reimplemented in an object-oriented language, either in COBOL 2002 or in C++/Java. Which of the two would you choose: COBOL 2002 or C++/Java? Justify your answer.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
11
If Ye Olde Fashioned Software Corporation decides to reimplement their code in COBOL 2002 (see Problem 16.10), what strategy would you follow?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
12
If Ye Olde Fashioned Software Corporation decides to reimplement their code in C++/Java (see Problem 16.10), what strategy would you follow?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
13
What role does reuse play in your answers to Problems 16.11 and 16.12?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
14
What role does portability play in your answers to Problems 16.11 and 16.12?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
15
(Term Project) Suppose that the product for Chocoholics Anonymous in Appendix A has been implemented exactly as described. Now the product has to be modified to include endocrinologists as providers. In what ways will the existing product have to be changed? Would it be better to discard everything and start again from scratch? Compare your answer to the answer you gave to Problem 1.19.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
16
(Case Study) Improve the aesthetic appearance of the reports in the implementation of Section 15.8 by adjusting the horizontal alignment of the various components.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
17
(Case Study) Suppose that the requirements of the MSG Foundation are changed so that a couple will never have to pay more than 26 percent of their gross income each week to the MSG Foundation (rather than the 28 percent as currently stipulated). In how many places does the implementation of Section 15.8 have to be changed?
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
18
(Case Study) The MSG Foundation has decided that it will now operate on a monthly basis, rather than a weekly basis. Modify the implementation of Section 15.8 accordingly.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
19
(Case Study) Replace the menu-driven input routines in the implementation of Section 15.8 with a graphical user interface (GUI).
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
20
(Case Study) Modify the implementation of Section 15.8 so that it runs under Linux.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck
21
(Case Study) Modify the implementation of Section 15.8 to make it Web-based.
Unlock Deck
Unlock for access to all 21 flashcards in this deck.
Unlock Deck
k this deck