Summary and Review Of the Suitability Of Microsoft Access 2003 as A Software Prototyping Tool for A...

83
Summary and Review Of the Summary and Review Of the Suitability Of Microsoft Access Suitability Of Microsoft Access 2003 as A Software Prototyping 2003 as A Software Prototyping Tool for A Small IT Department. Tool for A Small IT Department. Pat Levi Nottingham, UK, Europe [email protected] Samuel Sambasivam, Ph.D. Azusa Pacific University, Azusa, CA, USA [email protected]

Transcript of Summary and Review Of the Suitability Of Microsoft Access 2003 as A Software Prototyping Tool for A...

Summary and Review Of the Suitability Summary and Review Of the Suitability Of Microsoft Access 2003 as A Of Microsoft Access 2003 as A

Software Prototyping Tool for A Small Software Prototyping Tool for A Small IT Department.IT Department.

Pat LeviNottingham, UK,

[email protected]

Samuel Sambasivam, Ph.D.Azusa Pacific University,

Azusa, CA, [email protected]

Project BeneficiariesProject Beneficiaries The project was carried out for the project sponsor, Dr. Samuel The project was carried out for the project sponsor, Dr. Samuel

Sambasivam.Sambasivam.

Dr. Samuel Sambasivam is an Instructor of Information Dr. Samuel Sambasivam is an Instructor of Information Technology in Laureate Online Education and the Professor and Technology in Laureate Online Education and the Professor and Chairman of Computer Science in the Department of Computer Chairman of Computer Science in the Department of Computer Science, at Azusa Pacific University, Azusa, USA.Science, at Azusa Pacific University, Azusa, USA.

ObjectivesObjectives Evaluate a sample of commercial software solutions and to design Evaluate a sample of commercial software solutions and to design

and implement a Access 2003 software prototype in order to and implement a Access 2003 software prototype in order to recommend a potential solution to improve work planning, help recommend a potential solution to improve work planning, help desk support, and the recording of software changes in a small IT desk support, and the recording of software changes in a small IT Department with up to 5 staff.Department with up to 5 staff.

Review the suitability of Access 2003 as a software prototyping Review the suitability of Access 2003 as a software prototyping tool based on the experience gained during the project.tool based on the experience gained during the project.

Problem ScenarioProblem Scenario The problem domain was set in a small IT Department within a site The problem domain was set in a small IT Department within a site

in a UK company called Sogefi Filtration Ltd. in a UK company called Sogefi Filtration Ltd. Each member of the IT team could receive work requests in an Each member of the IT team could receive work requests in an

informal help desk environment.informal help desk environment. The help desk supported customers that were internal to the UK The help desk supported customers that were internal to the UK

company.company. Without a suitable work planning and help desk solution IT staff Without a suitable work planning and help desk solution IT staff

could give poor service to users or fail to work on tasks based on could give poor service to users or fail to work on tasks based on the importance to the business.the importance to the business.

New work requests from users could easily be forgotten or lost if New work requests from users could easily be forgotten or lost if they were not sensibly recorded at the time of being requested.they were not sensibly recorded at the time of being requested.

Previously solved problems could reoccur, if previous solutions Previously solved problems could reoccur, if previous solutions could be identified the help desk could be more efficient.could be identified the help desk could be more efficient.

Helps desk work and scheduled IT work could result in the need to Helps desk work and scheduled IT work could result in the need to implement new software or make changes to existing software, for implement new software or make changes to existing software, for change control purposes it would be advantageous to have a change control purposes it would be advantageous to have a record of implemented software.record of implemented software.

Approach TakenApproach Taken Learn how to use Access 2003.Learn how to use Access 2003. Discuss the requirements with the project sponsor. Discuss the requirements with the project sponsor. The requirements to include in the software prototype were The requirements to include in the software prototype were

agreed with the project sponsor in a formal requirements agreed with the project sponsor in a formal requirements specification document.specification document.

Perform a literature review of topics relevant to the project Perform a literature review of topics relevant to the project including a review of potential commercial solutions.including a review of potential commercial solutions.

Propose a solution.Propose a solution. The proposed solution was to use Access 2003 to create an The proposed solution was to use Access 2003 to create an

evolutionary software prototype that aimed to satisfy the most evolutionary software prototype that aimed to satisfy the most important and best understood requirements. It was initially important and best understood requirements. It was initially planned to create the software prototype in Access 2003 without planned to create the software prototype in Access 2003 without writing any VBA code, later in the project this strategy had to be writing any VBA code, later in the project this strategy had to be changed.changed.

After the evolutionary software prototype had been built the After the evolutionary software prototype had been built the suitability of using Access 2003 as a software prototyping tool was suitability of using Access 2003 as a software prototyping tool was reviewed based on the experience gained during the project.reviewed based on the experience gained during the project.

Summary Of Functional Requirements (1)Summary Of Functional Requirements (1)Req.Req.

IDIDRequirementRequirementDescription Description

Include InInclude InSoftwareSoftwarePrototypePrototypeY/NY/N

FR001FR001 The software product should allow users to create, update and delete user The software product should allow users to create, update and delete user work requests. work requests.

YY

FR002FR002 The software product should validate critical data entered by users by The software product should validate critical data entered by users by applying suitable attribute validation rules where validation can be applying suitable attribute validation rules where validation can be sensibly applied. sensibly applied.

YY

FR003FR003 The software product should prevent data redundancy or multiple The software product should prevent data redundancy or multiple occurrences of the same data. This functional requirement must be occurrences of the same data. This functional requirement must be satisfied by using a normalised relational database structure. satisfied by using a normalised relational database structure.

YY

FR004FR004 The software product should provide a means to update the most current The software product should provide a means to update the most current status for a user work request. The status of a user work request can be status for a user work request. The status of a user work request can be open, rejected, or closed. open, rejected, or closed.

YY

FR005FR005 The product should be able to report open jobs (open user work requests) The product should be able to report open jobs (open user work requests) sorted by the person (computer specialist) that each job (user work sorted by the person (computer specialist) that each job (user work request) is allocated to. request) is allocated to.

YY

Summary Of Functional Requirements (2)Summary Of Functional Requirements (2)Req.Req.

IDIDRequirementRequirementDescription Description

Include InInclude InSoftwareSoftwarePrototypePrototypeY/NY/N

FR006FR006 The product should be able to report completed jobs (closed user work The product should be able to report completed jobs (closed user work requests) sorted by the work request site, work request department, work requests) sorted by the work request site, work request department, work request user (the employee who requested the work), and work request request user (the employee who requested the work), and work request completion date within a date range that is specified when the report is completion date within a date range that is specified when the report is run.run.

YY

FR007FR007 The product should record user work requests.The product should record user work requests. YY

FR008FR008 The product should record (when required) implementation details to The product should record (when required) implementation details to satisfy software change control requirements.satisfy software change control requirements.

YY

FR009FR009 Subject to the time constraints imposed on the project it would be useful Subject to the time constraints imposed on the project it would be useful for the product to have a search facility to search previous user work for the product to have a search facility to search previous user work requests to see if a particular problem has occurred before. A more requests to see if a particular problem has occurred before. A more detailed understanding of the required search facility is required before detailed understanding of the required search facility is required before this requirement can be satisfied.this requirement can be satisfied.

NN

Summary Of Non-functional Requirements Summary Of Non-functional Requirements (1)(1)

Req.Req.

IDIDRequirementRequirementDescription Description

Include InInclude InSoftwareSoftwarePrototypePrototypeY/NY/N

NFR001NFR001 The software product should be designed to be suitable for members of a The software product should be designed to be suitable for members of a small IT department that consists of 5 users or less.small IT department that consists of 5 users or less.

YY

NFR002NFR002 The software product must have the capability of being used The software product must have the capability of being used concurrently by a maximum of 5 users through shared network access. concurrently by a maximum of 5 users through shared network access. The software prototype was not expected to be able to demonstrate this The software prototype was not expected to be able to demonstrate this capability as it was planned to be built as a stand alone solution due to capability as it was planned to be built as a stand alone solution due to physical resource constraintsphysical resource constraints..

NN

NFR003NFR003 Ideally the software product should have the future possibility of being Ideally the software product should have the future possibility of being expanded to handle more than 5 users. expanded to handle more than 5 users.

NN

NFR004NFR004 The system must be responsive; aThe system must be responsive; a typical user work request must be able typical user work request must be able to be recorded in the database in less than 15 minutes.to be recorded in the database in less than 15 minutes.

YY

Summary Of Non-functional Requirements Summary Of Non-functional Requirements (2)(2)

Req.Req.

IDIDRequirementRequirementDescription Description

Include InInclude InSoftwareSoftwarePrototypePrototypeY/NY/N

NFR005NFR005 The system must be reliable; ideally system downtime should be less The system must be reliable; ideally system downtime should be less than 1% per year. The evolutionary software prototype should be able than 1% per year. The evolutionary software prototype should be able to demonstrate reliability over a short period of use; however, there is to demonstrate reliability over a short period of use; however, there is not sufficient time within the project to monitor system downtime over not sufficient time within the project to monitor system downtime over the duration of a year.the duration of a year.

NN

NFR006NFR006 Due to budget restrictions the software prototype must be built using Due to budget restrictions the software prototype must be built using MS-Access 2003 on a stand alone Windows based PC.MS-Access 2003 on a stand alone Windows based PC.

YY

NFR007NFR007 Brief considerations should be made for any legal requirements that may Brief considerations should be made for any legal requirements that may be relevant to the project (such as the UK Data Protection Act).be relevant to the project (such as the UK Data Protection Act).

YY

NFR008NFR008 The system must be ethically acceptable to the users.The system must be ethically acceptable to the users. YY

Help Desk (1)Help Desk (1)

Typically two thirds of help desks use help desk software Typically two thirds of help desks use help desk software (Marcella R. & Middleton I. 1996, p.7).(Marcella R. & Middleton I. 1996, p.7).

The use of knowledge bases or artificial intelligence within help The use of knowledge bases or artificial intelligence within help desks is still not common (Marcella R. & Middleton I. 1996, desks is still not common (Marcella R. & Middleton I. 1996, p.7).p.7).

The results of a British Library Research and Development The results of a British Library Research and Development Department funded survey indicated that less than half of help Department funded survey indicated that less than half of help desks are manned by dedicated full time help desk staff, most desks are manned by dedicated full time help desk staff, most help desk staff provide help desk support whilst still carrying help desk staff provide help desk support whilst still carrying out their other duties (Marcella R. & Middleton I. 1996, p.7). out their other duties (Marcella R. & Middleton I. 1996, p.7).

It was decided that the most cost effective solution was to man It was decided that the most cost effective solution was to man the help desk by staff who provided help desk support whilst the help desk by staff who provided help desk support whilst still carrying out other duties.still carrying out other duties.

There are two types of help desks depending on whether the There are two types of help desks depending on whether the clients of the help desk are internal or external to the clients of the help desk are internal or external to the organization (Heckman 1998, cited by Gonzalez et al. 2005 organization (Heckman 1998, cited by Gonzalez et al. 2005 and Thomas 1996, cited by Gonzalez et al. 2005).and Thomas 1996, cited by Gonzalez et al. 2005).

Help Desk (2)Help Desk (2) An internal help desk provides an important service to the An internal help desk provides an important service to the

organisation, it has been observed that an internal help desk organisation, it has been observed that an internal help desk can have a great impact on the productivity of an organisation can have a great impact on the productivity of an organisation since the help desk is resolving problems that may stop, delay, since the help desk is resolving problems that may stop, delay, or otherwise impact the completion of daily business activities or otherwise impact the completion of daily business activities (Held 1992, cited by Gonzalez et al. 2005).(Held 1992, cited by Gonzalez et al. 2005).

The help desk for the project only had clients that were The help desk for the project only had clients that were internal to the organisation therefore it was decided that the internal to the organisation therefore it was decided that the best solution was to continue using an internal help desk. best solution was to continue using an internal help desk.

The primary function of a help desk is problem solving of both The primary function of a help desk is problem solving of both new and previously solved problems. Solving previously solved new and previously solved problems. Solving previously solved problems is a form of knowledge acquisition (Gonzalez et al. problems is a form of knowledge acquisition (Gonzalez et al. 2005, p.393). Solving problems that have not been previously 2005, p.393). Solving problems that have not been previously solved is known as knowledge creation (Gray 2001, cited by solved is known as knowledge creation (Gray 2001, cited by Gonzalez et al. 2005).Gonzalez et al. 2005).

