Study On Fact Finding Techniques Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The target audiences are the group of people that will use the system the users and the person controlling the system the admin. In other to have clear understanding of system requirements, the Author has contact his target audience and vital information through a fact finding technique which will be discuss next.

Chosen Technique

From many fact-finding techniques we have, the author chooses the one that he thinks is the most suitable in this case and the one to use is questionnaire to determine the system requirements in this project. The fact-finding technique is being chosen because it is easier and more economical means of getting large pool of user requirements for the author. When conducted carefully, the chosen technique provides a well and clearer requirement specification.


This is an economical fact-finding technique that involves the setting up of a series of written questions to be distributed to a large number of people to get several views on the system requirements, and statistically analyze them (Bennett, McRobb, and Farmer, 2006).

Advantages of Questionnaire

This technique as stated by Bennett, McRobb, and Farmer, (2006) has the following advantages:

Provides data economically from large number of people.

When designed carefully, the result of a questionnaire can be easily analyzed.

Disadvantages of Questionnaire

The drawbacks being suffered by questionnaire are (Bennett, McRobb, and Farmer, 2006):

It is difficult to construct.

Sometimes suffer from low response rates.

No automatic follow-up or deeper probing medium is available.

Appropriate Situation

This technique is very useful when views from large number of people is needed or when people are geographically dispersed and when building an application for the general public (Bennett, McRobb, and Farmer, 2006).

Questionnaire Analysis

The author designed and distributed a total of 50 questionnaires out of which 46 were responded to. Based on the 46 respondents of the questionnaire, the author has analyzed the response as below:

Note: The first three (3) questions are for the admin but still if you know you can answer, the Author is very glad to receive and work with your answer.

1. How do you find the general interface of car parking system?

Figure 4.3.1

This question was designed to help the author get an overview of how users think of the current systems interface. From the analysis, majority of the respondents think that the current systems interface is satisfactory while others think it's simple. Only a few said it is complex, thus the author will try to design this system's interface to be as good as the current systems or even better.

2. Is it comfortable if a system is restricted to display in specific Platform?

Figure 4.3.2

Most respondents of this question don't like systems to be restricted to specific browsers, while a few think it is nice. This system will thus be designed to display well in all browsers.

3. How would you like the system navigation to be displayed?

Figure 4.3.3

This question was designed to target the navigational aspect of the new system. As seen above, most users said they preferred a simple navigation rather than a fancy and complicated one.

4) Do you think simulator is important in a car parking system environment?

Figure 4.3.4

This question was to find out how people think on the importance of simulator in a car parking system. If users don't know how importance is the car parking system simulator, it will difficult for them to accept the system. But from the data we have it shows that many people agreed that simulator is important.

5) Do you agree that parking system simulator will be helpful?

Figure 4.3.5

People may point out the need to have something if they really need it and it is not in place and it's absent is showing a significant drawbacks to the people daily activities. In the authors analysis, due to the problems people are facing nowadays and the introduction of some intelligent parking systems people start to realize that simulator is going to be very helpful. That's why people opt to agreed with it importance.

6) Have you ever interacted with simulator?

Figure 4.3.6

Although people know the importance of simulators but only few have interaction with such kind of system. This is like a disadvantage to this approach but it may be because it's new to people. Since people agreed with it helps and importance it is going to be accepted by the people, if the system is very user friendly after completion.

7) Would like the car parking system simulator to have some or all of the following features? (You can select more than one (1) answer).

Figure 4.3.7

This question is based on some functional requirement of the system and they are among the most important features of the system. Tracking car, information on empty lot and searching vehicle lot this some of the limitation of many of the current system or some have some of the feature but they lack some which clearly show the deficiency of the system. People have experience the implication of not having them in the system.

8) How can you rate the response time of the current car parking systems?(4-high and 1-very low)

Figure 4.3.8

Base on the people who interact and know or have some experience of the current system, they rate response of the system as good and there voting shows that they want the proposed system to maintain and if possible improve response of the system. This is indicating one of the non functional requirements that the system should provide.

