Thursday 10 December 2009

Microsoft Access was theapplication that we were told to explore within Rapid Development Tools, a program that I have used many times before in the past, for both my own personal reasons, and also for academic reasons. Unfortunately though, Microsoft Access 07 is an application that I havent used before, and throughout previous uses I have only used the 03 version, which meant that when I opened up the application, I had no idea what I was doing.

Once I got started within Access 07, the similarities did start to become a little bit more obvious, and it was generally only the menu bars along the top of the screen that were cauing me to become confused with the entire user interface. Simple tasks like setting validation rules and choosing the input methods sprung back to me once I had accessed the right form of view. Entering data into the database was another task that became very easy to complete once I had grasped the basic layouts and views that were available within the application. Even forming the relationships between the table became a very easy task once I found out how to open the Relationships view, however I did still struggle to complete the relationships to a high level first time round, as I managed to enable various errors.

Creating forms and queries was another task that I soon managed to recall and complete to a high standard once I had reminded myself of the wizards and tools used within the production process, and eventually managed to produce some advanced and precise queries and forms. The layout for the query was another aspect that I had to remind myself of prior to completing the actual search process, due to the fact that I hadnt used the application for around 3 years, and also the overall basic layout was slightly different due to this version being more up to date. Once I had reminded myself though of how the query works, I was able to find all the right results that I was hoping for and successfully manage the task within the tutoriall. Similarly, the report and uses interfaces were both tasks that I was able to complete to a high standard, once I had reminded myself of the buttons and features that were avialbale within each of these sections of the system.

Comparing this application against the others I have used so far, it is without a doubt the easiest application to use, despite the fact that I had absolutely no idea how to use the piece of software when it first opened. If I had to choose between the applications Access Zoho and DabbleDB, I would instantly choose Access, due to the user interface and also the way in which the application is laid out, that allows me to complete my work without having to worry about the consequences of needing to worry about coding, due to the fact that there is no/very little coding used with Microsoft Access.

Comparing features within all of the applications I have used so far, Access has easily got to be the easiest to grasp, due to the fact that most of the production process is done via wizards and tutorials, which mean that I can simply select the options from the wizard that best suit my needs and create the button/form to my own personal standard. Also, as mentioned earlier in this write up, there is no coding eneded in order to complete any of the basic features within Access, therefore this gives me confidence that I can use the application without having to worry about being stuck in a dead end trap due to the fact that I cant understand coding terms.

Microsoft Acecss also allowed me to create a professional user interface form today, that performed tasks that any professional system would need to be able to do in order for a company to meet professional needs. I was very happy with the mini user interface that I was able to create, via the use of the buttons and previous queries that I had created, and the simplicity of reaching a professional standard was a very easy task.

If I had to choose one of the applications to base my case study on, I would definitaly use Microsoft Access with no other considerations made, due to the simplicity of the application, and also the fact that it requires no coding in order to complete. I am happy with the work that I completed within the tutorial assigned to this blog, and feel very confident using this application now that I have reminded myself of the basic features within the piece of software. I think in order to reach a highly professional standard in the future, I will need to take some time within my free leisure to remind myself of some more of the features within the piece of software, if I want to complete my work to a very high standard.

Tuesday 1 December 2009

Within todays lecture/tutorial we spent time looking at another interactive database supplied online called DabbleDB. DabbleDB follows a very similar approach to Zoho Creator, apart from DabbleDB uses much less/no coding to allow for quick and easy database production. Within DabbleDB, the complete database is already designed and embedded within the system, and all the user has to do is select options for how they want to create their database in relation to their own personal needs.

