Programming Assignment
Programming Assignment
Mr. S. Hariarthan
Assessor Internal
Verifier
Unit01 Programming
Unit(s)
Give details:
• Constructive?
• Linked to relevant assessment
criteria? Y/
• Identifying opportunities for N
improved performance? Y/
• Agreeing actions? N
Y/
N
Y/
N
Give details:
Internal
Verifier Date
signature
Programme Leader
signature (if required) Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID S. Pakeen
Date Received
Submission Date 1st submission
17.05.2021
Assessor Feedback:
LO1. Define basic algorithms to carry out an operation and outline the process of programming an application.
LO2. Explain the characteristics of procedural, object-orientated and event-driven programming, conduct an analysis of a sui
Integrated Development Environment (IDE).
LO4. Determine the debugging process and explain the importance of a coding standard.
Resubmission Feedback:
Grade: Assessor Signature: Date:
* Please note that grade decisions are provisional. They are only confirmed once internal and
external moderation has taken place and grades decisions have been agreed at the assessment board.
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Mr. S .Hariarthan taught us this programming lesson so that we can understand it very well at
the most professional level and we have done this assignment easily. Assignment notes were
obtained through the internet and his personal knowledge. Not only that, he looked at the
assignment review over the internet in a timely manner even though the teaching activities were
done through online class without physical class. He also helped us with assignment doubts. As
well as giving us the attention and encouragement we needed to do the assignment. I am very
satisfied with his teaching.
Assessor signature Date
[email protected] 17.05.2021
Student signature Date
Pearson Higher Nationals in
Computing
Unit 01: Programming
Assignment 01
General Guidelines
1. A Cover page or title page – You should always attach a title page to your assignment. Use
previous page as your cover sheet and be sure to fill the details correctly.
2. This entire brief should be attached in first before you start answering.
3. All the assignments should prepare using word processing software.
4. All the assignments should print in A4 sized paper, and make sure to only use one side printing.
5. Allow 1” margin on each side of the paper. But on the left side you will need to leave room for
binging.
Important Points:
1. Check carefully the hand in date and the instructions given with the assignment. Late
submissions will not be accepted.
2. Ensure that you give yourself enough time to complete the assignment by the due date.
3. Don’t leave things such as printing to the last minute – excuses of this nature will not be
accepted for failure to hand in the work on time.
4. You must take responsibility for managing your own time effectively.
5. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
6. Failure to achieve at least a PASS grade will result in a REFERRAL grade being given.
7. Non-submission of work without valid reasons will lead to an automatic REFERRAL. You will
then be asked to complete an alternative assignment.
8. Take great care that if you use other people’s work or ideas in your assignment, you properly
reference them, using the HARVARD referencing system, in you text and any bibliography,
otherwise you may be guilty of plagiarism.
9. If you are caught plagiarizing you could have your grade reduced to A REFERRAL or at worst
you could be excluded from the course.
Student Declaration
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it
as my own without attributing the sources in the correct way. I further understand what it means to
copy another’s work.
[email protected] 17.05.2021
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number S. Pakeen
Unit Number and Title Unit 01: Programming
Submission Format
1. Written Report
This submission is in the form of an individual written report. This should be written in a concise, formal
business style using single spacing and font size 12. You are required to make use of headings, paragraphs
and subsections as appropriate, and all work must be supported with research and referenced using the
Harvard referencing system. Please also provide a bibliography using the Harvard referencing system. (The
recommended word count is 1,500–2,000 words for the report excluding annexures)
3. Presentation
With the submitted system student should do a presentation to demonstrate the system that was
developed. Time allocated is 10 to 15 min. Student may use 5 to 10 PowerPoint slides while doing the
presentation, but live demonstration of the system is required. Evaluator will also check the ability to modify
and debug the system using the IDE.
LO1. Define basic algorithms to carry out an operation and outline the process of
programming an application.
LO4. Determine the debugging process and explain the importance of a coding standard
Assignment Brief and Guidance:
Activity 1
Searching on an array/list is to find a given element on the array, return whether it is found or not and
return its position if found. Linear search and binary search are two popular searching algorithms on
arrays.
1.1 Define what an algorithm is and outline the characteristics of a good algorithm. Develop
algorithms for linear search and binary search using Pseudo code.
1.2 Convert the algorithms developed in 1.1 to executable programmes using Python and implement a
dry run to evident above the execution of two codes. Show the outputs at the end of each iteration
and the final output. Critically evaluate the efficiencies in implemented codes using Big-O
notation.
Activity 2
2.1 Define what is meant by a Programming Paradigm. Explain the main characteristics of
Procedural, Object oriented and Event-driven paradigms and the relationships among them.
2.2 Write small snippets of code as example for the above three programming paradigms using a
suitable programming language(s) and critically evaluate the code samples that you have above in
relation to their structure and the unique characteristics
Activity 3 and Activity 4 are based on the following Scenario.
Ayubo Drive is the transport arm of Ayubo Leisure (Pvt) Ltd, an emerging travel & tour company in Sri
Lanka. It owns a fleet of vehicles ranging from cars, SUVs to vans.
The vehicles that it owns are hired or rented with or without a driver. The tariffs are based on the
vehicle type. Some of the vehicle types that it operates are, small car, sedan car, SVUs, Jeep (WD), 7-
seater van and Commuter van. New vehicle types are to be added in the future.
Vehicle rent and hire options are described below.
1. Rent (With or without driver) – For each type of vehicle, rates are given per day, per week and
per month. Rate for a driver also given per day. Depending on the rent period the total rent
amount needs to be calculated. For example: if a vehicle is rented for 10 days with a driver, total
amount to be calculated as follows:
Total rent = weekly Rent x 1 + daily Rent x 3 + daily Driver Cost x 10
2. Hire (with driver only) – These are based on packages such as airport drop, airport pickup, 100km
per day package, 200km per day package etc. Standard rates are defined for a package type of a
vehicle type if that is applicable for that type of vehicle. For each package maximum km limit and
maximum number of hours are also defined. Extra km rate is also defined which is applicable if
they run beyond the allocated km limit for the tour. For day tours if they exceed max hour limit, a
waiting charge is applicable for extra hours. Driver overnight rate and vehicle night park rate also
defined which is applicable for each night when the vehicle is hired for 2 or more days.
Activity 3
3.1 Design suitable algorithms for vehicle tariff calculation for rents and hires.
Ideally 3 functions should be developed for this purpose as follows:
Function 1: Rent calculation.
Return the total rent value when vehicle no, rented date, return date, with driver parameters are sent in.
with driver parameter is set to true or false depending whether the vehicle is rented with or without
driver.
Function 2: Day tour - hire calculation.
Calculate total hire value when vehicle no, package type, start time, end time,
Start km reading, end km reading parameters are sent in. Should return base hire charge, waiting
charge and extra km charge as output parameters? Calculate total hire value when vehicle no, package
type, start time, end time, start km reading, end km reading parameters are sent in. Should return base
hire charge, waiting charge and extra km charge as output parameters?
Calculate total hire value when vehicle no, package type, start date, end date, start km reading, end km
reading parameters are sent in. Should return base hire charge, overnight stay charge and extra km
charge as output parameters?
3.2 Implement the above algorithms using visual studio IDE (using C#.net) and design the suitable
database structure for keeping the tariffs for vehicle types and different packages which must be
used for implementing the above functions.
3.3 Analyze the features of an Integrated Development Environment (IDE) and explain how those
features help in application development. Evaluate the use of the Visual Studio IDE for your
application development contrasted with not using an IDE.
Activity 4
4.1 Design and build a small system to calculate vehicle hire amounts and record them in a database for
customer billing and management reporting for Ayubo drive. This includes the completing the
database design started in 3.2 and implementing one or more GUIs for vehicle, vehicle type, and
package add/edit/delete functions. It essentially requires an interface for hire calculation and
recording function described above. Generating customer reports and customer invoices are not
required for this course work.
4.2 What is debugging an application? Explain the features available in Visual studio IDE for debugging
your code more easily. Evaluate how you used the debugging process to develop more secure,
robust application with examples.
4.3 Explain the coding standards you have used in your application development. Critically evaluate
why a coding standard is necessary for the team as well as for the individual.
Grading Rubric
Table of Contents
01 Activity ................................................................................................................................... 6
1.1 Linear search and Binary search algorithms on array ............................................... 6
1.1.1 Algorithm ................................................................................................................. 6
1.1.2 Good character of algorithm.................................................................................. 6
1.1.3 Develop algorithms For Linear search and Binary search using Pseudocode .. 7
1.2 Creating Program in python for array with linear search and binary search ......... 9
1.2.1 Programming process ............................................................................................. 9
1.2.2 Big- O Notation on Linear Search and Binary Search ...................................... 12
Definition of Big-O Notation .............................................................................................. 12
1.2.3 Evaluation on efficiencies of an algorithm with best case, worst case, average
case using Big-O .................................................................................................................. 13
1.2.4 Efficiencies of Big-O in linear and binary search use evidences for above
linear and binary search algorithms ................................................................................. 14
2 Activity ................................................................................................................................. 16
2.1 Overview of Programming paradigm ........................................................................ 16
2.1.1 Programming paradigm ....................................................................................... 16
2.1.2 Programming paradigm structure ...................................................................... 18
2.2 Code samples for Programming paradigm structures ............................................. 24
2.2.1 Procedural Programming .................................................................................... 24
2.2.2 Object-Oriented Programming ........................................................................... 25
2.2.3 Event-Driven Programming ................................................................................ 26
3 Activity ................................................................................................................................. 27
3.1 Design suitable algorithms for vehicle tariff calculation for rents and hires ......... 27
3.1.1 Algorithm for Rent Calculation........................................................................... 27
3.1.2 Algorithm for Hire Day tour Calculation ........................................................... 28
3.1.3 Algorithm for Hire Long tour Calculation ......................................................... 29
3.2 Overview of Ayubo Drive ............................................................................................ 31
3.2.1 Ayubo Travels Management System ................................................................... 31
3.3 Perspective on IDE ....................................................................................................... 40
3.3.1 Application Development ..................................................................................... 40
3.3.2 Purposes of Using an IDE in Application Development .................................... 46
3.3.3 Visual Studio IDE ................................................................................................. 47
S. Pakeen
HND in computing & Systems Development
ESOFT Metro Campus Jaffna
In computer programming, algorithms are usually created as functions. These functions are used
as small programs and can be referenced by larger programs. For example, an image viewer
application may include a library of functions, each of which uses different algorithms to represent
different image file formats. The image-editing program may contain algorithms for processing
image data. Some examples of image processing algorithms include cropping, resizing,
sharpening, blurring, red-eye reduction and color enhancement. (Techterms, 2013)
1. Input Specified
2. Output Specified
3. Definiteness
4. Effectiveness
5. Finiteness
6. Independent
Sequential search: In this case, the list or array is scanned sequentially and each element is checked.
For example: linear search.
Range Search - These algorithms are specifically designed to search for ordered data structures.
These types of search algorithms are much more efficient than linear search because they
constantly point to the center of the search structure and divide the search space in half.
Linear Search
Linear search is a very simple search algorithm. In this type of search, all elements are searched
one by one. Each item is checked, and if a match is found, a specific item is returned, otherwise
the search continues until the end of data collection. (Point, n.d.)
Begin
For m = 0 to y-1 by 1 do
End if
End for
End
The binary search is a fast search algorithm with an execution complexity of Ο (log n). This search
algorithm works on the principle of divide and rule. For this algorithm to work properly, data
collection must be orderly. The binary search searches for a specific item by comparing the
intermediate item in the collection. If there is a match, the element's index is returned. If the middle
element is larger than the middle element, then that element is searched in the subarray to the left
of the middle element. Otherwise, the element is searched in the subarray to the right of the middle
element. This process continues with the subarray until the size of the subarray is reduced to zero.
(Point, n.d.).
Programming process with analysis for array with linear search and binary search
Array with Linear search
Average Case
Worst Case
Disadvantage
Procedural Programming
Object – Oriented Programming
Event Driven Programming
2.1.2.1 Procedural Programming
Procedural programming is also the primary programming paradigm learned by new developers.
Essentially, the method code is that the code that directly instructs the device the way to complete
the task in logical steps. This instance uses a linear top-down approach and treats data and process
as two distinct entities. Supported the concept of procedure call, procedure-programming divides
the program into procedures, also called subroutines or functions, which contain a series of steps
to be executed. In simple terms, procedural programming involves writing an inventory of
instructions that gently tell the pc a way to accomplish a particular task. (Bhatia, 2021)
A large program is broken down into small guided procedures or functions. This reduces
copying of the code, which increases the readability and robustness of the code.
Various functions can exchange data through global variables. The functions are
completely isolated, so if we want to exchange data, we need to declare them broadly.
Functions can modify shared data. Since global data is passed from function to function;
during conversion, global data can be changed in function chains.
Top-down methodology. As mentioned earlier, procedural programming follows a top-
down methodology with a top-down workflow. (lightbringer, 2019)
Class- The building block of C ++ that leads to object-oriented programming is the class.
A user-defined data type that contains your own data members and member functions can
be accessed and used by instantiating this class. A class is like the project of an object.
Object- Objects are identifiable entities with certain attributes and behaviors. Objects are
instances of classes. When a class is defined, no memory is allocated, but memory is
allocated when the instance is created (that is, when the object is created). Objects occupy
memory and have addresses associated with them, such as Pascal records, structures, or C
combinations. When the program starts, the objects interact by sending messages to each
other. Each object contains data and code for manipulating the data. Objects can interact
without knowing the details of the data or other codes, only the type of message received
and the type of response returned by the object.
Encapsulation- Generally speaking, packaging is defined as packaging data and
information in one unit. In object-oriented programming, encapsulation is defined as
binding data and functions to manipulate it. Let us look at a real-world example of
encapsulation. The company has different parts such as accounting part, financial part, and
sales part and so on. The financial part processes all financial transactions and keeps
records of all financial data. Likewise, the sales department handles all sales-related
activities and maintains all sales records. Now it may happen that the officials of the finance
department, for some reason, need all the sales data for a particular month. In this case, he
is not allowed direct access to the sales data. He will first need to contact other people in
the sales department and then ask him for specific details. This is encapsulation. Here, the
sales department and the data of the employees who can manipulate them are combined
under one name "Sales department".
Service oriented
Service orientation is an important feature in event-driven programming used to write
programs made for services, and service orientation only consumes very little computing
power and does not slow down the computer as services often run in the background of the
operating system. .
Driven by time
In event-driven programming, it is a time-oriented paradigm, it is code that runs on a time
trigger, it could be a specific code running at a specific time depending on the time, it could be
once an hour, once a week. Or once. Month means this is a preset task. For example, Windows
update is an example of a controlled time where the user can set when to update or check and
download the update.
Event owners
Event handlers are a type of function or method that executes a specific action when a specific
event is triggered. For example, there may be a button that will show a message when the user
clicks the button and dismiss the message when the user clicks the button again, this is an event
handler.
Shooting functions
Trigger functions in event-driven programming are functions that decide which code to execute
when a particular event occurs, and are used to select which event handler to use for the event
when a particular event occurs.
Programs can often become very large and contain hundreds of thousands of lines of code. Older
programming languages, such as COBOL, took care of this complexity by allowing you to create
paragraphs or move some code to external programs that can be called from the main, central, or
control program that assigns values to variables to be used as parameters. . by the called program.
The called program will return control to the calling program upon completion and may or may
not return some values depending on the instructions. A call can be nested, where the called
program calls another subroutine with or without parameters and may or may not receive any
return value, and so on. This methodology seems simple, but it can become extremely frustrating
and unmanageable when program development and coding are outsourced to large numbers of
programmers who may be spread out across multiple locations, for example. Bangalore and Silicon
Valley.
Event-driven programming simply uses event handlers to keep a large amount of code on hand
and available to use when needed. If there are no requirements for that code, just stay away without
interfering with other code or cluttering it up. The program is now a group of routines, each
assigned to a separate and different event of a semicolon button, drop-down menu, or text box, etc.
The control program (like a form in Visual Basic) simply monitors various events and executes
the code within the event handler. dedicated to that particular event.
Classes can be created from other classes. This is called inheritance. A function or variable
belonging to one object can have the same name as belonging to another object. This is called a
polymorphism.
Out Put:
Here 10,20,30,40 integers are given in My List. The 10th digit should start with 0. def is the
keyword for defining a function. With this, we need to type sum_the_list (mylist). In python, res
mean result. So here, we will give the result as 0. Next comes the mylist in value for loop. The
result is added to the return one by one to get the output 100.
Out Put:
A class is a code template for creating objects. Objects have member variables and associated
behaviors. In Python, a class is created by the class keyword. An object is created using the
constructor of the class. This object will then be called the instance of the class. Here we give with
def_ init_(Self,name,age )in class with the name Emp. Then give def info(self), this code for print
information. After this process, give name and age in the Emp. At the last write in forloop. Further,
we give that output.
Out Put:
Here 11,22,33,44 integers are given in My List. def is the keyword for defining a function. With
this, we need to type sum_the_list (mylist).Then type if the length ==1after the if process integer
will return with my list [0]or else my list[0] will plus with mylist[1]. Then type print
(functools.reduce(lambda x, y: x +y, mylist)). After all of the process will get that output.
The vehicles that it owns are hired or rented with or without a driver. The tariffs are based on the
vehicle type. Some of the vehicle types that it operates are, small car, sedan car, SVUs, Jeep (WD),
7-seater van and Commuter van. New vehicle types are to be added in the future.
3.2.1.1 Form designs for rent, hire form screenshots with short description
Rent
This is the rent calculation for Ayubo drive. Search, save, update, delete buttons are first important
for this system. Text boxes need for user easy to type in the correct details. Date time picker shows
date, month and year. The group boxes need to find details in correct group. Such as Driver details,
Customer details, Rent calculation and Payment. There are two radio buttons in this system. Such
as with driver and without driver. If customer wants rent with driver user fill the rent id, customer
id, rent start date and rent end date. Then, click on with driver button. The system will show driver
Hire
This is the rent calculation for Ayubo drive. Search, save, update, delete buttons are first important
for this system. Admin can save hire details in the database using through save button. If suddenly
Admin need to change any data in hire details, using through update button. Admin can delete hire
details using through delete button. Admin can using search button for whatever hire details need
to know. Over all details automatically shown on data grid view. Text boxes need for user easy to
type in the correct details. Date time picker shows date, month and year. Because, Hire Calculation
This is Ayubo Drive Rent Details. If the customer wants to rent with the driver, they must press
the With Drive button. If you want to be without the driver, you have to press the button with the
driver. Here the customer has to fill in the customer details along with the driver details as the id
001 customer Dwight driver option is required. Here the customer has to fill in the rent start date
of the day when the vehicle is being rented. Fill in the rent end date on the day when the lease
expires. The customer has to pay the total amount to be paid along with the driver charge for the
number of days the rent has been taken. Here a customer named Shravan in id 001 has paid a total
of Rs.7100 along with day charge, weekly charge, monthly charge and driver charge in case of 1
month rent. This data is stored in the data grid view by the save button. If you need to change any
of the customer or driver details should use update button, you can use the delete button to delete
this data completely.
Rent id 001 as well as a customer named Shravan has selected the without driver rental option. So
when you click the without driver button the driver details will disappear and customer details will
be displayed. In this, the details of the customer will be recorded. From the day the customer rents
the vehicle, the lease expiration date will be marked as rent start date and rent end date. The total
day, month, week used by the vehicle will be calculated and the total rent will be paid. This data
is stored in the data grid view by the save button. If you need to change any of the customer or
driver details should use update button, you can use the delete button to delete this data completely.
There are two types of hire options. They are Long tour and Day tour. Customer Hire id 003 has
selected the car for a long tour. Once the long tour option is selected, the day tour will be hidden.
Now is the Long tour option show. The long tour calculation must be recorded. The hire start date
and hire end date should be specified in the hire start date and hire end date respectively. Hire Km
automatically records the distance from Start Km to End km. From the hire start date to the hire
end date a charge of 1000 per day will be charged for the whole day Along with this the total
charge will be obtained by calculating the parking charge, Km charge, one night vehicle charge.
Here the customer is paying a total charge of 18800. This data is stored in the data grid view by
the save button. If you need to change any of the customer or driver details should use update
button, you can use the delete button to delete this data completely.
There are two types of hire options. They are Long tour and Day tour. Customer Hire id 001 has
selected the car for a day tour. Once the day tour option is selected, the long tour will be hidden.
Now is the day tour option show. The day tour calculation must be recorded. The hire start date
and hire end date should be specified in the hire start date and hire end date respectively. Hire Km
automatically records the distance from start Km to end km with hour and minutes. From the hire
start date to the hire end date a charge of 1000 per day will be charged for the whole day Along
with this the total charge will be obtained by calculating the Km range, over range, Maximum hour
charge over hour charge and driver charge. Here the customer is paying a total charge of 12000.
This data is stored in the data grid view by the save button. If you need to change any of the
customer or driver details should use update button, you can use the delete button to delete this
data completely.
Hire Calculations
It will also help us fill in the parameters if you have suitable variables. In addition, it matches the
return type if you assign the function to a variable. The Juno version of Eclipse includes an
improved event autocomplete - Code Recommenders, which analyzes your code and recommends
the best method based on the usage pattern found in your code.
2. Version control
Why do we need to enter other places for version control? Finish editing, check changes, add files
to submission, write comments, submit and click! Never leave the IDE.
IDE makes life easier when programmers start using the language. They do not have to learn to
compile, build, and execute commands. They just need to click here and they will work normally.
This does not mean that they do not have to learn these details in the future, but it is better to do it
one-step at a time.
4. Visual debugger
Have we ever tried to debug an application in a text debugger? We own and trust us, it is not fun.
This may be a wonderful experience in a lifetime, but it is not something we want to do every time
you want to analyze how some code works or why your program runs in a completely different
way than we think.
5. Centralization
Doing everything on the same platform (doing things right) saves time and headaches. We write
the code, compile it, test it, submit it, check it out, annotate it, debug it, and then use a unified
interface to gather them in one place.
Visual Studio, also known as Microsoft Visual Studio and VS, is an integrated development
environment for Microsoft Windows. It is a tool for writing computer programs, websites, web
applications and web services. It includes a code editor, debugger, GUI design tool and database
schema designer, and supports most major version control systems. It has a free "community"
version and a paid commercial version.
1. C
2. C++
3. C#
4. Python
5. Java
6. Java Script
7. HTML/ XHTML/CSS
Server Explorer is a shortcut to access the servers installed or connected to the system. These
servers are usually database servers like SQL Server. By accessing the server, you can access all
the databases on a specific server, and then you can establish the necessary connections for the
program within the program. You can also access the SharePoint server. I will introduce
SharePoint later, but for now I will focus on using Server Explorer with SQL Server and then move
on to the internals of Server Explorer. It’s provides quick access to connected database servers.
With Server Explorer, We can configure queries for use in program.
1. Data Connections
2. Servers
3. SharePoint Connections
4. Windows Azure
If you accidentally delete the toolbox by clicking the X, you can make it reappear by selecting
Toolbox from the View menu or by pressing Ctrl-Alt-X.
The toolbox contains a selection of all the controls available to you as a .NET developer. In
particular, it provides the selection that is important to you as a Windows application developer.
If you had chosen to create a Web Forms project, rather than a Windows application, you would
have been provided a different toolbox to use. You are not limited to using this selection. You can
customize the toolbox to suit your needs, but in this chapter, we will focus on the controls found
in the selection shown in the image above; in fact, we will see most of the controls shown here.
The Properties window is not part of the Data Access Visual Designer, but it is an important part
of the process of creating and editing domain models. The "Properties" window is used to edit the
properties of the domain model objects and their members. Click an element on the design surface
to activate it in the Properties window. You can use this window to view and change the design-
time properties of the selected object in the designer. The purpose of this section is to describe the
properties available in the Properties window based on the element selected on the design surface.
Shows errors, warnings, and messages that are generated as you write your code. Find syntax errors
detected by IntelliSense. Find deployment errors, certain static analysis errors, and errors
encountered when applying business template policies. Double-click any error message entry to
open the file where the problem occurs and move to the location of the error. Filter which entries
are displayed and which columns of information appear for each entry. Search for specific terms
and expand your search to just the current project or document. To display the list of errors, choose
View> List of Errors or press Ctrl + \ + E. You can choose the Errors, Warnings, and Messages
tabs to view different levels of information. To sort the list, click on any column heading. To sort
again by an additional column, hold down the Shift key and click another column heading. To
select which columns are shown and which are hidden, choose Show Columns from the context
menu. To change the order in which the columns are displayed, drag any column heading to the
left or right.
3.3.6 Conclusion
It’s making me easy to write codes, compile the code and execute the code, its user friendly and is
one of the best IDE’S in the world! , It can automatically detect problems and will help me with
the guide how to fix the problem, It also comes with a great feature providing many computer
programming to be run on windows on platform like C++, C#, Python, visual basics, etc. with their
own framework called .NET framework, Which allows me to create GUI software’s very easily
for windows platform you can also create software’s for windows store using .NET framework. In
addition to editing, compiling, and debugging (with breakpoints, jumping to or above functions),
I can refactor; change the name in all files, search and replace text in one or more files, navigate
in several ways including bookmarks, support multi-file and multi-project solutions. Visual studio
features are help to do my work easily and properly. In the Server explorer, I was able to do connect
database with server. In the tool box helped quickly design the system. Property window also
helped for designing part. Most of the important is error list find errors from system and give
debugging test. Through this error list I can easily find debug and correct the coding pretty good.
So, I recommend visual studio for feel good propose system.
Rent calculation
Return the total rent value when vehicle no, rented date, return date, with driver parameters are
sent in. with driver parameter is set to true or false depending whether the vehicle is rented with
or without driver.
Calculate total hire value when vehicle no, package type, start time, end time, start km reading,
and end km reading parameters are sent in. Should return base hire charge, waiting charge and
extra km charge as output parameters.
Calculate total hire value when vehicle no, package type, start date, end date, start km reading,
and end km reading parameters are sent in. Should return base hire charge, overnight stay charge
and extra km charge as output parameters.
Ayubo Rent and hire Management Login form. This form displays the Ayubo Drive logo design
in the left corner. Form background color is given in black and font color is given in yellow. There
is a text box next to the user photo to identify the username for the user to use it. Below that is a
text box on the page with a password photo to identify the password for user security. Also given
on the hide and show option. Once the user has successfully typed these, click on the Login Button
to go to the next page. If there is any error in typing, you can delete it by clicking the Clear button.
This form will be displayed when the user login button is clicked. This is the Ayubo drive Manage
details section. Here each is given for the user to understand through pictures and characters. These
are Customer details, Driver details, Rent details, Hire details, Vehicle details and Vehicle type.
For example, if the user clicks on the Customer button, the Customer details will be displayed.
Similarly, if you click on other buttons, the form for them will be displayed.
Customer details are displayed when the user clicks the customer button. The user to register
customer details will use this form. Type each data correctly inside the text box provided. Data is
saved in the data grid view by clicking the Save button on the registered customer details.
Customer details if you need to change anything, you can change it by clicking the Update button.
If you need to delete a customer's data, you can delete it with the delete button. To view the details
of a customer in the stored data, type the Customer Id in the search textbox and then press the
search button to view the data. To go from the Customer details form to the Manage details form,
click on the back button in the lower right corner.
Driver details are displayed when the user clicks the driver button. The user to register driver
details will use this form. Type each data correctly inside the text box provided. Data is saved in
the data grid view by clicking the Save button on the registered customer details. Driver details if
you need to change anything, you can change it by clicking the Update button. If you need to
delete a driver's data, you can delete it with the delete button. To view the details of a driver in
the stored data, type the Customer Id in the search textbox and then press the search button to
view the data. To go from the driver details form to the Manage details form, click on the back
button in the lower right corner.
This is a form for recording vehicle details. Vehicle data from Ayubo Drive Company will be
uploaded depending on the vehicle the customer receives. Here is the text box for typing vehicle
id and vehicle no. Vehicle type, vehicle color and engine cc are given manually inside the combo
box. The user can select the customer option in the type box. Data is saved in the data grid view
by clicking the Save button on the registered customer details. Driver details if you need to change
anything, you can change it by clicking the Update button. If you need to delete a driver's data,
you can delete it with the delete button.
User can upload vehicle type data in vehicle type form. Here we can type the vehicle type id and
vehicle name in the user text box. However, the fuel type, no of seats, gear type, door type and air
condition are given manually in the combo box so that the user can easily choose the type that the
customer chooses. Data is saved in the data grid view by clicking the Save button on the registered
customer details. Driver details if you need to change anything, you can change it by clicking the
Update button. If you need to delete a driver's data, you can delete it with the delete button.
This is the appropriate form for rental details. There are two types of such as with driver and
without driver. When the user clicks on with driver according to the customer's choice. Driver
details and customer details are displayed. Similarly, when the without driver details button is
clicked, the driver details box is hidden and only the customer details box is displayed. The text
box for filling the rent id and customer id as well as the rent start date and rent end date will be
displayed in the date time picker. Total days, No of days, No of week within rent calculation box.
No of month, week charge, month charge, total rent amount and total amount will be calculated.
Data is saved in the data grid view by clicking the Save button on the registered customer details.
Driver details if you need to change anything, you can change it by clicking the Update button. If
you need to delete a driver's data, you can delete it with the delete button.
This is the appropriate form for Hire details. There are two types of such as Long tour and Day
tour. When the user clicks on Long tour according to the customer's choice. Only the Long tour
box displayed. Similarly, when the Day tour button is clicked, the Long tour box is hidden and
only the Day tour box is displayed. The text box for filling the hire id and vehicle type as well as
the rent start date and rent end date will be displayed in the date time picker in each boxes. Start
km, End km, day charge, Parking charge, Km charge, one night vehicle charge and total charge
will be calculated. As well as hour, minutes, start km, end km, km range, over range, driver charge
and total charge will be calculated. Data is saved in the data grid view by clicking the Save button
on the registered customer details. Driver details if you need to change anything, you can change
it by clicking the Update button. If you need to delete a driver's data, you can delete it with the
delete button.
The appropriate form for the search function is shown. Already 4 customer details have been
uploaded in Data Grid View. Here, to see the details of a customer with 001 id, type the customer
id 001 in the search text box and click on the search button. The customer's details are displayed
in the respective text box.
This is the form that shows the save function. The data grid view contained only four customer
details. Customer details uploaded in the Data Grid View will be uploaded to this number for the
newcomer customer as there is no customer information in the id 002. After entering the customer
details in the appropriate text box and clicking on the save button, the message "New Customer
Data Saved Successfully!" will be displayed in the message box for the user. Click "Ok" if the
details are correct. If there is any error in the details, you can click "cancel" and save the details
after the change.
The data grid view shows the newly saved 002 ID customer details of this form.
Displays customer details update function. The 001 id customer address is first uploaded as
Colombo, to change it you have to search for the 001 id and type the current address Vavuniya in
the Customer Address text box and click the Update button, the message " Customer Details
Updated Successfully!" will be displayed in the message box for the user. Click "Ok" if the details
are correct. If there is any error in the details, you can click "cancel" and save the details after the
change.
The data grid view shows that the customer address has changed from Colombo to Vavuniya.
This is the form that shows the delete function. In the data grid view you can see that five customer
details have been saved. To delete the 005 id customer from this, type 005 in the search text box
and click on the search button and the details will be displayed in the respective text box. After
clicking the delete button if the details are correct, the message “Customer Details Removed
Successfully!" will be displayed in the message box for the user. Click "Ok" if the details are
correct. If there is any error in the details, you can click "cancel" and save the details after the
change.
In this form you can see that the 005 id customer details have been removed in the data grid view.
If a user using the Ayubo Drive Rent and Hire Management system types in his username or
password by mistake and log in, the login validation message is displayed as "You Are Enter A
Wrong User Name/Password". You can then log in by clicking on the user "Ok" button and typing
in the username or password correctly.
If the user clicks on the Search, Save, Update, Delete and Clear button without filling in any details
in this form, the message "Value required" box is displayed. Then click on the User "Ok" button
to fill in the details.
The details of a customer are filled in this form. But instead of ten numbers in the Customer phone
No Text box there are nine numbers. So that text box is shown in red.
In the above form, nine numbers are typed in red and now it is shown in green as the user has
edited and typed ten numbers. This allows the user to easily type without error.
Generally, the debugging process starts from the start of writing code and continues in successive
stages because the code is combined with other programming units to make a wares. In large
programs with thousands of lines of code, the debugging process are often simplified using
strategies like unit testing, code inspection, and duplicate programming. To identify the error, it's
going to be useful to look at the logs of the code and use a standalone debugger tool or integrated
development environment (IDE) debug mode. This may help if the developer is aware of standard
error messages. However, even the cleanest code can pose a challenge to the debugger if the
developer does not fully explain the code while writing it. In some cases, the module asking the
question is open, but it is not the road of code itself. During this case, unit tests (like JUnit and
XUnit, which permit programmers to use specific inputs to run certain functions) are very useful
for debugging. Standard practice is to line a "breakpoint" so run the program to the breakpoint, at
which point the program stops executing. The debugger component of the IDE usually provides
programmers with the flexibility to look at memory and examine variables, run the program to the
following breakpoint, execute only the following line of code, and in some cases change or maybe
change the worth of the variable. The content of the road of code to execute. (heusser, n.d.)
Requirements
Keyword testing and script debugging functions are built into Test Complete without any special
requirements.
The Visual Studio debugger is a complex environment, but it is a bit patient to learn up to the point
where we write code in a more efficient and productive way. In the Debug menu, there are two
menu items for running your code: the Start (F5) option and the Launch the debug option (Ctl-F5).
You should always use the Start option before doing it. Set breakpoints and debug your code more
easily. Debugger you Split it in half, move around and examine the values of the variables, and
then search. a fatal mistake to understand what happened. If you set a breakpoint on your first
notification function configures your debugger program when you select the Start command, and
Windows without starting the program. At this point, you control the execution of the program.
Manually using the buttons in the debugger window. Line by line in the code, it runs until certain
points are reached, and so on. You can choose. The six most important icons in the toolbar;
Continue, Stop, Stop Debugging, Jump Over, Internal and external. These symbols and their
corresponding commands are detailed in Figure 1. As long as the program is stopped or has not
yet been started, the Continue command will start the program. Come back from where you left
off. If the program is in an infinite loop, the interrupt button or if you want to manually stop the
program to use the debugger. The Stop Debugging command is useful in the following situations:
You want to exit the debugger and go back to editing before the program has finished running.
When a program starts with debugging enabled, the debugger window opens and the program
starts running. Run. If you click the pause button, you can interrupt the program and what's going
on at that moment. Setting a breakpoint (explained below) will automatically stop debugger on a
specific line. There are three full window panes after being stopped. Information about the
program. When your program is paused, the lower pane of the debugger window will show the
current function. The red arrow to the left of the running code indicates the next line to run. Select
Continuing causes your program to continue running. On the other hand, the three-step button
At best, we can use analysis of past debug loops to guide better engineering practices and perhaps
to research and develop better tools used in the software design and engineering process. However,
security and flexibility are functions and these functions should be part of the design and software
implementation. Developing higher quality software requires the use of better quality assurance
practices and enables your quality assurance to inform your engineering and management
decisions and practices. Adopting test-oriented or behavior-oriented methods and tools that help
them may be part of this approach. Using agile or extreme processes may be another case. These
have nothing to do with "debugging". These apps can prevent errors from occurring. They are
active, not passive. After debugging the best software, it can perform regression testing to prevent
the software from being reintroduced and analyzed, resulting in the use of more common test
scenarios that can detect similar flaws between the login and the release process. (Automatic
regression testing can save quality audit time and resources and prevent erroneous versions from
internal version to quality review).
1. Coding standards make codes written by different engineers have a uniform appearance.
2. It improves the readability and sustainability of the code, and it also reduces complexity.
3. It facilitates code reuse and helps to easily identify errors.
4. It encourages reliable programming practices and improves programmer productivity.
1. Coding guidelines can improve software efficiency and shorten development time.
2. Coding guidelines help to detect errors in the early stages, thereby helping to reduce the
additional costs of software projects.
3. If the coded instructions are properly maintained, the software code will improve
readability and understandability, thereby reducing the complexity of the code.
4. It reduces the hidden costs of developing software.
“The security debugging option is set but it requires the Visual Studio hosting process which is
unavailable in this debugging configuration. The security debugging option will be disabled. This
option may be re-enabled in the Security property page. The debugging session will continue
without security debugging”
Check the "Enable Click Once" security setting on the "Security" tab of the project properties (Full
Trust Implementation) is invalid. Similarly, changing the Enable Security Debugging setting in
the project user file to True will cause the "error" dialog box to reappear at runtime. Click OK in
the dialog box and change the user file setting to False. (morgan, 2017)
4.3.4 Necessity of having Coding Standard for individual and team work
Writing code without tradition and standards can be confusing and confusing for a large coding
platform. When working in a team, it is important to establish rules and guidelines that every
member of the development team must follow to ensure the reliability and ongoing maintenance
of the product. To write clean, well-structured code, developers must adhere to the standards and
traditions used by their teams. This makes the code easier to understand for any developer entering
the code base. A quality index requires constant effort and increased attention from the
development team to achieve the quality goal. Without tradition, it would be difficult for
developers to understand the code base, which increases development time and complicates project
structure. (Sengayire, 2019)
There are some guidelines and prototypes that developers must follow for a standard coding
procedure. Writing quality code is the most important task in the development of any software.
This is a significant investment for your project, not a time-consuming task. This is an important
way to reduce technical debt. When your code is clean and tidy, it is easy to understand, maintain,
and extend. Any consistent, readable, high-quality code is easier to test, reducing maintenance
costs.
1. Security issues
Inconsistencies, errors, and errors in logic are the main reasons for commonly exploited software
vulnerabilities.
Poor coding affects the overall performance of the website. This causes various performance
issues, for example:
User interaction
Therefore, implementing and adhering to coding standards will prevent you from dealing with
such problems. And you get a secure website with minimal performance issues.
Increasing efficiency
As we can see, developers spend more time solving problems than developing source code. This
time could be saved in the first place if we could write neat and clean code and implement some
formats and coding standards. This helps the developer save time spent troubleshooting during the
development process.
Easy to maintain
By following an appropriate coding standard, your code will be more consistent and easier to
maintain. Because we make it more understandable, we can change it at any time by any developer.
Correction error
If the code is well designed, any developer can easily spot errors and fix them in a web application
or software.
Economic
Clean code allows developers to reuse it as needed. Ultimately, this can reduce development efforts
and costs, and lead to very rapid completion of tasks.
You can use a variety of tools and extensions available on the Internet to maintain a proper code
standard and style, and to make suggestions for refactoring your code or methods. (Beladiya, 2020)
Data Structure and Algorithms Binary Search - Tutorials point. 2021. Data Structure and
Algorithms Binary Search– Tutorialspoint. [ONLINE] Available
at: https://www.tutorialspoint.com/data_structures_algorithms/binary_search_algorithm.htm.
[Accessed 18 June 2021].
Geeks for Geeks. 2021. Object Oriented Programming in C++ - Geeks for Geeks. [ONLINE]
Available at: https://www.geeksforgeeks.org/object-oriented-programming-in-cpp/. [Accessed 18
June 2021].
Kiran Beladiya. 2021. Importance of Code Quality and Coding Standard in Software
Development. [ONLINE] Available at: https://theonetechnologies.com/blog/post/importance-of-
code-quality-and-coding-standard-in-software-development. [Accessed 18 June 2021].
Multidots. 2021. Importance of Code Quality and Coding Standard in Software Development.
[ONLINE] Available at: https://www.multidots.com/importance-of-code-quality-and-coding-
standard-in-software-
development/#:~:text=Coding%20standards%20help%20in%20the,and%20thereby%20reduce%
20the%20errors.&text=If%20the%20coding%20standards%20are%20followed%2C%20the%20
code%20is%. [Accessed 18 June 2021].
Tuan Nguyen's Blog. 2021. Programming paradigms - what is procedural programming? - Tuan
Nguyen's Blog. [ONLINE] Available at: https://www.tuannguyen.tech/2019/05/programming-
paradigms-what-is-procedural-programming/. [Accessed 18 June 2021].