The day started off with the 8am Databases 3 class – We had a lecture about the physical design of a database, and some tips on how to make it perform better. One of the concepts I found unusual was denormalization – because I have been taught for the last 18 months to make my database into at least 3rd normal form. I now understand why denormalization would be required, e.g. where columns from different tables are frequently accessed with each-other at the same time, they can be merged together (depending on business rules and use cases). We talked about indexing (with primary, clustered, and secondary indexes), partitioning of database (horizontal and vertical), and looking at things from a hardware/virtualization point of view. I know if I need to denormalize a set of tables, I’ll need to have some sort of safeguard/s in place – as denormalization creates the risk of more anomalies (such safeguards could be triggers, stored functions, and stored procedures). After discussing SQL Server issues with Tom, I realized I would need to uninstall and reinstall a newer version on my machine – hopefully this time things will work. As I know my project will be database driven (at the moment, I have chosen MySQL), taking this paper at the same time is really beneficial.
As far as technology goes, today was a bad day… The updates managed to install ok (from last night), but somehow the display driver became corrupt. With some help from Perrin, the problem ended up being fixed – but it involved numerous reboots and reinstallations. Because of this, I wasn’t able to get started on my wireframes as planned (for today), so I spent some time going over my E.R.D while I didn’t have access to my machine – the whiteboard version of the E.R.D revision can be seen below:
If you want to compare both versions together, you can visit my E.R.D wiki page at https://project.ict.op.ac.nz/Project/2013_Projects/Madmax_Development/Iteration_2/Functional_Requirements#erd. That page will also show a revised graphical version of the E.R.D.
Today I also had my scrum meeting with Paul – he thinks I am making good progress and seems happy with my organisation so far. The last few meetings have been very straightforward – I make sure I achieve the tasks I set myself, and communicate with Paul and Sam about project when they’re not busy. You can see this scrum meeting records at https://project.ict.op.ac.nz/Project/2013_Projects/Madmax_Development/Ongoing/Scrum_Meetings#27082013.
In the afternoon I had my Linux class. Today’s lab got us involved with Bash shell scripting more, as well as piping input and output (stdin and stdout) from one function call/file to another. Although I didn’t quite finish the lab in time, we also looked at Shell variables – hopefully I can get some time tomorrow or Thursday to catch up on tasks I missed out on.
After Linux class had finished, I tried to fix the computer problems I mentioned earlier. This time, Perrin and myself got somewhere – this time it involved another reboot and re-installation of the drivers (and ALOT of patience).
Instead of working on the Dialogue Diagram and starting work on wireframes, I started to create a rough development/work flow/versioning control plan. I have a good idea on what the work flow might look like, I just need some help to set it up and get things working technically. I have scheduled a chat with Tom tomorrow morning to discuss my plan and make it more robust, and also help me go over my E.R.D. In the mean time, you can see my rough copy of the plan below:
I look forward to the chat with Tom tomorrow, as there is some inconsistencies with the work flow that needs fixed.
Lastly, before I forget, I came across a real treasure of a resource – which can be seen at http://nvie.com/posts/a-successful-git-branching-model/. It is an excellent example of using Git in an application development environment. I can see myself learning to use this style of control with Git – and i see this as a really good resource for my Technical Defense in a couple of weeks time.
To do tomorrow (28/8/2013)
- Have meeting with Tom – about E.R.D and development/work flow/versioning control plan
- Have 1st copy of Dialogue Diagram done
- Go to project class in afternoon
- Have first copy of wireframes done