The major difference between Zoho Creator and DabbleDB that I recognised was the ability to enter information into the database, without having to enter each entry separately, whereas within DabbleDB all information can be entered as one, into a large text box. The package DabbleDB is referred to as being "Intelligent Software", therefore the application recognises the column headings when entered as well. The software will then relate all of the entries into the database so that all the Dates entered are assigned to the "Date" column, and the Surnames are assigned to the "Surname" column. This is all done automatic, and literally takes 5 minutes to copy/paste the information into the text box and for the application to sort out the data into appropriate columns. This process is very professional, and I was shocked when the software managed to sort the information out this quick. If I were to use an application for entering vast numbers of entries, then I would definitely use DabbleDB, due to the fact that information can be created in an application such as Excel, then copied and pasted over.

Once all the data within the application has being processed and sorted, the view is very easily for editing information, changing column heading properties etc. The overall professionalism of DabbleDB is superior for creating other features as well, as there are functions to create:
  • Charts - Pie, Bar and Line

  • Calendars

  • Maps

  • Compactness

All of these features mentioned above are created by the application, and the user barely needs to choose any options to implement these advanced productions. For my own personal benefit, there is also no coding required to create these bonus features, therefore this gives me confidence that I can create these advanced productions with confidence. The maps and charts that are produced are not poor quality, they are advanced and show statistics for the specific point within the chart when hovered over. The example below shows how this works.




Creating simple interfaces is another feature that DabbleDB allows the user to do, by applying colour schemes and logos into the database. The Administration section allows the user to create a custom colour scheme made for personal requirements. An example of how effective this could be for a company is if their logo follows a colour scheme, and as a result they want to change database so it follows the company colours. This can be achieved literally by clicking the mouse 4 times to complete the entire process. The layout of the database will then be changed to the colour scheme selected within the options window, OR if the company wants to make the database really professional, they can upload their company logo into the application so that it appears on the top of every page. This feature within DabbleDB proves how superior this application is when contrasted against Zoho Creator in terms or user-friendliness.

Once the data has been set up and the preferences have been changed so that the visual style of the application meets the needs of the user, there are other Administrative features that can be edited so that certain people within the company can view the database, and also a back-up feature can be added so that if the information within the databse is accidently edited/deleted and needs to be reset, then a back-up allows the application to process back to a set date and retrieve the information that was lost. This and many other features including the language, time zone and currency formats can all be edited as well within the adminstrator section.

There is one disadvantage that I have found when using DabbleDB, and it is the speed of which the application takes to both load and change pages. Compare this to Zoho Creator and the speed for which reponses are made are much quicker in comparison to this piece of software. The simplicity of creating a professional user interface and a professional database can only be praised though, due to the high quality of the layout. Even when all the information has been sorted and processes by the application, the columns can be edited so that instead of a date being registered as a number, is can be understood to be represented in Date format. Similarly for currency, is a price for an item is represented just as a number, it can be changed so that it is an aspect of currency instead, and even still, the type of currency can be chosen from this option.

The reports that can be produced by DabbleDB are also very professional, and also the ability to quickly change details of a current entry, and/or to create a new entry. I would still admit though that compared to Microsoft Access, this piece of software doesn't seem to meet the same standards that Access does, due to the fact that the common user-iterface (similarly with Zoho) doesnt meet the expectations that I personally require to create a professional database. There are lots of features within DabbleDB that impress me though, including the feature to quickly add entries into a database, and also the speed of which colour scheme/format is generated takes place, but for actually reaching professional understanding of a database (ie. setting up relationships between columns/tables) can be done much easier in Microsoft Access.

If I needed to create a database that met an objective for been quick to import data, pretty to look at and be quite straight forward, then I would definitely consider DabbleDB, alongside the fact that the columns can be edited in terms of format, and also so that Maps and Charts can be created - however, I still dont feel completely 100% confident with this software package due to the fact that some operations, such as undo seem very advanced for such a simple reorrection to be made, therefore I would still probably use Microsoft Access if I had to use a database software I am aware of.

Tuesday 24 November 2009

Todays lecture/tutorial focused on using an application that I have never used before called Zoho Creator. Zoho allows the user to create a database online, then use a code generator to make the system much more advanced and also meet user requirements. Zoho Creator is a very simple package that allows the creator to build simple databases (up until the coding is incorporated).

