Decoupling van bestaande software¶
Onderzoek naar modulariteit software
Huidige opbouw en naamgeving¶
Er zijn op dit moment drie modules aanwezig met eigen functionaliteit
Design¶
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.