I have been following a Diploma in Software Engineering at ESOFT, and for my final project, we were asked to develop a system for an imaginary company called “TeleMart” which basically is a mobile phone retailer. So, I started off with sketching a simple “Entity Relationship Diagram” as seen below.
It is a simple diagram, and of course, my first. Although it looked right at first, at the end, my entities were different from what it were planned to be like in the Entity Relationship Diagram.
But, the ER diagram was not the only diagram I designed. I also designed a Use-Case diagram as you can see above, which basically outlines the basic functionality of the system.
Talking of the technologies used in this system, the language I used was Java, mainly due to the fact that Java helps to deploy applications to various platforms unlike the other option, C#. Also, for the GUI, I used JavaFX which is quite a powerful tool, and I really like the fact that you no longer have to create objects, etc. to design the view. Instead, you have to write FXML code. FXML is basically XML, which has JavaFX specific tags to define the view. Moving to the database side of things, I used MySQL and I used Hibernate as an Object-Relational Mapper that basically fetches rows, etc. and represents it in the form of Objects to allow for more Object-Oriented-ish code. More over, it makes your application more flexible with regards to what database driver you use. Basically, if you want to change to perhaps MSSQL in the future, all you do is create the tables, etc. on that database, and change the driver. Simple as that! Finally, you could take a stroll at the source code or even contribute at TeleMart’s official GitHub repository found here.