Professional Documents
Culture Documents
Unit-01 Programming Assignment - Tharshana
Unit-01 Programming Assignment - Tharshana
Give details:
Internal Verifier
Date
signature
Programme Leader
Date
signature (if required)
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 suita
Integrated Development Environment (IDE).
LO4. Determine the debugging process and explain the importance of a coding standard.
Pass, Merit & Distinction Descripts P4 P5 M4 D4
* 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
Action Plan
Summative feedback
Assessor Date
signature
tharshanat01@gmail.com 10/ 08/ 2020
Student Date
signature
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 plagiarising you could have your grade reduced to A REFERRAL or at worst
you could be excluded from the course.
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.
Assignment Title Design & Implement a GUI based system using a suitable
Integrated Development Environment
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
Activity 1
Searching on an array/list is to find a given element on the array and 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 Describe the steps involved in the process of writing and executing a program. Take an
array of 10 or more elements and dry run the above two algorithms. Show the outputs at
the end of each iteration and the final output.
1.3 Define what Big-O notation is and explain its role in evaluating efficiencies of algorithms.
Write the Python program code for the above two algorithms and critically evaluate their
efficiencies 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).
2.3 Critically evaluate the code samples that you have above in relation to their structure and
the unique characteristics.
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.
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:
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 suable algorithms for vehicle tariff calculation for rents and hires.
Ideally 3 functions should be developed for this purpose as follows:
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.
First of all, I would like to express my gratitude to my lecturer Mr. Nuhman who
gave me this opportunity to develop a system and who gave support and
encouraged me to do my best. From this assignment I improved my software
skills very well. So, I am very thankful to my lecturer. Secondly, I would like to
thank my program coordinator Mr. Piragarthejan and our branch manager Mr.V.
Niruban those who encouraged me. And I would like to thank my parents and
my friends who supported and helped me to finish my work on time. Finally, I
would like to thank god for gave me a healthy environment to finish my task on
time.
1.1 Define the characteristics of good algorithm and develop algorithm for linear and
binary search. ....................................................................................................................... 21
1.2 Describe the steps involved in the process of writing and executing a program. .......... 34
1.3 Define what Big-O notation is and explain its role in evaluating efficiencies of
algorithms. ........................................................................................................................... 47
Activity 02................................................................................................................................ 50
Activity 03................................................................................................................................ 59
3.1 Design suable algorithms for vehicle tariff calculation for rents and hires ................... 59
3.2 Code for Rent & Hire payments calculations with database structure .......................... 64
Activity 04................................................................................................................................ 78
Table 1 Dry run table for data found linear search ................................................................. 38
Table 2 Dry run table for data not found in linear search ........................................................ 39
Table 3 Dry run table for 'data found' in binary search ............................................................ 42
Table 4 Dry run table for 'data not found' in binary search..................................................... 43
Table 5 Comparison of programming paradigms .................................................................... 58
Table 6 Differences between the programming language with IDE and without IDE ............ 77
1.1 Define the characteristics of good algorithm and develop algorithm for
linear and binary search.
1.1.1 Algorithm
Figure 1 Algorithms
n1+n2 sum
Step 6: Stop
There are several steps in writing and executing an algorithm. The algorithm can’t be executed
instantly. Because analyzing the scenario is an essential thing in writing and executing an
algorithm. The following steps shows the process in executing an algorithm.
The algorithm is like a skeleton for the human body. Without a proper skeleton, the
body shape will not come like a human. Likewise, without a proper algorithm, the
function will not be built accurately. In a nutshell, the algorithm is a basement for all
the functions. None of the functions couldn't be built without a proper algorithm.
Linear search is one of the simple searching algorithms. In Linear search, the search will be
made over all the elements one by one sequentially. All the elements will be checked during
that action and if the match found then the particular element will be returned. otherwise, the
search will be continued until the end of the collection of the data. The following is an
example of how the linear search happens.
Binary search is one of the fastest searching algorithms which is used to find the position of
a specific element of a sorted array. This binary search algorithm principally works based on
divide and conquer. The primary need for this algorithm is, the collection of the data should
be in a sorted form.
This binary search algorithm starts the search from the middle element of a sorted array. if
the middle value is equal to the expected value the function will return. If the expected value
is lower than the middle value then the expected value will be searched in the sub-array which
is on the left of the middle item.
If the expected value is greater than the middle value then, the expected value will be searched
in the other sub-array which is on the right of the middle value. This process will be continued
29 31 35
4 5 6
In the above array the mid location 5
Then the system compares the expected value with the new mid value.
The comparison is successful. Because, the expected value is equal to the new mid value.
Set lowerBound = 1
Set upperBound = n
if S[midPoint] < a
set lowerBound = midPoint + 1
if S[midPoint] > a
set upperBound = midPoint - 1
if S[midPoint] = a
EXIT: a found at location midPoint
end while
end procedure
This is the primary step in writing a program. This also an essential part in the programming.
Because, without a clear view of the problem, the programmer can't write an accurate code
for the defined problem. In this stage, the programmers can understand what are inputs they
need to get, what is the output that the system wants to release, what are basic requirements
for the system, what are error handling methods they going to use, and etc. In a nutshell, the
programmers can get a clear view of the problem and can understand what they are going to
do to solve the problem. The programmer should spend a significant amount of time in this
step. Otherwise, it could be difficult to solve problems with the help of computers and It will
affect the system. This step begins when the programmer assigned the specific task and it
ends when the programmer got a clear understanding about the problem and when the
programmer completely knows the basic requirements for the system.
Ex: Find the maximum number from two numbers (n1, n2)
This step is like a precoding method. Before writing code for a program to solve a problem,
first of all, the programmer should design the program. Here the design is like a blueprint for
the program. This design can be a pseudo code or a flow chart. This designing step helps the
programmers to write the program efficiently
BEGIN
Input n1, n2
IF n1> n2
DISPLAY max is n1
ELSE
DISPLAY max is n2
END IF
END
Flow chart to find the maximum number from two numbers
After the design of the program, that design should be converted as the code. For this coding
part, the programmer should select an appropriate computer language to write the code. Here
the programmer should consider each and every step that he writes. Otherwise, the system
will get trouble.
Python code to find the maximum number from two numbers
This step contains the testing procedure of the program. The testing means running the
program. If the program runs correctly the code is correct. otherwise, the programmer should
reconstruct the code.
This step is as much as important as the coding part. Here, the maintenance means updating
the program and checking the functionality of the program within a specific time period. The
written code and the executed program should be upgraded by the programmer according to
the needs of the users.
A dry run may be a testing handle where the impacts of a conceivable disappointment are
intentioned moderated. For illustration, an aviation company may conduct a "dry run" test of
a jet's unused pilot launch situate whereas the jet is stopped on the ground, instead of while it
is in flight. In computer programming, a dry run may be a mental run of a computer program,
where the computer software engineer analyzes the source code one step at a time and decides
what it'll do when run. In theoretical computer science, a dry run could be a mental run of an
algorithm, some of the time communicated in pseudocode, where the computer researcher
looks at the algorithm's strategies one step at a time. In both employments, the dry run is as
often as possible helped by a table with the program or algorithm's factors on the best. The
utilization of "dry run" in acknowledgment strategies is implied as taking after the plant -
which may be a subcontractor - must perform a total test of the framework it has got to convey
some time recently the genuine acknowledgment from the contract side (Anon., 2020)
List = [ 12, 20, 37, 85, 13, 24, 11, 74, 14, 33]
Search Data = [14]
Index value
Steps Index position Index value Search data = Result
Search data
Step 1 [0] 12 14 False -
Step 2 [1] 20 14 False -
Step 3 [2] 37 14 False -
Step 4 [3] 85 14 False -
Step 5 [4] 13 14 False -
Step 6 [5] 24 14 False -
Step 7 [6] 11 14 False -
Step 8 [7] 74 14 False -
Step 9 [8] 14 14 True Data found
List = [ 12, 20, 37, 85, 13, 24, 11, 74, 14, 33]
Search Data = [50]
Table 2 Dry run table for data not found in linear search
Index value
Index
Steps Index position Search data = Result
value
Search data
Step 1 [0] 12 50 False -
Step 2 [1] 20 50 False -
Step 3 [2] 37 50 False -
Step 4 [3] 85 50 False -
Step 5 [4] 13 50 False -
Step 6 [5] 24 50 False -
Step 7 [6] 11 50 False -
Step 8 [7] 74 50 False -
Step 9 [8] 14 50 False -
Step 10 [9] 33 50 False Data Not found
According to the action which happens in the dry run table, the python code for linear search
will be executed.
The above picture shows the python function for the linear search. This function will be
executed according to the action that happens in the dry run table. This is a simple function
that happens in a hospital. Here the users could check are they got an appointment with the
doctor or not. When the users input their token number, they will receive a message of the
result.
These 2 lines of the code represents the main action happens in the linear search. Here ‘A’
represents the list of the patients who got appointments. ‘len’ represents the count of the list.
The system will check the appointments one by one and give the out put
Here the system asks the users to insert their input If the user insert a token number, they
could know the appointment details.
For example, a user inputs 14 as his token number. If he got registered and got an appointment,
he will receive a message as 'You've got an appointment with the doctor, please wait for the
call.' If he did not register, he will receive a message as 'Sorry!!! you didn't register for an
appointment. contact the receptionist.' Here the user got registered earlier.
List = [41, 28, 10, 22, 99, 14, 135, 63, 88, 27, 30, 120, 35, 52, 75]
Search Data = [30]
Sorted List = [10, 14, 22, 27, 28, 30, 35, 41, 52, 63, 75, 88, 99, 120, 135]
List = [41, 28, 10, 22, 99, 14, 135, 63, 88, 27, 30, 120, 35, 52, 75]
Search Data = [40]
Sorted List = [10, 14, 22, 27, 28, 30, 35, 41, 52, 63, 75, 88, 99, 120, 135]
Table 4 Dry run table for 'data not found' in binary search
Mid Mid Mid Result List
Low High
Mid Mid Search data = data > data <
Steps inde inde
index value data search search search
x x
data data data
[41, 28, 10, 22,
- 99, 14, 135, 63,
Initial 0 14 - - 40 - - -
88, 27, 30, 120,
35, 52, 75]
[10, 14, 22, 27,
28, 30, 35, 41,
Sort 0 14 - - 40 - - -
- 52, 63, 75, 88,
99, 120, 135]
[10, 14, 22, 27,
28, 30, 35, 41,
Step 1 0 14 7 41 40 False True False - 52, 63, 75, 88,
99, 120, 135]
Data Not
Step 3 4 6 5 30 40 False False True [28, 30, 35]
Found
According to the action which happens in the dry run table, the python code for binary search
will be executed.
The above picture shows the python function for the binary search. This function will be
executed according to the action that happens in the dry run table. This is a simple function
of finding a number from a list of numbers. When the users input the number, they want
check, they will receive a message of the result.
Here the system asks the users to insert their input If the user insert a number, they could
know the available details.
The Big O notation defines an upper bound of an algorithm, it bounds a function only from
above. For example, consider the case of Insertion Sort. It takes linear time in the best case
and quadratic time in the worst case. We can safely say that the time complexity of the
Insertion sort is O(n^2). Note that O(n^2) also covers linear time. (Debnath, 2020)
It does this with regard to “O” and “n”, (case: “O (log n)”), where O alludes to the arrangement
of the work or its development rate, and n is the length of the cluster to be sorted.
When looking at numerous of the foremost commonly utilized sorting calculations, the rating
of O (n log n) in common is the finest that can be accomplished. Calculations that run at this
rating incorporate Speedy Sort, Pile Sort, and Consolidate Sort. Speedy Sort is the standard
and is utilized as the default in nearly all computer program languages. (Rail, 2018)
According to the above explanations about linear search and binary search, linear search's
process is slower than the binary search. Because the linear search will check the elements
one by one. But the binary search will divide the list according to the mid-value and will
compare the search value with the elements. That's why the binary search is relatively faster
than the linear search. But there is one advantage in using the linear search method. That is,
for a binary search process, the list must be in a sorted form. But for the linear search, the
sorting method is not essential.
The above picture shows the list used in the linear search. According to the example the
elements in the list represents the token numbers of the patients of ‘MILLENIUM Hospital’.
If one of the patients input their token num this linear search method checks every element
one by one. This process will continue until the search item. This process will continue until
the last element of the list. This is the reason why the linear search is quite slower than binary
search. The following image shows the graph for the linear search and it represents the
handling a problem with linear search.
All the above example proves that binary search is better than linear search while compare
both of them based on time complexity. Because while the linear search checks the elements
one by one, the binary search will separate the list according to the mid-value, ignores the
unwanted elements and compares the search value with the elements. That’s why binary is
always faster than the linear search. The following picture shows the list used in the binary
search.
Sorted List:
[10, 14, 22, 27, 28, 30, 35, 41, 52, 63, 75, 88, 99, 120, 135]
Low Mid High
Value Value Value
According to the following equation, the binary search identifies the mid value. Here the mid,
low, high keywords represent the index position of the elements.
The term programming paradigm alludes to a way of programming. It does not allude to a
particular computer language, but or maybe it alludes to the way the programmer program.
There are a variety of programming languages that are well-known but all of them have to be
taken after some strategy when they are actualized. (MV, 2019)
Procedural programming (which is additionally basic) permits part those enlightening into
procedures. Procedures aren't functions. The distinction between them is that functions return
a value, and procedures don't. More particularly, functions are outlined to have negligible side
impacts, and continuously deliver the same yield when given the same input. Procedures, on
the other hand, don't have any return esteem. Their essential reason is to achieve a given
assignment and cause a craved side effect. An awesome case of procedures would be well
known for the circle. The for loop's fundamental reason is to cause side impacts and it does
not return a value. To outline, let's discover the whole of, to begin with, ten characteristic
numbers within the procedural worldview approach. (Bhatia, 2020)
Local Variable: A local variable could be a variable that's pronounced within the
fundamental structure of a method and is restricted to the nearby scope it is given. The local
variable can as it was being utilized within the strategy it is characterized in, and if it were to
be utilized exterior the characterized strategy, the code will desist to work.
Global Variable: A worldwide variable may be a variable which is pronounced exterior each
other work characterized within the code. Due to this, worldwide factors can be utilized in all
capacities, not at all like a nearby variable.
Modularity: Modularity is when two disparate frameworks have two diverse tasks at hand
but are assembled together to conclude a bigger assignment.
The above image shows the use of OOP in a C# application. In this project, there is a class
name called 'common code' and here, some other important codes are written inside that. By
this OOP method, the common code class assigned into an object and that is called 'com'
object. Utilizing the strategy common code class can be used in other classes in the system.
The following image represents how an event-driven programming have been used in a C#
application. In this image, the boxed portion is the command which rules the execution of
the program.
It will decide when the program has to be run. In here, ‘LoadTable_CellClick’ work will run
automatically when pressing any cell on the particular table on the application. It should be
in the running time. The following actions should be done to make the function works like
this.
By the changing the event function like this, the application will run as explained in the
previous paragraphs.
The following picture clearly shows the relationship between the programming paradigms.
The picture includes the code which represents the collaboration of the procedural
programming, object-oriented programming and the event-driven programming in this
system. In this system, the SQL connection was created as an object named ‘con’. This
method shows the usage of object-oriented programming in here. The next step is creating a
function called loadTableFun. After that this function will be called as form_load function.
This function will be executed when the form runs. This method shows the usage of event-
driven programming in here. After all these steps, when the function starts to run each line of
the code will be executed line by line in an order. This method shows the usage of procedural
programming here. So, this pictures clearly shows the relationship between the programming
paradigms.
Fortran and COBOL are the In this OOP to perform Here. The actions are
common languages which particular tasks, the defined in events. These
are following this paradigm. objects and capacities are events can be happened by
arranged as interaction. mouse clicking and
moving or console strokes.
This paradigm focuses on OOP secures the objects This event-driven will
the execution of the steps and data from focus on whether selecting
whether it is sequential. unauthorized access by a user interface.
focusing on them.
In this paradigm, the C++, Smalltalk, and JAVA Visual Basic and C# are
commands are composed in are the most common the most common
a linear design. Not only that languages that follow this languages that follow this
but also, they are executed paradigm. paradigm.
in a linear way.
The programming paradigms are different from others. Each paradigm has its own
way. But while creating a function all the paradigms should work together. They must
interact with each other. Because a single paradigm is not enough to execute a function
for a system.
3.1 Design suable algorithms for vehicle tariff calculation for rents and
hires
In this calculation part the rent payment depends on the rent type. Because in rent type there
are two categories. One is with driver and another one is without driver. If one of the
customers rents a vehicle with a driver then rent payment includes the driver charge.
Otherwise, the rent payment will be calculated only for the vehicle. The following algorithm
shows how the system is doing this rent payment calculation.
According to this pseudocode, if this system wants to work, it should pass the vehicle_no,
package_type, start_km_reading, end_km_reading, end_time, start_time, information. From
this information base_hire_charge, waiting_charge, extra_km_charge will be calculated.
Moreover, hire_other_charges calculation appeared in this picture. That calculation depends
on the enlist days. This condition utilized to calculate the other charges which suggest
overNight, night_parking charges. The essential information for this calculation is to recover
from the database. The clarified pseudocode is given underneath.
The picture above is the database of the Ayubo company. This is often a fundamental and
important asset of the company. Since this company completely depended on this database
for their commerce and day-to-day activities.
The vehicle, vehicle types, hire packages, rent payment, driver, tour types, other charges, and
rates are put in separate columns. By this, there are many benefits. Through this, the rent
calculations and hire calculations will be executed. Once the information was embedded in
this database when the client requires that information can recover from here.
The following picture shows how the rent payment is calculated by the system.
The above picture shows the interface of the rent payment calculation. The customer can see
the form in the application. When the customer fills the calculation code will be executed in
the background of the form. Here, Customer name, rent type, number of days, and rent id will
come from tables of the customer, rent type, and rent. The fundamental sum, driver charge,
and total rent charge will fill here. This will be based on the calculation codes. The client
ought to select the rent id, after this procedure, when the customer presses the button the data
will be filled here automatically. The client switches the installment sort based on how the
client aiming to pay. These are the only activities that the customer might do.
The picture shows the data assign to the variables, by getting them from other tables.
The above picture describes how the whole number of days change over into day, week, and
month. After the changeover, that information ought to be duplicated by the rate(charge) of
the month, week, and day. Through this, the essential charge of the lease will be calculated.
In final of this picture, the pink boxes appear the day, week, and month tallies allowed factors
and yellow boxes appear the relegated factors of rate(charge) of day, week, and month.
This picture shows the interface of the hire payment calculation in Ayubo drive. The start
reading, end reading, begin time and end time are the only thing that needs to add by the
customers. Because all other details will auto-filled based on hire id. That's why the form
designed like this.
The details of time and km reading calculation is given below in the picture.
According to this code in the picture, if a customer selects a day tour to hire a vehicle the
calculation will be work in the background of the system's interface. In the situation, while a
customer takes more time than the hire package time limitations, the system calculates the
extra hours and it would be added to the hire payment.
Integrated Development Environment is the full form of IDE. This Integrated Development
Environment helps the programmers to integrate different kinds of aspects in writing a
computer-based program. By combining the common activities of software writing into a
single application, the IDE increases the productivity of a programmer. (codecademy, 2020)
Figure 52 IDE
On a more essential level, IDEs give interfacing for clients to type in code, organize content
bunches, and automate programming redundancies. But rather than a bare-bones code editor,
IDEs combine the usefulness of numerous programming forms into one. A few IDEs center
on a particular programming dialect, such as Python or Java, but numerous have cross-
language capabilities. In terms of content altering capabilities, IDEs regularly have or permit
the addition of systems and component libraries to construct upon base-level code.
Throughout the composing handle, one or different clients make pecking orders inside the
IDE and relegate bunches of code to their assigned locale. From these, groupings can be hung
together, compiled, and built. Most IDEs come with built-in debuggers, which enact upon the
construct. Visual debuggers are a considerable advantage of numerous IDEs. In the event that
any bugs or blunders are spotted, clients appear which parts of code have issues.
(Walker, 2020)
Miss. Tharshana Thevaraj Unit 01 Programming Page 70
BAT/A-005817
3.3.2 Features of IDE
Writing code accurately is an important part of programming. In IDE there are some features
for this, they help to do this easily. the following are the features of the IDE.
• Syntax highlighting
• Debugger
• Compiler
• Code completion
• Programming language support
• Integrations and plugins
IDE consists of different language structures of the programming languages. So, by using
color variations it will differentiate the keywords from other words, For a case, in C#, just
like the Get to modifiers, return type, etc. is appears completely different colors for makes a
difference to appear the distinction of sentence structure and other ordinary words to the
developer.
More programming languages have IDE. So, which can recognize what will the programmer
reaching to sort when the start of composing and propose that to the developer. When a
software composes code to create a newly function in C#, That's a public void clean_fun ()'.
So, when the software engineer reaching to begin composing the code, IDEs autocomplete
work will enacted and the programmer could write the code with the help of that. These points
of interest appear underneath picture.
Each and every program has the require of the compilation handling method. Compilation
prepare implies, change overactivity of the machine dialect (code) to can recognized the
working system. The visual studio is consequently compiling the code as work in windows
in C# language. Since the visual studio has the IDE work. This capacity has a place for the
IDE.
Debugging tools help clients in recognizing and helping mistakes inside source code. They
frequently reenact real-world scenarios to test usefulness and execution. Software engineers
and computer program engineers can more often than not test the different sections of code
and distinguish blunders sometime recently the application is discharged.
Figure 56 Debugging
• Serves as a single environment for most, in the event that not all, of a developer’s
needs such as form control frameworks, investigating devices, and Platform-as-a-
Service.
• Code completion capabilities make strides programming workflow.
Multi-language IDEs, such as Eclipse, NetBeans, Komodo, Aptana, and Geany, back different
programming languages.
• Eclipse: Underpins C, C++, Python, Perl, PHP, Java, Ruby, and more. This free and
open-source editor is the show for numerous advancement systems. Eclipse started as
a Java advancement environment and has extended through plugins. Eclipse is
overseen and coordinated by the Eclipse.org Consortium.
• NetBeans: Bolsters Java, JavaScript, PHP, Python, Ruby, C, C++, and more. This
choice is additionally free and open source. All the capacities of the IDE are given by
modules that each give a well-defined work. Back for other programming dialects can
be included by introducing extra modules.
• Komodo IDE: This IDE supports Perl, Python, Tcl, PHP, Ruby, Javascript, and more.
This enterprise-level device incorporates a higher price point.
• Aptana: Aptana supports HTML, CSS, JavaScript, AJAX, and others through plugins.
This can be a well-known choice for web app development.
• Geany: Supports C, Java, PHP, HTML, Python, Perl, Pascal, and numerous more.
Typically, an exceedingly customizable environment with a huge set of plugins.
(veracode, 2020)
There are IDEs particularly for portable improvement, counting PhoneGap and Appcelerator's
Titanium Mobile.
Many IDEs, particularly those that are multi-language, have mobile-development plugins. For
occasion, Eclipse has this usefulness. (veracode, 2020)
A few of the foremost prevalent IDEs are those for creating HTML applications. For case,
IDEs such as HomeSite, DreamWeaver, or FrontPage mechanize numerous errands included
in web location advancement. (veracode, 2020)
Cloud-based IDEs are beginning to end up standard. The capabilities of these web-based IDEs
are expanding quickly, and most major sellers will likely offer one to be competitive. Cloud
IDEs provide engineers access to their code from anyplace. For the case, Nitrous could be a
cloud-based improvement environment stage that bolsters Ruby, Python, Node.js, and more.
Cloud9 IDE supports more than 40 dialects, counting PHP, Ruby, Python, JavaScript with
Node.js, and Go. Heroku could be a cloud-based advancement stage as a benefit (PaaS),
supporting a few programming dialects. (veracode, 2020)
Table 6 Differences between the programming language with IDE and without IDE
Syntax highlighting
Could identify the keywords easily. It’s difficult to identify the keywords
from other words.
Auto complete While programmer start to write The programmer should know the full
the code and when start to write the form and accurate keywords for the
key word it be will autocompleted. function.
Debugging The system automatically shows The programmer should check every
the error and the location of that. lines of codes.
The application was designed to agree to the company’s requirements. Primarily this
application was planned and built based on the primary characters and the daily activities and
functions of this company. The following are a few of the interfaces of the application for
'Ayubo' rent a car system.
4.1.1 Customer
The above picture shows the interface for customer registration. The customer can enroll his
subtle elements within the particular database for the customers through this form. When the
customer hires a vehicle from this company these points of interest utilized for making an
installment charge. Concurring to this picture, the client can spare his subtle elements through
tap the embed button after wrap up the information filling.
The picture above shows the table for saving the customer subtle elements within the Ayubo
company database. This table associated with the client frame. Through the client frame, can
embed the customers' subtle elements into the customer table. To begin with, the chart appears
the client table columns and their information sorts. Moment chart appears how does the as
of now embedded information put away into the table. The client frame was outlined based
on this client table. There's no 'Allow Null' choice relegate to any columns in the client table.
So, through the client frame, all columns related to subtle elements ought to pass here.
As of now wrap up the enlisted people can get to this login form. As it were as of now enlisted
people have a specific username and password. After filling the password and the Username,
through the press the login button can reach the menu form of 'Ayubo' rent a car system.
After this procedure, the customer can visit all the forms of 'Ayubo' rent a car system through
this menu form. Because each form of this system is interconnected with this menu form.
The driver form was designed based on this driver table. There is no 'Allow Null' choice
relegate to any columns in the driver table. So, through the customer form, all columns related
details ought to pass here. Each table associated with their related tables for information
exchange. Since a few of the calculation parts require distinctive table details.
4.1.5 Vehicle
In the above picture, there are three types of forms together. They are vehicle type, Vehicle,
Vehicle service. The company can store what kind of vehicles they have through the vehicle
type form. The vehicle form is used to save information about each and every vehicle and
vehicle service form is used to control the maintenance of the vehicles. So these three forms
are playing a major role in maintaining the vehicle details.
Like the vehicle-related form, there are vehicle-related tables in the database of the company.
These tables are used to store the details of the vehicles and they are interconnected with each
other. These pictures show how data does store in them.
The picture above includes interfaces of three forms. They are rent, rent type, and rent
payment. The whole details about the renting activity are stored in the system through these
forms. The user of the system can retrieve the data from here.
The above picture shows the tables in database of rent details. Through the form, the rent
details can be inserted, updated, or deleted. Not only that but also the user can retrieve details.
There is an option called ‘Allow Null’ in one of the columns of rent payment. From this the
customer can rent vehicle without driver. That’s why this option is enable for driver charge
column.
The above picture shows the hire related tables. These tables help to retrieve the data when
the user need them.
The above picture shows interfaces of two forms. One is tour type and the second one is the
rate. These forms are used to maintain the traveling km and the charges for km. these details
are used in calculating the hire payment.
These tables are the tables of rate and tour. these tables are used to store the new tour types.
Not only that but also, the details of the allocation of the charges.
This application designed for a company called 'Ayubo'. The main purpose of the
implementation of the application is to maintain the day to day activities of the company. The
main three activities are, insert, update, and delete. So, the function should be run accurately.
There some automation way calculations in this application. They are, hire calculations and
rent calculations. The following statement describes how the functions happen.
The above picture shows the main function. The insert, update and delete functions will be
worked based on this code. According to the user pressing button, the enum function will be
changed. The inserted details will be passed as a parameter to the main function when the
user presses the insert button. This method helps to show a proper message to the user.
This function is used to store the details in the company's database. This procedure happens
through the application.
The update function is also working similar as the insert function. The code of them is the
difference between them.
The update function will work according to the above code. This will happen through the
connection between the Sql query and the update function.
The delete function is also works based on the main function. The code will be changed based
on the SQL query. If the query written for the insert, the insert function will be executed. If the
query is written for the update, the update function will be executed. Otherwise, the delete
function will be executed. According to the query which is passed to the main function, the
function will be executed.
Regularly, the debugging handle begins as before long as code is composed and proceeds in
progressive stages as code is combined with other units of programming to create a computer
program item. In a huge program that has thousands and thousands of lines of code, the
investigating handle can be made simpler by utilizing techniques such as unit tests, code
audits, and pair programming. To recognize bugs, it can be valuable to see at the code's
logging and utilize a stand-alone debugger device or the debug mode of a coordinates
advancement environment (IDE). It can be accommodating at this point in the event that the
designer is recognizable with standard blunder messages. In the event that designers aren't
commenting enough when composing code, be that as it may, indeed the cleanest code can
be a challenge for somebody to debug. (Rouse, 2020)
Likewise, in Ayubo system also have a debugging method.
Figure 79 Debugging
When the programmer executes the code that he wrote, if there is any error the system will
automatically point out the error and will point out where the error is. Specifically, it shows
the location of the error.
Dubbing plays an important role in writing and executing a function. Because human could
make errors. If the system doesn't reveal the error message while the programmer writing the
code, the programmer will face difficulties while executing the program. At that moment it's
difficult to identify the errors from the bunch of codes. It is waste of time and energy. But
debugging method avoids these kinds of interruptions and difficulties.
They are an arrangement of strategies that can be characterized for a specific programming
language indicating a programming style, the strategies, & diverse methods. These methods
can be for different viewpoints of the program composed in that language. They can be
considered as basic qualities of program development. A coding standard makes beyond any
doubt that all the developers working on the venture are taking after certain indicated rules.
The code can be effortlessly caught on and legitimate consistency is kept up.
(multidots, 2020)
4.3.1Class organization
This class organization helps the developer to find out the errors in the code of a system.
developer makes a common code for all the forms and called within the entirety form, in the
event that he wants to change anything within the whole form he can effortlessly alter that
prerequisite within the common code. The class of the common code will change the
requirements in whole forms.
4.3.2 Guidelines
Figure 81 Guidelines
The guidelines help the programmer to write the code effectively as well as everyone can
understand. The guide explains why the codes have been written. The developer can identify
how can upgrade the codes with the help of the guidelines.
Mainly naming convention is used to provide names for the variables. Some specific methods
can be handled by the programmer when he gives names for variables. Likewise, in the above
picture also there is a naming convention method.
This task was given according to the requirement of the company. The company provides
‘Rent a Car’ System for the customer. Here the customers can hire vehicle with driver or
without driver. According to the rent type, the charges will be changed. If there is any extra
kms, the extra charge will be added to the calculation. This is the short brief of the company’s
system. As a system developer I analyzed their basic requirement to build a system for the
company. Then I drew a basic diagram for the system.
After that I developed all the interfaces of their system. Then I started the back end
developing. For this, I used C#. Because there are many user-friendly features are in C#. Then
I developed all the calculation for the system. Here as a developer I used the collaboration of
programming paradigms. I used procedural programming, object-oriented programming and
the event-driven programming. I wrote the code according to the relationships between the
programming paradigms.
Then I finished the system and analyzed that. Whether analyzing, I found some error. The I
corrected all the errors with the debugging method. After that, I completed the system and
handed over to the company.
From this assignment I improved my programming skills. I am sure that this will help in my
future. Because I learned more programming related concepts. I got a clear view in C#
language. Because while building a system for the Ayubo Rent a Car Service, errors were
appeared. To clear those errors, I analyzed the code more than three times. This method gave
a huge knowledge in programming concept. This assignment developed my professional
qualification. Because I built a system for a company and here, I played a role as developer.
I am sure when I go for an interview in future, these knowledges will help me to achieve my
goal. Not only that but also in my working field, this knowledge will help to get promotions
and reputation in future. So, I feel satisfied while doing this assignment.