IntroductionThis project is helping a global based company to design a system to cover the entire problem now they are facing about supply.Company backgroundB&E is a Danish company that has more than 10 retailer shops around the UK; the products now they are selling are major supplied from Demark. The problem they are facing is the communication channel, there is no motivated way for them to use actually cover the communication problem. Because sometimes the telephone order is taken by a staff, and the retailer ring them again for confirm and another staff take the order again, therefore duplicate orders have been entered into the system for multi supply.
This kind of problems always occurs.SolutionAs one of the consultant try to help to solve the problem they are facing, one of the suggestion for them is using an effective online website to cover the problem they are having. This website will contain the supplier information, order form for supply and with the requirements that the company specified.
System designDatabase DesignIn this projects system design, database is a part of system function in the web-host system. Database is required to record all the data that needs to store for further view.In database design, firstly, it must consider how many tables that need to design in order for further data store. Secondly, the entities in the tables include the data types. Some of the data must be unique like primary key in each table, there must not contain duplicate values.
Database table designFrom the client requirements, the data from candidates, company users and administrators must store separately. Then while they get on the system, they need to have their unique username and password to get hold of the information that they need. When they get hold of their information, they can add or delete by their own, not need to do that through agency staffs. Therefore, from this point of view, there are 9 tables designed to separate store the data from the users that identified above. Entity relationship model This model can help to show the user the relationship between the entities (tables) in the database. It can simplify the design of database to make users have the real worldview of how the database is going to work not the logical view.Entity relationship models also use different types of relationships to show the user the relationship between entities (tables); here are 3 types of relationships:Data DictionaryData dictionary by all means, it shows the data structure that describes the meaning of different types of data. It contains data types, table name, and description of the data and fields of the data in the table.
User Interface DesignHuman Computer Interaction (HCI)The identification of techniques that improve the interface is of great interest in system development. It has to be designed with an understanding that people with specific tasks in mind will want to se them in a way that is seamless with respect to their everyday work. By addressing issues early in the design cycle, redesign and maintenance costs can be reduced. Therefore, we need to make a user-friendly interface in the design process and enable it to fit well with the functions provided by the system. There are five considerations consistency, user input, user confirmation, navigation and speed.ConsistencyConsistency makes the website easier for users to move from one page to another. The same font size and type, and style should be used in every page. Sometimes, consistency should be avoided if we want to show differences.
For example, larger font size was used in the heading to highlight them from the rest of the text. Moreover, any requests for information should be asked for in a format that is usual for the user. For example, the date format is always in the format of yyyy/mm/dd.Minimum User Input Each required input should be brief. The reason is that the shorter the input, the less likelihood of an error occurring.
In other words, the usage of keyboard by the user should be reduced and use drop-down menu to provide options on most of the items.User confirmation Some function such as deleting an employer is non-reversible. The result can be fatal if the recruiter accidentally clicks on it. A prompt for confirmation is required to make sure that the recruiter does want to do the task.
Or there will be a message window appears to ask for confirmation.Navigation The good navigation should let a user know where they are and easy to find a way back to a specific section within a web site. Many sites force the users to navigate by using the browser’s back and forward buttons. This is inconvenient for the users if they want to go back to the home page of the web site. Therefore, the website have a menu structure and textual links on every page. Site map is used to show the structural navigation of the web site.
Speed and Bandwidth Sensitivity Most users will leave the site after waiting for 8-10 seconds. Therefore, the time to wait for the first reaction and the interaction times should be less than 8 seconds. Page delay in loading the web pages should be minimised. interfaces designFrom user requirements, because there is some sensitive data that cannot process by unauthorised the users, therefore, the system set four different interfaces for the user:o Main interface this is main interface that can be assessed by everyone that get on the web page o Candidate interface this page displays the information that the candidate needs, such as CV builder, update CV, check briefcase and check or reply emails. o Company interface this page only can assess by the company users. This page displays the information that company needs such as register company details, search candidates, publish/update vacancies, check briefcase and check/send/reply emails through system mailbox. o Administrator interface this part is designed for administrator to do general agency work such as sending system emails, update labour market news etc. By designing different interfaces for system, it can remain privacy and security for different users.
System MethodologiesAn information system methodology is a recommended collection of phases, procedures, rules, techniques, tools and documentation of information systems. To build up a well-structured system, a standard system methodology should be followed. By using specific diagrams, tools and techniques, the developer can follow a guideline to define and complete the tasks in each stage. To understand how the project was developed, it is necessary to understand what diagrams, tools, and techniques are used in designing and final implementing the system.Diagram supportDiagrams help us to communicate information about any object in the real world. It presents some important aspect of the system components.
It also serves as a bridge between the conceptual design and logical programming languages. There are several types of diagram that were used in this project:DiagramFunctionEntity-Relationship DiagramPresent logical structure of relational databaseSite MapShow the navigation between all web pagesToolsA tool in system development is an application that helps to create diagram or any components needed in the project. It can be software that builds up the system or store data about the system. Here are the key applications used in the project:Project management application:Microsoft Project 2000Drawing/graphics application:Microsoft Visio 2000Integrated development environment:Microsoft FrontPage 2000Database Server:Microsoft Access 2000Web Server:Babbage Web ServerTechniquesA technique is a collection of guidelines that speed up a system development activity or task.
It can be step-by-step instructions for creating a model, or it might include more general advice for managing the project. Below are the major types of technique used in this project.1.Relational database design techniques 2.Data-modeling techniques3.
Project management techniques4.Web development techniquesSystem implementationAs defined in section 2, there are some requirements set by clients. So before go on to the implementation stage, the requirements must be understand completely by the author in order to achieve the best for the completion of final system.After the design stage, the implementation stage began. The stages in the implementation must follow the design rules.The stages for implementing the new system should follow the methodologies that chosen in section 1.The whole system implementation section will follow those stages to the completion of the final system.
database creationimplement database by using Microsoft Access 2000Microsoft Access is a powerful program that developed by Microsoft to create and manage your database. It has many built up features to help the user to create and view the data in setting orders. Access is much more involved and is more genuine database application than other programs such as Microsoft works. But one of the drawback that Microsoft Access has is it just support 255 characters input in the data string. Before going to the implementation of database, first, you must understand how the Microsoft Access works. In the database, there are different sections contained, they are: database file, table, record, field and data type. database table creationThe first database implementation task was the creation of the basic table structure by using Microsoft Access 2000 environment. This process involved specifying the table names, field names for each particular table and data types need to be identified.
Because there are different data storage need for different data with candidates, companies users, administrators and research result stored in the database, therefore, there must design different tables in the Microsoft access environment to store those collected data. The complete database created for storing all the data for the company system is called jobs.mdb. It contains 7 different tables in total to store the data that need to be stored in field and data type creationFields are the different categories within a Table. Different table may contain different types of data to store. In each table there must be a primary key (5) identified. For example in this case, in admin table, the information needs to store are administrator ID, administrator name and password. Those must be unique to prevent any confusion.
Therefore the data type for those fields must select as indexed no duplicates. (6)website creation with Microsoft FrontPageFrontPage 2000 is an Integrated Development Environment that provides a complete tool for web site creation and flexible web site management. It also allows web developers to import, edit, and format web pages in the way they want. The main advantage is its code-generating capability, which can reduce the time to write HTML code and shorten the implementation stage. This tool is user-friendly and consistent with the whole Microsoft Office package that most people are familiar with. Cascading style sheets (CSS)Cascading style sheets (CSS) was used to control the style of the web pages. CSS is a language, separate from Hypertext Makeup Language (HTML), designed for specifying the layout or formatting properties of the various HTML elements in a document.
It overrides the browser’s default settings for interpreting how tags should be displayed. This table lists all the change made from the browsers default setting:Changes made by CSSNew default settingsFont size12pxFont typeVerdana, ArialLink Colour#0000ffVisited LinkNot UnderlinedScrollbar Colour#ffffffThere are two considerations for choosing CSS:1. Separation between style, content and data structureCSS separates the style from the content on web page.
Web monkey (2003) suggested that CCS could separate visual design elements (fonts, colours, margins) from the structural logic of a web page. CSS gives web designers the control they need without losing the integrity of the data. In this way, usability can be maintained in multiple web pages.
2. Improved efficiency in design processCSS handles the style of web page, and lets HTML do the content. It can change the whole site from using a specific font type.
With traditional HTML, designers would have to alter the tag, on each and every page. With CSS, they just need to alter the style sheet, and then all pages would be using the same font. In other words, CSS introduces consistency in style by editing one single file only. It makes things more efficient by centralising the style control into one single style sheet.Creating Database connections1. OLE DB InterfaceOLE DB is an Application Programming Interface (API) that allows for data extraction from a database.
Most databases now support this standard and all that is needed to interact with various databases is the correct OLE DB driver for the database and knowledge of Microsoft Access. The diagram below shows the articulation of OLE DB interfaces with different system components.To connect the website to database, selecting the type of connection is the next task that should accomplish. There are two types of connection:1. Data source name (DSN) connection A DSN is a name used to request a connection to a database. DSN allows an interface to connect to a database by referencing the name of the DSN, and store the connection details (e.g.
database server, user id, password or driver) in the local computer. A DSN connection must be set up in the control panel of Windows local machines.2. DSN-less connection A connection can be opened to a database without creating a data source name. Connections made in this way are called “DSN-less”, because they do not require the system administrator to create a DSN.
The connection details are put as a string in the coding. 3. Justification of the chosen connection type DSN-less connection was chosen in the project because the website will be running on the ISP server, not the school web server. It makes the connection be portable to any server. In addition, setting up a DSN-less connection is the easiest and fastest way for data access.
Active Server PagesActive Server Pages (ASP) was used to build up the website and database connection. It is a server side technology that is used to build up dynamic web applications. ASP itself is a technology, not a language, which uses VBScript to display interactive web content. An Active Sever Page is a hypertext makeup language (HTML) page with server-side scripts embedded in it. Rather than just sending the HTML page back to the browser, the web server processes the scripts and response to the user request.
Then, it creates the HTML page and sends the results to the client web browser. For example, employers can use the website to update their profile in the database over Internet. There are three considerations for choosing ASP:1. Scalability of projectThe size of this project is small. ASP is preferred because it is easy to learn, set up, and maintain.
It is a solid solution to develop web applications for small businesses.2. Time limitationThis project should be finished within six months.
Owning to its ease of use, ASP can ensure the developer to finish the project and the system functionalities on time.3. Client existing environmentThe client company uses Microsoft-based software such as Microsoft Windows, Internet explorer.
ASP is highly compatible with the existing environment. Moreover, the advantages of other languages do not provide significant benefits to the project.3.
5 Building up system functionalities using ActiveX Data Objects (ADO)ADO is a set of objects, methods and properties that provide a high-level interface to the programmers. These objects enable the web site to access and manipulate data from a database server through an OLE DB or ODBC interface. Its primary benefits are ease of use, high speed, and low memory overhead. ADO supports key features for building Web-based applications.
Below is an illustration of ADO object model:There are two types of objects that are used heavily for manipulating the database. Connection object – A Connection object represents a unique session with a database. Here is the code to create a connection object: Set Con = Server.CreateObject( “ADODB.Connection” )Recordset object A recordset object represents the entire set of records from a database table. Here is the code to create a recordset object:set rs=server.createobject(“adodb.recordset”)Cursor and Locking Type – Cursor and locking type are properties of the recordset object.
Selecting a suitable cursor and locking type is important because they make a dramatic effect on the system performance.Cursor types – defines how the recordset can be used to read through the data. Cursor TypeUsageForward-OnlyDefault cursor for most of the queries because it provides the fastest performance.StaticStatic cursor is used to move back and forth through the result set and to count the number of records in the result set.Lock types – defines how the recordset can be to control the conflict when more than one user is updating and reading the data. Lock TypeUsageAdLockReadOnlyRead only locking to allow multiple users to read the same data.
AdLockOptimisticOther users cannot access the record until the changes are actually committed by the user(Source: Stephen Walther, 1999, Active Server Pages 2.0 Unleashed)Session Object Once the users login successfully, the system maintains session with the users until they sign out. The system assigns session variables to the users when they log in. The session variables can indicate whether the users have been authenticated in the login page. Any users without a session variable will be redirected to the homepage. This function is useful to avoid the users type the URL directly in the browser and bypass the login page. Here is the sample code to check the users session:IF Session(“name”) = “” thenResponse.
Here are some of the well-known examples:Microsoft Internet ExplorerNetscape NavigatorOpera 2. Data ValidationData validation as design the right thing. 3.
Data verificationData verification as design the thing right.Uploading web pages to the web serverWeb server is a program that provides response to the request from clients web browsers. The request usually is HTML documents that contain text, pictures or sound. Babbage server is a Microsoft-based web server installed in Mathematics and Information Science school. To make the web pages available on the Internet, the developer uploaded the web page files to a web folder in the server. Babbage server was chosen because it supports the ASP display and Simple Mail Transfer Protocol (SMTP). SMTP enables the system to send the customers email confirmation automatically after they register with the website. The upload process is simply dragging the files to the web folder, but it is time consuming because the transfer of files had to pass through the University network to the web server machine.
The major problem of Babbage server is its low reliability. One of the drawback of using babbage server is if the system is infected by the virus then the server will close down, no one can get access to it. Therefore it will delay the design.
System TestingTest PlanAfter the fully implementation of the desired system, a testing plan has to set up for checking any mistakes or potential errors for the system. System testing is a key step for final completion of the system. A good testing plan will lead to key success to the final system, there are two part of testing need to achieve in the testing plan:o Functional Requirements all the functionalities required by the clients and extra functions need to be tested for checking if they were working correctly as expected. The functions that need to check for this system are entering, deleting, adding, editing and searching the data records from database. The testing results should show all the wrong data to correct, wrong format display on the system and unexpected value from the system. o Design Requirements the design testing should check out the user interface, web page navigation, and any hyperlink from the page and necessary design rules such as consistency of the interface and familiarity from the user view. Test Strategy The testing strategy is set for testing the whole system; they are dependent on each other. Testing should perform in the round (cycles) until the system achieves the expected result, which means all the functionalities on the system are working correctly.
If any of the part on the system goes wrong, the process setting for the testing should go again until the expect result come out. Here are the main types of testing that were performed in this project:1. Single page testing This is the testing step for testing if the functions are working correctly on single page for the system, such as displays, texts.2. Functionality testinga. Validation testingThis should test the valid and invalid value for the data that user try to enter in the system. For example: the research function on the interface page, user on same IP address just can enter the vote once, if they enter twice, system should appear the dialog to tell them duplicate votes are entered from same IP address, then ask the user do not enter the votes for more then one time.b.
Functionality testingIn this part should test the system all the functionalities such as system register, user log in, search, edit, delete, confirm data etc.3. Navigation testingThere are some navigations set on the system, the navigation testing is set for check if all the links designed on the page are working correctly. For example, by pressing control link, the page should go to system administrator log in page not somewhere else.limitations of the setting testingBecause the testing is being set up by the designer, therefore it is under experimental testing condition, that means it is only being tested by the designer herself with all the application available on her software and hardware. However, in the real world condition, there are some unexpected result will come out because of the different conditions that the real users are in.
For example, if the bandwidth is slow on the Internet, maybe it will come out some unexpected results. And we cant count how many users will come to the system at one time, and how much load the system can afford.Heuristic EvaluationA heuristic is a guideline or general principle or rule of thumb that can guide a design decision or be used to critique decision that has already been made. It has been developed by Jakob Nielsen, is a method for structuring the critique of a system using a set of simple and general heuristics.
This heuristic is using to evaluate the system that has been implemented for the client. Ten heuristic, suggested by Alan Dix (1999), (7), was used to evaluation the system usability. The aim of this evaluation is to discover any potential usability problems as much as possible. Then, the actual result from the evaluation is recorded and the usability problems should be removed.Heuristic Evaluationo Visibility of system status The system should always keep users informed about what is going on, through appropriate feedback within reasonable time. Actual Result: clear layout of the system shows user where to go, system alert function to mention user of any wrong action taken.o Match between system and the real world The system should speak the users’ language, with words, phrases, and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in natural and logical order.
Actual Result: All messages are clear and spoken in easy understand language make user understand. o User control and freedom Users often choose system functions by mistake and will need a clearly marked “emergency exit” to leave the unwanted state without having to go through an extended dialogue. Supports undo and redo.Actual Result: A user-friendly navigation system is used to allow user to navigate freely. Every screen provides a link to allow users to go back to previous screen. All the functions showed on different pages in the private section of the system remain the same in the left frame; it is easy control.
o Consistency and standards Users should not have to wonder whether different words, situations, or actions men the same thing. Follow platform conventions. Actual Result: The background, font size and colour schemes are kept the same to ensure the user feel comfortable; it wont cause any confusion.o Error prevention Even better than good error messages is a careful design, which prevents a problem from occurring in the first place. Actual Result: system displays error messages that show user any wrong action takeno Recognition rather than recall Make objects, actions and options visible. The user should not have to remember information from on part of the dialogue to another.
Instructions for use of the system should be visible or easily retrievable whenever appropriate. Actual Result: system designed to use same layout on different interface in order to save time for loading. o Flexibility and efficiency of use Accelerators – unseen by the novice user – may often speed up the interaction for the expert user to such an extent that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions. Actual Result: the system is designed to have some drop down menu for user to select, in this case it is easy for user to get their own option. In the select there are words mentioned please select to let user understand the choice.o Aesthetic and minimalist design Dialogues should not contain information which irrelevant or rarely needed.
Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.Actual Result: all dialogues information are relevant with system, any unnecessary information will be provided as information showing on the interface. o Help users recognize, diagnose, and recover from errors Error messages should be expressed in plain language, precisely indicate the problem, and constructively suggest a solution.
Actual Result: system promotes alert message for any user error input. o Help and documentation Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large. Actual Result: within the system, there is a user manual provided for functions that contained in the system, it is in easy understanding language.Website Maintenance Website maintenance includes revising, updating or changing existing web pages to keep the website up to date. The value of a website is the ability to maintain current information online at a reasonable cost. That is why companies are increasing their knowledge and spending effort on web-site maintenance.
It is discovered that maintaining a site could require more money than developing it. There are two areas of web site maintenance that is considered to be important.1.Content. – The content of the web site needs to be alive, current and accurate. With fresh information, people will have a reason to return to the site time and time again.2.
Response to customer – Site visitors, candidates and employers usually need a response. They may have questions, comments, complaints and suggestions.Maintenance Plan 1.The website need to be updated with new information, such as newest labour market news by government, new job vacancies, company information and any new registered candidates for company interests. 2.To give a good impression to the public, the client should revise the website periodically and add additional web pages according to the results showing on the research section.3.
Check the performance of the ISPs service, setting a minimum downtime per month and a minimum connection speed from the Internet. For example, any service that is down more than 1 hour a month should be avoided.4.Check the web site occasionally to make sure that is still accessible to potential clients and the links are still active. 5.By pay additional monthly fees, ISP will conduct web maintenance for their customers, but the client can conduct this task themselves to save cost.
6.Many ISP have log analysis software that will collect information on site usage. The client should communicate with the ISP and analyse site usage to determine the future business and IT strategies.There are several significant conclusions in this project. The requirements of the system were compromised with the client. A suitable project approach was selected and applied to the project. The 3-tiers client/server architecture was created to allow users to access the system from anywhere and anytime.
This project helped me to learn the tools and techniques that were applied in the real world situation. I also learnt how to articulate information technology with the clients business. Most of the software project fails because of time.
This project became successful because of a detailed time management, risk assessment and dynamic scheduling strategies.However, in the middle of the implementation stage, client changed his requirements, this lead to some project delayed. But it is a good practice for me to adopt the knowledge of project management skills into real world situation.