Monday 13 December 2010

This weeks tutorial dealt with working with the Dynamic Data aspect of Visual Studio, giving a brief intoduction towards how it works and its abilities. Within this weeks tutorial we were asked to create a database which already existed, and link it using Dynamic Data. The process of completing this task was as follows:
  • Create a new website, using the standard process, ensuring that C# is selected from the left hand side of the window.
  • Global.ascx will be referred to later, but it provides the other pages in the website, hence its "global" name.
  • Continuing with the process of completing the Dynamic Data task, navigate to the AppData folder and choose to "Add an Exisiting Item" (this can only be done once the Northwind database has been downloaded from the online source). Nothing should happen once the database has been added into the web site.
  • Go back to the directory and add a new item, ensuring that Visual C# is once again selected (this is important otherwise the Global.ascx page won't be able to render the information correctly), then choose "Linq to SQL Classes" - A standard message should then appear on the screen, of which "Yes" should be chosen.
  • Dataclasses.dbml will then be created with items inside.
  • Once the Dataclasses.dbml object has been created, click on View, then choose "Server Explorer". This will then display a window down the left hand side of the screen, showing the Database which is now available, and also the machine number currently been worked on (university only). Double click on Northwind.dbml, then open the tables.
  • Add in the required tables (this will vary for each database, but for the Northwind database add the tables requested within the tutorial). Clicking and dragging the tables across into the main view will then show the relationships between the tables added. This will create a simple ER diagram.
  • The database should now be linked in.
  • Refer back to Global.ascx and uncomment the line that starts with "//DefaultModel" at the end of the first paragraph. Uncommenting the line is done by removing the 2 forward slashes at the start of the line.
  • Go to the "typeof" section within the line and change the code within the brackets to "DataClassesDataContext".
  • Go to the end of the line and set the "ScaffoldAllTables" option to true, instead of the default "false".
  • Go to the Default.ascx file down the right hand of the screen and choose to view the page in browser - this will then display the completed file in a web page view.
  • Checking if the system works can be done by clicking on the options available, and seeing if the tables open.
  • The tables do exist, however they won't appear within the DynamicData folder down the right hand side of the screen. The tables are stored in the AppCode section of the web site, within the Database.dbml file that was created earlier.
Within last weeks tutorial I learnt how to create and mine a SQL database. This task was fairly confusing, but managed to give the correct output once completed.

To start the process I initially followed the standard steos required to create a database, including creating a New Project, linking to the SQP database, choosing C# and defining the location. This created the basic core layout for the database. Adding a new web form was the next task, followed by creating a database in the App data (this was done by right clicking on the directory name and adding a new SQL Server Database). The remaining steps are as follows:
- Choosing Server Explorer, Database Designs then right clicking on Tables and choosing "Add New Table" - this then gave me the ability to add a new table into the database.
- The next step was to add a column name and define the data type (nVarChar 50 etc.), avoiding using spaces between the words within the column title. Ant saving to the table is done automatically when the table is closed.
- Right click on table in Tables (Toolbox) and select "Show Table Data". To make changes, right click on table name and choose "Open Table Definition".
- Primary keys can be applied to a particular column name by right clicking on column name and defining it to be the primary key - this process must be done though before adding the table to the database.
- The next stage is to add a Drop Down List into the design view (it will currently be unbound).
- Choose Data Source and select a New Data Source. Choosing the SQL database is the next stage, followed by defining a connection method to the database. This connection should then be saved once defined.
- From the data source, select the "*", which will choose all column names from the table. Testing the query should then result in all the records appearing. Click Finish. State DropDown options. Click Finish. The object should now be databound.
- All connections are held within the webconfig file in the system.
- The next stage is to add a GridView from the Data option in the Toolbox. Choosing the Data Source as SqlDataSource 1 or SqlDataSource2 will provide a connection between the newly inserted option and the table.
- The names of the column headings should now be inserted into the object.
- Previewing in browser is a good text to see if it has worked.
- Select the arrow in the corner of Grid View and choose Auto Format to define a style - using a simple one is better for this exercise.
- Enable sorting (optional)
- Enable paging (optional)
- Enable selection (optional)
- Clicking on column headings will sort the order once viewed in a browser.
- Properties enable other types of formatting that can be applied to the table.
- Select the arrow in the corner of the GridView and choose ConfigDataSource, click next and then advanced, click Generate then next, and then choose WHERE > StudentID = Control > DropDownList1. Click Add, OK, Next, Test, Finish.
- These statements bring bacj information relating to ta piece of information about a student.
- Show data where students have the same piece of information in drop down list.
- Enable AutoPostBack.