Help Desk (3)Help Desk (3) It may be beneficial to deconstruct the process of users making It may be beneficial to deconstruct the process of users making

requests and receiving support into four phases: requests and receiving support into four phases: Phase A is the greeting phase, during this phase someone or Phase A is the greeting phase, during this phase someone or

some thing asks the user “How may I help you?”. Typically some thing asks the user “How may I help you?”. Typically users may make a user request by telephone, by walk-up help users may make a user request by telephone, by walk-up help desk or by electronic submission by email (Limoncelli, 1999, desk or by electronic submission by email (Limoncelli, 1999, p.36).p.36).

Phase B is the phase in which the user request is classified Phase B is the phase in which the user request is classified according to the type of request (such as a hardware printing according to the type of request (such as a hardware printing problem) and a suitably skilled person is assigned the task of problem) and a suitably skilled person is assigned the task of resolving the user request, afterwards the request is recorded resolving the user request, afterwards the request is recorded and if the user request is to report a problem the problem and if the user request is to report a problem the problem symptoms are verified to see if the problem is repeatable symptoms are verified to see if the problem is repeatable (Limoncelli, 1999, pp.37-38).(Limoncelli, 1999, pp.37-38).

Phase C is the phase in which a solution to the user request is Phase C is the phase in which a solution to the user request is identified, planned and actioned (Limoncelli, 1999, p.38). identified, planned and actioned (Limoncelli, 1999, p.38).

Phase D is the verification phase, during this phase the user Phase D is the verification phase, during this phase the user verifies that the request has been resolved (Limoncelli, 1999, verifies that the request has been resolved (Limoncelli, 1999, p.40). p.40).

The software prototype does have the capability of supporting The software prototype does have the capability of supporting the above four phases. the above four phases.

Human Computer Interaction (1)Human Computer Interaction (1) Human computer interaction can be described as the study of Human computer interaction can be described as the study of

how people interact with computers and the extent that how people interact with computers and the extent that computers are or are not developed for successful interaction computers are or are not developed for successful interaction with humans (Techtarget, 2005).with humans (Techtarget, 2005).

Human computer interaction involves the use of a human Human computer interaction involves the use of a human computer interface, a human computer interface can be computer interface, a human computer interface can be described as a software sub-system that mediates between the described as a software sub-system that mediates between the user and the program that transforms the computer into a tool user and the program that transforms the computer into a tool for a specific application (Neelamkavil, F. & Mullarney, O. 1991, for a specific application (Neelamkavil, F. & Mullarney, O. 1991, p.37). p.37).

Human computer interaction typically includes consideration Human computer interaction typically includes consideration for how users form mental models about their interaction for how users form mental models about their interaction experiences, users often have different ways of learning and experiences, users often have different ways of learning and keeping knowledge and so individual users may have different keeping knowledge and so individual users may have different cognitive styles (for example individual users may be classified cognitive styles (for example individual users may be classified as either left-brained or right-brained) (Techtarget, 2005).as either left-brained or right-brained) (Techtarget, 2005).

Human Computer Interaction (2)Human Computer Interaction (2) Human computer interaction should include the impact of Human computer interaction should include the impact of

cultural and national differences (Techtarget, 2005).cultural and national differences (Techtarget, 2005).

Human computer interaction requirements should also be Human computer interaction requirements should also be considered when designing a software prototype as good user considered when designing a software prototype as good user interface design is critical to the success of a system as a interface design is critical to the success of a system as a poorly designed interface may cause an otherwise good poorly designed interface may cause an otherwise good system to be rejected by the users of the system (Sommerville, system to be rejected by the users of the system (Sommerville, 2001, p.328).2001, p.328).

According to Neelamkavil and Mullarney a human computer According to Neelamkavil and Mullarney a human computer interface encompasses the aspects of a computer system that interface encompasses the aspects of a computer system that the user directly experiences therefore the performance of a the user directly experiences therefore the performance of a human computer interface is a critical factor in the success or human computer interface is a critical factor in the success or failure of application software (Neelamkavil, F. & Mullarney, O. failure of application software (Neelamkavil, F. & Mullarney, O. 1991, p.37). 1991, p.37).

Human Computer Interaction (3)Human Computer Interaction (3) Human characteristics need to be taken into account when Human characteristics need to be taken into account when

designing user interfaces for example people have limited designing user interfaces for example people have limited short term memory and they normally make mistakes when short term memory and they normally make mistakes when using a system (especially when stressed or trying to handle using a system (especially when stressed or trying to handle too much information) (Sommerville, 2001, p.330).too much information) (Sommerville, 2001, p.330).

General user interface design principles should include:General user interface design principles should include:

User familiarity with the terms and concepts of the interface.User familiarity with the terms and concepts of the interface. Consistency with how comparable operations are activated.Consistency with how comparable operations are activated. Minimal surprise in the behaviour of the system.Minimal surprise in the behaviour of the system. Recoverability mechanisms to recover from errors.Recoverability mechanisms to recover from errors. User guidance in terms of meaningful feedback to allow users to User guidance in terms of meaningful feedback to allow users to

recover from errors.recover from errors. User diversity to allow tailored interaction facilities for different User diversity to allow tailored interaction facilities for different

types of users (Sommerville, 2001, p.330). types of users (Sommerville, 2001, p.330).

Human Computer Interaction (4)Human Computer Interaction (4)

Metrics for the usability of a human computer interface might Metrics for the usability of a human computer interface might include:include:

Learnability (how long does it take a new user to be productive Learnability (how long does it take a new user to be productive with the interface)with the interface)