9) Do you want the system to be indicating to you where you or which lot you should park?

Figure 4.3.9

One of the causes of traffic parking complex is the inadequacy of the system to assign each car its parking lot before passing the entrance gate. If each is assign with lot the driver knows exactly where he/she they would go. This eliminate the wasting time in searching for the parking lot.

10) What do you think causes the wasting time in car parking complex?

Figure 4.3.10

Most of the time driver waste so much time in searching for an empty bay to park. This can be prevented if the system is sufficient enough to allocate parking lot to the car. Some of the people blame the driver for parking anyhow, some blame the system for not providing possible solution while some state different problems.

Requirements Specification

Before the Author specifies the requirements it should be noted that the Author have split the requirements into their four appropriate categories to enhance their clarity:

• Functional requirements

• Non-functional requirements

• User interface and Usability requirements

• User requirements

Functional Requirements

Lot information

The system should allow the user to know the information about the empty lot. In case when a customer needs to know the available lots then the administrator can retrieve the information for them.

Car searching

The system should allow the user to search a car. The system should the customer to search where he parks his car if he forgot or misplace his ticket.

Calculation of charges

The system should generate the sums owed to any car driver. The system should process how much each car would paid depending on the time spent inside the parking complex.

Detection of car

The system should detect any car in the entrance. The system should also know any car that exit by removing its information attaches to a particular lot.

Assigning of lot

The system should allow the admin to assign lot a car when there is need for that. Because the system is responsible for assigning lot automatically, but if there any case or the admin want to reserve a space for car the system should provide that.


The system should allow the admin to monitor the traffic in the parking area and allow him to adjust the timing of entrance and exiting in other to control the traffic


When the customer makes an enquiry, the admin can reserve space for him and store it in the database.

Non-functional requirements

These refer to the properties of the system and the constraints that are going to apply

to the system. Some are tangible while the others could be assessed by observation.

With regards to this system, the following are the non-functional requirements;


The application that is to be created will be implemented in Java language because, it is dubbed as the most portable programming language as it can be used in any platform without modification to the code. The system should also support a user running any type of computer.

Response time

Performance is one main factor to be considered when creating an application. The system should be able to react quickly upon a request from user. There should not be any long delay of transferring signal to response user's request. Any delay may cause the system to work differently.

Error Handling

The system should be able to avoid errors by not allowing the user to perform unnecessary action. Only valid actions will be permissible in the game. In the event of an error message, dialogs will be used to inform the user what is wrong and what is the right thing to do.


The system should be an effective parking system simulator allowing users to go about their tasks efficiently. All necessary tasks and functions a user needs to perform should be provided by the system.

The development of the system should follow the project management Gantt chart and be completed in the allocated period of time.

User interface and usability requirements

The user interface and usability of the system should comply with usability heuristics Heuristics for User Interface Design (2001).

User requirements

The system should support the user's level of computer experience and literacy, so that the user can use the system with minimal help.

Additional Requirement

Storing car number:

The system should take the car number immediately after the driver press the ticket button then store it and printing it together with the lot number, time and other necessary information.


This chapter has completely describe the techniques been used in collecting the user requirement. The Author produce the functional, non functional, user interface and usability, user requirements and additional requirement.



In this chapter, the author will discuss on the development languages to be use in implementing the system. Good choice of programming language will lead to the successful system and wrong choice will to the other way. The author has selected some programming languages and some database also to compare in other to figure which is the most suitable to use in developing the system.

Programming Language


ASP.Net is a web application framework marketed by Microsoft that programmers can use to build dynamic web sites, web applications and web services. It is part of Microsoft's.NET platform and is the descendant to Microsoft's Active Server Pages (ASP) technology. ASP.NET executes all code on the server (in the same way to a normal application). The server returns the resultant HTML to the client when the ASP.NET code has been processed. Then the server will use it to make the clients browser experience quicker and easier if the client supports JavaScript. Even with HTML being the restrictive factor here, ASP.NET still manages to bring true OOP (Object Oriented Programming) to the Internet. (Web design tutorials 2008)