The advantage of using Zoho Creator is that it already had all the layout, templates and colour schemes built into the online system, therefore creating the basics and also a professionally styled interface is very easy. All of these features are found as templates which can be selected from the "Customize" tab which is located towards the top of the page. It is likely that if required, coding could be entered into the Script View to make the layout even more professional, but due to the fact that today was the first time I and many others in the class had used the software, we stuck to the basic layouts already embedded into the system.

The coding aspect within Zoho Creator was much harder for me personally, and I struggled to get an exact copy of the coding which I should have recieved compared to the result I actually got. Instead of having to write the code for the system though, Zoho Creator generates all the code manually via the use of tabs along the left hand side of the page which can be added onto the screen. For me personally, I dont like to write code, although if required, the Code View allows pure code to be written, and from here it will be automatically converted into buttons and other features within the User View.

As mentioned earlier, today was the first time I have used Zoho, and it looks like quite a basic application to use, apart from having to create/edit code. If I need to create a simple database that isnt based for a large professional company, then I may use Zoho Creator to store the data inside this application, although due to my knowledge of using Microsoft Access, I still think I will use this piece of software, due to the professional features that can be incorporated - although saying that Zoho Creator impressed me vastly today due its simpleness and easiness for creating a basic database system. The range of features available within Zoho Creator were quite advanced too, as the system allows me to include:
  • Single Line Fields
  • Multiple Line Fields
  • Phone Numbers
  • E-Mail Addresses
  • Option Fields (Favourite Color - Red OR Green OR Blue etc.)
  • Date/Time
  • Number

All of these features should be useful for me to create a simple but effective database, which meets a high standard.

Despite the fact that this application is very easy to create, when it comes to entering the information, all entries have to be entered manually. As a result, this takes a very long time to do, therefore entering information takes a very long time and as a result this isnt a professional approach for either a company/individual to use, due to its time cocsumption. In the future, if I were feeling more confident with coding, I may use Zoho to base my case study around, although due to the fact that this application relies heavily on code creation/editing, then I think I will give this application a miss.

Below is an image of a sample view I created throughout the second Zoho Creator Tutorial:

Within todays lecture we recapped the work we completed last week in relation to RAD (Rapid Application Development) and UML (Unified Modelling Language). Firstly we reminded each other of the different approaches to project management, then we looked at what the customer actually recieves as the project progresses. These were the outcomes:

  • Phased Development - Customer uses a basic version (version 1) and additional upgrades (new version) are added constantly. There is a very quick devliery time using this version due to the initial version been produced at a basic level.
  • Prototyping - Customer gets to use a version briefly and feedback is given back to the producer/team for upgrades and improvements.
  • Throaway Prototyping - Customer only gets a design of what the system will look like, meaning they never actually get the final version, until the "Throwaway" stage is made.

Based upon how quickly the customer needs the system can often depend on which method to use in order to meet the customer needs, hence, the importance of choosing which approach to use is vital.

Prioritising Functions:

Two Functions - Version release to customer as early and possible, and if expectations are high BUT the budget is low, the product must contain essential elements. This basically means that when it comes to prioritising the elements within the database, either one of, or both of these aspects need to be taken into account prior to the build. If the company/person requesting the system is short of money, then the most important elements must be included first, so that the company/customer gets complete satisfaction.

Problems When Creating A System:

  • When speaking to the customer, it is likely the customer will want EVERY aspect they require within the first version of the system, meaning that prioritising becomes a much harder job. This means that the creator of the system needs to stress that as later versions of the system are released (Phased Approach), then the less important features will be incorporate later. This can often be hard for the user to choose the key aspects of the system they want now and later.
  • It can be very difficult to get customer to organise/create priorities. This often results in a long list of features within the system being handed to the creator, and the creator mapping out which features shoul be incorporated first. Occasionally, this can result in the person/company requiring the system to become nervous towards whether or not the system will fully meet their needs or not.
  • Some functionality in the system may inter-link (i.e. independant). Sometimes functionality is inter-linked and can't be separated.