Speed of operation (is the interface speed of operation sufficient to Speed of operation (is the interface speed of operation sufficient to satisfy the user's working practice).satisfy the user's working practice).

Robustness (for example how tolerant is the interface of user Robustness (for example how tolerant is the interface of user error).error).

Recoverability (for example can the system recover from user Recoverability (for example can the system recover from user errors.errors.

Adaptability (is the interface adaptable or is it closely tied to a Adaptability (is the interface adaptable or is it closely tied to a single model of work) (Sommerville, 2001, p345).single model of work) (Sommerville, 2001, p345).

Human Computer Interaction (5)Human Computer Interaction (5) According to Schneiderman the principles of human computer According to Schneiderman the principles of human computer

interface design incorporate eight golden rules as follows:interface design incorporate eight golden rules as follows: Strive for consistency (for example keep terminology consistent, also Strive for consistency (for example keep terminology consistent, also

consistent sequences of actions should be required in similar consistent sequences of actions should be required in similar situations).situations).

Enable frequent users to use shortcuts (as users become more Enable frequent users to use shortcuts (as users become more familiar with an interface it is desirable to reduce the number of familiar with an interface it is desirable to reduce the number of interactions).interactions).

Offer informative feedback (for every user action there should be Offer informative feedback (for every user action there should be some informative feedback).some informative feedback).

Design dialog to yield closure (sequences of actions should be Design dialog to yield closure (sequences of actions should be designed with a beginning, middle, and end).designed with a beginning, middle, and end).

Offer simple error handling (offer simple mechanisms for handling Offer simple error handling (offer simple mechanisms for handling errors).errors).

Permit easy reversal of actions (allow the user to reverse actions).Permit easy reversal of actions (allow the user to reverse actions). Support internal locus of control (design the interface to make users Support internal locus of control (design the interface to make users

the initiators of actions rather than the responders).the initiators of actions rather than the responders). Reduce short-term memory load (limitations of human processing in Reduce short-term memory load (limitations of human processing in

short term memory should be considered when designing interfaces, short term memory should be considered when designing interfaces, for example short-term memory load can be reduced by keeping for example short-term memory load can be reduced by keeping displays simple and using pull down menu’s and icons) (San Jose displays simple and using pull down menu’s and icons) (San Jose State University, 2005).State University, 2005).

Human Computer Interaction (6)Human Computer Interaction (6) Another important factor to consider when designing or evaluating Another important factor to consider when designing or evaluating

user interfaces is the use of colour, general guidelines for the use user interfaces is the use of colour, general guidelines for the use of colour in user interfaces include: of colour in user interfaces include:

Limiting the number of colours used, for example no more than five Limiting the number of colours used, for example no more than five colours should be used in a window and no more than seven colours colours should be used in a window and no more than seven colours should be used in a system interface. should be used in a system interface.

Use colour to show a significant change in system status. Use colour to show a significant change in system status. Use colour coding to aid the task that users are trying to perform, for Use colour coding to aid the task that users are trying to perform, for

example if the user is looking for anomalies that have been identified by example if the user is looking for anomalies that have been identified by the system highlight the anomalies in a particular colour. the system highlight the anomalies in a particular colour.

Use colour coding in a consistent way, for example display all error Use colour coding in a consistent way, for example display all error messages in the same colour. messages in the same colour.

Be careful with colour pairings, for example the human eye can not Be careful with colour pairings, for example the human eye can not focus on red and blue simultaneously. focus on red and blue simultaneously.

Do not use colour to represent meaning, for example a vehicle driver Do not use colour to represent meaning, for example a vehicle driver usually interprets red as danger whilst a chemist usually interprets red usually interprets red as danger whilst a chemist usually interprets red as hot (Sommerville, 2001, p339). as hot (Sommerville, 2001, p339).

The evolutionary software prototype was designed with The evolutionary software prototype was designed with consideration for human computer interaction requirements as consideration for human computer interaction requirements as good user interface design was critical to the success of the good user interface design was critical to the success of the system.system.

Microsoft Access (1)Microsoft Access (1) Certain considerations needed to be made regarding the Certain considerations needed to be made regarding the

use of Microsoft Access 2003 and the potential impact use of Microsoft Access 2003 and the potential impact on the project: on the project:

A Microsoft Access desktop database has a file A Microsoft Access desktop database has a file extension of .mdb and is a fully functioning RDBMS extension of .mdb and is a fully functioning RDBMS (Relational Database Management System), a (Relational Database Management System), a Microsoft Access desktop database (identified by Microsoft Access desktop database (identified by the .mdb file extension) can be either a stand alone the .mdb file extension) can be either a stand alone RDBMS on a single PC or a shared multi-user client RDBMS on a single PC or a shared multi-user client server database when used on a network (Viescas, server database when used on a network (Viescas, 2003, p.6).2003, p.6).

Microsoft Access 2003 has the capability of creating a Microsoft Access 2003 has the capability of creating a

multi-user relational database, this satisfied an multi-user relational database, this satisfied an important project requirement.important project requirement.

Microsoft Access (2)Microsoft Access (2) Due to limited resources it was expected that the software Due to limited resources it was expected that the software

prototype would have to be implemented as a Microsoft prototype would have to be implemented as a Microsoft Access desktop database on a single PC (where both the Access desktop database on a single PC (where both the client and server exist in the same PC), however, providing client and server exist in the same PC), however, providing that the necessary resources were available the completed that the necessary resources were available the completed software prototype could be implemented as a multi-user software prototype could be implemented as a multi-user two-tier client server system on a network.two-tier client server system on a network.

A Microsoft Access desktop database can be used as a A Microsoft Access desktop database can be used as a multi-user two-tier client server system on a network multi-user two-tier client server system on a network by placing the database (.mdb file) on a Windows by placing the database (.mdb file) on a Windows network server (such as a server running Microsoft network server (such as a server running Microsoft Windows Server 2003) and allowing shared network Windows Server 2003) and allowing shared network access from clients connected to the network that are access from clients connected to the network that are running Microsoft Access. running Microsoft Access.

Microsoft Access (3)Microsoft Access (3) Enhanced performance and upgrade options for a multi-user two-Enhanced performance and upgrade options for a multi-user two-

tier client server Microsoft Access desktop database on a network tier client server Microsoft Access desktop database on a network include:include:

Converting to a Microsoft Access data-only desktop database Converting to a Microsoft Access data-only desktop database can increase performance by reducing network traffic (Viescas, can increase performance by reducing network traffic (Viescas, 2003, p.1204). 2003, p.1204).

Microsoft Access data-only desktop databases are able to Microsoft Access data-only desktop databases are able to reduce network traffic by only requiring the Microsoft Access reduce network traffic by only requiring the Microsoft Access tables to be accessed over the network, each client has a local tables to be accessed over the network, each client has a local copy of the application logic (Microsoft Access queries, forms, copy of the application logic (Microsoft Access queries, forms, reports, data access pages, macros, and modules) (Viescas, reports, data access pages, macros, and modules) (Viescas, 2003, p.1204). 2003, p.1204).

The Microsoft Access database splitter could be used to The Microsoft Access database splitter could be used to convert the software prototype from a Microsoft Access convert the software prototype from a Microsoft Access desktop database into Microsoft Access data-only desktop desktop database into Microsoft Access data-only desktop database (Viescas, 2003, p.1204). database (Viescas, 2003, p.1204).

Microsoft Access (4)Microsoft Access (4)

The Microsoft Access database upsizing wizard can be The Microsoft Access database upsizing wizard can be used to upsize a Microsoft Access desktop database used to upsize a Microsoft Access desktop database into an alternative two-tier client server solution that into an alternative two-tier client server solution that uses Microsoft SQL server. Reasons to upsize to a two-uses Microsoft SQL server. Reasons to upsize to a two-tier client server solution that uses Microsoft SQL server tier client server solution that uses Microsoft SQL server include:include:

The number of concurrent users needs to exceed 20 The number of concurrent users needs to exceed 20 users.users.

The database is rapidly growing in size and will soon The database is rapidly growing in size and will soon exceed 100 MB.exceed 100 MB.

Users are complaining about the performance of the Users are complaining about the performance of the database and the problems have not been able to be database and the problems have not been able to be resolved by making performance related modifications to resolved by making performance related modifications to the application design (Viescas, 2003, p.1135). the application design (Viescas, 2003, p.1135).

Microsoft Access (5)Microsoft Access (5) The initial size of the Microsoft Access database was The initial size of the Microsoft Access database was

not considered a problem for the project as the not considered a problem for the project as the maximum size of a single Microsoft Access 2003 maximum size of a single Microsoft Access 2003 database is 2GB (Viescas, 2003, p.137).database is 2GB (Viescas, 2003, p.137).

Microsoft Access database housekeeping Microsoft Access database housekeeping

considerations needed to be made to determine how considerations needed to be made to determine how to keep the database in good working order.to keep the database in good working order.

It was decided to set the Microsoft Access 2003 compact on It was decided to set the Microsoft Access 2003 compact on close utility to automatically compact and repair the database close utility to automatically compact and repair the database when closed, this activity keeps the database in good working when closed, this activity keeps the database in good working order and improves performance (Microsoft Help And Support, order and improves performance (Microsoft Help And Support,

2005a).2005a).

Microsoft Access (6)Microsoft Access (6) A multi-user Microsoft Access database needs to be configured A multi-user Microsoft Access database needs to be configured

correctly for the database to manage database record locking. correctly for the database to manage database record locking.

For record locking Microsoft Access 2003 allows pessimistic For record locking Microsoft Access 2003 allows pessimistic locking and optimistic locking.locking and optimistic locking.

Pessimistic locking locks a record for the full duration in which Pessimistic locking locks a record for the full duration in which

it is being edited whilst optimistic locking only locks the record it is being edited whilst optimistic locking only locks the record for the brief time that it is being changed (Online Training for the brief time that it is being changed (Online Training Solutions Inc, 2003, p.231).Solutions Inc, 2003, p.231).

It was decided that the safest option was to use pessimistic It was decided that the safest option was to use pessimistic

locking for the Access 2003 software prototype.locking for the Access 2003 software prototype.

Recording Software ChangesRecording Software Changes Having the ability to record software changes is a common part of Having the ability to record software changes is a common part of

a change management process.a change management process. During the lifetime of a system changes are to be expected as During the lifetime of a system changes are to be expected as

organisational needs and requirements change during the lifetime organisational needs and requirements change during the lifetime of a system (Sommerville, 2001, p.647). of a system (Sommerville, 2001, p.647).

Software Process Model (1)Software Process Model (1) A suitable software process model needed to be chosen for the project.A suitable software process model needed to be chosen for the project.

The waterfall model (also known as the software life cycle) consists of The waterfall model (also known as the software life cycle) consists of phases that cascade from one phase to another with the next phase not phases that cascade from one phase to another with the next phase not starting until the previous phase has finished (Sommerville, 2001, pp.44-starting until the previous phase has finished (Sommerville, 2001, pp.44-48).48).

The main stages of the waterfall method are:The main stages of the waterfall method are: Requirements analysis and definition. Requirements analysis and definition. System and software design.System and software design. Implementation and testing.Implementation and testing. Operation and maintenance (Sommerville, 2001, pp.44-48).Operation and maintenance (Sommerville, 2001, pp.44-48).

The partitioning into distinct stages requires commitments to be made in The partitioning into distinct stages requires commitments to be made in the early stage of the software process therefore the waterfall model does the early stage of the software process therefore the waterfall model does not respond well to changing requirements and so is best suited when the not respond well to changing requirements and so is best suited when the requirements are well understood (Sommerville, 2001, pp.44-48).requirements are well understood (Sommerville, 2001, pp.44-48).

Most of the requirements were well understood, and the requirements were Most of the requirements were well understood, and the requirements were not expected to change during the initial development of the solution (this not expected to change during the initial development of the solution (this suits the waterfall model).suits the waterfall model).

Software Process Model (2)Software Process Model (2) Evolutionary development involves developing an initial implementation Evolutionary development involves developing an initial implementation

from abstract specifications that is refined with input from the customer from abstract specifications that is refined with input from the customer into a system that satisfies the customer requirements (Sommerville, into a system that satisfies the customer requirements (Sommerville, 2001, pp.44-48).2001, pp.44-48).

The two types of evolutionary development are exploratory development The two types of evolutionary development are exploratory development

and throw-away prototyping (Sommerville, 2001, pp.44-48). and throw-away prototyping (Sommerville, 2001, pp.44-48). Exploratory development focuses on the parts of the system that are best Exploratory development focuses on the parts of the system that are best

understood and evolves by adding new features suggested by the understood and evolves by adding new features suggested by the customer, the overall objective is to deliver a final working system customer, the overall objective is to deliver a final working system (Sommerville, 2001, pp.44-48). . (Sommerville, 2001, pp.44-48). .

Throw-away prototyping aims to gain a better understanding of the Throw-away prototyping aims to gain a better understanding of the customer requirements in order to develop a better requirements definition customer requirements in order to develop a better requirements definition for the system (Sommerville, 2001, pp.44-48). for the system (Sommerville, 2001, pp.44-48).

A throw-away prototype concentrates on the customer requirements that A throw-away prototype concentrates on the customer requirements that are least understood. A throw-away prototype is designed to be discarded are least understood. A throw-away prototype is designed to be discarded after use and as such should not be used as a final working system after use and as such should not be used as a final working system (Sommerville, 2001, pp.44-48). (Sommerville, 2001, pp.44-48).

Software Process Model (3)Software Process Model (3) For small to medium systems (up to 500,000 lines of code) with a For small to medium systems (up to 500,000 lines of code) with a

fairly short lifetime the evolutionary approach is well suited fairly short lifetime the evolutionary approach is well suited (Sommerville, 2001, pp.44-48).(Sommerville, 2001, pp.44-48).

For large systems or systems with a long lifetime a hybrid process For large systems or systems with a long lifetime a hybrid process that incorporates the best features of the waterfall model and the that incorporates the best features of the waterfall model and the evolutionary development models is recommended. evolutionary development models is recommended. Parts of the system that are well understood could be specified and Parts of the system that are well understood could be specified and

developed using the waterfall model .developed using the waterfall model . Less understood parts of the system could be specified and developed Less understood parts of the system could be specified and developed

using exploratory development or by using a throw-away prototype to using exploratory development or by using a throw-away prototype to better understand the requirements after which the waterfall model better understand the requirements after which the waterfall model could be used) (Sommerville, 2001, pp.44-48).could be used) (Sommerville, 2001, pp.44-48).

The system was expected to be small in size with a reasonable The system was expected to be small in size with a reasonable lifetimelifetime. .

Software Process Model (4)Software Process Model (4) As the project had to be split into distinct stages that included As the project had to be split into distinct stages that included

activities such as producing a project specification, producing a activities such as producing a project specification, producing a project design, developing and implementing a software project design, developing and implementing a software prototype, system evaluation and testing etc then the waterfall prototype, system evaluation and testing etc then the waterfall model suited the overall project.model suited the overall project.

As the project also involved producing a evolutionary software As the project also involved producing a evolutionary software prototype that was intended to be retained as the final system prototype that was intended to be retained as the final system then the evolutionary development model also applied. then the evolutionary development model also applied.

It was decided that the project would use a hybrid process that It was decided that the project would use a hybrid process that used the waterfall model through out the project with evolutionary used the waterfall model through out the project with evolutionary development for the software prototype.development for the software prototype.

Software Design Methodology (1)Software Design Methodology (1) A software design methodology needed to be chosen for the project that was A software design methodology needed to be chosen for the project that was

suitable for building a software prototype using Microsoft Access 2003. suitable for building a software prototype using Microsoft Access 2003.

Microsoft Access 2003 creates relational databases and supports the use of Microsoft Access 2003 creates relational databases and supports the use of objects. The following object types can be used in Microsoft Access 2003: objects. The following object types can be used in Microsoft Access 2003: Tables.Tables. Queries.Queries. Forms.Forms. Reports.Reports. Pages.Pages. Macros.Macros. Modules. Modules.

The object type called table is used to store information, the other object The object type called table is used to store information, the other object types are used to manage, manipulate, analyse, retrieve, display, or publish types are used to manage, manipulate, analyse, retrieve, display, or publish information contained in tables (Online Training Solutions Inc, 2003, p.3).information contained in tables (Online Training Solutions Inc, 2003, p.3).

Microsoft Access can use VBA (Visual Basic for Applications) code, VBA is not Microsoft Access can use VBA (Visual Basic for Applications) code, VBA is not a true object-oriented programming language (OOPL) due its lack of object-a true object-oriented programming language (OOPL) due its lack of object-oriented programming features such as inheritance (Ondotnet, 2005). oriented programming features such as inheritance (Ondotnet, 2005).

Software Design Methodology (2)Software Design Methodology (2) As Microsoft Access supports the use of objects OOD (Object Oriented As Microsoft Access supports the use of objects OOD (Object Oriented

Design) was initially proposed as the main software design methodology to Design) was initially proposed as the main software design methodology to be used to design the software prototype.be used to design the software prototype.

The following items needed to be considered to help to determine if OOD The following items needed to be considered to help to determine if OOD

alone would be likely to satisfy the project requirements :alone would be likely to satisfy the project requirements : A Microsoft Access relational database needed to be designed for the A Microsoft Access relational database needed to be designed for the

software prototype and OOD is not normally well suited to designing a software prototype and OOD is not normally well suited to designing a relational database.relational database.

Although Microsoft Access uses objects Microsoft Access was not Although Microsoft Access uses objects Microsoft Access was not designed to be a full object-oriented programming environment designed to be a full object-oriented programming environment (Viescas, 2003, p.397).(Viescas, 2003, p.397).

Object oriented languages are well suited to OOD. Although Microsoft Object oriented languages are well suited to OOD. Although Microsoft

Access uses objects neither Microsoft Access nor VBA (VBA can be used Access uses objects neither Microsoft Access nor VBA (VBA can be used by Microsoft Access) are true object oriented programming languages by Microsoft Access) are true object oriented programming languages as features such as object inheritance are not supported.as features such as object inheritance are not supported.

It was decided that the design of the software prototype should avoid OOD It was decided that the design of the software prototype should avoid OOD models that are based on object inheritance (such as object class hierarchy models that are based on object inheritance (such as object class hierarchy diagrams as this type of diagram includes representation for object diagrams as this type of diagram includes representation for object inheritance).inheritance).

Software Design Methodology (3)Software Design Methodology (3) Considerations needed to be made regarding modular and Considerations needed to be made regarding modular and

functional decomposition in the design of the Microsoft Access functional decomposition in the design of the Microsoft Access software prototype :software prototype :

Two of the main models for modular decomposition are an object-Two of the main models for modular decomposition are an object-oriented model and a data flow model (also known as a data flow oriented model and a data flow model (also known as a data flow diagram or DFD).diagram or DFD).

In an object-oriented model the system is decomposed into a set of In an object-oriented model the system is decomposed into a set of

communicating objects whilst in a data flow model the system is communicating objects whilst in a data flow model the system is decomposed into functional modules that receive data input and decomposed into functional modules that receive data input and process the data and produce output (Sommerville, 2001, pp.229-232). process the data and produce output (Sommerville, 2001, pp.229-232).

A typical architectural design process decomposes elements into more A typical architectural design process decomposes elements into more detailed elements, the decomposition process continues until the detailed elements, the decomposition process continues until the architectural structure is sufficiently fine-grained to be assigned to architectural structure is sufficiently fine-grained to be assigned to software development teams to design and implement each piece of software development teams to design and implement each piece of the architecture (McGregor J. 2004, pp.66-67).the architecture (McGregor J. 2004, pp.66-67).

Software Design Methodology (4)Software Design Methodology (4) It was decided that a hybrid software design methodology using It was decided that a hybrid software design methodology using

selective functional models and selective object-oriented design selective functional models and selective object-oriented design models would be the most suitable solution for designing the models would be the most suitable solution for designing the Microsoft Access software prototype.Microsoft Access software prototype.

The data flow diagrams (also known as data flow models) and The data flow diagrams (also known as data flow models) and

specific requirements specifications using standard forms that specific requirements specifications using standard forms that were produced in the formal requirements specification document were produced in the formal requirements specification document were able to be referred to in the design process to provide were able to be referred to in the design process to provide functional decomposition.functional decomposition.

Modular decomposition was also used in the software design Modular decomposition was also used in the software design

process as the chosen hybrid design methodology used object-process as the chosen hybrid design methodology used object-oriented models as well as the data flow models that were created oriented models as well as the data flow models that were created in the requirements specification document. in the requirements specification document.

Software Prototyping (1)Software Prototyping (1) The use of software prototyping to develop software solutions has The use of software prototyping to develop software solutions has

increased in popularity over the last 25 years. Iincreased in popularity over the last 25 years. In the early 1980'sn the early 1980's organisationsorganisations used prototyping in approximately thirty percent of used prototyping in approximately thirty percent of development projects, by the early 1990's the use of prototyping development projects, by the early 1990's the use of prototyping doubled to approximately sixty percent of development projects doubled to approximately sixty percent of development projects (McClendon et al. 1996, cited by Wikipedia, 2005).(McClendon et al. 1996, cited by Wikipedia, 2005).

User interfaces are best to be developed using prototyping as it is User interfaces are best to be developed using prototyping as it is not usually possible to specify user interfaces effectively with a not usually possible to specify user interfaces effectively with a static model. Evolutionary prototyping with end-user involvement static model. Evolutionary prototyping with end-user involvement is the most suitable way to develop graphical user interfaces for is the most suitable way to develop graphical user interfaces for software systems (Sommerville, 2001, pp.188-189).software systems (Sommerville, 2001, pp.188-189).

In a study of information systems managers and other information In a study of information systems managers and other information systems professionals at 112 different organisations it was found systems professionals at 112 different organisations it was found that information systems software cost estimating was an that information systems software cost estimating was an important concern. It was reported that the completion of only one important concern. It was reported that the completion of only one of every four systems development projects were within their of every four systems development projects were within their estimated costs (Lederer A. & Prasad J. 1995, p.125).estimated costs (Lederer A. & Prasad J. 1995, p.125).

Software Prototyping (2)Software Prototyping (2) Evolutionary prototypes allow small and medium sized systems to Evolutionary prototypes allow small and medium sized systems to

be rapidly developed and delivered, normally this results in be rapidly developed and delivered, normally this results in system development costs being reduced (Sommerville, 2001, system development costs being reduced (Sommerville, 2001, p.178).p.178).

An evolutionary software prototype was chosen as the type of An evolutionary software prototype was chosen as the type of prototype to solve the project requirements for the following prototype to solve the project requirements for the following reasons:reasons: Most of the requirements are were well understood (therefore Most of the requirements are were well understood (therefore

a throw-away prototype was not required for requirements a throw-away prototype was not required for requirements elicitation).elicitation).

Due to reduced development times it was likely that the use of Due to reduced development times it was likely that the use of an evolutionary software prototype would reduce system an evolutionary software prototype would reduce system development costs.development costs.

The use of an evolutionary software prototype was able to The use of an evolutionary software prototype was able to assist the development of the graphical user interface.assist the development of the graphical user interface.

UK Legal Considerations (1)UK Legal Considerations (1) A review was conducted into UK legal considerations that may be A review was conducted into UK legal considerations that may be

applicable to the project, the review included the Data Protection applicable to the project, the review included the Data Protection Act 1998, Freedom Of Information Act 2000, Privacy and Electronic Act 1998, Freedom Of Information Act 2000, Privacy and Electronic Communications Regulations 2003, as well as other legal Communications Regulations 2003, as well as other legal considerations (the review was not an exhaustive review of all UK considerations (the review was not an exhaustive review of all UK law, however the review did cover key legislation that might be law, however the review did cover key legislation that might be applicable to the project).applicable to the project).

The Data Protection Act (1998) was the most likely legislation to The Data Protection Act (1998) was the most likely legislation to be applicable to the project.be applicable to the project.

In the UK the Information Commissioner and his staff are In the UK the Information Commissioner and his staff are

responsible for ensuring that organisations that are processing responsible for ensuring that organisations that are processing data are doing so in line with the obligations that are placed upon data are doing so in line with the obligations that are placed upon them by the various pieces of legislation such as the Data them by the various pieces of legislation such as the Data Protection Act 1998, Freedom of Information Act 2000, and the Protection Act 1998, Freedom of Information Act 2000, and the Privacy and Electronic Communications Regulations 2003 Privacy and Electronic Communications Regulations 2003 (Information Commissioner, 2005e).(Information Commissioner, 2005e).

UK Legal Considerations (2)UK Legal Considerations (2) Data Protection Act 1998Data Protection Act 1998

The Data Protection Act 1998 aims to balance the rights of The Data Protection Act 1998 aims to balance the rights of individuals with legitimate reasons for using personal information.individuals with legitimate reasons for using personal information.

Individuals are given certain rights about the information held Individuals are given certain rights about the information held

about them that places obligations on data controllers who about them that places obligations on data controllers who process the personal information.process the personal information.

Personal information includes both facts and opinions about an Personal information includes both facts and opinions about an

individual.individual. Data controllers must notify the Information Commissioner’s Office Data controllers must notify the Information Commissioner’s Office

if they are processing personal information (unless their if they are processing personal information (unless their processing is exempt), notification costs £35 per year processing is exempt), notification costs £35 per year (Information Commissioner, 2005a).(Information Commissioner, 2005a).

UK Legal Considerations (3)UK Legal Considerations (3) Data Protection Act 1998Data Protection Act 1998 Data controllers who process personal data must comply with the following Data controllers who process personal data must comply with the following

eight rules of good practice:eight rules of good practice:

Data must be fairly and lawfully processed.Data must be fairly and lawfully processed. Data must be processed for limited purposes.Data must be processed for limited purposes. Data must be adequate, relevant and not excessive.Data must be adequate, relevant and not excessive. Data must be accurate and up to date.Data must be accurate and up to date. Data must be not kept longer than necessary.Data must be not kept longer than necessary. Data must be processed in accordance with the individual's rights.Data must be processed in accordance with the individual's rights. Data must be secure.Data must be secure. Data must not be transferred to countries outside the European Data must not be transferred to countries outside the European

Economic area unless the country has adequate protection for the Economic area unless the country has adequate protection for the individual (Information Commissioner, 2005a).individual (Information Commissioner, 2005a).

UK Legal Considerations (4)UK Legal Considerations (4) Data Protection Act 1998Data Protection Act 1998 In the Data Protection Act 1998 personal data means data that In the Data Protection Act 1998 personal data means data that

relates to a living individual who can be identified either by those relates to a living individual who can be identified either by those data or from those data together with any other information held data or from those data together with any other information held by the data controller or likely to come into the possession of the by the data controller or likely to come into the possession of the data controller (HMSO, 2005).data controller (HMSO, 2005).

Holding information about others in a domestic environment for Holding information about others in a domestic environment for family, household, or personal reasons is exempt from the Data family, household, or personal reasons is exempt from the Data Protection Act.Protection Act.

If you hold information about other people for non-domestic If you hold information about other people for non-domestic purposes then the Data Protection Act will impose legal obligations purposes then the Data Protection Act will impose legal obligations that must be complied with. that must be complied with.

A data controller is the person (individual, company or A data controller is the person (individual, company or organisation) who decides why personal data is held and the way organisation) who decides why personal data is held and the way in which personal data is dealt with. Examples of personal data in which personal data is dealt with. Examples of personal data includes collecting information about living individual customers in includes collecting information about living individual customers in terms of where they shop, how they pay for goods, and the terms of where they shop, how they pay for goods, and the delivery address. delivery address.

Examples of information about others that does not count as Examples of information about others that does not count as personal data includes information about deceased individuals or personal data includes information about deceased individuals or information about companies (Information Commissioner, 2005f).information about companies (Information Commissioner, 2005f).

UK Legal Considerations (5)UK Legal Considerations (5) Data Protection Act 1998Data Protection Act 1998 For the purposes of the project only very general personal For the purposes of the project only very general personal

information required to be held about living individuals such as: information required to be held about living individuals such as: First Name, Last Name, Department, and Site.First Name, Last Name, Department, and Site.

The Information Commissioner's Office produces a notification The Information Commissioner's Office produces a notification exemptions self assessment guide for data controllers to clarify if exemptions self assessment guide for data controllers to clarify if they need to declare (known as notification) personal data under they need to declare (known as notification) personal data under the Data Protection Act 1998. the Data Protection Act 1998.

According to the notification exemptions self assessment guide According to the notification exemptions self assessment guide notification is not required if the processing of personal data is for notification is not required if the processing of personal data is for staff administration, staff administration includes work staff administration, staff administration includes work management (Information Commissioner, 2005b).management (Information Commissioner, 2005b).

As the Work Request Database (software prototype) is only As the Work Request Database (software prototype) is only

processing personal data for staff work management purposes processing personal data for staff work management purposes notification should not be required. notification should not be required.

If any further clarification is required then the Information If any further clarification is required then the Information Commissioner’s Office helpline could be contacted, the Commissioner’s Office helpline could be contacted, the Information Commissioner’s Office helpline telephone number can Information Commissioner’s Office helpline telephone number can be found at the end of the Data Protection Act Factsheet be found at the end of the Data Protection Act Factsheet (Information Commissioner, 2005b). (Information Commissioner, 2005b).

UK Legal Considerations (6)UK Legal Considerations (6) Freedom Of Information Act 2000Freedom Of Information Act 2000 The Freedom Of Information Act 2000 enables access to The Freedom Of Information Act 2000 enables access to

information held by public authorities by public schemes or by information held by public authorities by public schemes or by general rights of access.general rights of access.

To comply with access to information through public schemes To comply with access to information through public schemes each public authority must routinely make information available to each public authority must routinely make information available to the public. the public.

To comply with general right of access individuals can request To comply with general right of access individuals can request access to information held by a public authority (some exemptions access to information held by a public authority (some exemptions apply in the interest of public interest) and the public authority apply in the interest of public interest) and the public authority has to respond to the request for information (Information has to respond to the request for information (Information Commissioner, 2005d). Commissioner, 2005d).

UK Legal Considerations (7)UK Legal Considerations (7)

Freedom Of Information Act 2000Freedom Of Information Act 2000 The Freedom Of Information Act 2000 applies to public authorities The Freedom Of Information Act 2000 applies to public authorities

in England, Northern Ireland, and Wales.in England, Northern Ireland, and Wales. Examples of public authorities include government Examples of public authorities include government

departments, local authorities, hospitals, medical surgeries, departments, local authorities, hospitals, medical surgeries, dentist surgeries, schools, universities, police forces and prison dentist surgeries, schools, universities, police forces and prison services. services.

Examples of recorded information covered by the Act include Examples of recorded information covered by the Act include emails, meeting minutes, research and reports (Information emails, meeting minutes, research and reports (Information Commissioner, 2005c). Commissioner, 2005c).

The target implementation environment for the project was not a The target implementation environment for the project was not a public authority therefore the Freedom Of Information Act 2000 public authority therefore the Freedom Of Information Act 2000 does not apply to the project.does not apply to the project.

UK Legal Considerations (8)UK Legal Considerations (8) Privacy and Electronic Communications (EC Directive) Privacy and Electronic Communications (EC Directive)

Regulations 2000 Regulations 2000 The Privacy and Electronic Communications (EC Directive) Regulations The Privacy and Electronic Communications (EC Directive) Regulations

2003 came into force on 11 December 2003 2003 came into force on 11 December 2003 ((Information Commissioner, Information Commissioner, 2005g). 2005g).

For tFor telecommunication network and service providers and individuals the elecommunication network and service providers and individuals the

regulations cover direct marketing via publicly available electronic regulations cover direct marketing via publicly available electronic communications services and unsolicited direct marketing (by electronic communications services and unsolicited direct marketing (by electronic means such as telephone, fax, email, and automated calling systems) means such as telephone, fax, email, and automated calling systems) ((Information Commissioner, 2005g).Information Commissioner, 2005g).

For For telecommunication network and service providers the regulations also telecommunication network and service providers the regulations also

cover location data and billing data, processing of electronic cover location data and billing data, processing of electronic communications traffic data, subscriber directories, call line identification, communications traffic data, subscriber directories, call line identification, the security of telecommunications services, and the use of cookies the security of telecommunications services, and the use of cookies ((Information Commissioner, 2005g). Information Commissioner, 2005g).

TThe he Privacy and Electronic Communications Regulations 2003 does not Privacy and Electronic Communications Regulations 2003 does not apply to the project as the target implementation environment for the apply to the project as the target implementation environment for the project is not a tproject is not a telecommunication network or service provider and the elecommunication network or service provider and the project does not involve any direct marketing by individualsproject does not involve any direct marketing by individuals..

UK Legal Considerations (9)UK Legal Considerations (9) Other legal considerationsOther legal considerations It is advisable to create and publish a company policy document within the It is advisable to create and publish a company policy document within the

organisation that the software prototype is implemented that states the organisation that the software prototype is implemented that states the acceptable terms of use for all computer systems. It is advisable to have a acceptable terms of use for all computer systems. It is advisable to have a legal expert assist the creation of the legally related material within the legal expert assist the creation of the legally related material within the company policy document. company policy document.

Examples of the UK legislation to incorporate within the company policy for Examples of the UK legislation to incorporate within the company policy for acceptable terms of use for all computer systems are as below: acceptable terms of use for all computer systems are as below: Child Protection Act: Possession of child pornography is an offence, Child Protection Act: Possession of child pornography is an offence,

possession includes viewing child pornography on a computer screen possession includes viewing child pornography on a computer screen or storing child pornography on a computer.or storing child pornography on a computer.

Computer Misuse Act 1990: It is an offence to gain unauthorised access Computer Misuse Act 1990: It is an offence to gain unauthorised access

to a computer system or make unauthorised modifications to computer to a computer system or make unauthorised modifications to computer data.data.

Copyright, Designs and Patents Acts 1990: Intellectual property rights Copyright, Designs and Patents Acts 1990: Intellectual property rights of the owners of intellectual property must be respected, consent from of the owners of intellectual property must be respected, consent from the intellectual property owner is required before any intellectual the intellectual property owner is required before any intellectual property can be used (University Of Bath, 2005).property can be used (University Of Bath, 2005).

…… ……..Continued..Continued

UK Legal Considerations (10)UK Legal Considerations (10) Other legal considerations Other legal considerations

Data Protection Act 1998: Protects data stored on a computer or any Data Protection Act 1998: Protects data stored on a computer or any other electronic information system as well as paper based data that other electronic information system as well as paper based data that relates to a living individual.relates to a living individual.

Defamation, Libel and Slander: Protects individuals from defamation Defamation, Libel and Slander: Protects individuals from defamation

(falsely stated or implied accusations that lowers the esteem of the (falsely stated or implied accusations that lowers the esteem of the accused individual). Libel is a civil offence that may incur financial accused individual). Libel is a civil offence that may incur financial penalties. Facts relating to individuals or organisations must be penalties. Facts relating to individuals or organisations must be accurate and verifiable, views and opinions should not be made that accurate and verifiable, views and opinions should not be made that could damage the reputation of individuals or organisations.could damage the reputation of individuals or organisations.

The Sex Discrimination Act, Race Relations Act, and Disability The Sex Discrimination Act, Race Relations Act, and Disability

Discrimination Act: Unfair discrimination is a civil offence, any material Discrimination Act: Unfair discrimination is a civil offence, any material that discriminates on the grounds of sex, gender, race, sexual that discriminates on the grounds of sex, gender, race, sexual orientation, colour, disability, or ethnic origin is unlawful. orientation, colour, disability, or ethnic origin is unlawful.

The Obscene Publications Act: Restricts the publication or electronic The Obscene Publications Act: Restricts the publication or electronic transmission of pornographic material (University Of Bath, 2005).transmission of pornographic material (University Of Bath, 2005).

Review Of Commercial Software Solutions Review Of Commercial Software Solutions (1)(1)

Three COTS (Commercial Off The Shelf) solutions were reviewed to Three COTS (Commercial Off The Shelf) solutions were reviewed to determine how suitable each COTS solution was for satisfying the determine how suitable each COTS solution was for satisfying the requirements of the projectrequirements of the project..

The evaluation of the suitability of each COTS solution was based The evaluation of the suitability of each COTS solution was based mainly on the functional requirements from the requirements mainly on the functional requirements from the requirements specification (the only non-functional requirement included was specification (the only non-functional requirement included was the requirement for the solution to be capable of being a multi-the requirement for the solution to be capable of being a multi-user solution that can have up to 5 concurrent users). user solution that can have up to 5 concurrent users).

Review Of Commercial Software Solutions Review Of Commercial Software Solutions (2)(2)

Estimated cost of COTS solutions

7687

5309

6951

0

2000

4000

6000

8000

10000

COTS solutions

Cost £GBPTrack-It

Request Tracker

Surround SCM

Review Of Commercial Software Solutions Review Of Commercial Software Solutions (3)(3)

Suitability of COTS solutions

52 51

22

0

20

40

60

80

100

COTS solutions

Weighted score out

of 100

Track-It

Request Tracker

Surround SCM

Recommended SolutionRecommended Solution(1)(1)

Failure to find suitable COTS solutions confirmed the need to write Failure to find suitable COTS solutions confirmed the need to write bespoke software to solve the project requirements. bespoke software to solve the project requirements.

As most of the system requirements were understood an As most of the system requirements were understood an evolutionary software prototype was chosen as the solution. evolutionary software prototype was chosen as the solution.

The evolutionary software prototype would only include the most The evolutionary software prototype would only include the most important and best understood system requirements as agreed important and best understood system requirements as agreed with the project sponsor.with the project sponsor.

Recommended SolutionRecommended Solution(2)(2)

Comparison of estimated cost of solutions considered

7687

5309

6951

5390

0

2000

4000

6000

8000

10000

Solutions considered

Cost £GBP

Track-It

Request Tracker

Surround SCM

EvolutionarySoftware Prototype

Recommended SolutionRecommended Solution(3)(3)

Comparison of expected suitability of evolutionary software prototype

52 51

22

90

0

20

40

60

80

100

Solutions considered

Weighted score out

of 100

Track-It

Request Tracker

Surround SCM

EvolutionarySoftware Prototype

Recommended SolutionRecommended Solution(4)(4)

Before building the evolutionary software prototype special Before building the evolutionary software prototype special considerations were given to the following items:considerations were given to the following items:

The necessary skills and resources needed to be available to build the The necessary skills and resources needed to be available to build the evolutionary software prototype. The main resources required for evolutionary software prototype. The main resources required for developing an evolutionary software prototype was identified as a PC developing an evolutionary software prototype was identified as a PC running Windows XP (Home Edition), Microsoft Access 2003, a Access 2003 running Windows XP (Home Edition), Microsoft Access 2003, a Access 2003 learning source (two books were purchased), and a human resource learning source (two books were purchased), and a human resource (myself) to develop the software prototype.(myself) to develop the software prototype.

Due to limited resources it was likely that the software prototype would Due to limited resources it was likely that the software prototype would have to be built and implemented on a stand alone PC, however the have to be built and implemented on a stand alone PC, however the software prototype would still be designed to be capable of being software prototype would still be designed to be capable of being implemented as a multi-user system. implemented as a multi-user system.

Microsoft Access had to be learnt during the project, this introduced an Microsoft Access had to be learnt during the project, this introduced an element of unavoidable risk that could only be mitigated by allowing a element of unavoidable risk that could only be mitigated by allowing a reasonable time to learn Microsoft Access 2003.reasonable time to learn Microsoft Access 2003.

It was expected that the software prototype would have to be developed It was expected that the software prototype would have to be developed

without manually writing VBA code as there was not sufficient time within without manually writing VBA code as there was not sufficient time within the project to learn both Microsoft Access 2003 and VBA. the project to learn both Microsoft Access 2003 and VBA.

Design of Software PrototypeDesign of Software Prototype The software design model for the evolutionary software prototype The software design model for the evolutionary software prototype

included:included:

A statechart for the WorkRequest object (OOD using UML (Unified A statechart for the WorkRequest object (OOD using UML (Unified Modelling Language) notation).Modelling Language) notation).

An Entity Relationship Diagram (also known as an Entity Relationship An Entity Relationship Diagram (also known as an Entity Relationship

Model) supplemented by associated notes and business rules, data Model) supplemented by associated notes and business rules, data dictionary, and normalisation procedures (these items were used to dictionary, and normalisation procedures (these items were used to design the relational database for the software prototype).design the relational database for the software prototype).

A layered sub-system architecture diagram (OOD using UML notation).A layered sub-system architecture diagram (OOD using UML notation). A sub-system diagram (OOD using UML notation).A sub-system diagram (OOD using UML notation). Use-case diagrams (OOD using UML notation).Use-case diagrams (OOD using UML notation). Use-case descriptions (OOD).Use-case descriptions (OOD).

Data flow diagrams and specific system requirements specifications Data flow diagrams and specific system requirements specifications using standard forms from the Requirements Specification (used as using standard forms from the Requirements Specification (used as functional models to represent functional decomposition and to assist functional models to represent functional decomposition and to assist modular decomposition).modular decomposition).

How The Software Prototype Design Was How The Software Prototype Design Was ImplementedImplemented

The design was initially tested and implemented as a stand alone The design was initially tested and implemented as a stand alone single user Microsoft Access desktop database on a single PC single user Microsoft Access desktop database on a single PC (where both the client and server exist in the same PC).(where both the client and server exist in the same PC).

Afterwards additional resources were obtained to allow the same Afterwards additional resources were obtained to allow the same design to be implemented as a multi-user (two-tier client server design to be implemented as a multi-user (two-tier client server system) Microsoft Access desktop database on a Windows network system) Microsoft Access desktop database on a Windows network server with multi-user database access from connected Windows server with multi-user database access from connected Windows client PC’s running Access 2003. client PC’s running Access 2003.

Changes During Implementation (1)Changes During Implementation (1)

Four evolutionary enhancements were made to the design:Four evolutionary enhancements were made to the design:

Enhancement for convenience: The attributes Enhancement for convenience: The attributes WorkRequestJobStatus and WorkRequestDateCompleted from the WorkRequestJobStatus and WorkRequestDateCompleted from the WorkRequest table were originally planned as only inputs into the WorkRequest table were originally planned as only inputs into the function Create/Edit Implementation And Implementation Details, function Create/Edit Implementation And Implementation Details, these attributes were changed to also be output capable in the these attributes were changed to also be output capable in the function Create/Edit Implementation And Implementation Details.function Create/Edit Implementation And Implementation Details. To implement this enhancement the form called Create/Edit To implement this enhancement the form called Create/Edit

Implementation And Implementation Details was changed to Implementation And Implementation Details was changed to allow the user to input new values for the WorkRequest table allow the user to input new values for the WorkRequest table attributes WorkRequestJobStatus and attributes WorkRequestJobStatus and WorkRequestDateCompleted.WorkRequestDateCompleted.

Enhancement for convenience: An additional option was created Enhancement for convenience: An additional option was created on the Work Request Database Main Switchboard to close the on the Work Request Database Main Switchboard to close the database and exit the application (the database could also be database and exit the application (the database could also be closed by using the Windows 'X' close window icon).closed by using the Windows 'X' close window icon).

Changes During Implementation (2)Changes During Implementation (2)

Enhancement out of necessity: In the Create/Edit Enhancement out of necessity: In the Create/Edit Implementation And Implementation Details function the Implementation And Implementation Details function the selection of the WorkRequestNumber to be implemented was selection of the WorkRequestNumber to be implemented was enhanced by the use of the query called Work Request Select enhanced by the use of the query called Work Request Select Query Without Matching Implementation to guarantee that only Query Without Matching Implementation to guarantee that only WorkRequestNumbers that had not been implemented could be WorkRequestNumbers that had not been implemented could be selected to be implemented.selected to be implemented.

Enhancement out of necessity: The original project specification Enhancement out of necessity: The original project specification planned to build a software prototype with Access 2003 without planned to build a software prototype with Access 2003 without manually writing VBA code. At implementation time it was manually writing VBA code. At implementation time it was necessary to change this strategy as it was found that Microsoft necessary to change this strategy as it was found that Microsoft Access default error trapping was acceptable for simple Access default error trapping was acceptable for simple Microsoft Access forms but was quite poor for more complex Microsoft Access forms but was quite poor for more complex forms such as parent forms with embedded child subforms. forms such as parent forms with embedded child subforms.

VBA class module code for error trapping was manually VBA class module code for error trapping was manually written and applied to the form called Create/Edit written and applied to the form called Create/Edit Implementation And Implementation Details and the form Implementation And Implementation Details and the form called ImplementationDetail Subform.called ImplementationDetail Subform.

Software Testing (1)Software Testing (1)

Software testing involves executing the software with test data Software testing involves executing the software with test data and observing the outputs and the operational behaviour to and observing the outputs and the operational behaviour to ensure that the software is performing as required.ensure that the software is performing as required.

Software testing requires the software to be executed and so it Software testing requires the software to be executed and so it

can only be performed when a software prototype or executable can only be performed when a software prototype or executable program is available.program is available.

AsAs nearly all of the application logic for thenearly all of the application logic for the software prototypesoftware prototype was written with Access 2003 most of the application program was written with Access 2003 most of the application program code was not available to perform white box testing (only a small code was not available to perform white box testing (only a small amount of VBA program code was available). It was decided that amount of VBA program code was available). It was decided that white box testing could not sensibly be performed (as most of the white box testing could not sensibly be performed (as most of the independent program paths were hidden inside Access 2003).independent program paths were hidden inside Access 2003).

Software Testing (2)Software Testing (2) Black box testing (also known as functional testing as the tester is Black box testing (also known as functional testing as the tester is

only concerned with the functionality of the software) is a testing only concerned with the functionality of the software) is a testing method where the tests are derived from the program method where the tests are derived from the program specification without any knowledge of the implementation of the specification without any knowledge of the implementation of the software being tested (Sommerville, 2001, p.443).software being tested (Sommerville, 2001, p.443).

Black box testing involves entering test data into a system and Black box testing involves entering test data into a system and verifying the output (black box testing is done without knowledge verifying the output (black box testing is done without knowledge of the program code of a system) (Sommerville, 2001, p.443).of the program code of a system) (Sommerville, 2001, p.443).

It was decided that black box testing would be used for the It was decided that black box testing would be used for the software prototype.software prototype.

All of the black box software tests performed on the Work Request All of the black box software tests performed on the Work Request

Database software prototype were successful.Database software prototype were successful.

Requirements Satisfied By The Software Requirements Satisfied By The Software Prototype (1)Prototype (1)

All of the functional requirements All of the functional requirements agreed agreed with the project sponsor with the project sponsor to be included in the to be included in the evolutionary evolutionary software prototype software prototype were were successfully satisfied. successfully satisfied.

All of the non-functional requirements All of the non-functional requirements agreed agreed with the project with the project sponsor to be included in the sponsor to be included in the evolutionary evolutionary software prototype software prototype wwere successfully satisfied.ere successfully satisfied.

Requirements Satisfied By The Software Requirements Satisfied By The Software Prototype (2)Prototype (2)

Comparison of actual suitability of evolutionary software prototype using COTS evaluation criteria

52 51

22

95

0

20

40

60

80

100

Solutions considered

Weighted score out

of 100

Track-It

Request Tracker

Surround SCM

EvolutionarySoftware Prototype

Requirements Satisfied By The Software Requirements Satisfied By The Software Prototype (3)Prototype (3)

Evolutionary software prototype target weighted score for functional requirements compared with

actual weighted score

80 85

020406080

100

Weighted scores

Weighted score out

of 90

TargetFunctionalRequirementsWeighted Score

ActualFunctionalRequirementsWeighted Score

Requirements Satisfied By The Software Requirements Satisfied By The Software Prototype (4)Prototype (4)

Evolutionary software prototype target weighted score for non-functional requirements compared with

actual weighted score

50

75

020406080

100

Weighted scores

Weighted score out

of 80

Target Non-functionalRequirementsWeighted Score

Actual Non-functionalRequirementsWeighted Score

Requirements Not Satisfied By The Requirements Not Satisfied By The Software PrototypeSoftware Prototype

All of the traceable requirements that were agreed with the All of the traceable requirements that were agreed with the project sponsor to be included in the software prototype were project sponsor to be included in the software prototype were successfully included in the software prototype.successfully included in the software prototype.

Suitability Of Access 2003 As A Software Suitability Of Access 2003 As A Software Prototyping ToolPrototyping Tool

All of the requirements that were agreed to be included in the All of the requirements that were agreed to be included in the software prototype were successfully included in the software software prototype were successfully included in the software prototype, this demonstrates that it is feasible to use Access 2003 prototype, this demonstrates that it is feasible to use Access 2003 as a software prototyping tool.as a software prototyping tool.

Useful Features Of Access 2003 For Useful Features Of Access 2003 For Developing A Software Prototype (1)Developing A Software Prototype (1)

Database: Access 2003 can be used to create either a single user Database: Access 2003 can be used to create either a single user or multi-user relational database. If a software prototype is going or multi-user relational database. If a software prototype is going to have a reasonable level of depth then a database is often to have a reasonable level of depth then a database is often required to provide efficient storage and retrieval of the data used required to provide efficient storage and retrieval of the data used by a software prototype.by a software prototype.

Scalability: A software prototype can be designed as a Microsoft Scalability: A software prototype can be designed as a Microsoft Access desktop database for a small number of users and Access desktop database for a small number of users and afterwards options are available to upsize a Microsoft Access afterwards options are available to upsize a Microsoft Access desktop database to handle more users. Tools such as the desktop database to handle more users. Tools such as the Microsoft Access database upsizing wizard can be used to upsize a Microsoft Access database upsizing wizard can be used to upsize a Microsoft Access desktop database into an alternative two-tier Microsoft Access desktop database into an alternative two-tier client server solution that uses Microsoft SQL server.client server solution that uses Microsoft SQL server.

Useful Features Of Access 2003 For Useful Features Of Access 2003 For Developing A Software Prototype (2)Developing A Software Prototype (2)

User Interface: A software prototype developed in Access 2003 User Interface: A software prototype developed in Access 2003 with end-user involvement can provide an effective solution for with end-user involvement can provide an effective solution for developing a user interface.developing a user interface.

Speed of development: Software prototypes are often able to Speed of development: Software prototypes are often able to

reduce the cost of getting a software product to the market by reduce the cost of getting a software product to the market by reducing the time for the design process, for maximum benefit a reducing the time for the design process, for maximum benefit a software prototype has to be developed as quickly as possible. software prototype has to be developed as quickly as possible.

Access 2003 contains many wizards that help to speed up the Access 2003 contains many wizards that help to speed up the development of a software prototype including wizards to create development of a software prototype including wizards to create Access 2003 forms, reports, queries, command buttons, tables, Access 2003 forms, reports, queries, command buttons, tables, and switchboards (a menu is known as a switchboard in Access and switchboards (a menu is known as a switchboard in Access

2003).2003).

Useful Features Of Access 2003 For Useful Features Of Access 2003 For Developing A Software Prototype (3)Developing A Software Prototype (3)

Visual development: Access 2003 supports a visual programming Visual development: Access 2003 supports a visual programming approach that allows a software prototype to be built by defining approach that allows a software prototype to be built by defining objects (or components) such as switchboards, forms, form objects (or components) such as switchboards, forms, form controls, and command buttons.controls, and command buttons.

Object Dependencies: It is normal to expect changes in software Object Dependencies: It is normal to expect changes in software systems as part of the systems lifecycle, this is also true for systems as part of the systems lifecycle, this is also true for software prototypes (especially evolutionary prototypes). Access software prototypes (especially evolutionary prototypes). Access 2003 has a feature called object dependencies that identifies 2003 has a feature called object dependencies that identifies which objects are dependent on a specified object, this feature is which objects are dependent on a specified object, this feature is very useful when analysing the impact of system changes.very useful when analysing the impact of system changes.

Useful Features Of Access 2003 For Useful Features Of Access 2003 For Developing A Software Prototype (4)Developing A Software Prototype (4)

Import/Export: The ability to import existing data into a new Import/Export: The ability to import existing data into a new Access 2003 table may be useful to speed up the development of Access 2003 table may be useful to speed up the development of a software prototype. Access 2003 provides facilities to import a software prototype. Access 2003 provides facilities to import data from the Microsoft Office environment, import sources data from the Microsoft Office environment, import sources include a MS-Excel worksheet, a text file, another Access 2003 include a MS-Excel worksheet, a text file, another Access 2003 database, a HTML file, and a XML file (Online Training Solutions database, a HTML file, and a XML file (Online Training Solutions Inc, 2003, pp.58-73).Inc, 2003, pp.58-73).

Data Validation: Access 2003 has several features that help to Data Validation: Access 2003 has several features that help to keep information accurate including table attribute data type keep information accurate including table attribute data type settings, input masks, field validation rules, and lookup lists settings, input masks, field validation rules, and lookup lists (sometimes referred to as combo boxes) (Online Training (sometimes referred to as combo boxes) (Online Training Solutions Inc, 2003, pp.146-166).Solutions Inc, 2003, pp.146-166).

Useful Features Of Access 2003 For Useful Features Of Access 2003 For Developing A Software Prototype (5)Developing A Software Prototype (5)

Event driven application logic: Access 2003 allows event driven Event driven application logic: Access 2003 allows event driven application logic (written in VBA) to be added to certain object application logic (written in VBA) to be added to certain object types such as form controls, event driven application logic allows types such as form controls, event driven application logic allows additional application logic to be specified that would not be additional application logic to be specified that would not be possible if just Access 2003 was used.possible if just Access 2003 was used.

Security: Access 2003 also provides some security features that Security: Access 2003 also provides some security features that might be useful for securing a software prototype. Security might be useful for securing a software prototype. Security features provided by Access 2003 include encrypting/decrypting a features provided by Access 2003 include encrypting/decrypting a database, assigning a password to a database, creating an Access database, assigning a password to a database, creating an Access 2003 workgroup, securing VBA code with a password, and 2003 workgroup, securing VBA code with a password, and securing a database by making a MDE (Microsoft Database securing a database by making a MDE (Microsoft Database Executable) file. In a MDE file users can not use design view for Executable) file. In a MDE file users can not use design view for forms, reports or modules, or change references to other objects forms, reports or modules, or change references to other objects or databases, or change VBA code (Online Training Solutions Inc, or databases, or change VBA code (Online Training Solutions Inc, 2003, pp.226-255).2003, pp.226-255).

Potential Disadvantages Of Using Access Potential Disadvantages Of Using Access 2003 For Developing A Software Prototype 2003 For Developing A Software Prototype

(1)(1) Default error trapping: Access 2003 default error trapping is Default error trapping: Access 2003 default error trapping is

suitable for simple Access 2003 forms but is not suitable for more suitable for simple Access 2003 forms but is not suitable for more complex Access 2003 forms such as parent forms with embedded complex Access 2003 forms such as parent forms with embedded child subforms. I found it necessary to write some VBA class child subforms. I found it necessary to write some VBA class module code (scoped to within individual Access 2003 forms) to module code (scoped to within individual Access 2003 forms) to provide satisfactory error trapping and error prevention, without provide satisfactory error trapping and error prevention, without using some VBA code the software prototype would not have been using some VBA code the software prototype would not have been successful.successful.

VBA class module code method restrictions: The VBA SetFocus VBA class module code method restrictions: The VBA SetFocus method moves the focus to a specified Access 2003 form control. method moves the focus to a specified Access 2003 form control. The VBA SetFocus method does not work for certain types of form The VBA SetFocus method does not work for certain types of form controls on an Access 2003 form (such as a combo box), this controls on an Access 2003 form (such as a combo box), this caused frustration when performing error trapping or when trying caused frustration when performing error trapping or when trying to automate the sequence in which each form control is accessed. to automate the sequence in which each form control is accessed.

Potential Disadvantages Of Using Access Potential Disadvantages Of Using Access 2003 For Developing A Software Prototype 2003 For Developing A Software Prototype

(2)(2) Environment: Care needs to be taken regarding the environment Environment: Care needs to be taken regarding the environment

in which an Access 2003 database is developed. During the in which an Access 2003 database is developed. During the project I experienced a problem where the code produced by the project I experienced a problem where the code produced by the command button wizard would not operate without errors ( I was command button wizard would not operate without errors ( I was receiving errors such as ‘The command Select Record is not receiving errors such as ‘The command Select Record is not available now’ and ‘The command Delete Record is not available available now’ and ‘The command Delete Record is not available now’). The problem was a DLL problem due to once opening the now’). The problem was a DLL problem due to once opening the database with an earlier version of Access by mistake.database with an earlier version of Access by mistake.

Exclusive design mode use: To avoid losing modifications Exclusive design mode use: To avoid losing modifications Microsoft Access 2003 requires exclusive access to a database Microsoft Access 2003 requires exclusive access to a database when using a database in design mode (it is not advisable for when using a database in design mode (it is not advisable for more than one software developer to simultaneously open the more than one software developer to simultaneously open the same Access 2003 database in design mode). same Access 2003 database in design mode).

Potential Disadvantages Of Using Access Potential Disadvantages Of Using Access 2003 For Developing A Software Prototype 2003 For Developing A Software Prototype

(3)(3) Software Prototypes built entirely from Access 2003 may Software Prototypes built entirely from Access 2003 may

experience the following problems:experience the following problems:

1.1. It is likely that some VBA code will be required to make a It is likely that some VBA code will be required to make a software prototype acceptable to the user. software prototype acceptable to the user.

2.2. All the application logic is hidden inside Access 2003, this can be All the application logic is hidden inside Access 2003, this can be disadvantageous as the developer can not see the application disadvantageous as the developer can not see the application logic, also the programming code is not available for white box logic, also the programming code is not available for white box testing.testing.

Conclusion Of Access 2003 As A Software Conclusion Of Access 2003 As A Software Prototyping ToolPrototyping Tool

As demonstrated by the successful results of this project Access As demonstrated by the successful results of this project Access 2003 can be used as an acceptable tool to build a software 2003 can be used as an acceptable tool to build a software prototype.prototype.

In order to achieve a better quality software prototype it is In order to achieve a better quality software prototype it is recommended to use Access 2003 in conjunction with some VBA recommended to use Access 2003 in conjunction with some VBA code, this strategy is particularly important if an evolutionary code, this strategy is particularly important if an evolutionary software prototype is being developed that will be retained as the software prototype is being developed that will be retained as the final system.final system.

Software prototypes developed with Access 2003 without writing Software prototypes developed with Access 2003 without writing any VBA code are better suited to throw-away prototypes that are any VBA code are better suited to throw-away prototypes that are not retained as the final system.not retained as the final system.

Access 2003 is better suited to developing a software prototype in Access 2003 is better suited to developing a software prototype in a single software developer environment.a single software developer environment.

Strengths Of The Project As Carried OutStrengths Of The Project As Carried Out

A software prototype was successfully created (using Access 2003 A software prototype was successfully created (using Access 2003 with some VBA code) and implemented that satisfied all the with some VBA code) and implemented that satisfied all the requirements agreed with the project sponsor.requirements agreed with the project sponsor.

The suitability of Access 2003 as a software prototyping tool was The suitability of Access 2003 as a software prototyping tool was successfully reviewed based on the experience gained through the successfully reviewed based on the experience gained through the project.project.

The completed software prototype provided a successful working The completed software prototype provided a successful working software solution that can be used to improve work planning, help software solution that can be used to improve work planning, help desk support, and the recording of software changes in a small IT desk support, and the recording of software changes in a small IT department.department.

The project was completed in a timely manner in compliance with The project was completed in a timely manner in compliance with the timing plan defined in the project plan and all objectives were the timing plan defined in the project plan and all objectives were achieved.achieved.

Weaknesses Of The Project As Carried OutWeaknesses Of The Project As Carried Out

Although additional tailored error messages and error handling Although additional tailored error messages and error handling logic was provided by using VBA code some of the default error logic was provided by using VBA code some of the default error messages provided by Access 2003 could have more meaningful messages provided by Access 2003 could have more meaningful text and associated actions that help the user to better text and associated actions that help the user to better understand the necessary corrective actions to resolve an error understand the necessary corrective actions to resolve an error situation.situation.

Although the project was a success I do not believe that Access Although the project was a success I do not believe that Access 2003 is the best tool to develop a software prototype, I prefer to 2003 is the best tool to develop a software prototype, I prefer to think of Access 2003 as an acceptable tool to develop a software think of Access 2003 as an acceptable tool to develop a software prototype that is better suited to a single software developer prototype that is better suited to a single software developer environment. environment.

Conclusions: Project AimsConclusions: Project Aims

First aim of the project satisfied: Evaluate a sample of commercial First aim of the project satisfied: Evaluate a sample of commercial software solutions and to design and implement a Access 2003 software solutions and to design and implement a Access 2003 software prototype in order to recommend a solution to improve software prototype in order to recommend a solution to improve work planning, help desk support, and the recording of software work planning, help desk support, and the recording of software changes in a small IT Department.changes in a small IT Department.

Second aim of the project satisfied: Review the suitability of Second aim of the project satisfied: Review the suitability of Access 2003 as a software prototyping tool based on the Access 2003 as a software prototyping tool based on the experience gained during the project.experience gained during the project.

Conclusions: Future PossibilitiesConclusions: Future Possibilities It would be interesting to recreate the Work Request Database It would be interesting to recreate the Work Request Database

software prototype using different software prototyping tools software prototype using different software prototyping tools (such as the high-level languages Visual Basic and Java) in order (such as the high-level languages Visual Basic and Java) in order to compare how each tool performed as a software prototyping to compare how each tool performed as a software prototyping tool in comparison to Access 2003.tool in comparison to Access 2003.

An archiving function could be added to the software prototype to An archiving function could be added to the software prototype to archive records over a specified age.archive records over a specified age.

It would be interesting to investigate if a front end could be built It would be interesting to investigate if a front end could be built to allow user work requests to be received by email and to allow user work requests to be received by email and automatically integrated into the Work Request Database as open automatically integrated into the Work Request Database as open jobs.jobs.

A more detailed understanding of the required search facility A more detailed understanding of the required search facility (functional requirement FR009) could be developed by researching (functional requirement FR009) could be developed by researching intelligent search techniques and knowledge based systems in intelligent search techniques and knowledge based systems in order to recommend and build a solution to expand the order to recommend and build a solution to expand the evolutionary software prototype to include a more intelligent evolutionary software prototype to include a more intelligent search facility.search facility.

Bibliography (1)Bibliography (1) Coronel,C. Rob,P. (2002) Coronel,C. Rob,P. (2002) Database SystemsDatabase Systems. 5th ed. USA: Course Technology. . 5th ed. USA: Course Technology.

ISBN061906269XISBN061906269X Cniche. Cniche. Request Tracker help desk database system.Request Tracker help desk database system. [Internet]. Available from [Internet]. Available from

<http://www.cniche.com/request/index.htm> [Accessed 21 May 2005a] <http://www.cniche.com/request/index.htm> [Accessed 21 May 2005a] Cniche. Cniche. Running Request Tracker on a Network.Running Request Tracker on a Network. [Internet]. Available from < [Internet]. Available from <

http://www.cniche.com/request/network.htm> [Accessed 21 May 2005b] http://www.cniche.com/request/network.htm> [Accessed 21 May 2005b] Dawson, C.W (2000) Dawson, C.W (2000) The Essence Of Computing Projects A Students GuideThe Essence Of Computing Projects A Students Guide. Norfolk: . Norfolk:

Pearson Education Limited. ISBN013021972XPearson Education Limited. ISBN013021972X Dictionary.com. Dictionary.com. Data ModelData Model. [Internet]. Available from: . [Internet]. Available from: < < http://dictionary.reference.com/search?q=data+model&r=67http://dictionary.reference.com/search?q=data+model&r=67> [Accessed 6th April 2005]> [Accessed 6th April 2005] Gonzalez L. & Giachetti R. & Ramirez G. (2005) Knowledge management-centric help Gonzalez L. & Giachetti R. & Ramirez G. (2005) Knowledge management-centric help

desk: specification and performance evaluation. desk: specification and performance evaluation. Decision Support SystemsDecision Support Systems [Internet], [Internet], no. 40, 2, pp 389-405. Available from: no. 40, 2, pp 389-405. Available from: <http://www.sciencedirect.com/science/article/B6V8S-4CHJ8R2-1/2/d701f9f268a422eacd<http://www.sciencedirect.com/science/article/B6V8S-4CHJ8R2-1/2/d701f9f268a422eacd82ed0190432006> [Accessed 30 May 2005] 82ed0190432006> [Accessed 30 May 2005]

HMSO. HMSO. Data Protection Act 1998Data Protection Act 1998. [Internet]. Available from: . [Internet]. Available from: <http://www.hmso.gov.uk/acts/acts1998/80029--a.htm#1> [Accessed 6 May 2005]<http://www.hmso.gov.uk/acts/acts1998/80029--a.htm#1> [Accessed 6 May 2005]

Information Commissioner. Information Commissioner. Data Protection Act FactsheetData Protection Act Factsheet. [Internet]. Available from: . [Internet]. Available from: <http://www.informationcommissioner.gov.uk/cms/DocumentUploads/Data<http://www.informationcommissioner.gov.uk/cms/DocumentUploads/Data%20Protection%20Act%20Fact%20V2.pdf> [Accessed 6 May 2005a]%20Protection%20Act%20Fact%20V2.pdf> [Accessed 6 May 2005a]

Information Commissioner. Information Commissioner. Notification Exemptions, A Self Assessment GuideNotification Exemptions, A Self Assessment Guide. [Internet]. . [Internet]. Available from: Available from: <http://www.informationcommissioner.gov.uk/cms/DocumentUploads/Notification<http://www.informationcommissioner.gov.uk/cms/DocumentUploads/Notification%20Exemptions%20-%20A%20Self%20Assessment%20Guide.pdf> [Accessed 6 May %20Exemptions%20-%20A%20Self%20Assessment%20Guide.pdf> [Accessed 6 May 2005b]2005b]

Bibliography (2)Bibliography (2) Information Commissioner. Information Commissioner. Freedom Of Information FactsheetFreedom Of Information Factsheet. [Internet]. Available . [Internet]. Available

from: < http://www.informationcommissioner.gov.uk/cms/DocumentUploads/FOIfrom: < http://www.informationcommissioner.gov.uk/cms/DocumentUploads/FOI%20factsheet.pdf> [Accessed 9 March 2005c]%20factsheet.pdf> [Accessed 9 March 2005c]

Information Commissioner. Information Commissioner. About The Freedom Of Information ActAbout The Freedom Of Information Act. Available from: <. Available from: <http://www.informationcommissioner.gov.uk/eventual.aspx?id=74http://www.informationcommissioner.gov.uk/eventual.aspx?id=74> [Accessed 9 March 2005d]> [Accessed 9 March 2005d]

Information Commissioner. Information Commissioner. Data ProtectionData Protection. Available from: < . Available from: < http://www.informationcommissioner.gov.uk/eventual.aspx?id=34> [Accessed 9 March http://www.informationcommissioner.gov.uk/eventual.aspx?id=34> [Accessed 9 March 2005e]2005e]

Information Commissioner. Information Commissioner. Information Commissioners OfficeInformation Commissioners Office. Available from: . Available from: <http://www.informationcommissioner.gov.uk/eventual.aspx?id=6786&expmovie=1> <http://www.informationcommissioner.gov.uk/eventual.aspx?id=6786&expmovie=1> [Accessed 9 March 2005f][Accessed 9 March 2005f]

Information Commissioner. Information Commissioner. What the Regulations CoverWhat the Regulations Cover. [Internet]. Available from: < . [Internet]. Available from: < http://www.informationcommissioner.gov.uk/eventual.aspx?id=94> [Accessed 9 March http://www.informationcommissioner.gov.uk/eventual.aspx?id=94> [Accessed 9 March 2005g]2005g]

Intuit. Intuit. Intuit Information Technology Solutions: Track-It! 6.5.Intuit Information Technology Solutions: Track-It! 6.5. [Internet]. Available from [Internet]. Available from <http://www.itsolutions.intuit.com/Track-It.asp> [Accessed 21 May 2005] <http://www.itsolutions.intuit.com/Track-It.asp> [Accessed 21 May 2005]

Lederer A. & Prasad J. (1995) Causes of inaccurate software development cost Lederer A. & Prasad J. (1995) Causes of inaccurate software development cost estimates. estimates. Journal of Systems and SoftwareJournal of Systems and Software [Internet], no.31, 2, pp. 125-134. Available [Internet], no.31, 2, pp. 125-134. Available from: from: <http://www.sciencedirect.com/science/article/B6V0N-404RP1C-C/2/e878da8a26708782e<http://www.sciencedirect.com/science/article/B6V0N-404RP1C-C/2/e878da8a26708782edabe6aaf7744be2> [Accessed 8 May 2005] dabe6aaf7744be2> [Accessed 8 May 2005]

Limoncelli, T. (1999) Deconstructing User Requests And The Nine Step Model. In: Limoncelli, T. (1999) Deconstructing User Requests And The Nine Step Model. In: LISA LISA ’99: 13th Systems Administration Conference, 7-12 November 1999, Washington, USA’99: 13th Systems Administration Conference, 7-12 November 1999, Washington, USA. . Washington. The Usenix Association. pp.35-44.Washington. The Usenix Association. pp.35-44.

Bibliography (3)Bibliography (3) Marcella R. & Middleton I. (1996) The Role Of The Help Desk In The Strategic Marcella R. & Middleton I. (1996) The Role Of The Help Desk In The Strategic

Management Of Information Systems. Management Of Information Systems. OCLC Systems & ServicesOCLC Systems & Services [Internet], no. 12, pp. 4- [Internet], no. 12, pp. 4-19. Available from: 19. Available from: <http://miranda.emeraldinsight.com/vl=2576611/cl=16/nw=1/fm=docpdf/rpsv/cw/mcb/<http://miranda.emeraldinsight.com/vl=2576611/cl=16/nw=1/fm=docpdf/rpsv/cw/mcb/1065075x/v12n4/s1/p4> [Accessed 17 May 2005]1065075x/v12n4/s1/p4> [Accessed 17 May 2005]

McGregor J. (2004) Software Architecture. McGregor J. (2004) Software Architecture. Journal Of Object TechnologyJournal Of Object Technology [Internet], no. 3, [Internet], no. 3, 5, pp 65-77. Available from: <http://www.jot.fm/issues/issue_2004_05/column7> 5, pp 65-77. Available from: <http://www.jot.fm/issues/issue_2004_05/column7> [Accessed 30 May 2005] [Accessed 30 May 2005]

Microsoft Help And Support. Microsoft Help And Support. How to keep a Jet 4.0 database in top working conditionHow to keep a Jet 4.0 database in top working condition. . [Internet]. Available from: <http://support.microsoft.com/default.aspx?scid=kb;en-[Internet]. Available from: <http://support.microsoft.com/default.aspx?scid=kb;en-us;303528> [Accessed 8 March 2005a]us;303528> [Accessed 8 March 2005a]

Microsoft Help and Support. Microsoft Help and Support. How to obtain the latest service pack for the Microsoft Jet How to obtain the latest service pack for the Microsoft Jet 4.0 Database Engine4.0 Database Engine. [Internet]. Available from: . [Internet]. Available from: <http://support.microsoft.com/default.aspx?scid=kb;en-us;239114> [Accessed 2 <http://support.microsoft.com/default.aspx?scid=kb;en-us;239114> [Accessed 2 September 2005b]September 2005b]

Microsoft Office Online. Microsoft Office Online. Microsoft Office Downloads Home PageMicrosoft Office Downloads Home Page. [Internet]. Available . [Internet]. Available from: <http://office.microsoft.com/en-gb/officeupdate/default.aspx> [Accessed 2 from: <http://office.microsoft.com/en-gb/officeupdate/default.aspx> [Accessed 2 September 2005]September 2005]

Neelamkavil, F. & Mullarney, O. (1991)Neelamkavil, F. & Mullarney, O. (1991)A Methodology And Tool Set For Supporting The Development Of Graphical User A Methodology And Tool Set For Supporting The Development Of Graphical User Interfaces. Interfaces. Computer Graphics ForumComputer Graphics Forum [Internet], no. 10, 1, pp.37-47. Available from [Internet], no. 10, 1, pp.37-47. Available from <http://www.blackwell-synergy.com/servlet/useragent?<http://www.blackwell-synergy.com/servlet/useragent?func=synergy&synergyAction=showAbstract&doi=10.1111/1467-func=synergy&synergyAction=showAbstract&doi=10.1111/1467-8659.1010037&area=production&prevSearch=%28fulltextfield%3A%28HCI8659.1010037&area=production&prevSearch=%28fulltextfield%3A%28HCI%29+OR+articletitlefield%3A%28HCI%29%29+OR+keywordsfield%3A%28HCI%29> %29+OR+articletitlefield%3A%28HCI%29%29+OR+keywordsfield%3A%28HCI%29> [Accessed 5th May 2005][Accessed 5th May 2005]

Bibliography (4)Bibliography (4)

Ondotnet. Ondotnet. Introduction to OOP in VB.NETIntroduction to OOP in VB.NET. [Internet]. Available from: . [Internet]. Available from: <http://www.ondotnet.com/pub/a/dotnet/2002/09/22/vb-oop.html> [Accessed 27 March <http://www.ondotnet.com/pub/a/dotnet/2002/09/22/vb-oop.html> [Accessed 27 March 2005] 2005]

Online Training Solutions Inc (2003) Online Training Solutions Inc (2003) Microsoft Office Access 2003 Step by StepMicrosoft Office Access 2003 Step by Step. . Washington: Microsoft Press. ISBN:  0735615179 Washington: Microsoft Press. ISBN:  0735615179

Process Impact. Process Impact. Glossary of Requirements Engineering TermsGlossary of Requirements Engineering Terms. [Internet]. Available . [Internet]. Available from:<from:<http://www.processimpact.com/UC/Module_3/Export/data/downloads/glossary.html#tophttp://www.processimpact.com/UC/Module_3/Export/data/downloads/glossary.html#top> > [Accessed 6th April 2005][Accessed 6th April 2005]

San Jose State University. San Jose State University. Shneiderman’s Principles Of Computer Interface DesignShneiderman’s Principles Of Computer Interface Design. . [Internet]. Available from: < http://www2.sjsu.edu/depts/it/itcdpdf/shneiderman.pdf> [Internet]. Available from: < http://www2.sjsu.edu/depts/it/itcdpdf/shneiderman.pdf> [Accessed 8 March 2005][Accessed 8 March 2005]

Seapine. Seapine. Seapine Software - Surround SCM Features.Seapine Software - Surround SCM Features. [Internet]. Available from [Internet]. Available from <http://www.seapine.com/scmfeatures.html> [Accessed 21 May 2005a] <http://www.seapine.com/scmfeatures.html> [Accessed 21 May 2005a]

Seapine. Seapine. Seapine Software - Surround SCM - Pricing and Licensing.Seapine Software - Surround SCM - Pricing and Licensing. [Internet]. Available [Internet]. Available from < http://www.seapine.com/scmfeatures.html> [Accessed 21 May 2005b] from < http://www.seapine.com/scmfeatures.html> [Accessed 21 May 2005b]

SearchOracle.com. SearchOracle.com. Relational DatabaseRelational Database. [Internet]. Available from:<. [Internet]. Available from:<http://searchoracle.techtarget.com/sDefinition/0,,sid41_gci212885,00.htmlhttp://searchoracle.techtarget.com/sDefinition/0,,sid41_gci212885,00.html> [Accessed 12th April > [Accessed 12th April 2005]2005]

Sommervile, I. (2001) Sommervile, I. (2001) Software EngineeringSoftware Engineering. 6th ed. Harlow: Pearson Education Limited. . 6th ed. Harlow: Pearson Education Limited. ISBN020139815XISBN020139815X

Techtarget. Techtarget. HCIHCI. [Internet]. Available from: < . [Internet]. Available from: < http://searchsmb.techtarget.com/sDefinition/0,,sid44_gci213992,00.html> [Accessed 8 http://searchsmb.techtarget.com/sDefinition/0,,sid44_gci213992,00.html> [Accessed 8 March 2005]March 2005]

University Of Bath. University Of Bath. Legal issues relating to information on the InternetLegal issues relating to information on the Internet. [Internet]. . [Internet]. Available from: < http://internal.bath.ac.uk/web/legal/#copyright> [Accessed 30 May Available from: < http://internal.bath.ac.uk/web/legal/#copyright> [Accessed 30 May 2005]2005]

Bibliography (5)Bibliography (5)

Viescas, J.L. (2003) Viescas, J.L. (2003) Microsoft Office Access 2003 Inside OutMicrosoft Office Access 2003 Inside Out. Washington: Microsoft . Washington: Microsoft Press. ISBN:  0735615136 Press. ISBN:  0735615136

Webopedia. Webopedia. DatabaseDatabase. [Internet]. Available from:<. [Internet]. Available from:<http://www.webopedia.com/TERM/D/database.htmlhttp://www.webopedia.com/TERM/D/database.html> [Accessed 6th April 2005a]> [Accessed 6th April 2005a]

Webopedia. Webopedia. Two-tierTwo-tier. [Internet]. Available from: < . [Internet]. Available from: < http://www.webopedia.com/TERM/t/two_tier.html> [Accessed 8 March 2005b]http://www.webopedia.com/TERM/t/two_tier.html> [Accessed 8 March 2005b]

Webopedia. Webopedia. Three-tierThree-tier. [Internet]. Available from:< . [Internet]. Available from:< http://www.webopedia.com/TERM/t/three_tier.htmlhttp://www.webopedia.com/TERM/t/three_tier.html > [Accessed 8 March 2005c] > [Accessed 8 March 2005c]

Wikipedia. Wikipedia. Software PrototypingSoftware Prototyping. [Internet]. Available from:< . [Internet]. Available from:< http://en.wikipedia.org/wiki/Software_Prototypinghttp://en.wikipedia.org/wiki/Software_Prototyping > [Accessed 8 March 2005] > [Accessed 8 March 2005]

Windows Server System. Windows Server System. Windows Server 2003 System RequirementsWindows Server 2003 System Requirements. [Internet]. Available . [Internet]. Available from:from:<http://www.microsoft.com/windowsxp/sp2/default.mspx> [Accessed 3 September <http://www.microsoft.com/windowsxp/sp2/default.mspx> [Accessed 3 September 2005]2005]

Windows XP. Windows XP. Windows XP Service Pack 2Windows XP Service Pack 2. [Internet]. Available . [Internet]. Available from:from:<http://www.microsoft.com/windowsxp/sp2/default.mspx> [Accessed 2 September <http://www.microsoft.com/windowsxp/sp2/default.mspx> [Accessed 2 September 2005]2005]

Thank You For Your TimeThank You For Your Time