Monday 18 October 2010

Web Development Methodologies requires the construction of 2 documents prior to anything else been done. These 2 documents are the Requirements Document and the Design Document.

Requirements Document

The requirements document consists of:
  • Purpose - What you want the application to accomplish?
  • Content - What the content will include, what is and isn't needed, identify who are the content experts and produce a content model. Content may include aspects such as jewwellery items, materials, prices, biography on the designs, news and events (for a jewelery website). After this, items are grouped together, images, jewellery items and the prices are one group (jewellery prices), biography on the designer are another group (about us), news, events and trade shows make another group (news) and contact us and shop location make another group contact details).
  • Data and Processing - Identify the entities, identify each entity's attribute, list and sample data/forms and list any queries/processing required.
  • Security Processing - Define an access control policy.

Design Document

The design document consists of:

  • Purpose - Same as stated in the Requirements Document.
  • Site Structure - Develop a site architecture and include a map of the site here, looks a bit like a navigation chart.
  • Data Model - ER Diagrams and a data dictionary.
  • Data Processing - Queries for creating, editing, deleting and accessing data should be here.
  • Navigation - Determine the navigation method or mechanism.
  • User Interface - Wireframes and colour scheme with potential logos of the company.
  • Report Design - Template and design for the reports should be included here.

Client and Server

Server:

  • Web servers are programs.
  • Documents provided by web servers are often complete and static.
  • Some documents are dynamically constructed when requested by programs stored on the server.
  • Apache and IIS are the most commonly used web servers.

Client:

  • Internet Explorer and Mozilla are clients.
  • Client always lives on machine whereas the server doesn't.
  • Documents provided by servers are accessed through a web browser.
  • Very first browsers were text based only (GUI 1993 Mosaic).

Client Side:

  • A class of computer programs on the web that are executed by the browser.
  • Javascript, HTTP are examples.
  • The source code for the document is always visible.
  • Client side allows you to make trivial changes to the page such as roll over effects.
  • These are executed by the browser.

Server Side:

  • These are executed by the web server.
  • Produce HTML output to browser - HTML pages are an example.
  • Usually used to provide interactive websites.
  • The code is never visible to the browser.
  • ASP, ColdFusion, JVP, PHP and Server Side JavaScript are all examples.

Visual Studio

To get started with Visual Studio, I followed these steps:

  • File
  • New
  • Website
  • Select C Sharp
  • ASP.NET Dynamic Data Link to SQL
  • Right Click on the icon at the top of the right hand side of the screen.
  • Select Add New Item
  • Add a Web Form

This will then create the web form that is needed to start placing objects into the document.

  • Change to Design View
  • Load the Design Toolbar (to reset, go to Window then "Reset Window Layout").
  • Once the toolbox is open drag onto the page a Label.
  • Then drag on a button.
  • Double click on the button inserted and enter "Level1.Text = "Hello World";.
  • This will then create an event.
  • Go back to the "Default" tab along the top.
  • Right click anywhere in the document and select "View In Browser".
  • Click on the button and the text should change to "Hello World".

Friday 14 May 2010

Evaluation for Exhibition Guest List Management System

Based upon the system that I’ve recently created, I think that the database is very professional and carries out all requirements that the university stated. The forms that I created throughout the system allow for all relevant details to be recorded, and with the reports structured on the queries created earlier, the report documents are very professional. Overall, I am very happy with the quality of the system, and I think the database is easily capable of carrying out all the tasks that the university needs the system to achieve. I think I could have potentially created some additional features in my system though, such as advanced reports or even macros to search for information within the system. Despite this, I think I used Access to its best capabilities it offers.

The Rapid Development method that I chose to use was the right choice in my personal opinion, due to the fact that I could keep adding new features as the versions increased. My rapid development method of prototyping allowed me to constantly keep looking back at my database and see which features I would need to add in order to make the next version of the system, better than the last. I possibly think in the future I might have tried using the Phased strategy for creating my work, as this would have resulted in a lower risk of errors being found in later versions.

