hardware - sites. web viewdue to the recent staff cut backs and existing projects the i.t....
TRANSCRIPT
Summary
This project evaluates the operations of Iggesund Paperboard’s timber sales business, looks at the
software development techniques available and evaluates them. Furthermore, this project considers in
detail the different development tools available before analysing the current working procedure of the
Iggesund timber sales operations. Time is taken to thoroughly design and model a database and user
interface that will suitably represent the needs of the organisation. Finally after implementation the
proposed system is evaluated and tested to ensure maximum usability.
At the start of the project I also had several personal objectives that I wanted to achieve:· To gain a practical understanding of database development and implementation in a real life
situation.
· To extend my knowledge of practical database design and a database management systems that I
have gained from DB21.
· To gain practical experience of database driven websites, coding techniques and tools that can
be used to implement the proposed database.
Contents
Acknowledgements iSummary i
1. ABSTRACTION6
1.1 Background to the Problem 6
1.2 Aim and Requirements 61.2.1 Aim Of The Project 6
1.2.2 Minimum Requirements 7
2. Background Research 82.1 System Development Methodologies 8
2.1.1 System Development Life Cycle 8
2.1.2 Structured Systems Analysis Design Methodology 9
2.1 3 The Waterfall Life Cycle 9
2.2 Database Management Systems 10
2.2.1 Microsoft Access 2002 11
2.2.2 Ingres 11
2.2.3 Adaptive Server 11
2.2.4 Oracle 9i 11
2.2.5 IBM DB2 12
2.2.6 Microsoft SQL Server 2000 12
2.3 Web Development Tools 12
2.3.1 Microsoft FrontPage 2002 12
2.3.2 Macromedia Dreamweaver 13
3. Analysis 14
3.1 Current Systems Procedure 14
3.1.1 Product Details 14
3.1.2 Customer Details 14
3.1.3 Contract Details 15
3.1.4 Order Details 15
3.1.5 Hauler Details 15
3.2 Need For A New System 15
3.2.1.Data Duplication and Data Loss 15
Contents Forestry Management System
- 2 -
3.2.2 Search Difficulties 163.2.3 Update Difficulties 16
3.2.4. Time Factors 16
3.3 User Requirements 16
3.3.1 Order Of Priority 17
3.4 Implementation Tools 18
3.4.1 Scripting Language 18
4. Database Design 194.1 Introduction 19
4.2 Data Modelling 19
4.2.1 Universe Of Discourse 19
4.2.2 Entity Relationship Model 19
4.2.3 Relationship Cardinality ratios 20
4.2.4 Participation Constraints and Existence Dependencies 20
4.2.5 Entity Attributes 21
4.3 Logical Database Design 21
4.3.1 Database Design Issues 224.3.2 Mapping E-R Model to Relational Tables 22
4.4 Database Schema 22
4.5 Normalisation 23
4.5.1 Functional Dependencies 23
4.5.2 First Normal Form 23
4.5.3 Second Normal Form 24
4.5.4 Third Normal Form 24
4.5.5 Boyce Codd Normal Form 24
4.6 Relational Integrity Rules 24
4.6.1 Entity Integrity Riles 24
4.6.2 Referential Integrity Constraint 24
5. User Interface Design 255.1 Current Iggesund Systems 25
5.1.1 Iggesund Paperboard Intranet 25
5.1.2 Iggesund Paperboard Internet 25
5.2 Interface Design 265.2.1. Guessability 26
Contents Forestry Management System
- 3 -
5.2.2 Text 265.2.3 Template 27
5.2.4 Web Browser 27
6. Implementation 286.1 Introduction 28
6.2 Database Implementation 28
6.2.1 Null Values 28
6.2.2 Relationships 29
6.2.3 Database Diagrams 29
6.3 User Interface Implementation 296.3.1 Template development 30
6.3.2 Website Architecture 30
6.3.3 Database Connectivity 30
6.3.4 Homepage 31
6.3.5 Customer, Product, Order, Contract, Hauler Pages 32
6.3.6 Search Function 326.3.7 Email facility 33
6.3.8 Reviewing Today’s Orders and Contracts 33
6.3.9 Security Issues 34
6.4 Problems 34
7. Testing and Evaluation 35
7.1 Introduction 35
7.2 Testing 35
7.2.1 White Box Testing 35
7.2.2 User Acceptance Testing 35
7.3 Evaluation 36
8. Conclusion 37
8.1 Project Review 37
8.2 Further Improvements 38
8.3 Conclusions 38
Bibliography 39
Contents Forestry Management System
- 4 -
Appendix A – Personal Reflection
Appendix B – Project Plan
Appendix C – Test Plan
Appendix D – User Manual
Appendix E – Testing and Evaluation
Appendix F – Diagrams and Tables
Appendix G – Active Server Pages and Database Backup
Contents Forestry Management System
40
41
43
55
74
79
Cd
- 5 -
ABSTRACTION
Iggesund Paperboard is one of the largest manufacturers of virgin fibre paperboard in Europe. The UK
based operation is centred at a medium sized paper mill based at Workington in Cumbria. A key part of
the Workington plants success is that it maintains and manages its own forests in Dumfries and
Galloway, Perthshire and the Highlands. However, Iggesund only use the top two thirds of the Douglas
fir and the Scots Pines which are grown in its Scottish forests. The remaining third is used to produce
timber that is sold to local and national companies for use in construction and carpentry. It is this
particular aspect of the company’s business process on which I would like to concentrate.
Each forest has its own manager who is responsible for the timber sales operation. For several years the
managers of the forests have been wishing to upgrade their paper based filing system to a computerized
system. This system is outlined below. Unfortunately, due to staff shortages in the company I.T.
department they have been unable to find the time to develop a new system. Regrettably, the forestry
manager’s budget is limited and he cannot afford to purchase an off-the-shelf package.
After brief discussions with a member of the I.T. department, and with the manager of the Forest of Ae
(near Dumfries) I decided that I would to like to try and implement a system that would help the manager
of the Forest of Ae keep track of his customers, contracts, orders, products and haulers. Due to the recent
staff cut backs and existing projects the I.T. department have been unable to offer me any type of support
or spend anytime with me to develop the system. However, they agreed it might be beneficial for me to
develop a prototype system that then could be modified by them to suit the specific needs of the forest
manager in the future.
The forestry manager only has basic I.T. knowledge as the company offers no formal I.T. training, but
regularly uses a company laptop for word processing. He also has access to the company intranet, email
system and the internet over a secure ISDN connection and he is familiar with online form systems used
for ordering over the internet. He currently uses a paper based filing system to look after customer
details, orders, contracts, product and hauler information. This system has become increasingly difficult
to maintain, and become a burden on the manager’s time.
The Forest of Ae is over two hours drive from the Workington based I.T. department. It would be
impractical to expect the forestry manager to maintain his own databases, as supporting users at this
distance is a tricky business for the company I.T. department. Therefore, it was suggested by a member
of the I.T. department that it would be sensible for the database to be located centrally, and maintained by
the I.T. department.
1.2 Aim and Requirements1.2.1 Aim of the ProjectThis project will produce a fully working prototype system that provides a suitable solution to the
problem. The system is intended to be a fully functioning web based database system that will allow the
Forestry Manager to improve his productivity by storing and retrieving information more effectively than
his current paper based system.
1.2.2 Minimum RequirementsThe minimum requirements of the project are listed below:
· Examine the tools and methodologies required to gain an overview of the system requirements
for the proposed database.
· Examine suitable database management systems that can be used to implement the proposed
database.
· Evaluate appropriate website authoring and web graphic creation tools that can be used to
develop web based forms for the proposed database
· Produce and apply suitable criteria for evaluating the solution
Introduction Forestry Management System
- 7 -
Chapter 2 - Background Research
2.1 System Development MethodologiesThroughout my time studying Computing at the University of Leeds the importance of using a structured
approach to software development has been stressed. In modules such as SO11, SO12, IN11, SI23 and
SI31 I have developed software using various structured techniques. Therefore, it seems essential that
this project uses a Software Development Methodology to ensure that it the development process is
efficient, and that the appropriate systems analysis procedures are followed. A structured software
development methodology can be defined as:
“a recommended collection of philosophies, phases, procedures, rules, techniques, tools, documentation,
management and training for developers of information systems” [2]
Although no methodology is perfect for use in every situation, there are several that may help me when
developing the proposed database. I will consider several different methodologies including the Systems
Development Life Cycle, the Waterfall Life Cycle, and Structured Systems Analysis Design
Methodology. Initially I will look at the System Development Life Cycle (SDLC).
2.1.1 System Development Life CycleSDLC is one of the original software development methodologies, and is it still probably one of the most
common techniques used in systems development. It also forms the basis of other methodologies such as
the Waterfall Life Cycle and SSADM. The SDLC is “characterised by a linear sequence of steps that
progress from start to finish without revisiting any step” [15]. These steps can be seen in Fig 2.0.
Unfortunately this linear sequence of steps makes the Systems Development Life Cycle inflexible, as
each stage must be followed in turn. Indeed, systems developed using the SDLC have often failed to
meet management’s needs, been unambitious in design, have led to user dissatisfaction and lacked
control. However, the SDLC is appropriate to situations where there are predictable information system
requirements, and where users have a clear idea of their needs or where there is an existing system in
place. Unfortunately, this does not apply to this project, as the needs of the user are vague, and there is no
existing solution to the problem. Therefore, I will not be using this methodology to develop this database
system.
Background Research Forestry Management System
- 8 -
Preliminary Investigation
Systems Analysis
System Design
System Construction
System Implementation
EvaluationFig 2.0
2.1.2 Structured Systems Analysis Design MethodologyThe Structured Systems Analysis Design Methodology (SSADM), like other structured methodologies,
adopts a prescriptive approach to information systems development in that it specifies in advance the
stages and tasks that need to be undertaken. It was developed in the UK by consultants Learmouth and
Burchett and the Central Computing Telecommunications agency in a bid to standardise the many varied
I.T. projects being developed across government departments. It has been mandatory in civil service
applications since 1983 [3]. The early implementations of SSADM emphasised data modelling and a
hard approach, that is, if it modelled right then the system will work. Later, as the methodology evolved
it became more concerned with relationships. SSADM also encourages a high level of documentation.
Using SSADM a project can be broken down into seven different stages.
1. Feasibility
2. Investigation of current environment
3. Business System options
4. Definition of requirements
5. Technical Systems options
6. Logical design
7. Physical designThe positive aspects of this methodology include the emphasis on documentation, and an increase
influence on user involvement is systems development. However it is relatively inflexible and for a
project of this size possibly too complex.
Background Research Forestry Management System
- 9 -
2.1.3 The Waterfall Life CycleThe waterfall life cycle is system development methodology which has its origins in manufacturing
industries. It is broken down in 5 different components which are shown below:
Needs Analysis & Specification
Program Design
I mplem entation
T esting
Maintenance & Upgrades
Fig 2.1Each activity has to be completed in order to provide the input for the next stage. This means that there is
no easy way to incorporate modifications in previous stages other than returning to the previous stage.
For most systems the specifications are inherently fluid or incomplete and there may be a variety of
reasons which tasks of earlier stages may need to be repeated [1]. If these tasks are not repeated then the
system maybe obsolete before it is even implemented. For complex projects, the iterations in the
Waterfall Life Cycle are considered to be too simplistic, but for small scale projects it gives project
structure, and identifies natural key decision points. It is also more flexible that the SDLC and SSADM,
in that it allows backtracking if severe pitfalls in the design are detected and modifications to the
specifications are required. When large project teams are involved the need for backtracking can result in
disproportionate increases in the cost of the project, but as I will be tackling this project alone it should
be relatively easy to move between the iterations if required.
For these reasons I am going to use the Waterfall Life Cycle as the basis for my system development.
2.2 Database Management SystemsThere are several different types of database management system on the mainstream market. The most
popular products include Microsoft’s SQL Server 2000, Oracle with Oracle 9i, IBM’s DB2, Sybase’s
Adaptive Server, and Computer Associates with Ingres. Another option that must be considered is
Microsoft Access 2002. The “big three” in the industry are considered to be SQL Server, Oracle, and
DB2. In 2001 these three had 13.1%, 31.1% and 29.9% of market share respectively [7]
There are several factors that I need to consider when evaluating these various database management
systems. One important factor is cost to the organisation. As I mentioned earlier, the forestry manager
Background Research Forestry Management System
- 10 -
has a limited budget and was unable to purchase an off-the-shelf package. He also does not want to have
to spend money on an expensive DBMS therefore it would make sense to choose a database system that
Iggesund Paperboard already owns. The DBMS also needs to offer the functionality that is needed to
develop the proposed database.
2.2.1 Microsoft Access 2002Since its introduction in 1992 Access has been one of the most popular database development tools. “For
experienced database programmers and first time database users alike, Microsoft Access 2002, delivers
powerful tools for managing and analysing data” [12]. Iggesund Paperboard already has a site license for
Microsoft Office XP Professional which includes Access 2002, so there would be no cost involved if this
DBMS package were chosen. Despite its popularity, Access is a desktop package and I would not
consider it appropriate for this sort of system as it does not offer the functionality of SQL Server or
Oracle.
2.2.2 IngresDespite the fact that the number of Ingres licenses have increased more than 30% since 1999 it still holds
a small market share compared to the big players in the industry [4]. This dramatic increase in a staid
market is primarily due it being imbedded with other Computer Associates products. Regardless of its
increased popularity I would not consider it to develop this proposed database. I have very little
knowledge of its architecture, and it is not considered an industry standard. Even though it has one of the
lowest costs of ownership in the industry it would still have to be purchased by the forestry manager.
2.2.3 Adaptive ServerAdaptive Server is the leading small footprint database, and it offers innovative and exciting technology
for data-warehousing. However, I will not be using this DBMS for the same reasons outlined for
Computer Associates Ingres system.
2.2.4 Oracle9iThe Oracle9i package has a number of excellent features [4]. It is the leader in the E-commerce segment
of the market, powering database driven websites with its excellent XML support. However, at Iggesund
Paperboard is it only supported by the VMS operating system. I have little understanding of VMS, and
little time to learn. The cost of purchasing a version for Windows is too much to justify, especially when
there are other database management systems which Iggesund Paperboard already own.
Background Research Forestry Management System
- 11 -
2.2.5 IBM DB2IBM DB2 has a high market share, and scores higher than SQL Server and Oracle9i in the Bloors
Research Company’s white paper on Database Systems. It concentrates on data management, rather than
database management, and incorporates several third party products to provide a complete data
management package. As a result, more training maybe required. Due to the short term nature of this
project and my limited knowledge of the product I will not be choosing it to implement this database. It is
expensive, and is not supported at Iggesund Paperboard.
2.2.6 Microsoft SQL Server 2000SQL Server is one of the most popular DBMS’s on the market. “It provides a relational database that is
highly scalable, and multi dimensional cube technology that addresses the complete spectrum of
mainstream database requirements.”[12]
I have experience developing software using SQL server, through the DB21 module I am currently taking
and also during my internship at Iggesund Paperboard. Personally, I find it more intuitive to use than
Microsoft Access 2002. SQL Server also provides extensive database programming capabilities built on
web standards [12], and it also offers easy access to data through the web. This is fundamental for my
project, as the database will be accessed through the company intranet. Furthermore, the I.T. department
at Iggesund already supports several SQL Server 2000 databases. As I mentioned earlier, the I.T.
department is already under strain due to recent staff reductions. It is important that the I.T. department
will be able to support this system efficiently if it is to be successful. Using a database management
system that is already in operation should minimise training costs and allow the I.T. department
effectively support the proposed database. I shall, therefore, be using SQL Server 2000 to develop my
database.
2.3 Web Development ToolsThere are many tools that can be used to develop web pages from simple HTML syntax highlighting
editors, through to ‘What You See Is What You Get’ web development packages. Due to the time
restrictions on this project I am only going to look at the two most popular packages, as the time required
to install, learn and evaluate is beyond the scope of this project. Furthermore, as the Forestry Manager
will not have any direct contact with the web development tools used to produce the proposed system I
can choose a package that I am most comfortable with.
2.3.1 Microsoft FrontPage 2002FrontPage is a powerful program that offers flexibility and adaptability to a web designer [16]. It is an
excellent product for beginners, and throughout my internship with Iggesund Paperboard I used it to edit
and update the company intranet. However, despite its easy of use I found that it wrote messy
Background Research Forestry Management System
- 12 -
html code, and I had problems with the known bugs, such as problems with forms. The web page that I
will be creating will be almost entirely based on forms so it would be a mistake to choose this product to
develop the proposed web pages.
2.3.2 Macromedia DreamweaverDreamweaver offers a simple, easy-to-use interface with a powerful set of tools and features to help you
create engaging Web sites. Macromedia Dreamweaver has a well-deserved reputation for being a capable
Web design package, and contains support for both graphical design and direct coding of HTML [16]. I
have some experience using this software package already, but would like to get to know it further.
Handily I already have a copy of Dreamweaver 4, and a trial version of the new Dreamweaver MX is
available to download from the Macromedia website. Therefore, I shall be using this software package to
develop the HTML structure for this intranet site.
Hardware
· Intel Pentium® 4 processor
· 1 GB Memory
· And other regular hardware devices
Software
· Microsoft Windows XP, 2000® Server
· IBM Web Sphere Studio Application Developer 6.0
· MS SQL Server 2000
Background Research Forestry Management System
- 13 -
Chapter 3 – Analysis
Although the scale of this project is relatively small, to produce a professional solution is it imperative
that the current problem is understood accurately. However, this task has been made doubly difficult by
the lack of support from the company. Thankfully, the forestry manager has been kind enough to spare
me some of his own time to discuss the problem with me further. Therefore, this chapter is concerning
with analyzing the current situation and expectations of the user for this system.
3.1 ModulesThis section describes the current procedures that are followed by the forestry manager in the current
system. Detailed understanding of these procedures was gained through several telephone conversations
during September 2002.
3.1.1 Product DetailsThe forestry manager is provided with a given amount of timber each week from the logging contractors
who work in conjunction with the manager. The majority of this timber is then transported to the
Workington based plant for use in paperboard production. However, for some reason, the base of the tree
is not appropriate of virgin fibre paperboard. The unwanted sections are transferred the forestry
manager’s lumber yard, and this is the product which can then be sold on to wood mills, construction
companies or carpenters. Product differentiation is relatively low, and at any one time, it is unlikely that
there will be more than 6 different products in the yard. These products are usually given a product code,
based on tree type, the age of the wood, and the geometry of the timber. The forestry manager currently
maintains a word processed list of the products which is updated to add new products, or remove
discontinued products. Sometimes, a product description is added to this word processed list to
distinguish between similar products. Furthermore, there is always enough timber in the yard to meet
customer demand, as the significantly more lumber is required for the paper making business.
3.1.2 Customer DetailsThe forestry manager has around 20 customers who he supplies regularly. Due to the nature of the
business, he does not receive many new customers, but relies on the business of his existing customers.
A paper file is created for the customer, recording their name and contact details and it is filed
alphabetically by customer name. To locate a customer file, the right drawer in the filing cabinet must be
searched. What’s more, if amendments need to be made to a particular customer’s details then he usually
must fill in a fresh form. Obviously this is a time consuming process.
Analysis Forestry Management System
- 14 -
3.1.3 Contract DetailsThe forestry manager has contracts with the majority of his customers. That is, he provides them with
either a weekly or monthly delivery of a fixed amount of timber on a given day of the week or date in a
month. He receives correspondence regarding new contracts by telephone, or by fax. Occasionally he
receives written correspondence, and some of his customers now place contracts by email. These
contracts are then recorded on a standard contract form and then filed against appropriate day of the week
for weekly contracts, or against the appropriate date if it is a monthly contract. In order to fulfil these
contracts, the forestry manager has to search through his filing cabinets to locate the contracts due. When
contracts are completed, they are removed from the filing system and discarded.
3.1.4 Order DetailsOrders are one off transactions, and are not repeated. They are requested by customers, usually in
addition to contracts, to be delivered on a given date. Orders are placed using the same channels as the
weekly and monthly contracts. They are recorded on a paper form and sorted by delivery date. If
amendments need to be made a new order form must be filed out, and if the order is cancelled or
completed the form is discarded.
3.1.5 Hauler DetailsThe forestry manager uses local haulers to delivery the lumber to his customers. Due to the nature of the
business, haulers are highly specialized, and given the limited demand for transporting large amounts of
timber it is unlikely that the forestry manager is likely to use any new haulers. In September 2002, the
forestry manager was only using three different haulage companies to transport his goods. Consequently,
their details are well known and only recorded on a notice board in his office.
3.2 Need for a New SystemIt is fairly obvious that this system is dated and is subject to a variety of problems. These problems are
outlined in this section.
3.2.1 Data Duplication and Data LossWhen a new record is added to the current paper based system, no checks are made to ascertain if the
specific record has been previously recorded as it is extremely time consuming due to the way the
records are ordered. This applies not only to contracts and orders, but also to the customer and hauler
records. Therefore, if the record has been previously recorded, two records may contain exactly the same
information. This causes two problems; firstly, the amount of space the record occupies will be
Analysis Forestry Management System
- 15 -
twice as much as if the record was stored just once. Secondly, and most importantly, the prospect of data
inconsistencies occurring increases.
3.2.2 Search DifficultiesIn the current system it is difficult to locate a specific record. Firstly, there may be multiple records for
each customer, thus finding one record does not ensure that this is information is accurate and up to date.
Secondly, contract and order records are sorted by delivery date across several filing cabinets. It is not
possible to locate these records by customer name.
3.2.3 Update DifficultiesAs mentioned earlier, if any updates need to be made to customer, hauler, contract or order details, then a
new form must be filled in to record these changes. However, keeping up to date information is difficult
as there may be several records regarding each customer. As a result, anomalies in customer data occur.
3.2.4 Time factorsMany of the processes in this system are time consuming. For example, searching through a filing cabinet
to locate a specific record and filling out new forms can be time consuming process. The primary aspect
of the forestry manager’s job is to ensure that there is sufficient timber to supply the Workington Paper
Mill. Currently, his secondary timber sales business is taking up far too much time.
3.3 User RequirementsAfter some discussion, it was proposed that the system could include the following user requirements:
· Develop a database system which can store details of customers, haulers and products. In
addition, it should be possible to record information required to fulfil orders and contracts.
· It must be possible to add, delete and update customer records.
· It must be possible to add, delete and edit hauler records.
· It must be possible to add, delete and edit weekly and monthly contract records.
· It must be possible to add, delete and edit product records.
· It must be possible to add, delete and edit order records· It should not be possible to create an order or contract for customers or products which do not
exist.
· It should not be possible to duplicate any records.· It should be possible to view all customer details, orders, contracts, product and hauler
information.
· It should be possible to search for customer, product, contract, order and hauler records.
Analysis Forestry Management System
- 16 -
· It should be possible to show order and contract that are due “today”.
· It should be possible to search orders and contracts by due date.
· Incorporate revenues and expenses
· Review active and completed orders.· It should be possible to select a customer or hauler record, and then create an email this
customer or hauler.
3.3.1 Order of PriorityDue to the time constraints imposed on this project, not all of the requirements listed above can be
implemented. However, the forestry manager suggested that the system should include several key
features to make it functionally viable.
The list below includes the minimum requirements needed to create a solution that would satisfy his
needs. All other features are considered non-essential.
1. Storage of customer details (minimum requirement)
a. Ability to review all customer records
b. Ability to add, delete and update customer records
2. Storage of Product Details (minimum requirement)
a. Ability to review all product records.
b. Ability to add, delete and update product record.
3. Storage of Hauler Details (minimum requirement)
a. Ability to review all hauler records.
b. Ability to add, delete and update hauler records.
4. Storage of Contract Details (minimum requirement)
a. Ability to review all contract records.
b. Ability to add, delete and update contract records.
5. Storage of Order Details (minimum requirement)
a. Ability to review all order records.
b. Ability to add, delete and update order records.
6. Search function (non essential requirement)
a. Ability to search by customer name.
b. Ability to search by order or contract number.
c. Ability to search by hauler name.
d. Ability to search by product name.
7. Email facility (non essential requirement)
a. Ability to email customers or haulers from the system.
8. Review “Today’s” Orders and Contracts (non essential requirement)
Analysis Forestry Management System
- 17 -
a. Ability to review orders and contracts that are due “today”.
b. Ability to review orders and contracts by any given delivery date.
9. Review active and completed orders (non essential requirement)
10. Revenues & Expenses (non essential requirement)
These user requirements could then translated into functional database requirements.
3.4 Implementation ToolsAs discussed in section 2.2.6, I will be using SQL Server 2000 to develop the proposed database, and
using Macromedia Dreamweaver to develop the web front end.
3.4.1 Scripting LanguageTo create a database driven website an appropriate scripting language needed to be selected. As stated in
the background research, this database may eventually reside on a server at Iggesund Paperboard so it is
important to consider that:
· Iggesund Paperboard web server is currently running Microsoft’s Internet Information Server
v5.0.
· The database will be developed in Microsoft’s SQL Server 2000.
· The I.T. department may support this website, or introduce updates.Therefore, the scripting language needs to run well with IIS and SQL Server, and the I.T staff at
Iggesund Paperboard need to have prior knowledge of its architecture.
The two most popular tools for web developers include Active Server Pages (ASP) and PHP. Having
little knowledge of these scripting languages prior to project implementation I was unsure which would
be the best to use. ASP is a Microsoft product which is most suited to working with other Microsoft
applications such as Microsoft Access, IIS and SQL Server. Furthermore, it supports the use of VBScript
and there are plentiful resources on the web to aid developers. On the other hand, PHP is an open source
alternative to ASP, and is supported by multiple platforms, and multiple web servers.
It was brought to my attention that the I.T staff at Iggesund have already developed a database driven
website in ASP allowing users to submit helpdesk requests. Furthermore, as all the servers at Iggesund
Paperboard run Microsoft operating systems, and the database will be implemented in SQL Server this
project will be developed using the ASP standard.
Analysis Forestry Management System
- 18 -
Chapter 4 – Database Design
4.1 IntroductionThe importance of the database design phase is crucial. It is the responsibility of the database designer to
take the information gathered during the analysis process and model a database structure that realistically
represents the requirements of the users [6]. Indeed, a well designed database is likely to be much more
useful, than a poor planned, ill thought out database.
Furthermore, if the appropriate procedures are not followed during the design phase this could lead to all
sorts of problems during system implementation. Ensuring the design is complete and accurate confirms
that all the requirements have been accurately captured and that redundancy and inconsistencies in the
data are kept to a minimum.
“…a database must be both well-designed and well-maintained if it is to be of use.” [13]
4.2 Data Modelling4.2.1 Universe Of Discourse“A database represents some aspect of the real world, sometimes called the Universe of Discourse.” [6].
Any changes that occur in the real world should be reflected by changes to the database. In this case, the
Universe Of Discourse consists of the timber sales operation and is concerned with all business aspects.
By using data modelling, this universe of discourse can be translated into an graphical model, known as
the Entity-Relationship model.
4.2.2 Entity Relationship ModelThe Entity Relationship “model and its variations are frequently used for the conceptual design of
database applications and many database design tools employ its concepts” [6]. This conceptual model
can then be mapped directly into relational database tables.
There are many E-R modelling conventions available. This project will be using the Chen notation
described by Elmasri and Navathe, 2000. This method has been chosen because relationships between
entities can be represented.
An E-R model describes data as entities, relationships and attributes. An entity may be an object
with a physical existence. Each entity will have attributes. These are the particular properties which
describe it. A particular entity will have a value for each of its attributes. A database usually contains
groups of entities that are similar and share the same attributes, but each entity has its own values for
each attribute. A collection of these entities is known as an entity type.
The first stage in E-R Modeling is to identify the entity-types. An entity-type is classified as: •
Something which is in the UoD
Database Design Forestry Management System
- 19 -
· Something which has more than one instance in the UoD
· Something about which we wish to store information [13]For example, Customer is an entity type has more than one instance, has a number of attributes, and more
than one piece of information that need to be stored on it. These attributes include Customer Name,
Address details and telephone number. Therefore, this database will have 5 different entity types. These
entity types are:
1. Customer, 2. Product, 3. Hauler, 4. Order, 5. ContractThe next step in the E-R modeling process is to identify the relationship between the entities. For
instance, in this model, there is a relationship between the customer and order entity. That is to say, a
customer PLACES an order.
4.2.3 Relationship Cardinality ratiosThe cardinality ratio for a binary relationship specifies the number of relationship instances that an entity
can participate in. For example, in the binary PLACES relationship type, Customer: Order is a
cardinality ratio of 1:N. This means that each customer can be related to numerous orders, but an order
can only be related to only one customer. The possible cardinality ratios are 1:1, 1:N, N:1 and M:N.
4.2.4 Participation Constraints and Existence DependenciesThe participation constraint specifies whether the existence of an entity depends on it being related to
another entity via the relationship type. There are two types of participation constraints: total and partial.
For example, an order must be for a product, thus the participation level is total, meaning that every
entity in the total set of order entities must be related to a product entity via the Is For relationship.
Total participation is also known as existence dependencies. On the other hand, there may be a customer
has not yet placed an order. This is known as partial participation. In Chen notation total participation is
represented by double lines, partial participation by single lines.
Entity Type Relationship Entity Type Cardinality Participation
Customer Places Order 1:N Partial
Customer Places Contract 1:N Partial
Order Is For Product 1:1 Total
Contract Is For Product 1:1 Total
Haulers Transport Contract 1:N Total
Haulers Transport Order 1:N Total
Fig 4.0
Database Design Forestry Management System
- 20 -
4.2.5 Entity AttributesIn Chen notation attributes are represented by ellipse shaped boxes. The attributes for each entity types are
given below.
Entity Type Attributes
Customer Customer Name, StreetAddress1, StreetAddress2, Town City, Postcode,
TelephoneNo, Email
Product Product_Name, Product_Description
Hauler Haulier Name, StreetAddress1, StreetAddress2, Town City, Postcode,
TelephoneNo, Email
Order OrderNo, Customer Name, Product Name, Quantity, Delivery Date,
Hauler Name
Contract ContractNo, Customer Name, Product Name, Quantity, Delivery Day,
Delivery Date, Haulier Name
Fig 4.1
Attributes are not included on the E-R diagram (Fig 4.2).
4.3 Logical Database DesignThe next step in database design is the actual implementation of the database, using a commercial DBMS
– for this project: SQL Server 2000. “The conceptual schema is transformed from the high level data
model into the implementation data model” [6]. Its result is a database schema in the implementation data
model of the DBMS.
Database Design Forestry Management System
1 CUSTOMER
N
- 21 -
4.3.1 Database Design IssuesOne of the minimum system requirements is to prevent data duplication. During the development stage it
is became apparent that the attributes for each entity type would not be enough to prevent data
duplication. For example, there may be more than one customer with the same name. Therefore, an
additional unique idenitifier attribute was given to the Customer, Product and Hauler entity types. This
unique identifier is was also set to be the primary key for these entities. The completed database schema
is shown in section 4.4.
4.3.2 Mapping E-R Model to Relational TablesMott and Roberts [13] specified several important rules mapping E-R models to relational tables:
1. Mapping Entity typesEntity types should be mapped into a table scheme with the table fields consisting of entity
attributes. The primary key should be chosen so that it uniquely identifies each record and
prevent data duplication, redundancy and anomalies
2. Mapping 1:1 RelationshipsWhere the relationship between entities has a cardinality of 1:1, this relationship is represented
by inserting the primary key of one entity type as a foreign key in the other entity type table
schema.
For example, in the Product-Order relationship, the primary key in the product table is included
as a foreign key in the Order table scheme.
3. Mapping 1:M RelationshipsRelationships with cardinality of 1:M can be treated in very much the same way as 1:1
relationships. That is, the primary key from the ‘1’ end of the relationship is posted into the
scheme representing the ‘many’ end of the relationship. In this case, the primary key from the
customer table is placed as a foreign key in the order table.
Consequently, the rest of the relationships modeled in the conceptual E-R diagram can be
represented in this manner.
4. Mapping Participation LevelIf participation level is total then every entity of a given entity type must participate in the
relationship. So for the Product-Order relationship the primary key in Order table cannot accept
null values. Furthermore, this means that every foreign key value must match a primary key
value from the other table. So, the Product foreign key in the Order table must correspond to a
primary key value in the Product table.
These rules were applied to all the entities and relationships.
4.4 Database SchemaThe rules discussed above enabled me to draw up a relation scheme. See below:
Database Design Forestry Management System
- 22 -
Customer (Customer_id, Customer_Name, StreetAddress1, StreetAddress2, Town_City, Postcode,
TelephoneNo, Email)
Product (Product_id, Product_Name, Product_Description)Haulier (Haulier_id, Haulier_Name, StreetAddress1, StreetAddress2, Town_City, Postcode,
TelephoneNo, Email)
Order (OrderNo, Customer_id, Product_id, Haulier_id, Delivery_Date, Quantity)
Contract (ContractNo, Customer_id, Product_id, Haulier_id, Delivery_Date, Delivery_Day, Quantity)
4.5 NormalizationThe aim of the normalization process is to reduce the redundant values in tuples, reduce the null values in
tuples and disallow the possibility of generating false tuples, thus “minimizing redundancy and
minimizing the insertion, deletion and update anomalies” [6].
First proposed by Codd (1972), normalisation “takes a relation schema through a series of tests to
‘certify’ whether is satisfies a certain normal form” [6]. Central to understanding normal forms is the
concept of functional dependencies.
4.5.1 Functional DependenciesA functional dependency is a constraint between two sets of attributes in the database [6]. That is, one
attribute in a relation may be functionally dependent on another or set of attributes. The functional
dependencies that exist in this database are listed below:
Customer_id -> Customer_Name StreetAddress1 StreetAddress2 Town_City
Postcode TelephoneNo Email
Product_id -> Product_Name Product_Description
Haulier_id -> Haulier_Name StreetAddress1 StreetAddress2 Town_City
Postcode TelephoneNo Email
ContractNo -> Customer_id Product_id Haulier_id Quantity Delivery_Date
OrderNo -> Customer_id Product_id Haulier_id Quantity Delivery_Date Delivery_Day
4.5.2 First Normal FormNow that the functional dependencies have been identified it is possible to start with normalization
processes. First Normal form, or 1NF, disallows having a set of values, a tuple of values, or a
combination of both as an attribute value for a single tuple [6]. In other words, 1NF only permits single
atomic attribute values. As all the attributes in this database are single valued then this infers that this
database is in 1NF.
Database Design Forestry Management System
- 23 -
4.5.3 Second Normal FormSecond Normal Form or 2NF is based on the concept of full functional dependency [6]. This condition
states that the relation must be in 1NF, and that a functional dependency X -> Y is full functional
dependent if removal of any attribute from X means that the dependency does not hold any more. As all
the functional dependencies for this database only have one left hand side (primary key) attributes they
must be in 2NF.
4.5.4 Third Normal FormThird Normal Form (3NF) is based on the concept of transitive dependency [6]. This condition states that
a functional dependency X -> Y is a transitive dependency if there is a set of attributes Z that is neither a
candidate key nor a subset of any key in the relation, and both X -> Z and Z -> Y hold. In this database
there is no transitive dependency. Consider the Customer table scheme, Customer_id determines
Customer_Name, but Customer_Name may not determine the any of the other attributes as it may not be
unique. This also applies to other table schema in the database, so it reasonable to assume that this
database does not break 3NF.
4.5.5 Boyce Codd Normal FormBoyce Codd Normal Form (BCNF) is a stronger normal form than 3NF, with every relation in BCNF
also being in 3NF but not necessarily vice versa. The formal definition of BCNF differs only slightly
from the definition of 3NF: “A relation scheme R is in BCNF if whenever a non trivial functional
dependency X -> A holds in R, then X is a superkey of R” [6]. There are no cases in this database where
the left hand side of the functional dependencies is not a superkey so BCNF must hold.
4.6 Relational Integrity Rules4.6.1 Entity Integrity RuleThis rule states that “no part of a primary key can be null” [ 14]. This is because the primary key is used
to identify individual tuples in a relation [6]. For example, if the Customer_id field is null for two fields,
then it may be impossible to distinguish between them.
4.6.2 Referential Integrity ConstraintThe referential integrity constraint is specified between two relations and is used to maintain consistency
among tuples of two relations [6]. Essentially, this means that a foreign key must reference a matching
primary key value in another table. For example, in the Order table, the Customer_id must match a value
of Customer_id in the Customer table. Enforcing these Relational Integrity rules is important to prevent
erroneous errors.
As a result of these tests I found no need to change my database design.
Database Design Forestry Management System
- 24 -
Chapter 5 – User Interface Design
Given the lack of input from the organisation’s I.T. department and the limited time spent with the
forestry manager, no strict guidelines for the user interface were in place. However, during system
development the user interface is one of the most important processes.
5.1 Current Iggesund Systems5.1.1 Iggesund Workington IntranetDuring my internship I worked as part of a project team whose primary task was to redevelop the local
intranet. At the time, we spent considerable time looking at the homepage layout. There was a general
consensus that the new interface had to be user friendly. After much deliberation, the final layout
consisted of static menu bars at the top and left side of the page, with only the centre section changing
when links were selected. See Fig 5.0 The experience gained from this process helped me a great deal
when pondering the layout of the user interface.
Fig 5.0Furthermore, when considering the design specifications for the database front end, it seemed important
that the look and layout of this system was familiar to the user. The forestry manager has considerable
experience using the local intranet at Iggesund Paperboard. Keeping the system structure comparable to
the Iggesund’s intranet seemed to make a lot of sense.
5.1.2 Iggesund Paperboard InternetMany organisations have a specific style in which important documents are presented. The importance of
incorporating corporate style into this application should not be underestimated. Consequently, some
time was taken to browse the Iggesund Paperboard homepage [9]. See Fig 5.1. On further inspection of
the site, it became apparent that this site also had static menu bars at the top and left side
User Interface Design Forestry Management System
- 25 -
of the page. Furthermore, the clean white pages, contrasted with black text and minimal pictures made
the site look very professional. It was decided that this professional image should be reflected in the
proposed system
5.2 Interface Design
5.2.1 GuessabilityGuessability relates to how easy to guess the use of the product [5]. If the user can guess how to correctly
use the product in a short time, this means that the product is easy to learn, which is an advantage
because as the user does not need to read the manual. For example, if text changes when the user rolls the
mouse over it, this is a good indication that clicking on this text will do something.
5.2.2 TextThe text font and styles used can have a considerable influence on the usability of an application. Indeed,
the font used should reflect the user preferences, allowing the text to be easily read [8]. Both the
Iggesund Paperboard intranet and internet pages use a font face called Verdana. On a white background
this font is clear and easy to read. Therefore, this font was used throughout the system.
User Interface Design Forestry Management System
- 26 -
5.2.3 TemplateTo create a consistent look and feel, the site is based around a standard template. This template gives
each page with a menu to the left and border at the top. See Fig 5.2.
Company Logo Site Title
MenuOptions
PageData
Fig 5.2
In keeping with corporate system, a white background with black text was chosen.
5.2.4 Web BrowserAs part of company policy all computers distributed by the I.T. Department need to meet certain
minimum requirements. After a brief discussion with Richard Craker, the I.T. Systems Manager at
Iggesund Paperboard, I found that the current specifications were:
· Operating System: Microsoft Windows XP Professional (Service Pack 1)
· Web Browser: Microsoft Internet Explorer 6.0
· Screen Resolution: 1024 by 768 pixels
Therefore, to ensure that this website is usable it needs to function properly Internet Explorer 6.0 with a
screen resolution of 1024 x 768. Thankfully, there is no need to test it in other browsers.
User Interface Design Forestry Management System
- 27 -
Chapter 6 – Implementation
6.1 IntroductionThe purpose of this chapter is to detail the implementation of the database design outlined in Chapter 4,
and implementation the website discussed in Chapter 5
The development and testing of this database driven website was carried out on my own PC. For the
purpose of this project the hard disk was partitioned and Microsoft Windows 2000 Server was installed.
Then Internet Information Server 5.0 and a trial version of SQL Server 2000 were obtained from
Microsoft’s website. Microsoft Internet Explorer 6.0 was also installed. This was done to recreate the
specifications of the web server at Iggesund Paperboard, and hopefully making the proposed system
more portable, and reducing potential installation problems.
Another machine running Windows XP Professional and Internet Explorer 6.0 connected to the internet
via 56k modem was used to test the speed of the connection.
6.2 Database ImplementationAs mentioned in section 2.2.6 the database is to be implemented in SQL Server 2000.In SQL Server the first stage in the database development process is to create a new database. Using the
graphical interface this is easily achieved. Then tables corresponding to the schema developed in section
4.4 could be created. The appropriate attributes were added as column names and properties for these
data types were selected from the drop down lists. Some fields were also allowed to accept null values at
this stage. The primary keys were also specified during this process. See Appendix F-3 for further
details.
6.2.1 Null ValuesNull values were allowed on the StreetAddress2 and Email columns in both the Customer and Haulier
tables as occasions may occur where these values cannot be entered. For example, an address of 22
Mayville Avenue, Leeds, LS6 1NQ would not need to use the second street address field. Furthermore, it
is likely that not all customers or haulers will have an email address.
The Delivery_Day and Delivery_Date fields in the Contract table both accept null values. These values
are used to distinguish between weekly and monthly contracts. If a new monthly contract is entered then
the Delivery_Day value is left blank, whereas if a weekly contract is added to the database then the
Delivery_Date field will be null. However, at the application level rules will be created to prevent the
user adding contracts to the database that don’t have a delivery day or delivery date.
Implementation Forestry Management System
- 28 -
Finally, the Product_Description field accepts null value as the forestry manager does not always enter
these. If this field was compulsory it could lead to erroneous entries being made into this field.
6.2.2 RelationshipsThe relationships defined between the entities specified in the E-R Diagram need to be translated from
the design into the actual database. The following primary key – foreign key relationships were created
to model this, maintaining consistency, and hence complying with the referential integrity constraint.
Table Primary Key Table Foreign Key
Customer Customer_id Order Customer_id
Customer Customer_id Contract Customer_id
Product Product_id Order Product_id
Product Product_id Contract Product_id
Haulier Haulier_id Order Haulier_id
Haulier Haulier_id Contract Haulier_id
Fig 6.1Entity Integrity is ensured in SQL Server by setting the 'Identity' property of the primary key field to 'Yes
(Not For Replication)'. See Fig 6.2.
Fig 6.26.2.3 Database Diagram
See Appendix F-2
6.3 User Interface ImplementationNow the database was completed, the next task was to develop the user interface. As discussed in the
previous chapter, the interface is to be split into 3 different sections. This interface was developed in
Macromedia Dreamweaver, with the page being split into HTML frames. Each section, represented by
the dotted line (see Fig 6.3) is a page in itself, so updates only need to be made once, and will be
replicated across the site.
Implementation Forestry Management System
- 29 -
6.3.1 Template DevelopmentWhile Macromedia Dreamweaver does not support ASP, it was a useful development tool that simplified
the efforts involved in creating any HTML and provided a good starting point for webpage development
and saved considerable time in the development process. The HTML code for each page was copied from
Dreamweaver, and pasted to a syntax highlighting text editor called Crimson Editor. As an ASP novice
this editor was tremendously helpful when adding ASP code.
Fig 6.3Each section (represented by the dotted line) is a page in itself, so that any updates to these part of the
page only need to be made once and will be reflected throughout every page in the website.
6.3.2 Website ArchitectureSee Appendix F-1.
6.3.3 Database ConnectivityIn order to display dynamic data content, the Active Server Pages need to be able to pull data out of the
database. To do this, a connection string must be defined to point the pages to the appropriate SQL
Server database. To aid portability, a header which pointed to a connection string file was added to the
pages with dynamic content. This means that if the database was moved to a new server then the
connections string only need to redefined in one file.
Implementation Forestry Management System
- 30 -
Fig 6.5This connection string is then called in each ASP page to open the database connection. In the example
shown below, some SQL code is run by the DBMS and results returned by populating a recordset. This
method is used when returning results from the database – for example, viewing list of all customers.
Fig 6.6
To minimise the time database connections are open, when performing insert, update or delete operations
the connection is only opened to perform the operation. Fig 6.6 shows how this is done.
Set con = Server.CreateObject("ADODB.Connection")' Open the connection con.Open data_source ' Execute the SQL con.Execute sql_insert' Done. Close the connectioncon.CloseSet con = Nothing
Fig 6.6
6.3.4 HomepageFrom the homepage (shown below Fig 6.7) links from the side and top menus allow the user to access
all aspects of the system. By clicking on ‘Forestry Management System’ or the Iggesund Paperboard
logo on the top title bar the user can easily return to the homepage, no matter where they are in the
system. From the homepage, it is possible to go directly to the orders and contracts that are due today.
Fig 6.7
Implementation Forestry Management System
Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql_statement, data_source
- 31 -
6.3.5 Customer, Product, Order, Contract and Hauler PagesSelecting the ‘Customer’, ‘Product’, ‘Contract’, ‘Order’ or ‘Haulier’ link from the menu bar takes the
user to the associated Information page. From these pages, it is possible to enter new details, update or
delete existing records. See Fig 6.8.
Fig 6.8The form for inserting a new customer is shown in Fig 6.9. There are similar forms for inserting hauler and
products details.
Further details about inserting, updating or deleting records can be found in the Forestry System User
Manual, Appendix D.
6.3.6 Search FunctionOne of the non essential requirements listed in Chapter 3 was a search function. Fortunately, time was
found during project implementation to develop a simple search function. This search function can be
accessed from the top title bar by clicking on the ‘Search’ link. More details on how to use this function
can be found in Appendix D. This search function uses a simple SQL statement to query the database
and return any matching results.
if dbtable="Customer" thensql_search = "select * from customer where customer_name like
'%" & searchtext &"%' "Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sql_search, data_source
Fig 6.10
Implementation Forestry Management System
Fig 6.9
- 32 -
The value for ‘dbtable’ is retrieved from the Search Field drop down box, and it determines which table
is searched. ‘Seachtext’ is the search keyword entered into the form. If the search is successful, the
required result then can be selected and updated.
6.3.7 Email FacilityAnother non essential function that was implemented was the email facility. Having prior knowledge of
Iggesund Paperboard’s mail client made this much simpler than initially expected. As the company use
Microsoft Outlook 2002 I found that the simple HTML mailto: command could be used to create a link
that would automatically open a new email message and populate the To: field with the supplied email
address.
Fig 6.11This function can be accessed by searching for a customer or haulier name using the search function, or
by viewing a list of all the hauliers or customers and then simply clicking on the email.
Fig 6.12
6.3.8 Reviewing Today’s Orders and ContractsAs significant progress had been made with the project, time was taken to implement a third non
essential requirement. By using built in ASP functions which take the date from the server’s system clock
it was possible to determine which day and date it was, and then this could be used to query the database.
The orders and contracts that were due on this date could then be found and returned. The code used to
do this is shown in Fig 6.13.
Implementation Forestry Management System
<a href='mailto: "& rs("email") &"'>" & rs("email") & "</td></tr>"
- 33 -
% dim today, thismonth, thisyeartoday = Day(Date) ‘ Gets today’s day thismonth = Month(Date) ‘Gets today’s month thisyear = Year(Date) ‘Gets today’s year
' Declaring variablesDim rs, sql_orders_today, nono = 0
‘SQL query to get order details for the given date sql_orders_today = "select o.orderno, c.customer_name,
p.product_name, o.quantity, o.delivery_date, h.haulier_name from haulier h, orders o, customer c, product p where h.haulier_id = o .haulier_id and o.customer_id = c.customer_id and o.product_id = p.product_id and o.delivery_date like '%" & todaydate &"%'"
' Creating Recordset Object and opening the database Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql_orders_today, data_source
Fig 6.13
6.3.9 Security IssuesThe forestry manager uses a secure ISDN connection with 128 bit encryption to connect into the
Iggesund network. After discussions with Richard Craker, the I.T Systems Manager, he seemed
confident that this connection was secure and that no further security measures would be required.
Therefore, no additional security features will be built into this system.
6.4 ProblemsDuring the development of the user interface no serious problems were encountered. However, some
difficulty was encountered generating appropriate error messages when forms were filled incorrectly.
Further difficulties were stumbled upon during the implementation of the search function. The trial
version of SQL Server being used to develop the project does not allow full text indexes to be
implemented on the fields in the tables. Obviously this is a disadvantage because it meant that an exact
match system would have to be used. Furthermore, it meant that fluff words could not be removed. At
the same, the search function seemed to function well as it would be unlikely that the user would search
using an English Language query. In this case, a search is much more likely to be for a specific customer
name, order number, or product details.
Implementation Forestry Management System
- 34 -
Chapter 7 - Testing and Evaluation
7.1 IntroductionTesting and Evaluation are both extremely important elements in the system development process. By
testing and evaluating the system, the quality of the database and the robustness of the product can be
determined. Furthermore, during the testing process any bugs or defects that are found can be eliminated.
This chapter details the processes used to test and evaluate the database and web pages.
7.2 TestingThe purpose of testing is to ensure that the database and web pages operate correctly and meet the
requirements outlined in section 3.3.1.
According to Krutchen [10] testing should be ongoing process. This reduces the likelihood of severe
problems being discovered late on in the implementation phase. Therefore, during the implementation
stage a test plan was written. The testing not only included navigation, submission of data and page
errors but also the testing of data integrity constraints. This test plan can be found in Appendix C.
7.2.1 White Box TestingTraditionally, there are two main approaches to testing software: black-box (or functional) testing and
white-box (or structural) testing [17]. White box testing uses specific knowledge of programming code to
examine outputs. Therefore, the test is only accurate if the tester knows what the program is supposed to
do [18]. Throughout the implementation process, white box testing was undertaken on each section of
code to ensure it was doing what it was supposed to do. This process has not been included in the test
plan as it proved difficult to document. However, test data was created to uncover errors in the following
areas:
· Data Input / Data retrieval
· Valid / Invalid data handling
· Error handling
7.2.2 User Acceptance TestingGetting the user to test the system is one of the most important tests that software can undergo. Although
Iggesund Paperboard stated that they would not be able to give me any support I contacted the Forestry
Manager directly to see if he would help me with the system evaluation. He agreed to look at it briefly in
his own time. His comments were largely positive, and he seemed to be pleased with the system. He
commented that this system was relatively easy to use, and thought that with
Testing and Evaluation Forestry Management System
- 35 -
practice it would be much faster than the current system. Comments by the forestry manager can be seen
in Appendix E. Two other users also tested the system. Feedback can be seen in Appendix E.
7.3 EvaluationStudies by McCall et al [11] produced guidelines for evaluating any software development. This criterion
evaluates the system in terms of three quality factors, its functional characteristics, its usability and its
maintainability. The criteria include: Reliability, Speed, Integrity, Efficiency, Usability and
Maintainability. The results can be seen in Appendix E.
Overall the results of the testing and evaluation were extremely positive. The system proved to
be more robust than expected, and the performance was exceptional over a slow connection. Efficiency
was also far greater than the current system. Speed for inserting and retrieving data was also far superior.
Comments by the forestry manager were favourable, and other users stated that the system was easy to
use, options were clear and the interface had a nice professional look.
Testing and Evaluation Forestry Management System
- 36 -
Chapter 8 – Conclusion
8.1 Project ReviewAt the beginning of this project several minimum requirements were submitted. It seems rather obvious
to state that the success of the project depends on the extent to which it met these minimum
requirements.
The minimum requirements were specified in section 1.2.2. These were:· Examine the tools and methodologies required to gain an overview of the system requirements
for the proposed database.
· Examine suitable database management systems that can be used to implement the proposed
database.
· Evaluate appropriate website authoring and web graphic creation tools that can be used to
develop web based forms for the proposed database
· Produce and apply suitable criteria for evaluating the solution
To meet these requirements research was conducting to find the various software development
methodologies. After analysing each technique, the chosen methodology was adapted to meet the needs
of this project, and then followed as accurately as possible. Therefore, this project went through the
appropriate development processes thus meeting this requirement
Considerable time was spent investigating the different database management systems currently
available, financial and practical issues were taken into account and a suitable comprise was reached.
However, this requirement was almost entirely governed by the systems currently in place at Iggesund
Paperboard.
The third requirement was to assess appropriate web authoring and web graphic creation tools. As the
budget for this project was extremely limited this meant that the products were limited to freeware,
shareware, or products that were already owned by the developer. The project looked at the different
tools available to the developer and chose the one most appropriate for developing this type of system
hence meeting this requirement.
Finally, to certify database and webpage integrity, evaluation techniques were appraised to establish the
most appropriate procedure for this particular project. This evaluation criterion was then applied to the
developed system.
The main aim of this project was to produce an appropriate solution which would meet the requirements
of the user (see Section 1.2.1) This project not only met all the functional requirements of the forestry
manager, but exceeded them by implementing several of the non-essential requirements listed in section
3.3.1.
Conclusion Forestry Management System
- 37 -
8.2 Further ImprovementsThere is considerable scope to develop this project further. Integration with an accounting system to
include revenues and expenses would be extremely beneficial to the forestry manager. Furthermore, this
system is only intended for use by the manager of one particular forest. It could be expanded to
encompass all the forestry operations.
8.3 ConclusionsThe project encompassed a large amount of research to determine the requirements of the user and assess
the appropriate tools for developing the system. On completion of the website and database testing
showed that all the requirements specified at the beginning of the project had been met. Although there is
still considerable room for improvement and development, this project has been an undoubted success.
Indeed, the website could go live immediately and prove to be extremely useful to the user. As it is, this
project is now being passed onto to the Iggesund Paperboard I.T. department who are free to use it or
modify it at their discretion.
Conclusion Forestry Management System
- 38 -
Bibliography Forestry Management System
Bibliography
[1] Avgeron C. and Cornford T., 1993, Developing Information Systems: Concepts, Issues and
Practice, Macmillan
[2] Avison D. E., and Fitzgerald G., 1995, Information System Development Methodologies,
Techniques and Tools (2nd Edition), McGraw-Hill Book Company Europe[3] Avison D.E. and Shah H.U., 1997, The Information Systems Development Life Cycle: A first
course in information systems. McGraw-Hill Book Company Europe
[4] Bloor Research Company White Paper: Database – An Evaluation and Comparison, 2002,
http://www.bloor-research.com
[5] Department Of Computer Engineering & Information Technology, 2003,
http://www.it.cityu.edu.hk/~hcso, 2003, University Of Hong Kong.
[6] Elmasri R. and Navathe S.B., 2000, Fundamentals Of Database Systems (3rd Edition), Addison
Wesley Longman
[7] Expert Exchange, IT Information that drives enterprise, http://www.experts-exchange.com, 2002
[8] Faulkner, C., 1998, The Essence Of Human Computer Interaction, Prentice Hall
[9] Iggesund Paperboard, http://www.iggesundpaperboard.com, 2003
[10] Krutchen Philippe, The Rational Unified Process: An Introduction (2nd Edition), Addison-
Wesley, 2000[ 11 ] McCall J., Richards P., and Walters G., 1997, Factors In Software Quality
[12] Microsoft, http://www.microsoft.com, 2002
[ 13] Mott P., and Roberts S.A., 2000, DB 11: Introduction to Databases, Module Notes, School Of
Computing, University Of Leeds
[14] Roberts S.A., 2002, DB32: Database Principles and Practice, Module Notes, School of
Computing, University Of Leeds.
[15] SearchVB.com , http://searchvb.techtarget.com, 2002
[16] What You See Is What You Get HTML Editors, http://www.inet-host.com/tutorial/editors.html
[17] White Box Testing, http://www.ddj.com/documents/s=887/ddj0003a/0003a.htm.,2003[18] White Box Testing – Webopedia.com,
http://www.webopedia.com/term/w/White_Box_Testing.html
- 39 -
Appendix A – Personal Reflection
When I started this project I had a number of personal objectives I wanted to achieve. These are listed in
the Summary at the start of this document. I have more than fulfilled these objectives, learning more
during the implementation of this database system than I imagined. Not only have I developed
knowledge of SQL Server and Active Server pages, I gained understanding of Microsoft Internet
Information Server and the processes involved in setting up a web server.
At the outset of this project I had practically no knowledge of Active Server Pages. I knew what
they were supposed to do, but to be honest I didn’t have a clue where to start. Thankfully, the plethora of
ASP resources and tutorials on the web were extremely helpful. Once I had got to grips with ASP I found
it much easier to make progress, and I would now consider myself reasonably competent in ASP
programming.
Looking back on this project I didn’t keep to the schedule I had drawn up. I found that other coursework
constantly took priority over this project because the deadline seemed so far away. Consequently, the
workload began to build up and the implementation of the database and web pages didn’t begin until the
start of March. This meant I had to work extremely hard to complete the software for the meeting with
the Project Assessor. However, taking time to set up Microsoft SQL Server and IIS on my home machine
meant that once the implementation started I was able to make significant progress. If I was to do this
project again, I would definitely have started the implementation earlier.
Throughout the duration of this project I was continually frustrated at not being able to fully involve the
user in the development process. Having only a few telephone conversations to go on made it difficult to
assess whether the user requirements were being fulfilled. Fortunately, it seemed that these discussions
were enough for me to gain understanding of the forestry managers needs.
Finally, this project has helped me gain practical skills in database design and web development that I
otherwise would not have taken time to develop.
Appendix A Forestry Management System
- 40 -
Appendix B – Project Plan
Good project management is essential to ensure that the project is completed on time, and with the
required functionality. At the start of this project, a schedule was devised to guarantee that the project
was completed on time. This initial project schedule is shown below. However, as the project progressed
other work commitments revealed that this plan was unrealistic and from December onwards the
schedule was revised (see below).
Initial Project ScheduleBackground reading and research. Looking at different DBMS
architectures, web development tools and coding
implementation techniques
Requirements gathering and analysis. Considering the project
prerequisites, mandatory components and compulsory
information to be included. Continued background research
December / January Database design and implement
January / February Web based forms design and implementation
February / March Database and web testing, evaluation and report writing
March / April Report Writing
Major Milestones
· End of November 2002 – Majority of background reading and research completed.
· December 12th 2002 – Mid Project Report completed and submitted· End of December 2002 - Database Management System chosen, and majority of systems
requirements and analysis completed
· End of January 2003 – Database design complete and most of implementation in place
· Mid February 2003 – Web based forms design complete and implementation complete.
· End of February 2003 – Web based forms fully implemented
· Mid March 2003 – Complete system implementation and fully tested
Revised Project SchduleJanuary / February Requirements gathering and analysis. Considering the project
prerequisites, mandatory components and compulsoryinformation to be included. Continued background research
March Database design and implement, Web based forms design and
implementation
October / November
November / December
Appendix B Forestry Management System
- 41 -
April Database and web testing, evaluation and report writing
Despite this reduced time scale, this revised schedule proved most useful, and the software was
completed in time for the Progress Meeting at the end of March.
Appendix B Forestry Management System
- 42 -
Appendix C - Test Plan
Page Test Pass (9) / Fail (8) Corrections Required / Comments
Default.asp Page displays correctly.
Clicking links loads appropriate page
in centre frame.
Side.asp Page displays correctly.
Clicking links loads appropriate page
in centre frame.
Top.asp Page displays correctly
Clicking links loads appropriate page
in centre frame.
Customer.asp Page displays correctly
Clicking links loads appropriate page
in centre frame
CustomerInsert.asp Page displays correctly
Data can be entered into appropriate
fields
Invalid data entered produces an
appropriate error message
Appendix C Forestry Management System
- 43 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
CustomerInsert.asp No data entered produces an
appropriate error message.
Data entered into database correctly
All customer entries displayed after
Submit is selected.
CustomerUpdate.asp Page displays correctly
All customer database entries are
displayed
Selected item details are pre-
populated in update form
New data can be entered into forms
Submitting changes updates database
Changes reflected on Customer
update page.
CustomerDel.asp Page displays correctly
All customer database entries are
displayed
Selecting item and choosing delete
removes item from database.
Changes reflected in Customer list
Appendix C Forestry Management System
- 44 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
CustomerShow.asp Page displays correctly
All customer database entries are
displayed
Selecting email address open default
mail client
Product.asp Page displays correctly
Clicking links loads appropriate page
in centre frame
ProductInsert.asp Page displays correctly
Data can be entered into appropriate
fields
Invalid data entered produces
appropriate error message
No data entered produces an
appropriate error message.
Data entered into database correctly
All product entries displayed after
Submit is selected.
Appendix C Forestry Management System
- 45 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
ProductUpdate.asp Page displays correctly
All product database entries are
displayed
Selected item details are pre-
populated in update form
New data can be entered into forms
Submitting changes updates database
Changes reflected on Product update
page.
ProductDel.asp Page displays correctly
All product database entries are
displayed
Selecting item and choosing delete
removes item from database.
Changes reflected in product list
ProductShow.asp Page displays correctly
All product database entries are
displayed
Appendix C Forestry Management System
- 46 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
Haulier.asp Page displays correctly
Clicking links loads appropriate page
in centre frame
HaulierInsert.asp Page displays correctly
Data can be entered into appropriate
fields
Invalid data entered produces an
appropriate error message
No data entered produces an
appropriate error message.
Data entered into database correctly
All haulier entries displayed after
Submit is selected.
HaulierUpdate.asp Page displays correctly
All hauler database entries are
displayed
Selected item details are pre-
populated in update form
New data can be entered into forms
Appendix C Forestry Management System
- 47 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
HaulierUpdate.asp Submitting changes updates database
Changes reflected on haulier update
page.
HaulierDel.asp Page displays correctly
All hauler database entries are
displayed
Selecting item and choosing delete
removes item from database.
Changes reflected in hauler list
HaulierShow.asp Page displays correctly
All haulier database entries are
displayed
Order.asp Page displays correctly
Clicking links loads appropriate page
in centre frame
OrderInsert.asp Page displays correctly
Data can be entered into appropriate
fields
Drop down lists populated with
appropriate details.
Appendix C Forestry Management System
- 48 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
OrderInsert.asp Invalid data entered produces an
appropriate error message
No data entered produces an
appropriate error message.
Data entered into database correctly
All order entries displayed after
Submit is selected.
OrderUpdate.asp Page displays correctly
All order database entries are
displayed
Selected item details are pre-
populated in update form
Drop down lists populated with
appropriate details.
New data can be entered into forms
Submitting changes updates database
Changes reflected on order update
page.
Appendix C Forestry Management System
- 49 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
OrderDel.asp Page displays correctly
All order database entries are
displayed
Selecting item and choosing delete
removes item from database.
Changes reflected in order list
OrderShow.asp Page displays correctly
All order database entries are
displayed
Contract.asp Page displays correctly
Clicking links loads appropriate page
in centre frame
ContractType.asp Page displays correctly
Drop down menu offers Monthly –
Weekly option
Clicking Continue loads appropriate
form
ContractInsert.asp Page displays correctly
Data can be entered into appropriate
fields
Appendix C Forestry Management System
- 50 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
ContractInsert.asp Drop down lists populated with
appropriate details.
Invalid data entered produces an
appropriate error message
No data entered produces an
appropriate error message.
Data entered into database correctly
All contract entries displayed after
Submit is selected.
ContractInsertW.asp Page displays correctly
Data can be entered into appropriate
fields
Drop down lists populated with
appropriate details.
Invalid data entered produces an
appropriate error message
No data entered produces an
appropriate error message.
Data entered into database correctly
Appendix C Forestry Management System
- 51 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
All contract entries displayed after
Submit is selected.
ContractUpdate.asp Page displays correctly
All contract database entries are
displayed
Selected item details are pre-
populated in update form
Drop down lists populated with
appropriate details.
New data can be entered into forms
Submitting changes updates database
Changes reflected on contract update
page.
ContractDel.asp Page displays correctly
All contract database entries are
displayed
Selecting item and choosing delete
removes item from database.
Changes reflected in contract list
Appendix C Forestry Management System
- 52 -
Page Test Pass (9) / Fail (8) Corrections Required / Comments
ContractShow.asp Page displays correctly
All contract database entries are
displayed
ContractToday.asp Page displays correctly
Day and Date are correct
Contracts due on date are all
displayed
Contracts due on day are all displayed
All details are correct
OrderToday.asp Page displays correctly
Day and Date are correct
Orders due on date are all displayed
All details are correct
SearchForm.asp Page displays correctly
Drop down box populated with table
names
Search criteria shown with results
Search results are relevant and
accurate
Email facility available for Customer
and Haulier search results.
Appendix C Forestry Management System
- 53 -
Quick System TestsTest Pass (9) / Fail (8) Corrections Required / Comments
It should not be possible to create two customers
with the same name
It should not be possible to create two products with
the same name
It should not be possible to create two haulers with
the same name
No results found in search should not produce error
message.
This test was run through until all errors were eliminated.
Appendix C Forestry Management System
- 54 -
Appendix D – User Manual
FORESTRY MANAGEMENT SYSTEM
User Manual
Appendix D Forestry Management System
- 55 -
Contents1. Getting Started
1.1 Accessing the Forestry Management System 1.2 Navigating the System
2. Customer Information2.1 The Customer Information Page 2.2 Inserting a new Customer Profile 2.3 Deleting a Customer Profile 2.4 Updating a Customer Profile 2.5 Viewing all Customer Profiles
3. Product Information3.1 The Product Information Page 3.2 Inserting a new Product3.3 Deleting a Product Profile 3.4 Updating a Product Profile 3.5 Viewing all Product Profiles
4. Haulier Information4.1 The Haulier Information Page 4.2 Inserting a new Haulier Profile 4.3 Deleting a Haulier Profile 4.4 Updating a Haulier Profile 4.5 Viewing all Haulier Profiles
5. Order Information5.1 The Order Information Page 5.2 Adding a new Order5.3 Deleting an Order5.4 Updating an Order5.5 Viewing all Orders5.6 Viewing Today’s Orders
6. Contract Information6.1 The Contract Information Page 6.2 Adding a new Contract6.3 Deleting a Contract6.4 Updating a Contract6.5 Viewing all Contract6.6 Viewing Today’s Contract
7 . Sea rch7.1 Search Form
Page33
4 4 5 5 6
7 7 8 8 9
10 10 11 11 12
13 13 14 14 15 15
16 16 17 17 17 18
19
Appendix D Forestry Management System
- 56 -
1. Getting Started
1.1 Accessing the Forestry Management SystemThe Forestry Management System can be accessed through any computer which has Internet access by typing the following address in the URL path:
h ttp : //80.6.182 .66/forestry
n.b. Eventually it should only be accessible to the Iggesund Paperboard Forestry employees via the Iggesund Paperboard intranet, but at the moment it is running on a test machine, and is accessible from any PC with internet access.
The homepage looks like Fig 1.1
Fig 1.1
1.2 Navigating the SystemWhen the homepage loads you will see that the the Forestry Management System is broken down into three main section: the top title bar, the side menu, and the main page.
The top title bar (Fig 1.2) includes the Iggesund Logo, the page title and a link to the Search function. The Iggesund Logo and the page title both are hyperlinks which reload the homepage, giving a quick and easy way to return to the homepage regardless of location in the system.
The side menu bar is shown in Fig 1.3. The hyperlinks on the side bar give the user access to different areas of the Forestry Management System. When the mouse is rolled over one of the links (e.g Customer) the text will become underlined. Clicking on this link will then load a new section the Forestry Management System in the centre section of the main page.Both the side and top bars are always available, no matter the location in the system, so the different areas of the system can be accessed very quickly and easily.From the homepage it is possible to view Today’s Orders (see section 6.6) and Today’s Contract’s (see section 7.6).
Appendix D Forestry Management System
Fig 1.2
of
- 57 -
2. Customer Information
2.1 The Customer Information PageChoosing the Customer hyperlink on the side menu bar will load the Customer Information page in the main section of the system. This pages gives the user several different options. The layout of this page is shown in Fig 2.1. From this page it is possible to create a new customer profile, update customer profiles, delete customer details and also to view all the customer that the Forestry Manager has.
Fig 2.1
2.2 Adding a new customerAdding a new customer is very simple. To do this, click on the “Add a new customer to customer list” hyperlink and this will load the New Customer Form (Fig 2.2)
Fig 2.2The customer details then need to be entered into the form. The compulsory fields are
o Customer Nameo Address (first box only)o Town / Cityo Postcodeo Telephone Number
If these fields are not entered then customer details will not be added to the database when the Submit button is clicked. Also an error message asking for these fields to be filled will also be entered will be generated.
The second Address box and the email can be field in if required, however it is okay to leave these blank.
Appendix D Forestry Management System
- 58 -
If the customer name already exists in the database then another error message will be generated because duplicate customer names are not allowed. However, if everything is okay then the customer name should appear in the list of customers (Fig 2.3).
2.3 Deleting a Customer ProfileTo delete a customer profile, select the Customer link from the side menu bar and then choose the Delete a Customer Profile hyperlink from the Customer Information page. This will bring up a list of all Customer currently in the database (see Fig 2.4).
Fig 2.4
Select the customer whose details you wish to delete by selecting the radio button which is on the same
line as the customer’s details. Then click the Delete button. The page should reload however the customer’s details who you have just deleted will not be displayed.
WARNING!: Make sure you are certain you want to delete the selected customers details because once the details are deleted they cannot be recovered as they are permanently deleted from the database.
2.4 Updating a Customer ProfileTo update a customer profile, from the Customer Information page choose the link Update a Customer Profile. This will load a page with a list of all customer records as shown in Fig 2.5.Choose the customer details to update by selecting the radio button on the same row as the customer details, and then click the Update button. This will load another page which should pre-populate all the fields with the existing information for this customer. See Fig 2.6.
Fig 2.5
Appendix D Forestry Management System
Fig 2.3
- 59 -
Enter the appropriate details into the form, making sure to include all the compulsory fields (see section 2.2 for details). Then click on the Submit button to confirm the changes that you have made.
Fig 2.6
The updated Customer information will then be displayed in the Update Customer Page (Fig 2.7).
2.5 Viewing all Customer ProfilesTo view all customer profiles, simply click on the View All Customer Profiles link on the Customer Information page. This page will then display a list of all customer profiles.
If the customer has an email address this will appear as a hyperlink. Then when this link is selected it will open the users default email client, and create a new mail message with the customer email address in the mail’s address path.
Appendix D Forestry Management System
Fig 2.7
- 60 -
3. Product Information
3.1 The Product Information PageThe Product Information Page (Fig 3.1) is very similar to the Customer Information Page. It has four hyperlinks which allow new product details to be added to the product list and lets product details be updated. It also lets the user delete any products which are no longer produced, and view a list of all products.
Fig 3.1
3.2 Adding a new ProductTo add a new product to the product list simply click on the link “Add a new product to product list”. This brings up the New Product Form (Fig 3.2). The Product Name then needs to be entered into the form. A product description may also be added if required, however it is not compulsory. When the details are complete, pressing the Submit button should insert the new product details into the database. A list of all products should then be displayed, with the newly entered product in the list (Fig 3.3).
Fig 3.3
Appendix D Forestry Management System
- 61 -
3.3 Deleting a Product ProfileTo delete a product profile, select the Delete Product Details link from the Product Information page. This should open a page with a list of all the products currently being produced (Fig 3.4). To delete a product, select the radio button from the right hand side which corresponds to the product that needs to be deleted then click on the Delete button. The product details will be removed from the list of products.
WARNING!: Make sure you are certain you want to delete the selected product details because once the details are deleted they cannot be recovered as they are permanently deleted from the database.
3.4 Updating a Product ProfileTo update a product profile simply click on the Update product list information link on Product Information page. This will bring up a list of products (Fig 3.5), and by selecting an appropriate radio button and choosing the Update button, an Update Product Form should appear (Fig 3.6). The new product name, or product description can then be entered. To confirm the updates the Submit button needs to be pressed.
Fig 3.6
Some error messages may be generated if the product name is changed to a value that already exists in the database, or if the product name field is left blank when the Submit button is pressed.
3.5 Viewing all Product Profiles
Appendix D Forestry Management System
Fig 3.4
- 62 -
By clicking on the link View All Products it is possible to view a list of all the products that are currently in the database. The page that loads will contain all the information about the product including the product description. See Fig 3.7.
Fig 3.7
Appendix D Forestry Management System
- 63 -
4. Haulier Information
4.1 The Haulier Information PageIf the Haulier link on the side menu bar is chosen, then the Haulier Information Page is loaded in the main centre section of the webpage. This page gives access to all the insert, update, and delete facilities regarding Haulier Information. This page can be seen in Fig 4.1 and is very similar in structure to the other information pages.
Fig 4.1
4.2 Inserting a new Haulier ProfileTo insert a new haulier profile, select the “Add a new Haulier to haulier list” hyperlink. This will bring up the New Haulier Form (Fig 4.2) in the main section of the system.
The Haulier details need to be entered into the form. The compulsory fields areo Haulier Nameo Address (first box only)o Town / Cityo Postcodeo Telephone Number
If these fields are not entered then haulier details will not be added to the database when the Submit button is clicked. Also an error message asking for these fields to be filled will also be entered will be generated.
The second Address box and the email can be field in if required, however it is okay to leave these blank. If the haulier name already exists in the database then another error message will be generated because duplicate haulier names are not allowed. However, if everything is okay then the haulier name should appear in the list of hauliers
4.3 Deleting a Haulier Profile
Appendix D Forestry Management System
- 64 -
Choose Delete a haulier profile from the Haulier Information page to delete a haulier. This will bring up a page with a list of all the hauliers in the database (Fig 4.3). Choosing the radio button which corresponds to the haulier that needs to be removed from the database, and then clicking the delete button will delete the haulier details.
Fig 4.3
WARNING!: Make sure you are certain you want to delete the selected haulier details because once the details are deleted they cannot be recovered as they are permanently deleted from the database.
4.4 Updating a Haulier ProfileTo update a haulier profile, from the Haulier Information page choose the link Update a Haulier Profile. This will load a page with a list of all haulier records as shown in Fig 4.4. Choose the haulier details to update by selecting the radio button on the same row as the haulier details, and then click the Update button. This will load another page which should pre-populate all the fields with the existing information for this haulier. See Fig 4.5.
Fig 4.4
Enter the appropriate details into the form, making sure to include all the compulsory fields (see section 4.2 for
details). Then click on the Submit button to confirm the changes that you have made.The updated haulier information will then be displayed in the Update Haulier Page (Fig 4.6).
Appendix D Forestry Management System
- 65 -
Fig 4.6
4.5 Viewing all Haulier ProfilesTo view all haulier profiles, simply click on the View All Haulier Profiles link on the Haulier Information page. This page will then display a list of all haulier profiles.
If the haulier has an email address this will appear as a hyperlink. If this link click it will open the users default email client, and create a new mail message with the haulier email address in the mail’s address path.
Appendix D Forestry Management System
- 66 -
5. Order Information
5.1 Order Information PageThe Order Information page can be accessed by clicking on the Order hyperlink on the side menu bar. From this page, new orders can be added, orders can be updated and orders can be deleted. It is also possible to all current orders and also the orders due today. The Order Information page is shown in Fig 5.1
5.2 Adding a new OrderTo add a new order click on the hyperlink Add a new order to order list from the Order Information page. This will bring up the New Order Form. This page is shown in Fig 5.2.
Fig 5.2
From the drop down boxes, select a Customer Name and a Product Name. These drop down lists will contain a list of current customers and products. Then enter an Order Quantity. The Delivery Date then needs to be specified, by choosing the day, month and year from the drop down box. By default it is not possible to enter a delivery date that has already occurred. Then choose a haulier from the drop down box. This drop down box will list all of the hauliers currently in the system. If any of these boxes are left at their default values, e.g. Select a haulier, then the order data will not be submitted into the database and an error message will be generated. However, if the form has been filled in correctly then the data will be added into the database and the new order will be shown on the screen (Fig 5.3)
Appendix D Forestry Management System
- 67 -
Fig 5.3
5.3 Deleting an OrderAn order is deleted in the same way as customer, product or haulier profiles are deleted. From the Order Information page click on the link Delete Order details. This brings up a list of all Order records. Simply select the appropriate radio button and click on the Delete button. See Fig 5.4.
Fig 5.4
WARNING!: Make sure you are certain you want to delete the selected order details because once the details are deleted they cannot be recovered as they are permanently deleted from the database.
5.4 Updating an OrderTo update an Order simply click on the Update order information link. This will bring up a list of all the current orders. Select the order that needs updating by clicking the appropriate radio button and then click on Update. This will load the Update Order Form (Fig 5.5).
All the fields should be pre-populated with the current order details. The customer name cannot be altered but all other details can be amended and then updated by selecting the Submit button.
Appendix D Forestry Management System
- 68 -
5.5 Viewing All OrdersTo view all orders, click on the View All Orders link. This will bring up a list of all the orders currently in the database. This will include details about the Customer, Product, Delivery date, Quantity and Haulier.
5.6 Viewing Today’s OrdersClicking on the View Today’s Orders link from the Order Information page, or from the Orders Due Today link from the system homepage opens the Today’s Orders page (Fig 5.6). This page show the current date at the top of the page, and then a list of all Orders due today. Like the View All Orders page it includes all the relevant information for the orders that are due today.
This page also allows you to select another delivery date using the drop down boxes at the bottom of the page. Clicking on view should then bring up the delivery details for the selected date.
Appendix D Forestry Management System
- 69 -
6. Contract Information
6.1 The Contract Information PageThe Contract Information page (Fig 6.1) has links to all the details regarding contracts. To get to this page click on the Contract link on the side menu bar. From this page it is possible to add new contracts, delete and update contracts as well as viewing all contracts. It is also possible to view the contracts that are due today.
6.2 Adding a new ContractTo add a new contract click on the Add a new contract to contract list link. As there are two different types of contract – Weekly and Monthly – the type of contact needs to be chosen
before the details can be entered. See Fig 6.2.
Select the contract type from the drop down list, and then click Continue to proceed.The type of contract chosen will affect the layout of the New Contract Form.
The different between the Weekly and Monthly contract is illustrated in Fig 6.3.
Fig 6.3
From the drop down box select the appropriate customer and product details. These drop down boxes contain all the customers and products that are currently in the database. Enter the quantity in the Order Quantity field, then select the Delivery Day of Month, or Delivery Day depending on the type of contract chosen. A haulier can also be selected from the Haulier drop down box.
If any of these fields are left at their default value, or not filled in then error messages will be generated and changes will need to be made to the order details. When all fields
Fig 6.2
Appendix D Forestry Management System
- 70 -
are filled in correctly clicking on the Submit button will add the contract details to the database. A list of all contracts should then be displayed.
6.3 Deleting a ContractTo delete an terminated Contract, or completed Contract, click on the Delete contract details link on the Contract Information page. This will display a list of all the contracts. Using the radio buttons select the contract that is no longer required, and then choose the Delete button. This will delete the contract, and it will no longer be displayed in the contract list.
WARNING!: Make sure you are certain you want to delete the selected contract details because once the details are deleted they cannot be recovered as they are permanently deleted from the database.
6.4 Updating a ContractTo update a contract from the Contract Information page select the Update contract information link. Like every other Update page this will generate a list of current contracts. By selecting a contract using the radio buttons and then clicking on the Update button the Update Form is brought up which contains fields pre-populated with the existing contract information. See Fig 6.4.
Fig 6.4The contract details can easily be amended using the drop down boxes. It is also possible to change the contract type from weekly to monthly or vice versa, by selecting either the Delivery Date, or Delivery Day fields. However, it is not possible to submit a contract that has the delivery date and the delivery day field populated.
Appendix D Forestry Management System
- 71 -
6.5 Viewing all ContractsTo view all contracts, click on the View All Contracts link. This will bring up a list of all the orders currently in the database. This will include details about the Customer, Product, Delivery date or day depending on contract type, Quantity and Haulier.
6.6 Viewing Today’s ContractClicking on the View Today’s Contract link opens the Today’s Contract page (Fig 5.6). This can also be accessed from the Homepage by clicking on the Contracts Due Today link.
This page show the current date at the top of the page, and then a list of all Contracts due today, dividing them into weekly and monthly contracts. Like the View All Contracts page it includes all the relevant information for the contracts that are due today.
Fig 6.5
This page also allows you to select another delivery date for a monthly contract, or delivery day for a weekly contract using the drop down boxes at the bottom of the page. Clicking on view should then bring up the delivery details for the selected date.
Appendix D Forestry Management System
- 72 -
7. Search7.1 Search FormThe search function is accessible from the top title bar. Clicking on the Search link opens the Search page.
Fig 7.1It possible to search on the customer, product, haulier, contract or order fields. The search criteria is specific to the search field. For example, a search on the customer field has to be for the Customer Name (or at least a part of it) otherwise it will not return any values. These criteria are listed below:
o Customer - enter customer name as keywordo Product - enter product name as keywordo Haulier - enter haulier name as keywordo Contract - searches by contract numbero Orders - searches by order number
If the search is successful, then the results are displayed. For the contract, order, product and haulier search fields it is possible to update any of the returned details by selecting the appropriate radio button, and then clicking on the Update field (Fig 7.2).
The customer field offers further option, as by clicking on the Customer Name will give show all the contracts for that customer, if there are any. If there are none it will display the message shown in Fig 7.3.
Fig 7.3Clicking on the Order details link on the Contract Details Page should display all Order details for this customer. See Fig 7.4
Appendix D Forestry Management System
- 73 -
Appendix D Forestry Management System
- 74 -
Appendix E – Testing and Evaluation
E-1 TestingAs part of the testing and evaluation process the system was tested by several users with differing
abilities. This section includes the feedback received from the users, including the comments made by
the forestry manager – the intended end user.
User 1User 1 has modest computer skills. Although proficient using Microsoft Word, has little experience
using the internet and is unfamiliar with web based forms.
User 2User 2 is an undergraduate in Mechanical Engineering, studying at the University of Leeds. User 2 has
good computer skills, is proficient in Microsoft Word, Excel, has some knowledge of Microsoft Access,
and is a competent Matlab programmer. Furthermore, User 2 is extremely familiar with web forms and
uses the Internet on a daily basis.
After using the system for about 10 minutes, each user was asked to perform a task to determine system
usability. This task was to add a new customer to the database. The results of this test can be seen in
Appendix E-2. The users were then asked for their comments on various parts of the system
Section User 1 comments User 2 comments
Homepage “The homepage is clear and
uncluttered and looks professional.
I wasn ’t sure exactly what I was
supposed to do to get to diferent
pages, but when I moved the mouse
over the options on the left hand
side of the screen they were
underlined so I knew to click on
them ”
“Yeah, it looks good. It’s
surprisingly professional. It
seems to be laid out pretty well
too. The links seem pretty
obvious – Customer takes you to
stuf about customers, Product
takes you to stuf about
products…that makes sense. I
like the way the title and logo
takes you back to the homepage”
Adding a new
customer
“It was quite easy to add a new
customer. After looking at the user
manual I just clicked on Customer,
“I had no problems adding a
customer to the database. I just
clicked on the links until I got to
Appendix E Forestry Management System
- 75 -
and then add a new customer, and
typed my details into the boxes and
pressed the submit button. Then
they appeared in the list. It couldn’t
have been much easier really ”.
the insert new customer form. It ’s
just like when you order stuf
from the internet really. ”
Search Form “The search function confused me a
bit to start with. I wasn’t sure what
I was supposed to search by, but
once I realised that you had to
choose an option from the list it was
quite easy to search ”.
“The search function wasn’t as
obvious to use as the rest of the
system, but it seems to work quite
well. ”
Overall opinion “It was easy to use even though I
wasn’t sure what to do. I had to
read the user manual to start with,
but once I had spent some time
using the system I got used to it ”.
“I thought that the system was
very intuitive to use. I didn’t
really need to look at the user
manual, as things seemed to be
where they should be. It was
good that the pages weren’t
cluttered with pictures, and the
text was easy to read. I liked the
fact that you could always get to
where you wanted to go as the
side and top bars never
changed ”.
Forestry Manager’s Comments“This system seems to ofer nearly everything that I would like it to. It lets me add new orders and
contracts, and ofers all of the functions that I asked for…...the layout means that you can get to every
section even if you’re not at the homepage. This is good…..I can now see how a system like this could be
useful. It would certainly be faster once I got used to using it. There are a few minor things I would
change, but on the whole it seems to be a good website”
Appendix E Forestry Management System
- 76 -
E-2 Evaluation
ReliabilityData input was tested by the developer and by two other independent users. Throughout the testing
process all data input was successful. Furthermore, all data retrieval was successful.
SpeedA test machine was used to check the speed of the database. This machine connected to the internet a 56k
modem. This is slower than the connection the Forestry Manager uses so it would be reasonable to
assume that if the connection speed is acceptable at 56k it should be satisfactory over an ISDN
connection. Although the homepage took a few seconds to load, the access speed to the database was not
noticeably slower than on the web server. As the database increases in size this performance may
diminish slightly but nevertheless the performance was excellent.
IntegrityThe constraints implemented in the user interface to prevent integrity constraints being violated worked
successfully. Throughout the testing process, database integrity was not violated at anytime.
EfficiencyTo determine how efficient the system was the time taken to insert a new customer. This test was taken
by the developer, and two users (mentioned in Appendix E-1) who were not familiar with the system.
The times taken are given below.
Developer User 1 User 2
38 seconds 2 mins 33 seconds 1 min 04 seconds
After discussing these results with the forestry manager he confirmed that this was much faster than his
current system. It usually takes at least 3 minutes to locate the appropriate form and fill in the details.
UsabilityAlthough it is difficult to determine the usability of the system, remarks from people who helped in the
testing process were constructive. Indeed, one user observed “that the system was very intuitive to use. I
didn’t really need to look at the user manual, as things seemed to be where they should be ”. It would
certainly be interesting how the system would hold up to full time usage.
Appendix E Forestry Management System
- 77 -
MaintainabilityThis system should need minimal maintenance. However, should maintenance be needed the Iggesund
Paperboard I.T. staff are highly trained in SQL Server and Active Server Pages, and should be able to
look after this system without any difficult. Certainly, it is far simpler than any other system they
maintain.
Appendix E Forestry Management System
- 78 -
Appendix F – Diagrams & Tables
F-1 Website Architecture
Appendix F Forestry Management System
- 79 -
F-2 Database Diagram
F-3 Database Table DesignTable Name Column Name Data Type Allow Nulls
Customer Customer_id (PK) bigint No
Customer_Name char No
StreetAddress1 char No
StreetAddress2 char Yes
Town_City char No
Postcode char No
Email char Yes
Haulier Haulier_id (PK) bigint No
Haulier_Name char No
StreetAddress1 char No
StreetAddress2 char Yes
Town_City char No
Postcode char No
Email char Yes
Contract ContractNo (PK) bigint No
Customer_id bigint No
Product_id bigint No
Haulier_id bigint No
Appendix F Forestry Management System
- 80 -
Quantity bigint No
Delivery_Day char Yes
Delivery_Date char Yes
Order OrderNo (PK) bigint No
Customer_id bigint No
Product_id bigint No
Haulier_id bigint No
Quantity bigint No
Delivery_Date bigint No
Product Product_id (PK) bigint No
Product_Name char No
Product_Description char Yes
Appendix F Forestry Management System
- 81 -