Prioritising Categories - Requirements Scales:

Following the list of features being handed to the customer, or the creator creating a list of features to be included within the system, a priority scale must be created so that the features can be released in an order that the most important features are included first, and the least important features last. The features that the user requires within the system must fit into one of the following categories depending on their importance:

  • High Priority - Product is not acceptable without this function/feature. Sometimes the phrase "Mission Critical" is used as another name for the feature that MUST be included. The features/functions that are included in this category will be released in v1.0.
  • Medium Priority - Supports necessary operation. Required eventually but not immediately (e.g. something that must be in the system, but can wait - Reporting Facilities etc.). Would enhance the system once included. The features/functions that are included in this category will be released in v2.0.
  • Low Priority - It is nice to have these features within the system, if the budget allows us to include them (e.g. a newsletter that can be sent out to the customers/public etc.). The features/functions that are included in this category will be released in v3.0.
  • Any later features will be released in versions 4.0 and above.

Steps To Follow To Prioritising

In order to reach the final result for prioritising features, the following steps must be taken:

  1. Go through the case study and/or the project and list all the functions/features contained in the requirements.
  2. Go through the list of functions/features and associate each of these with one of the prioritising categoires mentioned above (High, Medium, Low), AND state a reason why.
  3. Set the list into descending order of importance, meaning that all the important features (everything in version 1.0) will be first.
  4. Agree the list with the client.
  5. Group features/functions into versions of release.

Tuesday 10 November 2009

Within today's lecture we were given information towards the method that have been used between the 1980's-1990's and then from the 1990's onwards for Rapid Application Development (RAD). Within the 1980's a method called Structured Design was used to attempt to erase all problems that happened before this time. Within the Structured Design section there are 2 different types of project management methods that were produced in order to try and make project management easier. These 2 methods include:
  • Waterfall Method
  • Parallel Process

Within each type of process, there are 4 steps that are used to manage the application development and these are:

  • Planning
  • Analysis
  • Design
  • Implementation

Both of these methods differ to each other vastly, and contain their positive and negative factors.

  1. Waterfall Process

The Waterfall Process is a sequential life cycle, which in other words means that one thing happens after the other, and runs in a sequence where once one section has been created, it cannot be returned too. With the Waterfall method, in exceptional circumstances, if mistakes are made in later sections of the process of the project management then earlier sections can be revisited, although this is rare and isn't recommended. The Waterfall process does have one major negative effect - designing the documents upfront means they can be very hard to understand due to their length.

2. Parallel Process

The Parallel Process is generally used for splitting the project once the "Design Phase" has been created. The Planning and Analysis section are created respectively in order, but once the Design phase is reached an initial Design section is created, followed by 2+ splits. These splits are used for work to be carried out on different sections of the Design process, so that the progress of the project can actually be viewed and evidence is provided. The 2+ splits for the Design process lead onto an Implementation process to be carried out for each of the splits. Once all of these Implementation processes have been completed then they merge back together to form an Integration section which eventually leads onto the final system been produced. Generally, by using this process, the project management is shortened, however a negative factor to bear in mind when using this process is that there will be 2+ different "mini phases" been carried out, therefore there is a high risk of mistakes been carried out in the different phases, and when the convergence stage occurs, these mistakes will be integrated.

Following these 2 methods been created within the 1980's, and the mistakes that were been created within these processes been recognised, 3 more processes were created in the 1990's to reduce mistakes and errors that could potentially arise. The aim was to try and respond to the problems by ensuring a quicker delivery and also less paperwork.

  1. Phased Development

