0% found this document useful (0 votes)
12 views61 pages

Restaurant Project

Pasi Pemusasa is a restaurant in Harare Central that offers a variety of local and foreign foods, established in 2003. The restaurant has faced operational challenges due to reliance on manual record-keeping, leading to data loss and inefficiencies, prompting the need for a digital system. Proposed solutions include implementing database tools and digitalizing operations to improve data management and security.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views61 pages

Restaurant Project

Pasi Pemusasa is a restaurant in Harare Central that offers a variety of local and foreign foods, established in 2003. The restaurant has faced operational challenges due to reliance on manual record-keeping, leading to data loss and inefficiencies, prompting the need for a digital system. Proposed solutions include implementing database tools and digitalizing operations to improve data management and security.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 61

PASI PEMUSASA

Best of Local and foreign foods

DDonnel Mativirira
TABLE OF

CONTENTS

SECTION A

background……………………………………………………………………………..3

means for research…………………………………………………………….3

problem analysis of current system…………………………………………………………6

entity relationship model…………………………………………………………………7

user requirement……………………………………………………………………………..

hardware……………………………………………………………………………………….11

software…………………………………………………………………………………………12

aims and objectives………………………………………………………………………..28

SECTION B

consideration of alternative means………………………………30

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

Evaluation of system limitations……………………..49

Section E

Depth of knowledge and understanding………..50

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 .

Data flow diagram of pasi pemusasa

Research instruments chosen


Questionnaire

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.

Problems of current system

 Is harder to handle due to consistent flow of data


 Difficult to cater for unforeseen changes in data e.g. a customer
cancelling reservations
 Data can easily be lost and albeit destroyed
 It is strenuous on the personal handling the book of recordings
 Time consuming to manually input data into the book
 makes it difficult to look-up essential information due to information
being jumbled up e.g. Customers from a certain who start with the
initial R
 data can be mismanaged and forged by external parties
 this system does not provide data integrity, data privacy and security

Solutions to problems

 the use of database tools to record data


 the use of storage devices like flash drives and floppy disks to keep
information safe and backed up
 digitalisation of the current system for it to be easier to use
 Use of sorting algorithms in order to access data with accuracy and medium
difficulty
 Use of search queries in order to accurately find data on the system

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

Programming software is a software which helps the programmer in developing


other software. Compilers, assemblers, debuggers, interpreters etc. are
examples of programming software. Integrated development environments
(IDEs) are combinations of all these software.

7
Programming software is also known as programming tool or software
development tool.

Programming software definition

Programming software is a program or set of programs which helps the


software developers by assisting them in creating, debugging and
maintaining other programs and applications .

Programming software is a sub-category of system software but according to


some sources it is stated as a separate category of software along with
application and system software.

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).

WHAT IS SYSTEM SOFTWARE?

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.

EXAMPLES OF SYSTEM SOFTWARE

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.

 Firmware: pre-installed low-level software that controls a device’s basic functions.

 Utility software: tools for system maintenance and optimization.

 Boot loaders: software that initializes the OS during startup.

WHY USE SYSTEM SOFTWARE?

Here are some reasons why system software is necessary:

1. Hardware Communication: System software serves as an interface between the


hardware and software components of a computer, enabling them to communicate
and work together.

2. Resource Management: System software manages computer resources such as


memory, CPU usage, and storage, optimizing their utilization and ensuring that the
system operates efficiently.

3. Security: System software provides security measures such as firewalls, antivirus


software, and encryption, protecting the system and its data from malware, viruses,
and other security threats.

4. User Interface: System software provides a user interface that allows users to
interact with the computer or computing device and perform various tasks.

5. Application Support: System software supports the installation and running of


applications and software on the system.

6. Customization: System software allows for customization of the system settings


and configuration, giving users greater control over their computing environment.

FEATURES OF SYSTEM SOFTWARE

The most important features of system software are as below.

1. Memory Management: operating system perform memory management. The OS


