SlideShare a Scribd company logo
Mo!fying So"ware Solutions




      A topic in an hour
Please write the following comments on your syllabus


   Algorithms             Explicit
   integrate              Reverse
   Changing               engineer

   System                 Meaningful

   Standards              Comments

   Data                   Indentation

   Outsource
Why did we write them
        down?
   Whe’re playing
Reasons for Maintenance Co!ng



   Changing user requirements
   Eg, Microsoft Word...people want to add pictures,
   graphs, charts, integrate excel spreadsheets,
   essentially...desktop publish
   Even clip art
Changing user requirements
Upgrading the user interface
Changes in the data to be processed




   Format from one system can be often need to be
   implemented into another system.
   If this data changes, you may need to change the
   new system.
Introduction of new hardware or soft ware




    Introduction of new peripherals. Eg, scanners need
    scanner drivers, printers need printer drivers
    USB Drives a major introduction in the past 4
    years.
    Introduction of new standards of saving files
    Sometimes, just to be competitive
Changing organisational focus




    A company creates an program where they hire
    book-keepers to do their books
    OR
    A company that decides to outsource their book-
    keeping and only needs to enter sales/expenses
Changes in government
    requirements
Poorly implemented code
Social and ethical Implications




    Plaigarism
    You can’t reverse engineer code
    You must reference any code that you use
    Open source restrictions
Features in source code that improve it’s
maintainability



    Use of variables instead of values.

        Radius=3

        Circumference = 2 * Pi * Radius
    instead of

        Circumference =2 * Pi * 3
Features in source code that improve it’s
maintainability



    Meaningful Variable Names

        Bob=3

        c1 = 2 * Stuff * Bob
    instead of

        Circumference =2 * Pi * Radius
Features in source code that improve it’s
maintainability




    Explaination comments in code

        Circumference =2 * Pi *
        Radius //radius is the distance
        from the centre to one edge,
        input by the user in a text box.
        Declared on form 1
Features in source code that improve it’s
maintainability



    Use of Standard Control Structures

      For (i= 1 to 10)
      Bob = i + 1;
      Next i
    OR
      Bob =i + 1

        Go to line 10 until i =10
