SlideShare a Scribd company logo
1 of 24
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);
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

What's hot (20)

មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++
 
Notes part5
Notes part5Notes part5
Notes part5
 
C++ for beginners
C++ for beginnersC++ for beginners
C++ for beginners
 
Learn C
Learn CLearn C
Learn C
 
Abcxyz
AbcxyzAbcxyz
Abcxyz
 
C programming session6
C programming  session6C programming  session6
C programming session6
 
Word processing
Word processingWord processing
Word processing
 
Algorithm - Introduction
Algorithm - IntroductionAlgorithm - Introduction
Algorithm - Introduction
 
Problem solving methodology
Problem solving methodologyProblem solving methodology
Problem solving methodology
 
CLASS VIII COMPUTERS FLOW CHART AND ALGORITHM
CLASS VIII COMPUTERS FLOW CHART AND ALGORITHMCLASS VIII COMPUTERS FLOW CHART AND ALGORITHM
CLASS VIII COMPUTERS FLOW CHART AND ALGORITHM
 
programming fortran 77 Slide01
programming fortran 77 Slide01programming fortran 77 Slide01
programming fortran 77 Slide01
 
Bca1020 programming in c
Bca1020  programming in cBca1020  programming in c
Bca1020 programming in c
 
Pseudo code
Pseudo codePseudo code
Pseudo code
 
Cityu Appslab c++ talk
Cityu Appslab c++ talkCityu Appslab c++ talk
Cityu Appslab c++ talk
 
Algorithm and c language
Algorithm and c languageAlgorithm and c language
Algorithm and c language
 
C programming Ms. Pranoti Doke
C programming Ms. Pranoti DokeC programming Ms. Pranoti Doke
C programming Ms. Pranoti Doke
 
C language
C language C language
C language
 
Pseudocode basics
Pseudocode basicsPseudocode basics
Pseudocode basics
 
Pseudocode haggis
Pseudocode   haggisPseudocode   haggis
Pseudocode haggis
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 

Viewers also liked

IPT Overview of Exam Minimums
IPT Overview of Exam MinimumsIPT Overview of Exam Minimums
IPT Overview of Exam MinimumsKelly Bauer
 
Exam feedback term 1 2011
Exam feedback term 1 2011Exam feedback term 1 2011
Exam feedback term 1 2011Kelly Bauer
 
Algorithms Vs Meta Language
Algorithms Vs Meta LanguageAlgorithms Vs Meta Language
Algorithms Vs Meta LanguageKelly Bauer
 
Algorithms Vs Meta Language
Algorithms Vs Meta LanguageAlgorithms Vs Meta Language
Algorithms Vs Meta LanguageKelly Bauer
 
Desk Chekcing Algorithms
Desk Chekcing AlgorithmsDesk Chekcing Algorithms
Desk Chekcing AlgorithmsKelly Bauer
 
5 multimedia elements - animation
5   multimedia elements - animation5   multimedia elements - animation
5 multimedia elements - animationKelly Bauer
 
Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circlemary_ramsay
 

Viewers also liked (8)

IPT Overview of Exam Minimums
IPT Overview of Exam MinimumsIPT Overview of Exam Minimums
IPT Overview of Exam Minimums
 
Exam feedback term 1 2011
Exam feedback term 1 2011Exam feedback term 1 2011
Exam feedback term 1 2011
 
Algorithms Vs Meta Language
Algorithms Vs Meta LanguageAlgorithms Vs Meta Language
Algorithms Vs Meta Language
 
Algorithms Vs Meta Language
Algorithms Vs Meta LanguageAlgorithms Vs Meta Language
Algorithms Vs Meta Language
 
Evaluation
EvaluationEvaluation
Evaluation
 
Desk Chekcing Algorithms
Desk Chekcing AlgorithmsDesk Chekcing Algorithms
Desk Chekcing Algorithms
 
5 multimedia elements - animation
5   multimedia elements - animation5   multimedia elements - animation
5 multimedia elements - animation
 
Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circle
 

Similar to Maintaining Code

Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptxChapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptxrajinevitable05
 
Software development slides
Software development slidesSoftware development slides
Software development slidesiarthur
 
Safetty systems intro_embedded_c
Safetty systems intro_embedded_cSafetty systems intro_embedded_c
Safetty systems intro_embedded_cMaria Cida Rosa
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2Hammad Rajjoub
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2Hammad Rajjoub
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review ProcessDr. Syed Hassan Amin
 
Program logic and design
Program logic and designProgram logic and design
Program logic and designChaffey College
 
Fundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptxFundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptxVigneshkumar Ponnusamy
 
object oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxobject oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxurvashipundir04
 
Chapter 5( programming) answer
Chapter 5( programming) answerChapter 5( programming) answer
Chapter 5( programming) answersmkengkilili2011
 
Unit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptxUnit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptxsaivasu4
 
Book management system
Book management systemBook management system
Book management systemSHARDA SHARAN
 

Similar to Maintaining Code (20)

Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptxChapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
Chapter vvxxxxxxxxxxx1 - Part 1 (3).pptx
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
Embedded C.pptx
Embedded C.pptxEmbedded C.pptx
Embedded C.pptx
 