keeps track of the primary memory and allocates the memory when a process
requests it.

2. Processor Management: OS performs process management. Allocates the main


memory (RAM) to a process and de-allocates it when it is no longer required.

3. File Management: Operating system perform file management. Allocates and de-
allocates the resources and decides who gets the resources.

4. Security: Prevents unauthorized access to programs and data using passwords.

5. Error-detecting Aids: Production of dumps, traces, error messages, and other


debugging and error-detecting methods.

6. Scheduling: The OS schedules the process through its scheduling algorithms.

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.

Important Tasks Performed by the Operating System

The main functions of operating systems are as follow:

 Resource Management: The operating system manages and allocates memory,


CPU time, and other hardware resources among the various programs and
processes running on the computer.

 Process Management: The operating system is responsible for starting, stopping,


and managing processes and programs. It also controls the scheduling of
processes and allocates resources to them.

 Memory Management: The operating system manages the computer’s primary


memory and provides mechanisms for optimizing memory usage.

 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.

 Device Management: The operating system manages input/output devices


such as printers, keyboards, mice, and displays. It provides the necessary
drivers and interfaces to enable communication between the devices and the
computer.

2. Programming Language Translator

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.

 Assembler: An assembler is a program that converts the assembly language into


machine code. It takes the basic commands and operations and converts them into
binary code specific to a type of processor.
Assemblers produce executable code that is similar to compilers. However,
assemblers are more simplistic since they only convert low-level code (assembly
language) to machine code. Since each assembly language is designed for a
specific processor, assembling a program is performed using a simple one-to-one
mapping from assembly code to machine code. On the other hand, compilers must
convert generic high-level source code into machine code for a specific processor.

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.

There are mainly two main types of firmware chips:

 BIOS (Basic Input/Output System) chip.

 UEFI (Unified Extended Firmware Interface) 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.

Listed below are some particular attributes of utility software:

 Users benefit from protection from threats and infections.

 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.

 It operates as a disk defragmenter to organize the dispersed files on the drive.

 It aids in the recovery of lost data.

USES OF SYSTEM SOFTWARE

Here are some common uses of system software:

1. Operating systems: An operating system is a type of system software that


manages computer hardware and software resources and provides common
services for computer programs. Operating systems are used in a wide variety of
applications, from personal computers to servers, supercomputers, and embedded
systems.

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.

3. Firmware: Firmware is a type of system software that provides low-level control


over hardware devices such as BIOS firmware, firmware for embedded systems,
and firmware for network devices such as routers and switches.

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.

5. Programming tools: Programming tools are a type of system software that is


used by developers to create, debug, and optimize software applications. These
tools include compilers, debuggers, integrated development environments (IDEs),
and performance analysis tools.

ISSUES IN SYSTEM SOFTWARE

1. Compatibility Issues: System software may not be compatible with certain


hardware components, which can cause errors or crashes.

2. Security Issues: System software may contain vulnerabilities that can be


exploited by hackers or malware to gain unauthorized access to the system or
steal sensitive data.

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.

4. Update Issues: System software updates may contain bugs or compatibility


issues that can cause problems with the system or other software components.

5. Licensing Issues: Some system software may require licensing or activation,


which can cause problems if the license expires or if there are licensing errors.

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

1. Resource management: System software manages and allocates resources such


as memory, CPU, and input/output devices to different programs.

2. Improved performance: System software optimizes the performance of the


computer and reduces the workload on the user.

3. Security: System software provides security features such as firewalls, anti-virus


protection, and access controls to protect the computer from malicious attacks.

4. Compatibility: System software ensures compatibility between different hardware


and software components, making it easier for users to work with a wide range of
devices and software.

5. Ease of use: System software provides a user-friendly interface and graphical


environment, making it easier for users to interact with and control the computer.

6. Reliability: System software helps ensure the stability and reliability of the
computer, reducing the risk of crashes and malfunctions.

7. Increased functionality: System software provides a range of tools and utilities