Advantages Using ASP.NET

ASP.NET drastically reduces the amount of code required to build large applications

ASP.NET makes development simpler and easier to maintain with an event-driven, server-side programming model

ASP.NET pages are easy to write and maintain because the source code and HTML are together

The source code is executed on the server. The pages have lots of power and flexibility by this approach

The source code is compiled the first time the page is requested. Execution is quick as the Web Server compiles the page the first time it is requested. The server saves the compiled version of the page for use next time the page is requested

The HTML produced by the ASP.NET page is sent back to the browser. The application source code you write is not sent and is not easily stolen

ASP.NET makes for easy deployment. There is no need to register components because the configuration information is built-in

The Web server continuously monitors the pages, components and applications running on it. If it notices infinite loops, illegal software or activities, memory leaks, it seamlessly kills those activities and restarts itself. (why ASP.NET 2007)

Java Programming Language

JAVA is an object oriented programming language and it was intended to serve as a new way to manage software complexity. Java refers to a number of computer software products and specifications from Sun Microsystems that together provide a system for developing application software and deploying it in a cross-platform environment (article base 2005). Java is used in a range of computing platforms from embedded devices and mobile phones on the low end, to enterprise servers and supercomputers on the high end.

The Java Platforms

Java is generally thought of in terms of three platforms: Standard Edition (SE), Enterprise Edition (EE), and Micro Edition (ME). Each describes the mixture of a language version, a set of standard libraries, and a virtual machine to execute the code. EE is a superset of SE--any EE application can presume the existence of all of the SE libraries--and EE's use of the language is indistinguishable to SE's.(Web-dot-deb. 2010)

Advantages of java

Java API's can easily be accessed by developers

Java perform supports garbage collection, so memory management is automatic

Java always allocates objects on the stack

Java embraced the concept of exception specifications

Multi-platform support language and support for web-services

Using JAVA we can develop dynamic web applications

It allows you to create modular programs and reusable codes.(Web-dot-deb. 2010)

JAVA programming enables secure and high performance software development on multiple platforms.

Programming Language Comparison

The author has come out with some evaluation criteria in other to compare both programming languages. And they are as follows:-

Ease of use: This will define how easy a programming language is in terms of applying in a project.

Efficiency: This will assess the efficiency of a programming language when it comes to coding.

Platform: Describes the platform at which applications developed by this programming language can be viewed.

Performance: This will rate the performance of the programming language with regards to speed, and error prevention.




Ease of use

the authors' has little experience on this language

Java is very well known to the Author and it's easier to use than

Efficiency is very competent in the sense that you don't have do too much of coding in designing the interface.

Also Java is very efficient and has some compilers that support drag and drop.


All Applications developed using this language, they are platform independent.

Java is entirely platform independent.


It has a very good rate of performance.

It has an excellent rate of performance and record.

Table 6.1: Programming language comparison

Chosen Language

Java is the chosen the programming language in this project. The reason of choosing Java is base on the strengths which are as follows:-

5.3.1 Strengths of Java over other programming languages

Java possesses some features and advantages which gives it an edge over other

programming languages that could alternatively be used for the development of the

Smart tool simulator in managing car parking system. Such strengths are;

• Java is simple

Java is considered a much simpler and easy to use object-oriented programming language when compared to the popular programming languages. Java was partially modeled after C++, and it has replaced the complexity of multiple inheritance in C++ with a simple structure called interface, and also has eliminated the use of pointers.

• Java is Object-oriented

Object-oriented programming models the real world. Everything in the world can be modeled as an object. For example, a squre is an object, a person is an object, and a window's icon is an object. Java is object-oriented because programming in Java is centered on creating objects, manipulating objects, and making objects work together.

• Java is Distributed

