Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sdd Maintenance Of Software Solutions


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Sdd Maintenance Of Software Solutions

  1. 1. Maintenance Of Software Solutions Modification of the code to meet changed requirements
  2. 2. Syllabus <ul><li>Modification of the code to meet the changed requirements. </li></ul><ul><li>Identification of the reasons for change in code, macros and scripts. </li></ul><ul><li>Location of section to be altered. </li></ul><ul><li>Determining changes to be made. </li></ul><ul><li>Implementing and testing solutions. </li></ul>
  3. 3. Maintenance of Software <ul><li>Maintenance of involves two major components: </li></ul>Maintenance of Software Solutions Modification of Code Documentation of Changes
  4. 4. What is Maintenance? <ul><li>Maintenance is an ongoing process of correction and refinement. </li></ul><ul><li>Maintenance is required if products are to continue to meet user expectations over their lifetime. </li></ul><ul><li>Maintenance include: </li></ul><ul><ul><li>Correction of errors (bugs) </li></ul></ul><ul><ul><li>Upgrades to meet new or changes in requirements. </li></ul></ul>
  5. 5. What is Maintenance? <ul><li>THREE different types of software maintenance are: </li></ul><ul><li>Corrective Maintenance – This relates to the occurrence of a bug or error. Normally, require a patch to fix and are relatively inexpensive. </li></ul>
  6. 6. What is Maintenance? <ul><li>Adaptive Maintenance – Involves changing the program to meet some change such as new hardware or OS. </li></ul>Identify an actual example of adaptive maintenance. <ul><li>GST </li></ul><ul><li>Wireless </li></ul>
  7. 7. What is Maintenance? <ul><li>Improvement Maintenance – Adds new functions or requirements to meet new user needs. </li></ul>
  8. 8. What is Maintenance? <ul><li>Maintenance requires a cyclical approach. </li></ul>Developer Users Communication Identifying Modifying Documenting
  9. 9. What is a Patch? <ul><li>Used to correct a problem in a software solution. </li></ul><ul><li>A patch is an actual piece of executable code that is inserted into (Patched into) an existing program. </li></ul>
  10. 10. Modifications to meet changed requirements <ul><li>Software solutions are continually evolving. </li></ul><ul><li>Changes made to subsequent releases of applications are often the result of user requests. </li></ul><ul><li>Remember, fulfilling the needs of end-users is the primary function of all software products. </li></ul>
  11. 11. Modifications to meet changed requirements <ul><li>Basically modifications can involve the following: </li></ul><ul><ul><li>Patches </li></ul></ul><ul><ul><li>Macros </li></ul></ul><ul><ul><li>Scripts </li></ul></ul><ul><ul><li>Replacement modules </li></ul></ul><ul><ul><li>Overhaul of code. </li></ul></ul>
  12. 12. Identification of the reasons for change in code, macros and scripts <ul><li>Because custom software is written to solve a particular problem, minor changes often necessitate alterations to source code. </li></ul><ul><li>This may cause marco and script commands to change resulting in unexpected errors. </li></ul><ul><li>Other applications that are linked to a product may require an upgrade as well. </li></ul><ul><li>Called the Domino Effect. </li></ul>
  13. 13. Identification of the reasons for change in code, macros and scripts <ul><li>If upgrades or modifications are undertaken this may have an effect on other modules. </li></ul>
  14. 14. Identification of the reasons for change in code, macros and scripts <ul><li>Reasons for change include: </li></ul><ul><ul><li>Bug Fixes </li></ul></ul><ul><ul><li>New hardware </li></ul></ul><ul><ul><li>New software </li></ul></ul><ul><ul><li>Changed user requirements </li></ul></ul><ul><ul><li>Organisation restructuring </li></ul></ul>
  15. 15. Identification of the reasons for change in code, macros and scripts <ul><li>What is a Macro? </li></ul><ul><li>A symbol, name, or key of commands that activates a series of commands that have been recorded. </li></ul><ul><li>What is a Script? </li></ul><ul><li>A list of commands that are executed with out user interaction. </li></ul><ul><li>Loaded automatically </li></ul>
  16. 16. Discussion <ul><li>Video Studio Pro uses Microsoft’s Media Player to play video sequences. Microsoft has just released a new version of Media Player that is more graphically rich in regards to the interface. Video Studio Pro does not contain sufficient space for the use of the new Media Player. Many end-users have contacted the company in regards to upgrading this problem. </li></ul>
  17. 17. Response Questions <ul><li>1.) Identify what the company could do to solve this problem. </li></ul><ul><li>2.) How could this problem be avoided in the future. </li></ul>
  18. 18. Response Answers <ul><li>1.) Creation of a patch that will enable changes in software and hardware requirements. For example freeing up space to process the new interface. </li></ul><ul><li>2.) This problem could be avoided by creating their own media player then they dictate the upgrades. </li></ul>
  19. 19. Identification of section to be altered <ul><li>Once a decision has been made, the location of the section to be altered needs to be determined. </li></ul><ul><li>Structure diagrams and data flow diagrams will assist in locating module requiring modification. </li></ul><ul><li>Once the module has been identified the programmer can analyse the IPO charts, algorithms and source code to gain a understanding. </li></ul>
  20. 20. Identification of section to be altered <ul><li>Two approaches that will help in deciding what exactly has to be changed, include: </li></ul><ul><ul><li>Communication between users and the modification team. </li></ul></ul><ul><ul><li>Thorough understanding of the original code through study of the original documentation. </li></ul></ul>
  21. 21. Identification of section to be altered <ul><li>Identify FOUR examples of communication methods that would be used to promote communication between the users and the modification team. </li></ul>
  22. 22. Identification of section to be altered <ul><li>Answers: </li></ul><ul><li>Interviews </li></ul><ul><li>Observations </li></ul><ul><li>Questionnaires </li></ul><ul><li>Research </li></ul>
  23. 23. Identification of section to be altered <ul><li>Outline what documentation a modification team may analyse in order to gain an understanding of a software solution. </li></ul>
  24. 24. Identification of section to be altered <ul><li>Answers: </li></ul><ul><li>Objectives </li></ul><ul><li>Data Flow Diagram </li></ul><ul><li>System Flowcharts </li></ul><ul><li>Algorithms </li></ul><ul><li>Source Code </li></ul><ul><li>Code Comments </li></ul>
  25. 25. Determining Changes to be made <ul><li>Once the module and code have been located it is now time make the appropriate changes. </li></ul><ul><li>Depending on the nature of the modification, changes may be required to data structures, files and the user interface. </li></ul><ul><li>Consequences of modifications must be investigated thoroughly. </li></ul>
  26. 26. Determining Changes to be made <ul><li>It may be important to analyse modifications regarding the following criteria: </li></ul><ul><li>Priority – (Are they urgent) </li></ul><ul><li>Extent – (Number of changes to be made) </li></ul><ul><li>Personnel – (Who will do the changes) </li></ul><ul><li>Expertise – (Are their enough skills evident to make the changes) </li></ul><ul><li>Downtime </li></ul>
  27. 27. Implementing and testing the solution <ul><li>Once the changes have been completed they need to be implemented and tested. </li></ul><ul><li>Changes to modules that alter parameters will require modifications to each higher-level calling module. </li></ul>
  28. 28. Activity 1 <ul><li>Identify THREE factors that could help make a program easier to maintain. </li></ul>
  29. 29. Activity 1 <ul><li>Answer </li></ul><ul><li>Module Independence – The ability to change one component of the program without affecting other modules. </li></ul><ul><li>Internal Documentation – Good structure and use of intrinsic documentation. </li></ul><ul><li>Program Testing – The better the testing , the fewer errors that will eventuate. </li></ul>
  30. 30. Activity 2 <ul><li>A software company produces a product that automates recorded keeping in doctors surgeries. As part of the contract the company provides an annual update of the program. The company has maintained a database of support calls to identify the modifications needed for each upgrade. </li></ul>
  31. 31. Activity 2 <ul><li>The table below lists the top 10 issues: </li></ul>15 Loss of network connection is not notified until save operation is initiated. 38 Scheduling of doctors does not take into account multiple surgery locations within one practice. 17 Program crashes once two referrals are printed for one patient. 39 Unable to import drug references from a new health department database. 18 Individual patient records can only be viewed one terminal at a time. 56 Standard HP printer driver not accessible. 24 Need to minimise application so other programs can be used. 59 No report available to list frequency of drug prescription by a doctor. 29 Cancelled appointments are not made available immediately. 65 Need to link members of the same family. Frequency Issue Frequency Issue
  32. 32. Activity 2 <ul><li>Categorise each of the ten issues as either bugs in the application, hardware issues or changes to program requirements. </li></ul>