Features in source code that improve it’s
maintainability
  A clear and uncluttered program
  Use of indentation!

     /*Simple HelloButton()method
     version 1.0 author JohnDoe*/
     HelloButton(){JButton hello=new
     JButton (“Hello
     World”);hello.addActionListener(
     new HellowBtnList) JFrame
     frame=newFrame(“Hello Button”);
     Container pane =
     frame.getContentPane();
     pane.add(hello);
Maintaining Code
Features in source code that improve it’s
maintainability




    One logical task per subroutine!
    This means that subroutines can be reused for
    different things within other programs and also
    If say, data changes, you don’t have to get rid of
    every process, only those that have to do with
    saving in that format.
Interpretation



    Documentation of the process, and product should
    be availiable for developers to interpret code.
    Documentation can be:
    Internal or External
    External can be based around:
      Development : for developers by developers
      Use: for users by developers
Algorithms (and IPO) are the best things to look
back to to be able to understand and modify code
Sometimes, when algorithms are not stored they
need to be rewritten to understand:
  Inputs
  Types of Variables
  Processes
  Outputs
Use supplied documentation to
Identify how control structures have been used
     Explain how variables have been used.




Documentation:
The following is a piece of code supplied to you.
You need to:
Convert the code to an algorithm
code

For J=0 to Last
     ThisChar=textEntry.Text.Chars(J)
     If IsLetter(ThisChar) or ThisChar “ ‘ “
          If Not InAWord Then
              WordCount +=1
           End If
           InAWord=True
     Else
        InAWord=False
     End If
Next J
What was all this about again?




Coding so that it is easier for people to modify,
making your code explicit
Being able to modify other people’s code

More Related Content

PPT
3 in out
PDF
Data services-functions
PPT
Unit 2 ppt
PPTX
Algorithm and pseudo codes
PPT
Algorithms
PDF
4 coding from algorithms
PPTX
Programming in c++ ppt
DOC
Program sba
3 in out
Data services-functions
Unit 2 ppt
Algorithm and pseudo codes
Algorithms
4 coding from algorithms
Programming in c++ ppt
Program sba

What's hot (20)

PPT
មេរៀនៈ Data Structure and Algorithm in C/C++
PDF
PPT
C++ for beginners
PPS
Learn C
TXT
PDF
C programming session6
PDF
Word processing
PPTX
Algorithm - Introduction
PDF
Problem solving methodology
DOCX
CLASS VIII COMPUTERS FLOW CHART AND ALGORITHM
PDF
programming fortran 77 Slide01
DOCX
Bca1020 programming in c
PPTX
Pseudo code
PPTX
Cityu Appslab c++ talk
PDF
Algorithm and c language
PDF
C programming Ms. Pranoti Doke
PPT
Pseudocode basics
PPTX
Pseudocode haggis
PPTX
Algorithms
មេរៀនៈ Data Structure and Algorithm in C/C++
C++ for beginners
Learn C
C programming session6
Word processing
Algorithm - Introduction
Problem solving methodology
CLASS VIII COMPUTERS FLOW CHART AND ALGORITHM
programming fortran 77 Slide01
Bca1020 programming in c
Pseudo code
Cityu Appslab c++ talk
Algorithm and c language
C programming Ms. Pranoti Doke
Pseudocode basics
Pseudocode haggis
Algorithms
Ad

Viewers also liked (8)

KEY
IPT Overview of Exam Minimums
PDF
Exam feedback term 1 2011
PPTX
Algorithms Vs Meta Language
PPT
Algorithms Vs Meta Language
PPT
Evaluation
PDF
Desk Chekcing Algorithms
PPTX
5 multimedia elements - animation
PDF
Circumference of a Circle
IPT Overview of Exam Minimums
Exam feedback term 1 2011
Algorithms Vs Meta Language
Algorithms Vs Meta Language
Evaluation
Desk Chekcing Algorithms
5 multimedia elements - animation
Circumference of a Circle
Ad

Similar to Maintaining Code (20)

PPTX
program fundamentals using python1 2 3 4.pptx
PPTX
Introduction to computers, input and output devices
PPTX
Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
PPT
Software development slides
PPTX
Embedded C.pptx
PPTX
Unit-2.pptx
PDF
Safetty systems intro_embedded_c
PPTX
object oriented programming language in c++
PPTX
C:\Fakepath\Combating Software Entropy 2
PPTX
C:\Fakepath\Combating Software Entropy 2
PDF
ArduinoWorkshop2.pdf
PPTX
Improving Code Quality Through Effective Review Process
PPT
Program logic and design
PPTX
Fundamentals of Data Structures Unit 1.pptx
PPTX
object oriented programming part inheritance.pptx
PPTX
Computer Hardware Technology PowerPoint Templates (1).pptx
PPTX
computer ppt group22222222222222222222 (1).pptx
PPT
Chapter 5( programming) answer
PPTX
Unit-1 (introduction to c language).pptx
program fundamentals using python1 2 3 4.pptx
Introduction to computers, input and output devices
Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
Software development slides
Embedded C.pptx
Unit-2.pptx
Safetty systems intro_embedded_c
object oriented programming language in c++
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
ArduinoWorkshop2.pdf
Improving Code Quality Through Effective Review Process
Program logic and design
Fundamentals of Data Structures Unit 1.pptx
object oriented programming part inheritance.pptx
Computer Hardware Technology PowerPoint Templates (1).pptx
computer ppt group22222222222222222222 (1).pptx
Chapter 5( programming) answer
Unit-1 (introduction to c language).pptx

More from Kelly Bauer (20)

PPT
Logo design
KEY
Team teaching
KEY
Cmyk vs rgb
PPT
Structural factors
KEY
Scaffolding activities
PPT
Team teaching
KEY
Entry document
PPT
Project showcase
PPTX
Project showcase church in the middle ages
PPTX
Selection and justification
PPTX
6 multimedia elements - www
PPTX
3 multimedia elements - audio
PDF
OHS for Industrial Technology
KEY
Images (Samples from past exams
PPT
Personell issues
PPT
Differentiation
PDF
Exam feedback term 1 2011
PPTX
4 multimedia elements - video
PPTX
Stem 71 24 multimedia elements - graphics
PDF
Stem 22 text
Logo design
Team teaching
Cmyk vs rgb
Structural factors
Scaffolding activities
Team teaching
Entry document
Project showcase
Project showcase church in the middle ages
Selection and justification
6 multimedia elements - www
3 multimedia elements - audio
OHS for Industrial Technology
Images (Samples from past exams
Personell issues
Differentiation
Exam feedback term 1 2011
4 multimedia elements - video
Stem 71 24 multimedia elements - graphics
Stem 22 text

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
August Patch Tuesday
PDF
Encapsulation theory and applications.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Machine learning based COVID-19 study performance prediction
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Machine Learning_overview_presentation.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Heart disease approach using modified random forest and particle swarm optimi...
TLE Review Electricity (Electricity).pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Unlocking AI with Model Context Protocol (MCP)
SOPHOS-XG Firewall Administrator PPT.pptx
August Patch Tuesday
Encapsulation theory and applications.pdf
A Presentation on Artificial Intelligence
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Machine learning based COVID-19 study performance prediction
gpt5_lecture_notes_comprehensive_20250812015547.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
cloud_computing_Infrastucture_as_cloud_p
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Univ-Connecticut-ChatGPT-Presentaion.pdf
Machine Learning_overview_presentation.pptx

Maintaining Code

  • 1. Mo!fying So"ware Solutions A topic in an hour
  • 2. Please write the following comments on your syllabus Algorithms Explicit integrate Reverse Changing engineer System Meaningful Standards Comments Data Indentation Outsource
  • 3. Why did we write them down? Whe’re playing
  • 4. Reasons for Maintenance Co!ng Changing user requirements Eg, Microsoft Word...people want to add pictures, graphs, charts, integrate excel spreadsheets, essentially...desktop publish Even clip art
  • 6. Upgrading the user interface
  • 7. Changes in the data to be processed Format from one system can be often need to be implemented into another system. If this data changes, you may need to change the new system.
  • 8. Introduction of new hardware or soft ware Introduction of new peripherals. Eg, scanners need scanner drivers, printers need printer drivers USB Drives a major introduction in the past 4 years. Introduction of new standards of saving files Sometimes, just to be competitive
  • 9. Changing organisational focus A company creates an program where they hire book-keepers to do their books OR A company that decides to outsource their book- keeping and only needs to enter sales/expenses
  • 10. Changes in government requirements
  • 12. Social and ethical Implications Plaigarism You can’t reverse engineer code You must reference any code that you use Open source restrictions
  • 13. Features in source code that improve it’s maintainability Use of variables instead of values. Radius=3 Circumference = 2 * Pi * Radius instead of Circumference =2 * Pi * 3
  • 14. Features in source code that improve it’s maintainability Meaningful Variable Names Bob=3 c1 = 2 * Stuff * Bob instead of Circumference =2 * Pi * Radius
  • 15. Features in source code that improve it’s maintainability Explaination comments in code Circumference =2 * Pi * Radius //radius is the distance from the centre to one edge, input by the user in a text box. Declared on form 1
  • 16. Features in source code that improve it’s maintainability Use of Standard Control Structures For (i= 1 to 10) Bob = i + 1; Next i OR Bob =i + 1 Go to line 10 until i =10
  • 17. Features in source code that improve it’s maintainability A clear and uncluttered program Use of indentation! /*Simple HelloButton()method version 1.0 author JohnDoe*/ HelloButton(){JButton hello=new JButton (“Hello World”);hello.addActionListener( new HellowBtnList) JFrame frame=newFrame(“Hello Button”); Container pane = frame.getContentPane(); pane.add(hello);
  • 19. Features in source code that improve it’s maintainability One logical task per subroutine! This means that subroutines can be reused for different things within other programs and also If say, data changes, you don’t have to get rid of every process, only those that have to do with saving in that format.
  • 20. Interpretation Documentation of the process, and product should be availiable for developers to interpret code. Documentation can be: Internal or External External can be based around: Development : for developers by developers Use: for users by developers
  • 21. Algorithms (and IPO) are the best things to look back to to be able to understand and modify code Sometimes, when algorithms are not stored they need to be rewritten to understand: Inputs Types of Variables Processes Outputs
  • 22. Use supplied documentation to Identify how control structures have been used Explain how variables have been used. Documentation: The following is a piece of code supplied to you. You need to: Convert the code to an algorithm
  • 23. code For J=0 to Last ThisChar=textEntry.Text.Chars(J) If IsLetter(ThisChar) or ThisChar “ ‘ “ If Not InAWord Then WordCount +=1 End If InAWord=True Else InAWord=False End If Next J
  • 24. What was all this about again? Coding so that it is easier for people to modify, making your code explicit Being able to modify other people’s code