Decoupling van bestaande software

Onderzoek naar modulariteit software

Huidige opbouw en naamgeving

Er zijn op dit moment drie modules aanwezig met eigen functionaliteit

Design

Design Module

LVL 1 design van alle modules.

Overzicht

  • AutoCrop is in staat om een grijs scherm te herkennen van een rekenmachine. Na het herkennen van het scherm, is deze module in staat om een uitsnede van dit scherm te maken. De output van dit scherm is ook een vierkante image waar alleen het scherm van de rekenmachine in te zien is.
    • Input =>Image
    • Output=>Image (Cropped image)
  • Preprocessor zorgt voor de preproccessing van de image. Hierdoor is makkelijker voor de software om de tekst in de image te lezen. Binnen deze module wordt alle onnodige en onbelangrijke informatie binnen de image verwijderd.
    • Input =>Image
    • Output=>Image (Preprocessed image)
  • ReadDisplay extraheert de tekst uit een image. Dit kunnen meerdere lines en/of woorden zijn.
    • Input =>Image
    • Output=>String (Gelezen tekst)

Coupling

Alle modules zijn losgekoppeld van elkaar en zijn in staat om seperaat te runnen. De modules Preprocessor en AutoCrop zijn 100% procent op zichzelf werkend. Als in beide willekeurige images worden gestopt zullen deze modules altijd een image teruggeven. Echter kan de teruggegeven image bij de AutoCrop niet de juiste zijn voor de invoer van ReadDisplay.

De module ReadDisplay geeft een string terug als het tekst herkent in een image. Hoe deze tekst er uitziet kan verschillen. Zo kunnen er lijnen, spaties of tabs teruggeven worden. Het is niet goed te voorspellen wat deze module teruggeeft; De output is afhankelijk van de input.

Conclusie

Alle modules werken volledig los van de rest en zijn niet afhankelijk van ander modules.Toch wordt aanbevolen om een controle module the maken na de ReadDisplay module. Dit door de output die kan verschillen.