for performing various tasks, increasing the functionality and versatility of the
computer.

DISADVANTAGES OF SYSTEM SOFTWARE

1. Complexity: System software can be complex and difficult to understand,


especially for non-technical users.

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.

4. Vulnerability: System software, especially the operating system, can be


vulnerable to security threats and viruses, which can compromise the security and
stability of the computer.

5. Upgrades: Upgrading to a newer version of system software can be time-


consuming and may cause compatibility issues with existing software and
hardware.

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.

FUNCTIONS OF APPLICATION SOFTWARE

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

 Managing information and data in an organization

 Managing and checking documents across

 Software for educational purposes such as Learning Management Systems and e-


learning systems

 Development of visuals and video for presentation purposes

 Emails, text messaging, audio and video conferencing involved in presentation

 Management of accounting, finance, and payroll helping the HR department and


other businesses

 Enterprise Resource Planning (ERP)

 Customer Relationship Management (CRM)

 Management of any small or large scale project

14
 Management of smooth and efficient business processes

EXAMPLES OF APPLICATION SOFTWARE

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.

 A collection of Microsoft software including MS Office, PowerPoint, Word, Excel,


and Outlook.

 Common Internet browsers like Google Chrome, Safari, Firefox, etc.

 Graphics and designing software such as Canva, Adobe Photoshop, CorelDraw,


and AutoCAD.

 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.

 How Much Does It Cost and What Is the Value?

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.

 Is the Software Firm Willing to Fix Bugs?

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.

 How Often Do They Push Updates?

Make sure to discuss with your software agents how often their product is updated and how
those updates are conveyed to you.

 Is the System Adaptable Enough to Satisfy Your Requirements?

Software that is highly customizable could also be complicated and cumbersome to


implement and also the cost might also rise the more and more you try to customize it
according to your requirements.

 What kind of support do they offer?

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.

NEED OF APPLICATION SOFTWARE

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.

 Manages and manipulates data: Application software is used in businesses to


manage and alter employee, customer, and other databases. An enterprise
resource management system or a customer relationship management system
are two common examples of application software.

 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.

TYPES OF APPLICATION SOFTWARE

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

Presentation software also commonly known as presentation graphics is a particular category


of application program used to construct sequences of words and a series of pictures that tell
a story or help support a speech or public presentation of any type of information or a launch
of new products or services.

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.

10. Simulation Software

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.

12. Closed Source

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 .

ADVANTAGES OF APPLICATION SOFTWARE

 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.

 Standard updates from engineers for Licensed application programming can be


obtained using general logic of health.

DISADVANTAGES OF APPLICATION SOFTWARE

 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.

DIFFERENCE BETWEEN SYSTEM SOFTWARE AND APPLICATION SOFTWARE

The Windows operating system is an excellent example of system software, whereas


Microsoft Office, Photoshop, and CorelDraw are well-known examples of application software.

What is off the shelf software

Off the Shelf Software, also called commercial software, is any kind of
software solution that has been developed for the mass market.

It is a ready-made product that you can purchase.

This is in direct contrast to bespoke software, which is where the solution


is custom-made for you

INITIALLY THE CHEAPER OPTION

An off the shelf product is usually the cheapest way to purchase a new
software solution.

This is because it is a pre-made product created for the mass-market. As it


has already been developed and is purchased multiple times, the cost is
therefore reduced as it is spread over many users.

Whereas bespoke software costs significantly more as the product is


developed for the individual customer. It must be built from scratch, so the
cost is high to cover the time and expertise taken in the development of
the product.

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

Because the product already exists, so do 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.

YOU CAN TRY BEFORE YOU BUY

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.

THERE ARE PRE-EXISTING SOLUTIONS

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.

UPDATES ARE INCLUDED

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

As commercial software is made for the mass market, it has to be created


with the functionality in place to please as many people as possible.

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 SORT OF SUPPORT WILL BE AVAILABLE

When you buy any software solution, be it commercial or bespoke, you