Distributed computing involves several computers communicating over a network. Java is designed to make distributed computing easy with the networking capacity that is inherently integrated into it. Coding network programs in Java is like sending and receiving data to and from a file.

• Portability

One of the most convincing reasons to adopt Java is its platform independence. Java runs on most major hardware and software platforms. Java applets are supported by all Java-compatible browsers. By moving existing software to Java, you are able to make it instantly compatible with these software platforms. Java programs become more portable. Any hardware and operating system dependencies are removed.

• Java is Interpreted

An interpreter is needed in order to run Java programs. The programs are compiled into Java Virtual Machine code called bytecode. The bytecode is machine independent and is able to run on any machine that has a interpreter.

• Security

Java is one of the first programming languages to consider security as part of its design. The Java language, compiler, interpreter, and runtime enviroment were each developed with security in mind.

• Reliability

Security and reliability go hand in hand. Security measures cannot be implemented with any degree of assurance without a reliable framework for program execution. Java provides multiple levels of reliability measures, beginning with the Java language itself.

• Java is Robust

Robust means reliable and no programming language can really assure reliability. Java puts a lot of importance on early checkin for possible errors, as Java compilers are able to detect many problems that would first show up during execution time in other languages. Java eliminates certain types of programming constructs in other languages that are prone to errors.

• Java is Multithreaded

Multithreaded is the capability for a program to perform several tasks simultaneously within a program. For instance, listing to music while you are writing in Ms Word will be considered as was discuss in chapter 3.

• Java is Dynamic

The Java programming language was design to adapt to an evolving environment. New methods and properties can be added freely in a class without affecting their clients. Also, Java is able to load classes as needed at runtime.

4.2.3 Limitations of Java

Here are some of the limitation that java possesses over the other major programming languages.

• Performance

Java can be perceived as considerably slower and more memory-consuming than natively compiled languages such as C or C++.

• Look and feel

The default look and feel of GUI application written in java using the swing toolkit is very different from native applications. It is possible to specify a different look and feel through the pluggable look and feel system of Swing.

• Single-paradigm language

Java is predominantly a single-paradigm language. However, with the addition of static imports in Java 5.0 the procedural paradigm is better accommodated than in earlier versions of Java.

( 2008)

Database Design


Oracle is a powerful relational database management system that gives the user access to their data and helps them transform the data into information (Oracle 2010). Along with Microsoft SQL Server, Oracle is generally regarded as one of the two most accepted full-featured database systems on the market today.

With Oracle Application Express, you can construct public applications that do not need a user log in, or you can create protected applications that require authentication.  Oracle Application Express provides a number of built-in authentication schemes including Single Sign On, Database Account Credentials, and an easy-to-use user management system (advantage of using Oracle 2010).  You can also use custom schemes that border with just about any authentication service including Microsoft Active Directory and Oracle Applications. Additionally, you can modify authorization to meet the requirements of your environment and apply authorization selectively to an entire purpose, a page, or a page component.  Finally, you can also take advantage of an inventive session state protection feature to prevent URL tampering and built-in features to protect an application form SQL insertion and cross-site scripting (XSS) attacks.

Microsoft SQL Server

SQL stands for Structured Query Language. SQL is used to communicate with and request information from a database. The Structured Query Language (SQL) comprises one of the essential building blocks of contemporary database architecture. SQL defines the methods used to create and operate relational databases on all major platforms.

SQL statements are used to execute responsibilities such as update data on a database, or retrieve data from a database. Some common relational database management systems that use SQL are: Oracle, Sybase, Microsoft SQL Server, Access, Ingress, etc. Although nearly all database systems use SQL, most of them also have their own additional proprietary extensions that are frequently only used on their system. (New Features and Enhancements

J2SE 5.0 2010)

Choice of Database

