Restaurant Project
Restaurant Project
DDonnel Mativirira
TABLE OF
CONTENTS
SECTION A
background……………………………………………………………………………..3
user requirement……………………………………………………………………………..
hardware……………………………………………………………………………………….11
software…………………………………………………………………………………………12
SECTION B
justification of alternative………………………………………….30
input design……………………………………………………………………………31
data structure………………………………………………………………………………..33
overall plan…………………………………………………………………………..37
test strategy………………………………………………………………………..39
SECTION C
Technical documentation…………………………………………………42
User documentation………………………………………………………44
Section D
User testing……………………………………………..46
System test………………………………………………..48
Section E
Degree of originality…………………………50
Quality of reports………………………………50
2
SECTION A
BACKGROUND
In the Harare Central business District there is an enterprise restaurant known as Pasi
pemusasa. It offers a wide range of local and foreign food stuffs with the aim of
bringing a ‘slice of exotic and local into Zimbabwe'
They record all their transactions on a book detailing reservations, stock, inventory of
tables chairs and cutlery and staff recordings.
It was established in 2003 and business has been relatively smooth until 2009. During
their daily unravelling they discovered that the book they recorded all their manual
operations had been missing thus hindering all operations for that time period.
The restaurant can cater a total of 120 people per sitting and utilizes an estimated total
of 37 chefs and waiters on hand .
3
A document with carefully crafted questions to be answered by the respondent by filling on
the spaces provided. Questionnaires are used when collecting information from a widely
spaced population sample and when collecting information from many people. A
questionnaire contains open-ended and closed questions. Open-ended questions are gap
filling questions which require the respondent to express his or her own view. Closed
questionnaires are guided questions where the respondent just chooses YES or NO, TRUE or
FALSE, or by just putting a tick on given options. They can be distributed personally or by
post.
QUESTIONNAIR
Observations
It is a fact finding method that involves viewing the actual system in operation by the
researcher. The researcher can take part in operating the system. It is used when the
researcher wants to see for himself how the system parries.
Solutions to problems
4
Entity relationship model
5
Feasibility study
Evaluation of economic: the benefits of this newly developed system will heavily outweigh its
initial cost of development, purchasing, installing and maintaining.
Evaluation of technical: the organisation has obtained the software, equipment, technology
and personal requirement needed to develop, install and operate the system
Evaluation of schedule: with detailed analysis, it has been found that the program should be
fully developed by the end of the year.
Evaluation of social: this program was made such that anyone with basic knowledge can
utilize its capabilities. In addition, it has a positive impact on society by creating a pool of
employment
Evaluation of legal: the program adheres to all legal requirements especially the data
protection act and inevitably enforces it
Evaluation of operational: the current work practices have been slightly changed in order to
adequately support the system.
User requirements
Hardware Requirements.
The most common set of requirements defined by any operating system or software
application is the physical computer resources, also known as hardware, A hardware
requirements list is often accompanied by a hardware compatibility list (HCL), especially in
case of operating systems. An HCL lists tested, compatible, and sometimes incompatible
hardware devices for a particular operating system or application. The following sub-sections
discuss the various aspects of hardware requirements.
Architecture
All computer operating systems are designed for a particular computer architecture.
Most software applications are limited to particular operating systems running on
particular architectures. Although architecture-independent operating systems and
applications exist, most need to be recompiled to run on a new architecture. See also a
list of common operating systems and their supporting architectures.
Processing power
The power of the central processing unit (CPU) is a fundamental system requirement for any
software. Most software running on x86 architecture define processing power as
the model and the clock speed of the CPU. Many other features of a CPU that influence its
speed and power, like bus speed, cache, and MIPS are often ignored. This definition of power
is often erroneous, as different makes and models of CPUs at similar clock speed often
have different throughput speeds.
6
Memory
All software, when run, resides in the random access memory (RAM) of a computer. Memory
requirements are defined after considering demands of the application, operating system,
supporting software and files, and other running processes. Optimal performance of other
unrelated software running on a multi-tasking computer system is also considered when
defining this requirement.
Secondary storage
Data storage device requirements vary, depending on the size of software installation,
temporary files created and maintained while installing or running the software, and possible
use of swap space (if RAM is insufficient).
Display adapter
Software requiring a better than average computer graphics display, like graphics editors and
high-end games, often define high-end display adapters in the system requirements.
Peripherals
Some software applications need to make extensive and/or special use of some peripherals,
demanding the higher performance or functionality of such peripherals. Such peripherals
include CD-ROM drives, keyboards, pointing devices, network devices, etc.
Keyboard
Standard requirement as it is a hardware device that allows the user to type in select values
and is more user friendly.
Mouse/touchpad
A device used as a pointing device to support accurate co-ordination of the computer and
maximises efficiency
Monitor
Allows access to a series and array of applications ready to view as well as allows the viewer
to be able to see what they are currently doing.
Software requirements
THESE ARE THE SOFTWARES USED TO MAKE THE PROJECT FUNCTION
PROGRAMMING SOFTWARE
7
Programming software is also known as programming tool or software
development tool.
SYSTEM SOFTWARE
System software refers to the low-level software that manages and controls a computer’s
hardware and provides basic services to higher-level software. There are two main types of
software: systems software and application software. Systems software includes the
programs that are dedicated to managing the computer itself, such as the operating system,
file management utilities, and disk operating system (or DOS).
System software is software that provides a platform for other software. Some examples can
be operating systems, antivirus software, disk formatting software, computer language
translators, etc. These are commonly prepared by computer manufacturers. This software
consists of programs written in low-level languages, used to interact with the hardware at a
very basic level. System software serves as the interface between the hardware and the end
users.
System software refers to the collection of programs and software components that enable a
computer or computing device to function properly. It acts as an intermediary between the
user and the computer hardware, allowing the user to interact with the hardware and use
various applications and programs. Some common types of system software include
operating systems (such as Windows, macOS, or Linux), device drivers, utility programs,
programming languages, and system libraries.
Operating systems are the most important type of system software, as they provide the
foundational framework for all other software and applications to run on the computer. They
manage computer resources, such as memory and processing power, and provide a user
interface for users to interact with the system. Device drivers are another important type of
system software, as they allow the operating system to communicate with hardware devices
such as printers, scanners, and graphics cards. Utility programs provide additional
functionality to the operating system, such as disk defragmentation, virus scanning, and file
compression.
System software is a type of computer program that is designed to run a computer’s hardware
and application programs and examples of system software include operating systems (OS)
(like macOS, Linux, Android, and Microsoft Windows), game engines, search engines(like
google,Bing,Yahoo!), industrial automation, computational science software, and
(SaS)software as a service applications.
8
Operating systems (OS): Windows, Linux, macOS, etc.
Device drivers: software that enables the communication between hardware and
OS.
4. User Interface: System software provides a user interface that allows users to
interact with the computer or computing device and perform various tasks.
3. File Management: Operating system perform file management. Allocates and de-
allocates the resources and decides who gets the resources.
9
TYPES OF SYSTEM SOFTWARE
1. Operating System
An operating system (OS) is a type of system software that manages a computer’s hardware
and software resources. It provides common services for computer programs. An OS acts as
a link between the software and the hardware. It controls and keeps a record of the execution
of all other programs that are present in the computer, including application programs and
other system software.
Security: The operating system provides a secure environment for the user,
applications, and data by implementing security policies and mechanisms such as
access controls and encryption.
File Management: The operating system is responsible for organizing and managing
the file system, including the creation, deletion, and manipulation of files and
directories.
Programming language translators are programs that translate code written in one
programming language into another programming language. below are examples of
programming language translator.
Compiler: A compiler is a software that translates the code written in one language
to some other language without changing the meaning of the program. The
compiler is also said to make the target code efficient and optimized in terms of
time and space.
A compiler performs almost all of the following operations during compilation pre-
processing, lexical analysis, parsing, semantic analysis (syntax-directed
translation), conversion of input programs to an intermediate representation, code
optimization, and code generation. Examples of compilers may include gcc(C
compiler), g++ (C++ Compiler ), javac (Java Compiler), etc.
10
Interpreter: An interpreter is a computer program that directly executes, i.e. it
performs instructions written in a programming or scripting language. Interpreters
do not require the program to be previously compiled into a machine language
program. An interpreter translates high-level instructions into an intermediate form,
which is then executed.
Interpreters are fast as it does not need to go through the compilation stage during
which machine instructions are generated. The interpreter continuously translates
the program until the first error is met. If an error comes it stops executing. Hence
debugging is easy. Examples may include Ruby, Python, PHP, etc.
3. Device Drivers
Device drivers are a class of system software that minimizes the need for system
troubleshooting. Internally, the operating system communicates with hardware elements.
Device drivers make it simple to manage and regulate this communication.
To operate the hardware components, the operating system comes with a variety of device
drivers. The majority of device drivers, including those for a mouse, keyboard, etc., are pre-
installed in the computer system by the businesses that make computers.
4. Firmware
These are the operational programs installed on computer motherboards that assist the
operating system in distinguishing between Flash, ROM, EPROM, and memory chips.
However, managing and controlling all of a device’s actions is the main purpose of
any firmware software. For initial installation, it makes use of non-volatile chips.
5. Utility Software
System Software and application software interact through utility software. A third-party
product called utility software is created to lessen maintenance problems and find computer
system defects. It is included with your computer’s operating system.
WinRAR and WinZip are programs that aid in reducing disk size.
It assists with disk partitioning and functions as a windows disk management service.
11
It makes it easier for users to back up old data and improves system security.
2. Device drivers: Device drivers are a type of system software that allow operating
systems to communicate with hardware devices such as printers, scanners, and
graphics cards. Without device drivers, operating systems would not be able to
interact with hardware devices, making them useless.
4. System utilities: System utilities are a type of system software that performs
routine maintenance tasks such as disk cleanup, defragmentation, antivirus
scanning, and system backups. These utilities help ensure that the computer
system is running efficiently and securely.
3. Performance Issues: System software may not be optimized for the hardware or
may be resource-intensive, which can cause the system to slow down or freeze.
6. User Interface Issues: The user interface of system software may not be intuitive
or may be difficult to use, which can affect the user experience.
12
ADVANTAGES OF SYSTEM SOFTWARE
6. Reliability: System software helps ensure the stability and reliability of the
computer, reducing the risk of crashes and malfunctions.
2. Cost: Some system software, such as operating systems and security software,
can be expensive.
3. System Overhead: The use of system software can result in increased system
overhead, which can slow down the performance of the computer and reduce its
efficiency.
6. Limited Customizability: Some system software may have limited options for
customization, making it difficult for users to personalize their computing
experience.
7. Dependency: Other software programs and devices may depend on the system
software, making it difficult to replace or upgrade without disrupting other
APPLICATION SOFTWARE
13
Application software (App) is a kind of software that performs specific functions for the end
user by interacting directly with it. The sole purpose of application software is to aid the user
in doing specified tasks.
Web browsers like Firefox, and Google Chrome, as well as Microsoft Word and Excel, are
examples of application software that is used on a personal computer or laptop. It also
includes smartphone apps such as WhatsApp and Telegram, as well as games such as
Candy Crush Saga and Ludo. There are also app versions of popular services that people
rely on every day, such as weather or transportation information, as well as apps that connect
end users with their businesses.
Application software programs are generally designed and developed to help with a wide
range of tasks. Here are a few examples:
Software for healthcare applications for seamless connectivity and quick response
14
Management of smooth and efficient business processes
A variety of explicit application software programs are available to help you manage your
tasks, jot down notes, do online research, set alarms, keep an account log, and even play
games. Application software packages are designed to do certain tasks, ease workflows, and
improve team communication.
The most frequent applications used by millions of people on a daily basis are listed below.
Real-time online communication tools like Skype, Hangouts, Google Meet, Zoom,
and Whatsapp for video, and audio calls and messages.
Multimedia and music streaming software such as Wynk, Gaana, MX Player, VLC
Media Player, Spotify, Pandora, etc. are used for entertainment purposes.
Project management software like Teams, Asana, Soho, Slack, Forecast, etc. for
official purposes.
Though pricing is vital to any business decision, it shouldn’t be the only element you consider.
If you decide to purchase software only because of its price it might not guarantee your
business the best value. Remember, a software's cost is not always associated with its value.
15
Will You Need Assisted Implementation?
Software models that are highly complex and require a great deal of time to learn and master
will negatively affect the adoption rates. Spend precious time investigating viable software
alternatives so you can make the most effective and useful option for your organization and
team that will save your team and project time and energy.
Whenever you purchase any new software for your company, you should be well aware of the
software company's regular procedures for fixing bugs. Double-check with the company
whether your company’s issue with the software will be solved whenever it occurs.
Make sure to discuss with your software agents how often their product is updated and how
those updates are conveyed to you.
Before purchasing, make a note of the support hours for every software agents you are
considering, as the question of support hours should encompass not only the timeframes
during which you can get support, but also how swiftly they can accomplish them. You should
be able to check whether you can get just phone support, or if everything is done by email or
the ticketing system.
16
What Level of Security Does the Software Offer?
Always take a careful view of the privacy policy provided by any software you are considering
purchasing. This should therefore summarize everything you need to know concerning data
collection, storage, and usage.
End-users can use application software to perform any type of single or many tasks.
Following are a few reasons you would definitely need application software (App) on your
computer:
Helps the user in completing specific tasks: Any application software should, in
general, be created with the end user in mind. They will primarily benefit the end-
user by assisting them in doing specialized activities in a range of industries,
including education, business, and entertainment. Microsoft Word, for example, is
a commonly used application software that allows users to create, edit, delete,
and perform other actions on word documents.
Allows users to effectively organize information: Data can be created and handled
efficiently by individual users using application software. For example, Microsoft
Excel is a very popular application software amongst companies that allows users
to manage datasheets.
Application software can also be classified depending on how much it costs and how easily it
can be accessed. Here are some examples of application software:
17
1. Word Processing Software
Word Processing refers to the act of using a personal computer (PC) or laptop to create, edit,
save and print documents which can be performed only with specialized software known as a
Word Processor. One example of a Word Processor is Microsoft Word which is widely used
by all professionals.
2. Spreadsheet Software
Spreadsheet software is a type of computer program that enables a user to perform numerical
functions and explore numbers through an automated version of an accounting worksheet.
Best example of spreadsheet software is Microsoft Excel.
3. Presentation Software
4. Multimedia Software
Multimedia software can be described as the combination of text, audio, images, animation,
or video to produce a wide scope of interactive content for both professional and personal
use. You can easily learn about media players, file formats, and how to operate audio and
video software on the whole.
5. Web Browsers
A web browser can take you all over the internet. It retrieves data from other parts of the web
and shows it on your desktop or mobile device for your viewing. The data is transmitted using
the Hypertext Transfer Protocol, which describes how text, images, and video are shared on
the World Wide Web.
18
6. Educational Software
Educational software refers to any computer software designed solely for educational
reasons. It includes a wide range of software, including language learning software,
classroom management software (CMS), and reference software for students and other
professionals.
7. Graphics Software
Graphics software can rework with bitmap and/or vector graphics and can be utilized to create
label templates. Graphics software generally includes Canva, Adobe Illustrator, Photoshop,
InDesign, CorelDraw, Inkscape, Microsoft Paint, and Paint.Net.
8. Freeware
Freeware is typically marketed for profit but might be allocated specifically for a business or
commercial purpose with the aim to expand the market share of any newly launched premium
product. Some of the widespread examples of closed-source freeware include Adobe Reader,
Free Studio, and Skype.
9. Shareware
Shareware is software that is supplied for free on a trial basis in order for the user to test or
use the programme for a specific amount of days with the understanding that the user may
need or want to pay for it later if they are satisfied with the product usage. Some software
manufacturers provide a shareware edition of their product with an expiration date built in,
such that after 30 days, the user or customer will no longer be able to access the application
for further use.
Simulation software authorizes engineers to evaluate, optimize, and compare product designs
with other similar software by modelling real-world events in a computer-generated
environment.
19
11. Open Source
Open source software is a specific code designed to be publicly accessible so that anyone
can see, modify, and distribute the code as they see which fits the purpose. It is designed in a
decentralized and coordinated way, depending on peer assessment and community
production.
Closed source software is where the source code is not freely accessible. It is developed and
delivered to the customer as a fully compiled, executable set of files. The developer often
provides aid to users after purchase and ensures that the software works .
It meets every client’s particular requirements and needs. The client usually
recognizes that they must utilize only one explicit program to finish the task
because it is designed explicitly for one reason.
Businesses that are related to specific applications can restrict access and think
about strategies to monitor their activities.
Developing and evolving any application software to achieve specific goals can be
quite pricey for developers but this can have a strong impact on their financial plan
and income stream, particularly if an unreasonable high amount of time is spent
on a product that is not normally worthy.
20
Application software that is widely used by many of us and then disseminated on
the internet is inherently vulnerable to infection by a bug or other malicious
initiatives.
Off the Shelf Software, also called commercial software, is any kind of
software solution that has been developed for the mass market.
An off the shelf product is usually the cheapest way to purchase a new
software solution.
QUICK TO IMPLEMENT
Much like the above, this advantage comes from the fact the solution has
already been developed. Because it is a pre-existing product, all you have
to do is buy it and install it. You don’t have to wait for it to be created as
you would with a bespoke solution.
In fact, the biggest wait time you will have is probably the time spent
searching for the right solution that fulfils all of your requirements.
21
YOU CAN ACCESS REVIEWS AND ADVICE FROM EXISTING USERS
And while the software is being used by other people, it means that you
can get an understanding of how they are using the product and how they
are finding it.
If there are common bugs these will be mentioned, and usually, a solution
will exist in a forum. This means that if you encounter a problem you might
find that it is easy to resolve yourself.
Additionally, the product being in use means that you can read the reviews
from other users, giving you an insight into what it’s like to be working
with the product day-to-day and if people find the product to be reliable,
and good value for the money.
Again, this advantage stems from the fact that commercial software is pre-
developed. This means that there is (usually) the ability to try before you
buy.
Most solutions offer some form of trial, either free or discounted, making it
easy to test the product for yourself and see how it fits in with your work
process.
In most cases, you will find that there is pre-existing support available for
software products. This could be anything from an FAQ list on their site, a
user forum, or just a Q&A thread on Reddit.
As people are already using the solution, they and the vendor will be
aware of some bugs or common issues and would have provided the
solution. In this case, you can go into working with the software already
informed about what to do in certain situations and the reassurance that
you can find help when you need it.
Due to the demands on off the shelf software, regular updates will need to
be carried out.
These can range from general maintenance of the product to bug fixes,
and even implementing new features.
Because the product is owned by a vendor, it’s their job to manage and
carry out these updates. And as a user, you get to reap the rewards of
these updates without lifting a finger or paying extra. It’s all part and
parcel of the product you bought and it’s lifecycle.
22
COULD OFFER YOU MORE FEATURES
This means that when you take on an off the shelf solution, you could find
that the product can do everything you need it to and more.
You can have too much of a good thing though, and equally, the software
has every chance it might be missing features you want. This makes it
important to do your research and make sure the solution is capable of
meeting your needs.
Some products may limit support depending on the package you have
purchased. For example, a basic product offers email and live chat,
whereas the more expensive options include 24/7 calls and a dedicated
agent.
Because you aren’t developing the software yourself, the cost of creating
updates and upgrades or the solution will not be paid for by you. The cost
of these additional developments will be paid for by the vendor.
It’s as simple as that. It’s not your responsibility to update the software.
(It comes with a trade-off, though. I’ll talk about that below.)
23
This means that depending on how long you use the product for, and how
many people are using it, it can cost you more than bespoke software in
the end. This is why it is important to not only consider the startup costs
for software but the lifetime cost.
Although the vendor may make changes to the software, you won’t be able
to.
This means that if you want to make any changes of your own to the
product, it might not be possible. In fact, even the initial developer may
not make any changes to the software, and you’ll find you have an
inflexible product that over time becomes outdated.
Because you have not developed the software yourself, you do not own the
product or the source code. This means that you have no input or control
into any changes made to the product, for better or worse.
Ergo, the software could be changed in a way that does not suit you.
Features that you like or even rely on may be removed. The best-case
scenario is that upgrades and updates to the product benefit you, or make
no difference to your experience using it.
Additionally, just as upgrades can stop after a while, so too can support
for the product. Meaning when problems occur, you will need to find a
developer who can help you.
Furthermore, you might find you need to develop the product yourself. This
will obviously carry a monetary and time cost for you.
24
COULD BE OVERSATURATED WITH FUNCTIONALITY
Although getting more for your money is always great, it can leave you
with more than you bargained for. With a mass of features and functions, it
can be easy to feel daunted and confused by the software. Additionally,
with so many features, the usability of the product might decline.
The truth is, a commercial product is made to work for as many people as
possible. And when a product is made for the mass market, it simply
cannot satisfy every need for every person.
This means that you could find that a commercial software solution does
not offer the features and functionality that you require. In which case,
you’ll need to use several solutions in tandem, or a hybrid or bespoke
product.
The issue with commercial software is that it is made to suit many people,
and not you specifically. Often, this is not a problem, and the software
does what you need to in a way that works for your business. However,
this isn’t guaranteed.
You might find that the software doesn’t include every feature you need,
and so requires extra work and additional products integrated with it in
order to execute your work processes. Alternatively, your new software
might be able to complete all the functions you require, but in a way that
does not align with your current process.
Your software should complement the way you work, not require you to
change how you work. This is why it is important to consider the benefits
of the solution, and if making changes are worthwhile or if developing a
solution designed to complement and integrate seamlessly with your
current ways of working.
INTEGRATION ISSUES
The fact is, the software is made for the mass market so it can’t be perfect
for every user. It should be able to integrate with commonly used software
and read popular file types.
25
use file types which you are already using and thus requiring reformatting
or changes to your process.
The problem is, you shouldn’t have to change your work processes to fit a
solution. They’re a solution after all, not another problem you have to
overcome. This is why I suggest that you do not take on a solution that
requires changes unless the benefit of the product is great enough to
justify the effort or if changes will be taking place anyway, such as if you
are going through a digital transformation.
Bespoke software
Bespoke software is nothing but custom-designed software tailor-made and developed for
any organization. The software caters to the needs and requirements carefully addressed and
counted upon. The software fits perfectly and addresses the concern about the problem
situation and therefore completely satisfies the needs of the organization using it. Because it
is tailor-made and not bought off-the-shelf, costs more than your typical store-bought
software. However, in the long term, bespoke software does not require any need of
maintenance or further upgradation. Many firms and organizations use bespoke software for
their applications and sustenance of business operations.
People regard bespoke software being the best solution for companies and organizations.
This is because all the requirements perfectly addresses the software. It completely fits the
bill of needs an organization has.
Bespoke software is comparable to a custom-tailored suit. It will fit your parameters perfectly.
Compared to the suit that you buy in shops. It needs some adjustments and alterations in
order to fit you perfectly. The same is true for off the shelf products as well. Compared to
custom software, they are an all-purpose solution, which can be used by many companies.
This software often ends up trying to change your business to fit the technology rather than
changing the technology to fit the business.
The tailored software is more suited and customized according to your business requirements
and needs. It is designed to serve well all the purposes of your organization and is the right fit
for you. In short it helps your company grow and prosper in the right sense of time and
investment.
2. Returns on Investment:
While bespoke software can often involve investments, you often start experiencing financial
benefits for your investments almost immediately. When it is well
almost immediately. When it is well planned and well built, the time, as well as the human
resource savings, can quickly pay for themselves. As can the competitive edge that you can
26
gain by developing better systems than your rivals. Bespoke software can increase your
company’s operating efficiency when it is well planned and executed to develop custom
software for your business.
When you compare to the long term goals, you come to know that eventually bespoke
software pays itself off. You start reaping the benefits right from the first year itself. It only
requires investment at at earliest stage for you to start getting rewards and benefits.
3. Better Security:
Common off the shelf products have one major disadvantage, hackers know all the security
loopholes of such kind of programs and can often take advantage of these weaknesses. That
is the reason why you do not feel 100% secure when you’re using such software. On the
other hand, custom software or bespoke software is only used by your business and this cuts
the chances of hacks and break-ins to a bare minimum. This also reduces the chances of
incentives for hacking. When you use an off the shelf product, you can get successful in
hacking one system and can potentially access thousands more that use the same software.
Bespoke software is highly secure when you compare it with off the shelf software. This is
because the software is designed to your customer requirements and needs. Hence it is
viable to know that it is a best fit for your organization and caters to all your needs.
4. Scalability:
If your company grows or it expands to cover various other market sectors, the off the shelf
solution may not cope or input in a way the system develops over time. Bespoke software can
grow and scale together with your business as it expands. Bespoke software being designed
according to your customer needs and requirements, it is worthwhile to know that in terms of
scalability as well it is efficient and easily expandable. Scalability is a such an entity that
comes when there is a touch of customizability and personalization to suit the needs
happens.
5. Time Saving:
Bespoke software can help you to save time and resources that help you utilize the full
potential of your resources. Because the software is custom designed to fit your needs, you
can use the software to manage a critical business process that saves you time. This does
not happen with off the shelf products. As they say, time saved is money saved.
The upfront costs borne by the company in the initial stages associated with custom software
development is the biggest disadvantage. Bespoke software or custom made software often
costs more than its off-shelf variants. Mainly due to the fact that it requires more time and
effort to create the perfect solution. Eventually, it benefits any organization using it, once the
27
software is developed often can bring you much more money.
Since custom software or bespoke software created from scratch, companies need to wait for
some time for the developers to build it. However, its the perfect fit for your business. Well
worth the wait because all good things require some time and effort for creation.
aims
Objectives
28
1. Have you ever partaken in pasi pemusasa before?
___
3. Where there any issues experienced during your visit?
29
1. Have you ever partaken in Pasi pemusasa before?
___
3. Where there any issues experienced during your visit?
30
1. Have you ever partaken in pasi pemusasa before?
_
4. If there were outline the issues?
31
1. What is your occupation at pasi pemusasa?
_________________________________________________
2. Are there any noteworthy issues with the methods of operation?
32
1. What is your occupation at pasi pemusasa?
__________________________________________________________________________
__________________________________________________________________________
____________________________________________
33
Questionnaires for staff
34
1. What are your current methods of operation?
35
1. What are your current methods of operation?
36
Questionnaires for management
__________________________________________________________________________
__________________________________________________________________________
____________________________________________________________________
Section B
37
Consideration of alternative means
It is a way of cataloging the daily intake of customers as well as the food largely
consumed in order to make detailed surveys in the future.
Organisation of restaurant operations into ordered files and formats in order to
accurately manage operations
Easier to formulate into organizing and sorting algorithm for managing strings of data
Can be used as a way of attracting potential investors and customers through display
of infirm information earning trust
This solution provides the cheapest and most efficient means of tackling the issue at
hand.
The solution will cater for challenges the likes of loss of data by natural forces and
deals with data theft head on.
Ensures the creation of a capable and sophisticated organisation to help with
operations.
Input design
38
Design for utility page
39
Design for staff page
Validation
40
Price
Number
Date
41
Data structures
FORM VIEW
MENU TABLE
42
MENU FORM
RESERVATION TABLE
43
RESERVATION FORM
UTILITY TABLE
UTILITY FORM
STOCK TABLE
44
STOCK FORM
45
Overall plan
Login page
homepage
Reservation page
46
Menu
Stock
47
Utility
Staff
48
Test strategy/test
49
Section c
Software design
Techniques that improve the structure, clarity and appearance of the code
CODE REVIEWS
Pair programming
Pair programming involves two developers collaborating in real time — one writing code (the
driver) and one reviewing code (the navigator). Pairing sessions are popular with
development teams because teammates collaborate to identify the most effective solution to a
challenge. Team members share knowledge and can quickly overcome difficulties by working
through ideas together and drawing on their expertise.
Transfers knowledge
Increases morale
Time-consuming
Can be overused
Difficult to measure
Over-the-shoulder reviews
50
Easy implementation and completion
Lack of objectivity
Difficult to measure
Procedures
When working inside an organization, some distance away from the end customer, it is easy
to forget that even inside an organization we have suppliers and customers. Usually when we
think of the customer, we tend to think about the organizations or people our organization
sells products to (product then being a physical product or a service). But the truth is that the
final customer is just the final node in a web of supplier - customer relationships inside the
supplying organization.
Product with a certain quality and cost in a certain time -> Customer expectation
Whether the product provides what is needed or not must be clarified with the customer. This
clarification can be followed up with a measurable metric, a key performance indicator to
measure how well you perform on what is important to the customer.
The finished product is a result of a process being performed, the tools used in the process
and the general competence of the people executing the process. This is performed in the
context of the organization in which the product is produced.
The above 4 elements can be illustrated in a model including the quality, time and cost
aspects of the deliverable, and the KPI to measure the outcome, seen through the eyes of the
customer:
51
Technical documentation
Flowchart
52
Code algorithm
Flowchart of modules
53
54
User documentation
HOW TO INSTALL
First go to the file location of your program and open it. Upon doing so read carefully the
TERMS AND CONDITIONS of the program and if all is within your interest then you can
proceed to where it allows you to install.
N.B the program can only install if all software and hardware requirements are met.
Upon installation, open up the program and fill in the capcha forms assigned in order to verify
your identity in the future and once that is done you can begin
The first use allows you to view a tutorial on how to navigate as well as operate your program
with a few easy hacks and tools openly disclosed to the user
Once you are doing utilizing the program. You can go to the exit button to stop operations and
this will be true if your work has been saved ,if not it verifies if that’s what the user desires.
55
Section D
User testing
Normal data: 5
Boundary data: 1, 10 (to be accepted); 0, 11 (to be rejected)
Extreme data: 1, 10
Abnormal data (erroneous data): Thirteen, 5.7, 14
Parameter overview
56
Test of extreme data
57
D
58
System testing
Method of erasure
59
Desired output scheme
60
Evaluation of system limitations
Achievement
This program has single handedly created a cluster of instruments to aid this
companies problems.
61