should be offered some sort of support. With commercial software, this
could be anywhere from online live chat, to email, or telephone
communications.

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.

Be sure to check what support is available, as it can vary. But


you should have some.
And like I mentioned earlier, you will also have FAQs and user experience
to inform you.

UPGRADES ARE PAID FOR BY SOMEONE ELSE

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.)

THE DISADVANTAGES OF OFF THE SHELF SOFTWARE

CAN COST YOU MORE OVER TIME

The first problem with commercial software is that although it is the


cheaper option initially, it can cost you more long-term. This is due to
persistent fees for the use of the product such as licensing, and the cost
of additional users.

Plus, additional features or differing versions of the software could carry


additional costs.

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.

INFLEXIBLE PRODUCT WHERE CHANGE MAY BE IMPOSSIBLE

Although the vendor may make changes to the software, you won’t be able
to.

Sometimes you can hybridise a commercial solution, and develop it


yourself to include new features or integration. But this is not always
possible, and will obviously require hiring an experienced developer to
help.

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.

YOU HAVE NO CONTROL

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.

SUPPORT MAY BE UNAVAILABLE OR LOST OVER TIME

Not every commercial software comes with support included. And as


mentioned previously, the kind of support and its availability can vary or
depend on how much you’re paying. Be sure to investigate what support is
available for the package you want.

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.

UPGRADES MIGHT COST EXTRA

I mentioned this disadvantage of commercial software above. With off the


shelf software, there may be different versions of the product, each with
more features and a higher cost. Additionally, later upgrades to the
product may be optional and carry an additional cost.

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

This might sound strange, but having an abundance of features could be a


disadvantage, just as much as it might prove an advantage.

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.

IT MIGHT NOT HAVE ALL THE FEATURES YOU NEED

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.

IT MIGHT NOT FIT YOUR WORK PROCESSES

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.

However, it just is not feasible for a commercial product to be created with


the ability to do it all. (Similar to how you might find that it lacks some
features you would like.)
This means that you might find the product is not able to integrate with
systems you are already using, or need to use to complement and
complete your work process. Similarly, the software may not be able to

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

WHAT IS 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 ADVANTAGES

1. Individually crafted solution:

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.

BESPOKE SOFTWARE DISADVANTAGES

1. Initial costs are higher than off-shelf software:

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.

2. Waiting Time is high:

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 and objectives

aims

 To simplify work done by the workforce


 To tackle the problem of data being mishandled
 To produce a functional program
 Ensure maximum effort without the strain

Objectives

 Increase profit gain


 Makes work easy
 Motivates workers to increase work
 Reduce errors

Questionnaires for customers

28
1. Have you ever partaken in pasi pemusasa before?

2. What did you notice about their current methods of operation?

___
3. Where there any issues experienced during your visit?

4. If there were outline the issues?

5. What are your proposed solutions?

Questionnaires for customers

29
1. Have you ever partaken in Pasi pemusasa before?

2. What did you notice about their current methods of operation?

___
3. Where there any issues experienced during your visit?

4. If there were outline the issues?

5. What are your proposed solutions?

Questionnaires for customers

30
1. Have you ever partaken in pasi pemusasa before?

2. What did you notice about their current methods of operation?

3. Where there any issues experienced during your visit?

_
4. If there were outline the issues?

5. What are your proposed solutions?

Questionnaires for staff

31
1. What is your occupation at pasi pemusasa?

What are your current methods of operation?

_________________________________________________
2. Are there any noteworthy issues with the methods of operation?

3. If there are state them and their effects

4. What are your proposed solution?

Questionnaires for staff

32
1. What is your occupation at pasi pemusasa?

2. What are your current methods of operation?

3. Are there any noteworthy issues with the methods of operation?

4. If there are state them and their effects

5. What are your proposed solution?

__________________________________________________________________________
__________________________________________________________________________
____________________________________________

33
Questionnaires for staff