Unit-2.pptx
Unit-2.pptxUnit-2.pptx
Unit-2.pptx
 
Safetty systems intro_embedded_c
Safetty systems intro_embedded_cSafetty systems intro_embedded_c
Safetty systems intro_embedded_c
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
 
ArduinoWorkshop2.pdf
ArduinoWorkshop2.pdfArduinoWorkshop2.pdf
ArduinoWorkshop2.pdf
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review Process
 
Bcsl 031 solve assignment
Bcsl 031 solve assignmentBcsl 031 solve assignment
Bcsl 031 solve assignment
 
Program logic and design
Program logic and designProgram logic and design
Program logic and design
 
Fundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptxFundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptx
 
object oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxobject oriented programming part inheritance.pptx
object oriented programming part inheritance.pptx
 
Chapter 5( programming) answer
Chapter 5( programming) answerChapter 5( programming) answer
Chapter 5( programming) answer
 
Unit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptxUnit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptx
 
10tait
10tait10tait
10tait
 
Chapter 10
Chapter 10 Chapter 10
Chapter 10
 
Book management system
Book management systemBook management system
Book management system
 
1.Basic_Syntax
1.Basic_Syntax1.Basic_Syntax
1.Basic_Syntax
 
Python basic syntax
Python basic syntaxPython basic syntax
Python basic syntax
 

More from Kelly Bauer

Structural factors
Structural factorsStructural factors
Structural factorsKelly Bauer
 
Scaffolding activities
Scaffolding activitiesScaffolding activities
Scaffolding activitiesKelly Bauer
 
Project showcase
Project showcaseProject showcase
Project showcaseKelly Bauer
 
Project showcase church in the middle ages
Project showcase church in the middle agesProject showcase church in the middle ages
Project showcase church in the middle agesKelly Bauer
 
Selection and justification
Selection and justificationSelection and justification
Selection and justificationKelly Bauer
 
6 multimedia elements - www
6   multimedia elements - www6   multimedia elements - www
6 multimedia elements - wwwKelly Bauer
 
3 multimedia elements - audio
3   multimedia elements - audio3   multimedia elements - audio
3 multimedia elements - audioKelly Bauer
 
OHS for Industrial Technology
OHS for Industrial TechnologyOHS for Industrial Technology
OHS for Industrial TechnologyKelly Bauer
 
Images (Samples from past exams
Images (Samples from past examsImages (Samples from past exams
Images (Samples from past examsKelly Bauer
 
Personell issues
Personell issuesPersonell issues
Personell issuesKelly Bauer
 
Exam feedback term 1 2011
Exam feedback term 1 2011Exam feedback term 1 2011
Exam feedback term 1 2011Kelly Bauer
 
4 multimedia elements - video
4   multimedia elements - video4   multimedia elements - video
4 multimedia elements - videoKelly Bauer
 
Stem 71 24 multimedia elements - graphics
Stem 71 24   multimedia elements - graphicsStem 71 24   multimedia elements - graphics
Stem 71 24 multimedia elements - graphicsKelly Bauer
 

More from Kelly Bauer (20)

Logo design
Logo designLogo design
Logo design
 
Team teaching
Team teachingTeam teaching
Team teaching
 
Cmyk vs rgb
Cmyk vs rgbCmyk vs rgb
Cmyk vs rgb
 
Structural factors
Structural factorsStructural factors
Structural factors
 
Scaffolding activities
Scaffolding activitiesScaffolding activities
Scaffolding activities
 
Team teaching
Team teachingTeam teaching
Team teaching
 
Entry document
Entry documentEntry document
Entry document
 
Project showcase
Project showcaseProject showcase
Project showcase
 
Project showcase church in the middle ages
Project showcase church in the middle agesProject showcase church in the middle ages
Project showcase church in the middle ages
 
Selection and justification
Selection and justificationSelection and justification
Selection and justification
 
6 multimedia elements - www
6   multimedia elements - www6   multimedia elements - www
6 multimedia elements - www
 
3 multimedia elements - audio
3   multimedia elements - audio3   multimedia elements - audio
3 multimedia elements - audio
 
OHS for Industrial Technology
OHS for Industrial TechnologyOHS for Industrial Technology
OHS for Industrial Technology
 
Images (Samples from past exams
Images (Samples from past examsImages (Samples from past exams
Images (Samples from past exams
 
Personell issues
Personell issuesPersonell issues
Personell issues
 
Differentiation
DifferentiationDifferentiation
Differentiation
 
Exam feedback term 1 2011
Exam feedback term 1 2011Exam feedback term 1 2011
Exam feedback term 1 2011
 
4 multimedia elements - video
4   multimedia elements - video4   multimedia elements - video
4 multimedia elements - video
 
Stem 71 24 multimedia elements - graphics
Stem 71 24   multimedia elements - graphicsStem 71 24   multimedia elements - graphics
Stem 71 24 multimedia elements - graphics
 
Stem 22 text
Stem 22 textStem 22 text
Stem 22 text
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

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);
  • 18.
  • 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