SOFTWARE APPLICATION STORY
MOHAMED SAID IBRAHIM
Software Test Engineer | SDET | Cypress Ambassador | Flutter | ISTQB? CTFL | Playwright | Postman | Grafana K6 | OWASP ZAP | Javascript | Jira | Agile
In my faculty I was so engaged with modern technology and convinced that it is the best way to rid of poverty and solve people problem and make their life easier. So, I gave so much effort to learn its principals, methods, strategies and tools. I was inspired greatly by younger men who make enormous wealth by making websites and applications like Google Facebook, YouTube, WhatsApp, etc.
My level was moderate in building software applications as I was using Java as native tool that was so complex to learn and use.
In my college, I and other students was using social media platforms such as Facebook and WhatsApp to share our files, audios, lectures, tasks, etc. that was very chaotic because we could not organize our Tasks, appointments or files in the right way.?
I realized that my brother uses a new technology called “Flutter” that is easier than Java and other tools. So, I shifted to it quickly and with my paper and pen I noted all requirements that I need for my own work management application. I put many scenarios about user stories and choose the suitable one. with my sketch notes I drew the screens of application and connections between them. I studied all things about database and its providers and then I choosed Google firebase as it is safe, fast and reasonable. My vision in the development process was to make maintainable, readable, testable code so I applied SOLID principles to make the best profit from Objected Oriented Programming. First of all, I separated logic files from User interface files. I made every module class plays a certain role and one way for modifying it “Single responsibility principle”. Second, I planned to make all classes opened to extension and closed for modification “Open-Closed principle”. I ensured that any of my subclass’s behaviors and functions can substitute its counterpart in its super class “Liskov Substitution Principle”. I made all visible and logical interfaces each of them has one purpose and one function and separated from each other “The Interface Segregation Principle”. I prepared abstract classes and interfaces and make other classes depend on them only not depend on concrete classes “Dependency Inversion Principle”. In all my project process from specifications till production I make my family and my nearer friends test it and give me feedback.
领英推荐
I was developing my applications in iteration after iteration and make analysis of each iteration outputs. Each iteration was not exceeded 8 weeks. After I had become satisfied about my application, I decided to put it on Google play. I realized soon that I did not adjust firebase functionality well so the application will consume the free quota quickly. I create a new plan for firebase to fit firebase prices and free quota. I also added some adds in nice way to not affect the user experience badly. My Second modification in my app when I realized that many features That took the majority of developing time had many defects and bad quality when I analyzed them, I found that the tool I used for the developing my application was not suitable for the performance and quality of these features thus bugs happened. I created new plan to enhance or eliminate these features and gain the high-quality level of my application. Now I have high quality application with high standard levels so I can confidently implement my own advertisement campaign and make money from it.
https://geekletters.blogspot.com/2023/01/software-application-story.html