Personally, I think that Microsoft Access was the best application to use for creating this system, due to the number of queries I knew I had to create, I instantly knew Microsoft Access would be the best application to use. Similarly, a high quality user-interface was needed, with access to multiple reports, both of which Microsoft Access can provide to a high standard. Prior to starting the database creation, I knew Microsoft Access provided high quality reports, and due to reports being one of the required elements in the document from the university, I knew I could easily meet the administrator's needs. I would have liked to have had some of the features that Zoho Creator and DabbleDB contain, such as the graph and chart features which could have represented the number of guests attending a particular event. I wouldn’t have benefitted from the coding available though, hence why I chose not to use these applications.
Evaluation for Books Order System

Now that I have completed the system, I think that the database is professional and allows the school to complete all the tasks that they need to do in order to produce orders for books. The forms that I’ve created meet a very high standard, as they allow for all relevant data to be entered through various easy methods, text boxes or combo (look-up) boxes, and also provide a consistent colour scheme, supported by the reports. I would have liked to advance my system, by potentially inserting some macros or passwords, to assist with the security of the database. I would've liked to advance on the colour scheme, as most of the colours used are one solid colour – blends might help the professionalism of the database to increase.

The Rapid Development Method of prototyping that I used was definitely the right choice in my opinion, for this type of database, as I could start with a system that literally contained the bare minimum of features, but constantly keep adding new features in later versions. This allowed me to easily track the progress of my database, and due to the Functional Specification I created, allowed the system to be constructed very quickly. Despite the Prototyping approach been the right option for me, I would’ve liked to experiment with Phased approach, as this would have resulted in errors been erased. An example of an error that occurred in my system was a button that I assigned with the wrong feature (Last Record in Order Form) – this error wasn’t noticed until the third version was released.

Personally, I think that Microsoft Access was the best application to use, due to the number of forms and reports that were needed. These could be easily constructed in Microsoft Access due to the query feature available. I also needed to produce a high quality user-interface for the financial administrator to use, therefore ensuring the interface was professional was a major goal to me. I knew that before construction of the system began, Microsoft Access produced high quality reports and reports were stated as a major requirement in the ICA document. Potentially, Zoho Creator maps, graphs and charts features could have been useful, as these could have shown the money each teacher had spent each year. Despite this, the coding would have proved difficult to assign to this database.

Monday 18 January 2010

Zoho Creator, DabbleDB and Microsoft Access Review

Introduction

With all 3 of the database applications covered, I am now going to review these databases through a compare/contrast method. Within this review, I am going to look at the positive and negative aspects associated with each of the applications, and also how these positive/negatives affect me. The reason why I say this is because some of the applications are quite professional in terms of coding, and have a lot of depth associated with this factor, however coding is a topic that I am not very good with, which means that this feature doesn’t really benefit me to my full potential. This review will help me though, as I will be able to summarise each of the applications based upon the key points required to make a database.

Data Model Implementation

Definition – Ability to implement the proposed data model designed.

The ability to implement the data model suggested is a very important aspect when choosing which database application to use, due to the fact that the ability to create the exact model of what you want can determine the overall professionalism of the system. The system that you design is the system that you want to implement, meaning that if you design an application, you want to be able to implement it exactly the way you want.

All of the applications that I looked at all had the ability to allow precise implementation. From my own honest opinion, I would say that Microsoft Access probably had the easiest implementation, due to the fact that the tables you have designed can be implemented exactly, but also a “Primary Key” can be assigned to a certain entity. The Primary Key feature was an aspect that I didn’t see within either DabbleDB or Zoho Creator, therefore meaning that Microsoft Access stands out for allowing this feature to be added.

All of the applications that I sampled allowed me to add all the entities that I wanted to include, although Microsoft Access and Zoho Creator allowed me to add validation rules very easily to a certain entity within tables, which stood out to me as been very professionalism. The ability to add validation rules is very important to me personally, as they stand out as a small detail which can make the finished system very professional. Microsoft Access was the easiest to add validation rules, and the number of different validation rules that could be assigned to a certain entity was vast.

DabbleDB does have a time-saving feature which allows a spreadsheet (.xls format) to be copied and pasted into the application and the data will be sorted into a table automatically via a recognition system that picks up columns, column headings and formats. This feature is an aspect that I really liked, and thought could be a very quick way of recognising information and placing it into a table, however as I found out during the research, the recognition system isn’t really very reliable, and once an error has been made, correcting it can be a very hard outcome to achieve. The idea of this automatic sorting process was a feature that I really did like though, however I am to believe that only information imported from Microsoft Excel can be inserted into the system for the data to be successfully sorted.