Phased Development was created so that the different phases were completed in order of importance, meaning that the project is completed in phases/versions so that the user can constantly receive updates towards the system they want to use. Aid of a diagram is much better to explain this process, although in basic terms the process runs like this:

Planning > Analysis > Analysis (Version 1) > Design (Version 1) > Implementation (1st Version) > System Created (Version 1) > Analysis (Version 2) > Design (Version 2) > Implentation (Version 2) > System Created (Version 2) > Analysis (Version 3) > Design (Version 3) > Implemenntation (Version 3) > System Created (Version 3).

This version has lots of positive features:

  • Customer receives "something" very quickly, despite it not been fully created.
  • While customer uses version 1, work is carried out on version 2 - therefore constant implementation.
  • If problems are located within the first version then the system upgrade process can be used to erase these issues.
  • Saves having to wait for the entire system to be fully created, then errors are found and erased.
  • Documentation is much smaller, as there are small systems for continuously created systems.

2. Prototyping

Prototyping allows the customer to have a "play" or a "trial" with the version created, and notes/feedback is given to the creator for faults that many be found. Within this version the following process is carried out:

Planning, Analysis Design and Implementation (Carried out at once) > System Prototype (Not a fully working version) > A loop is then created going back to the Analysis Design and Implementation sections so that errors found can be erased. This process is carried out until all problems have been found then the final Implementation process can be carried out, followed by the system been fully produced.

With this method though, there is a major disadvantage that if any initial problems are found in the first version, they are usually carried out in the later versions. If a problem occurs in the Analysis section, then the customer may not realise it, and it means that the same errors are looped over and over for many versions. Another negative is that no guarantee can be made that the customer will be happy, as feedback is not always exact.

3. Throwaway Prototyping

Throwaway Prototyping is exactly the same as prototyping apart from the early versions are not created, and only a design prototype is created. The process used for Throwaway Prototyping runs as follows:

Planning > Analysis (Thorough Analysis) > Analysis, Design and Implementation > Design Prototype (Not a System Prototype) > A loop is then created going back to the Analysis Design and Implementation sections so that errors found can be erased. This process is carried out until all problems have been found then the final Implementation process can be carried out, then a stem is created coming from the Analysis Design and Implementation section for the Final Design section to be completed > Implementation > System Produced.

Design prototypes continuously made until all problems that may arise are made. "Throwaway" means the Final Design flies away from the rest of the system created so far. This method is a way of creating a Final Design with all other problems that COULD arise been solved. A negative effect for this process is that the client/customer may not want this process to be carried out, as evidence of the work been produced isn't seen, only Design Prototypes are made.

Tuesday 3 November 2009

Within this weeks lesson we looked at Normalisation in a deeper aspect, and following the catch-up work I had to do, this session also didnt appear to be to bad. I believe that last week the class only looked at normalising data from only one form, whereas today we looked at normalising data from more than one form at once (e.g. invoice and a purchase order form). The process that was carried out today follows the same stages that were carried out when using Normalisation last week, apart from one more stage is added at the end to remove any repeating entities that occur.

Below are a list of websites that I found that show how normalisation works, and some more information towards how/why the process is useful.
http://www.getahead-direct.com/gwentrel.htm - this website shows how the Entity Relationship diagram can be established once normalisation has being carried out. This website looks as though it could be quite useful to me as I sometimes get confused with the "crows-feet" method.
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.admin/db2z_entitynormalization.htm - this website is similar to the first one that I found, as it explains how the different normalisation forms work.
http://www.troubleshooters.com/littstip/ltnorm.html - this website shows another guide for how Normalization works, and the process used to obtain the final results.
Following an absence last week, I have only just learnt about Normalisation today. Normalisation doesnt generally seem like a hard task, and it seemed much easier compared against Entity Relationship diagrams.
Todays lesson was quite enjoyable and I learnt quite a lot through the use of the 5 steps that are used to complete the tasks given out today. The 5 steps that are portrayed for normalisation are as follows:
  • List the un-normalised data, and identify repeating groups by placing them in brackets - the replacing groups are usually those that could be written down more than once, for example Item Number.
  • Choose a key for the main group - this is usually the first entity found from the section, e.g. Customer Number within an Order Form.
  • Extract the repeating groups, and give that a key - this could be for example, Item Number. Due to the fact that the repreated groups will have been found earlier, usually, the key for the group is the first in the brackets.
  • Identify and extract partial dependencies.
  • Identify and extract non-key dependencies.