Oracle is the chosen database because is much versatile than SQL. Oracle can run and handle more transactions than SQL. Oracle would be better if you are going to have lots of database usage. Oracle is better with memory leaks and handles multiple threads. You can do SQL Transactions, stored procedures, DTS in Oracle that you cannot do in SQL earlier versions (oracle advantage over Mysql 2009). Oracle is expensive, although they came out with Oracle Free Edition to attract SQL users. Oracle are only limited to large corporations due to licensing costs and not all hosting companies have Oracle but its more reliable and secure. You can make billions of data with SQL, but it will be slow on the server.

Oracle JVM

Oracle Database 11g Release 1 (11.1) includes a fully functional Java Virtual Machine (JVM), as well as the Java class libraries for Sun's Java Development Kit (JDK) 5.0. When combined with Oracle's JDBC and SQLJ, this release provides an enterprise class platform, Oracle JVM, for developing and deploying server-based Java applications.

Oracle JVM Compatibility With JDK 5.0

The system classes in Oracle JVM are upgraded from JDK 1.4 level to JDK 5.0. For additional information. (New Features and Enhancements

J2SE 5.0 2010)

Oracle JVM Utilities Enhancements

The utilities enhancements include:

URL support in loadjava

List-based operation with dropjava

Class closure tool

ojvmjava enhancements

Usability Enhancements

The following apply:

JDK-like command-line interface

Database-resident JAR support

Sharing of metadata for user classloaded classes

Two-tier duration for Java session state

Direct and immediate termination of Java sessions

Redirection output on the server

Support for JMX interface

Just-In-Time (JIT) Compiler

The JIT compiler complies Java bytecode on-the-fly resulting in hugh enhancement of the of Java execution time (as compared with interpreted mode). The JIT stores the compiled binaries avoiding recompilation. It is enabled by default and can be disabled using the java_jit_enabled=false initialization parameter. To reenable, use java_jit_enabled=true.


The Oracle Database Java Developer's Guide provides details for installing and configuring a Java-enabled database. The use of Oracle JVM requires increasing shared_pool and java_pool limits.

The primary initialization parameters that can affect Java usage and performance are shared_pool_size and java_pool_size.

shared_pool Memory

The shared_pool memory is consumed mainly during Java initialization in the database (for example, initjvm.sql), loadjava, Java source compilation, and call-specifications processing. How much increase is required depends on usage but at least shared_pool_size = 96M is recommended.

java_pool_size Memory

The java_pool_size is used mainly for in-memory representation of Java method and class definitions, static Java states that are migrated to session space at end-of-call in shared server mode. How much increase is required depends on usage but at least java_pool_size = 50M is recommended.

JDK 5.0 Compatibility

This release has been thoroughly tested with Sun's Java Compatibility Kit for JDK 5.0. Oracle is committed to Oracle JVM keeping pace with Java and other internet standards.


In this release, key JDBC features include support of the latest Java/JDBC standards (such as JDK 6 and JDBC 4.0) and the exposure of new Oracle Database 11g Release 1 (11.1) features to Java Developers (such as new SQL types, Streams/AQ, and Diagnosability).

Support for Java Standards: JDK 6.0 and JDBC 4.0

Support for Java standards include:

Enhancements to Statement, ResultSet, and Wrapper Pattern

New SQLException framework

Enhancements to BLOB and CLOB

New standard data types (java.sql.*)

Support for New Oracle Database Features

New feature support includes:

New data types (AnyType and AnyData)

Advanced security option for JDBC-thin (Kerberos, Radius, SSL authentication, SHA1 checksum and AES encryption)

Support for Database Change Notification for cache invalidation

New Performance, Scalability and Manageability Features

New performance, scalability and manageability features include:

Streams AQ integration and new native AQ protocol for JDBC-thin

Prefetch in first round trip for JDBC-thin

Support for JMX interface

Database startup and shutdown

Support for OCI client result cache

(Oracle Database Readme 11g Release 1(11.1) 2007)


In this chapter the Author compare some programming languages and data base(s) to be use in developing the system. The Author chooses the most suitable language which is java and oracle, and the Author is going to apply them in developing the system.