Code Generation

Definition – Ability to create and insert code into the system.

Code Generation is a feature that I personally don’t have a lot of confidence with, however if code can be implemented into a system then it can make the system operate in a very precise and accurate way.

Zoho Creator allows “raw” code to be entered into the code generation tool, allowing the user to make the database operate to their exact standard. The complexity of the code that can be added within Zoho Creator is endless, due to the fact that most of the coding is raw. There are some templates that allow features such as IF statements to be inserted, although most of the code has to be entered purely by the user to their own requirements, meaning that someone who does not have a lot of knowledge with coding does not stand a good chance of succeeding in Zoho Creator.

Microsoft Access also allows the user to create raw coding by using a code generation feature, however the different between the view in Zoho and Access is almost identical. The only difference between the 2 applications is the fact that Zoho allows the user to add small templates of code which could be quite beneficial for those with little coding knowledge.

DabbleDB does not allow the user to create any coding whatsoever, meaning that if the user wanted to customize the database to their own professional level using this application, then they wouldn’t be able to do so via the use of coding. DabbleDB isn’t generally designed for coding, hence the reason why it isn’t included. For anyone who would want to create a database that included coding, then DabbleDB wouldn’t be a good choice. For me personally, this section doesn’t really affect the way in which I will choose my application, due to my lack of knowledge with coding.

Interface Development

Definition – Ability to develop/expand the user interface, for both creator and user.

Been able to make the database appeal to the requirements of the user and/or the creator is a feature that isn’t vital, but still quite important to ensure that a professional level of development can be portrayed. Ensuring that the interface can be customized is an important feature for some companies, as they like databases to follow a colour scheme that reflects their company colours and/or logo colours.

DabbleDB allows the user to insert their company logo into the database, in the top corner of the screen. This small feature is quite important for professional detail, as it allows the company/user to portray a bit of information about themselves, and hide the fact that he website was not created by a host company. Similarly, DabbleDB allows the user to choose a custom colour scheme for their database, which can also be used to reflect the colours of a company.

Zoho Creator does not allow the user to change the interface vastly as well, in fact Zoho Creator is probably the worst application for changing the interface so it meets a certain persons/company’s needs. The overall interface within Zoho Creator is very bland and does not look professional at all if handed to another client/branch.

Microsoft Access allows complex custom editing to be used for the colour scheme, text size, text font and other features such as the size of objects, once implemented into a form. The features to increase the text size, text font, change the text colours and positioning of objects is a feature that none of the other applications allow the user to do, therefore Microsoft Access is definitely the best fro user friendliness. Despite the fact that feature such as changing the text size/colour/font aren’t vital, that can be important for company specialities – a company may need to make their writing large for people with visual aids, and/or change the colour due to a certain member of staff with colour blindness. I enjoy customizing pieces of work so they look like my own, therefore I vote Microsoft Access the best for interface development.

Deployment

Definition – Ability to distribute the database to another person/branch/company.

Once a system has been produced to a high standard, it is likely that the database will need to be copied onto multiple machines, therefore ensuring that the database can be easily launched is a factor that can be quite important for the distribution process. This feature is especially important for national/global companies, due to the fact that a multi-national company will need to deploy the database to various other countries. This means that the machines being used around the world have to be compatible and can easily receive the data, and also edit the data received.

Microsoft Access is probably the easiest application to install onto another machine, due to the fact that the system can be saved as a file on a USB pen and transferred to another machine that already has Microsoft on. If a company doesn’t have Microsoft on, then the application can be installed once the Microsoft package has been added to a machine. Similarly, the process for copying a Microsoft file into a machine is very simple, therefore it is easily recognised and can be easily done.

Both DabbleDB and Zoho Creator are very difficult to deploy to other machines, and due to the fact that the application is hosted on the Internet, the application can be unreliable if there is no Internet connection – if updates need to be made urgently on the system, and the Internet connection is not working to its full potential, then the updates cannot be completed. Similarly, the system also cannot be reached if the Internet is not working, as a connection is required in order to view the information, and edit existing entries.