1. What is your occupation at pasi pemusasa?

2. What are your current methods of operation?

3. Are there any noteworthy issues with the methods of operation?

4. If there are state them and their effects

5. What are your proposed solution?


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
________________

Questionnaires for management

34
1. What are your current methods of operation?

2. What is the way in which you currently operate your business?

3. Issues observed pertaining to current operations?

4. Proposed solutions towards issues

Questionnaires for management

35
1. What are your current methods of operation?

2. What is the way in which you currently operate your business?

3. Issues observed pertaining to current operations?

4. Proposed solutions towards issues

36
Questionnaires for management

1. What are your current methods of operation?


_____________________________________________________________
_____________________________________________________________
_____________
2. What is the way in which you currently operate your business?
_______________________________________________________
_______________________________________________________
__________
3. Issues observed pertaining to current operations?
_____________________________________________________________
_____________________________________________________________
_____________
4. Proposed solutions towards issues

__________________________________________________________________________
__________________________________________________________________________
____________________________________________________________________

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

Justification of proposed solution

 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

Design for reservation page

Design for menu page

38
Design for utility page

Design for stock page

39
Design for staff page

Validation

40
Price

Number

Date

41
Data structures

Staff page table

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

Reactive test strategy


A test strategy whereby the test team waits to design and implement tests until the software
is received, reacting to the actual system under test.

Justification of test strategy


Reactive testing and monitoring are essential for ensuring that your reactive application
architecture meets the expectations of your users and stakeholders. Through reactive testing
and monitoring, you can detect and fix errors and failures before they affect your users or
your business, improve the quality and reliability of your code and components, optimize the
resource utilization and scalability of your system, gain insights and feedback on the behavior
and performance of your system, as well as validate and verify the functional and non-
functional requirements of your system.

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.

The benefits of pair programming

 Transfers knowledge

 Prevents information silos

 Solves complex problems

 Increases morale

 Finds more bugs

 Can be conducted remotely


The drawbacks of pair programming

 Time-consuming

 Can be overused

 Difficult to measure

Over-the-shoulder reviews

In an over-the-shoulder-review, two developers — the author and reviewer — team up in


person or remotely through a shared screen and the author explains the completed change
proposal and offers reasoning for the chosen solutions. The reviewer asks questions and
makes suggestions, similar to how team members collaborate during pairing sessions. The
author can make small changes during the review and note larger fixes for a later time.

The benefits of over-the-shoulder reviews

50
 Easy implementation and completion

 Can be conducted remotely

 Faster than pair programming


The drawbacks of over-the-shoulder reviews

 Reviewer is detached from code

 Review moves at the author’s pace

 Lack of objectivity

 No verification that changes were made

 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.

The supplier - customer relation

Everyone in an organization produces a product or a number of r. products whose purpose is


to help someone else in the organization. Each product has a certain quality, takes a certain
time to make and comes at a certain cost (time, quality, cost). The receiving part, the
customer, has a certain expectation to the product because they will in turn use it in their
“production” to their customers.

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.

How to improve the product to meet or exceed customer expectations

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.

Starting the system

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

Navigation of the system

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

Exiting the system

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

A system has validation to ensure that only integers between 1


and 10 are entered as an input.

The test data for this could be:

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

Test of standard data

Is test data that is typical (expected) and should be accepted by


the system.

56
Test of extreme data

TEST FOR EXTREME DATA

Is test data at the upper or lower limits of expectations that


should be accepted by the system?

57
D

Test of abnormal data.

Is test data that falls outside of what is acceptable and should


be rejected by the system.

58
System testing

Method of erasure

59
Desired output scheme

60
Evaluation of system limitations

 Electronic meaning that it is heavily affected by load shedding.


 Is prone to attacks like viruses and hackers.
 Is expensive to set up as well as maintenance.
 Requires an operator who has basic knowledge on how to use a computer.

Achievement
This program has single handedly created a cluster of instruments to aid this
companies problems.

61

You might also like