Normalisation for me personally gets quite confusing towards the end of the process, when identifying and extracting the dependencies happens.

The Objectives behind Normalisation is to try and separate the items that are initially listed, so that the long list that is originally found can be broken down and split into small sections. Within the last step, eradicating some of the items will help to make the overall form easier to process when implemented into a computer program. Normalisation generally breaks down the list of entities given at the start of an invoice or purchase order form so that when later submitted into a database system, entities that are repeated can be removed - generally, the purpose is to save time for when the data needs to be entered into the fields at a later date.

When carrying out normalisation, the process if broken down into 3/4 steps, and these are often abbreviated into the form of 0NF, 1NF, 2NF, 3NF - these stages are used to represent the stages carried out when the 5 steps are being implenented on a set of entities. A breakdown of the list of stages is show below.
  • 0NF - Zero Normalisation Form - This is the stage where all the entities from within the invoice or order form are listed into one large table. Commonly they will be seperated if there is more than one form present.
  • 1NF - First Normalisation Form - This is the stage where the repeated entities are broken down into a sublist of entities. When this stage is carried out, 2 keys will be applied to each of the new sublists created.
  • 2NF - Second Normalisation Form - This is the stage where the partial keys are identified and extracted. Within this stage, this is usually the time when the list of entities/sub-lists of enties is the longest.
  • 3NF - Third (Final) Normalisation Form - This stage is where the list of entities/sub-lists is reduced vastly, where repeated partial keys can be removed if repeated. The non-key dependencies are extracted in this stage to give the overall list of entities and sub-lists for the given forms/invoices.

Overall, normalisation is a topic that doesnt look too confusing, and I feel quite confident carrying out work based upon this topic.

Tuesday 20 October 2009

Summary of Lecture 2:

ER Models and Normalisation models can be used to represent information. An ER Model (Entity Relationship Model) is the model that was covered within thodays lecture, and a normalisation model will be covered later. Within Entity Relationship models, there are a few elements that make up the diagram:
Entity - An object/thing.; E.g. Book, Student, Shop
Attributes - A "something" within an entity table. E.g. An ID Number for a student.
Occurence of Entity - One line within the entity.
Primary Key - A unique identifier/field within an entity. E.g. Student ID within a Student Entity.
Enterprice Rules - A list of regulations that the client mst abide by.
Relationship - A list between 2 or more entities.

4 Principles of ER Modelling:
Identification of entities (Structure/Relationships).
Construction of a process independant model of the stored data requirements.
Construction of a robust data model.
The construction of a logical model of the data.

6 Steps of ER Modeling:
Identify the entities.
Identify the attributes within the entities.
Put data in logical groups.
Identify the primary key(s) within each entity.
Elimate some of the attributes.
Use relationships to create the relationship model.

Crows Feet:
One to One - -----------------
Many to One - >---------------- or -------------------<
Many to Many - >------------------<

Tuesday 6 October 2009

All About Me

Heyy, I'm Ben Suggitt,

Recently finished Prior Pursglove College, Guisborough, completing A Levels in Maths, Applied I.C.T., and Geography.

Originally I applied for a Geography course at Sheffield Hallam university, but thanks to UCAS, Adjustment scheme, decided to apply for Teesside University instead.

In the past I have already attended Teesside University throughout the summer of 2007/08 for a module based around Multimedia, means the door scanning business is already familier to me :P, lol.

Good luck to everyone else on the course :].