Microsoft Access does not require an Internet connection, although it does require the installation of the Microsoft package, so if the package is not installed on a machine, then the system cannot be opened. Typically, Microsoft packages start from at least £60, meaning that a lot of money would be needed in order for a new company to have Microsoft running on all machines. The Internet applications require a fee to be paid too, but it isn’t as expensive as spending £60/machine to purchase Microsoft, and a license will probably cover the entire company. Overall, it is a balance of risk, in terms – Risk not paying £60 per machine to install Microsoft, or risk using the cheaper Internet versions, and if the Internet connection fails, then the system cannot be opened.

Personally, I would rather use the Microsoft application, because if an Internet connection cannot be found, then the database can still be used, and no customer dissatisfaction occurs, whereas if the Internet is not working and the application cannot be reached, then user satisfaction is not met.

Suitability For Application Type

Definition – Depending on the type of application requested to implement depends upon the designs created.

The depth of the designs created is dependent on an application that can meet the needs of the amount of detail required – in other words, if an application is designed that is very simple and just consists of 2 tables and a relationship between these tables, then a simple application should be used, whereas an application that requires complex features such as macros requires a complex application for implementation. This can be a very important aspect for companies that require features such as macros and reports for example, as they require as much detail as possible to ensure that their system runs to a very high standard, whereas a person who runs a private stand-alone company may only require a table to hold addresses of customers.

DabbleDB is probably the application that would be ranked highest in terms of additional features, due to the fact that graphs, charts, calendars and maps can be created by the list of entries within the database. This process is done automatically, however editing these features is something that I am not very familiar with, and would need to learn before choosing this application as a definite choice, however on an overview, it appeals to be the application that has the most number of professional add-ons. The ability to create reports within this application isn’t the best, and the tables are listed as spreadsheets, due to a link between this application and Microsoft Excel, although the ability to create maps and charts within the application is superior than any other of the applications that I am looking at.

Zoho Creator has the ability to create very professional reports, although in terms of other add-ons such as maps and charts, this piece of software does not include these features, meaning it is left in the dark when compared against DabbleDB and Microsoft Access. The view of the application within Zoho Creator does look slightly more professional when compared against DabbleDB and is also slightly better than Microsoft Access, but in terms of the range of features, it isn’t the best choice for professional levels.

Microsoft Access is quite similar when compared against DabbleDB, due to the fact that there features to create reports within this application. The reports within Microsoft Access can be customized to meet the needs of the user via the use of a wizard that is easy to follow. Apart from the reports feature within Microsoft Access, there aren’t generally many other additional features that can help the system appear professional, therefore I would propose that DabbleDB is probably the best for add-ons, and also the depth that the application goes into.

Conclusion

Following the review that I have carried out, it appears that all applications have their strengths and weaknesses, and all could be easily used for creating a database to meet a personal/company’s needs. Personally, I would have to say that Zoho is my personal least favourite application, due to the fact that a lot of coding is needed in order to make the database work correctly, and coding is not my personal strong point. The coding features available within Zoho are very advanced, and anyone who has a good knowledge of coding and confidence with using this approach could potentially develop a very complex system. Due to the fact that the entire application is generally made up from coding as well also doesn’t help my personal confidence. DabbleDB and Microsoft Access are both very similar in terms of coding, by the fact that there is no coding in DabbleDB and only a small bit of coding in Microsoft Access.

In terms of additional features that could support the system (e.g. graphs, maps etc.), I would say that DabbleDB is the best application to use. The additional features are already set up within this piece of software, therefore interpreting the information is a very simple task. Microsoft Access does allow features such as reports and forms to be created, which in fairness can be quite useful, although Access and Zoho cannot match DabbleDB on the number of additional features already built within the application.

Without using bias, I would probably say that the best application after this review is Microsoft Access. This may sound very biased due to the fact that this application is a compulsory topic for those who are completing GCSE/A Level I.C.T., therefore as a result, a basic idea of using the piece of software is already known, and the applications Zoho and DabbleDB are completely new. This is not the case with me, as I still think that Microsoft Access is the best overall for producing a professional system. I would have liked to use the graph and map charts available within DabbleDB, as these can be used for professional reasons, and add a high quality finish to the end of the database created. Still though, due to the simplicity of Microsoft Access, I have to vote this application my personal favourite. Even the simple reasons such as data input, and creating a sensible/suitable layout can all be easily achieved within the application. Zoho would be my least popular choice of applications if I had to nominate one as being the worst for me personally, and this is due to the coding needed in order to successfully build the system.