You are on page 1of 48

GROUP ASSIGNMENT

TECHNOLOGY PARK MALAYSIA


CT046-3-2
System Development Methodology
NP2F1909IT
HAND OUT DATE: 15 October 2019

HAND IN DATE: 13 February 2020

___________________________________________________________________________

INSTRUCTIONS TO CANDIDATES:

1. Submit your assignment at the administrative counter.

2. Students are advised to underpin their answers with the use of references (Cited using
the Harvard Name System of referencing).

3. Late submissions will be awarded zero (0) unless extenuating Circumstances (EC) is
upheld.

4. Cases of plagiarism will be penalized.

5. The assignment should be bound in an appropriate style (comb bound or stapled)

6. Where the assignment should be submitted in both hard copy and softcopy, the
softcopy of the written assignment and source code (where appropriate) should be on a
CD in an envelope/ CD cover and attached to the hardcopy.

7. You must obtain 50% overall to pass this module.


GROUP ASSIGNMENT

LORD BUDDHA EDUCATION FOUNDATION

System Development Methodology (CT046-3-2)

NP2F1909IT

Submitted by: Approved by:


Aaditya Jha (NP000290) Mr. Ravi Rauniyar

Amar Prajapati (NP000294)

Pallavi Kumari Shah (NP000319)


Acknowledgement

We have taken efforts to do this project. However, it would not have been possible without the
help and kind support of many individuals and Lord Buddha Education Foundation (LBEF).
We would like to extend our deepest gratitude to all of them who provided us with immense
support.

We are highly indebted to Mr. Ravi Rauniyar for his guidance and constant supervision as well
as for providing necessary information regarding the project and for his support in completing the
project.

We would like to express our sincere thanks to our parents and friends for their continuous co-
operation and encouragement, which made this assignment, happen.

Our heartily thanks and appreciations also go to our colleague for helping us in doing this
assignment and people who have willingly helped us out with their abilities in completion of this
assignment.

Sincerely,

Aaditya Jha (NP000290)

Amar Prajapati (NP000294)

Pallavi Kumari Shah (NP000319)


Executive Summary
The main aim of the given assignment is to create Computerized Delivery Tracking System for
Waiters on Wheel Restaurants. This system is developed in order to develop the Computerized
Delivery Tracking System in systematic way. The restaurant manager can login and handle data
related to restaurant staff, customers and schedules. The restaurant staff can login in to the system
to see the customer order, type of order, time to deliver and view the customer profile to deliver
the meal. This project also gives the information about the Information System Development
Methodologies. Different tools and techniques are used to analyze and design different views of
the system. For analyzing, developing and implementing the new system, UML (Unified Modeling
Language) analysis, design and implementation techniques are used for creating simple prototype
and suitable interface. Agile principles are used for creating this system to manage the time. This
system is implemented with system development methodologies like waterfall, extreme
programming, rapid application development, rational unified process and many other
methodologies.
Table of Contents
1. Project Planning: .................................................................................................................1
1.1. Introduction: .................................................................................................................1
1.2. Scope ............................................................................................................................2
1.3. Objective ......................................................................................................................2
1.4. Aim...............................................................................................................................2
2. Agile Principles: ..................................................................................................................3
3. IS Methodologies: ...............................................................................................................5
3.1. Extreme Programming: .................................................................................................5
3.2. RAD Methodology:.......................................................................................................6
3.3. RUP Methodology: .......................................................................................................6
3.4. Comparison Table of IS Methodologies: .......................................................................7
4. System Analysis: .................................................................................................................8
4.1. Requirement Elicitation: ...............................................................................................8
4.1.1. Requirement Discovery: .........................................................................................9
4.1.2. Requirements Classification and Organizations: .....................................................9
4.1.3. Requirement Prioritization and Negotiation: ..........................................................9
4.1.4. Requirements Specification: ...................................................................................9
5. System Design:.................................................................................................................. 10
5.1. Conceptual Diagram: Use Case Diagram..................................................................... 10
5.2. Logical Design: Entity Relationship Diagram.............................................................. 12
5.3. Physical Design: Prototype.......................................................................................... 14
6. Implementation and Deployment: ...................................................................................... 16
6.1. Construction: .............................................................................................................. 16
6.1.1. CASE Tools: ........................................................................................................ 16
6.1.2. Visual Studio: ...................................................................................................... 16
6.1.3. User Manual: ....................................................................................................... 16
7. Testing: ............................................................................................................................. 17
8. System Deployment: ......................................................................................................... 18
9. Individual Component ....................................................................................................... 19
9.1. Extreme Programming (Aaditya Jha NP000290)............................................................. 19
9.1.1. Introduction ......................................................................................................... 19
9.1.2. Values of Extreme Programming: ........................................................................ 19
9.1.3. Best Practices of XP:............................................................................................ 20
9.1.4. Phases of Extreme Programming:......................................................................... 22
9.1.5. Why chooses XP .................................................................................................. 24
9.1.6. Scheduling ........................................................................................................... 24
9.2. Rapid Application Development (Amar Prajapati NP000294) ..................................... 26
9.2.1. Introduction ......................................................................................................... 26
9.2.2. Why Rapid Application Development? ................................................................ 26
9.2.3. Core Element of RAD: ......................................................................................... 27
9.2.4. Phases of RAD:.................................................................................................... 27
9.2.7. Scheduling of RAD: ............................................................................................. 30
9.3. Rational Unified Process (Pallavi Kumari Sah NP000319) .......................................... 31
9.3.1. Introduction ......................................................................................................... 31
9.3.2. Why RUP? ........................................................................................................... 31
9.3.3. Phases of Rational Unified Process: ..................................................................... 32
9.3.4. The Rational Unified Process Best Practices: ....................................................... 33
9.3.7. Project Scheduling of RUP: ................................................................................. 35
10. Conclusion: .................................................................................................................... 37
References: ............................................................................................................................... 38
Appendices: .............................................................................................................................. 41
Table of Figures
Figure 1: Logo of Leapfrog .........................................................................................................1
Figure 2: Phases of Requirement Elicitation ................................................................................8
Figure 3: Use case Diagram of Waiters on Wheel ...................................................................... 11
Figure 4: ER Diagram of Waiter on Wheel ................................................................................ 12
Figure 5: Class Diagram of Waiter on Wheel Restaurant ........................................................... 13
Figure 6: System Register and Login ......................................................................................... 14
Figure 7: Order Menu of Restaurant .......................................................................................... 15
Figure 8: Order Information of Waiter on Wheel ....................................................................... 15
Figure 9: System Deployment ................................................................................................... 18
Figure 10: Phases of XP ............................................................................................................ 22
Figure 11: Gantt chart Scheduling of XP ................................................................................... 24
Figure 12: Timeline Scheduling of XP ...................................................................................... 25
Figure 13: Phases of RAD ......................................................................................................... 27
Figure 14: Gantt Chart Scheduling of RAD ............................................................................... 30
Figure 15: Timeline Scheduling of RAD ................................................................................... 30
Figure 16: Phases of Rational unified process ............................................................................ 32
Figure 17: Gantt Chart Scheduling of RUP ................................................................................ 35
Figure 18: Timeline Scheduling of RUP .................................................................................... 36
1. Project Planning:
1.1. Introduction:

Figure 1: Logo of Leapfrog


Leapfrog Technology Private Limited is a full-stack technology services-based company which
primarily focuses on AI (Artificial Intelligence), Data engineering and product manufacturing. It
is an outsourcing company with 150 + employees. It provides software related services. Leapfrog
works on different field like java, ruby on rails, Python, DevOps, IOS, etc. It has an outstanding
ecosystem of expert technology leaders and engineers. Leapfrog has been deliberately working
since 2010 to fulfil the requirements and solving the issues of their clients. We have been following
our core values of continuous learning, integrity and ownership. Leapfrog is bound to their values
and has been successfully fulfilling promises to clients. We are devoted to our work on building
software’s that are user-friendly. Since the establishment in 2010, Leapfrog has become successful
in earning the trust of more than 200 customers worldwide. We have a mission to be a role model
technology company and to be a rusted partner, world class creative innovators and engineers. We
have an excellent team of technology professionals and problem solvers with high productivity
practices and tools.

1
1.2. Scope
In today’s busy world most of us lack in time to visit a restaurant and have lunch. So, the demand
of home delivery services is increasing rapidly. As the business of home delivery is expanding,
there is a need of order management system and an online food delivery tracking system to manage
all the business processes digitally. Also, this is the era of digitalization and automation every
business has started to shift towards using technology. Due to these reasons the need of building
this project is crucial.

1.3. Objective
i. To automate the process of ordering and delivery.
ii. To provide a user-friendly interface and to make ordering convenient to the customers.
iii. To develop a system that can process a huge amount of orders at a time.
iv. To make ease in communication between client the server.
v. To reduce the time taken for ordering and take efficient actions after the order is placed.

1.4. Aim
i. To manage the overall functions of the waiter on wheels business in an effective and
accurate manner.
ii. To reduce the manual entries made for order processing.
iii. To maintain day-to-day records and make analytic decisions from those records.

2
2. Agile Principles:
Agile methodology is the set of modern Information System (IS) methodology which shares agile
principles, defined in “The Agile Manifesto”, and was developed by software developers in 2001.
The methodology for project management which stands out from the rest is Agile Methodology.
Agile is the most effective technique for project management according to profession research.
The Agile Manifesto’s developers initially concentrated on software development because they
have been employed in the IT industry. Agile project management techniques have expanded
beyond software development and even beyond the computer related products. (Hasan, 2020)

The Agile Software Development is based on 12 principles:

i. The highest priority is customer satisfaction by delivering valuable software early and
continuously. As a developer of web-based software using an agile approach, we need
to make sure that we produce a product that solves user problems. It ensures timely
delivery for the home delivery system.
ii. Even in late development, it embraces the changing requirements and agile method
harnessing change for a competitive advantage of the customer. Perhaps, the biggest
advantage is that it gives flexibility to change. For delivery system, it allows changes
to be made even late in the development process and reduces the time for change
between conception and implementation.
iii. Working software is delivered frequently with focus on shorter timescale. Agile
methodology minimizes the documentation and planning and focus more on
development. In case of computerized delivery, it provides instant values to the
customer by delivering before the deadline.
iv. Developers and business people will work together every day. In computerized delivery
system it maintains collaboration and task management between the restaurant manager
and the waiters.
v. Projects are built around the motivated person with the resources and supportive
environment to get the job done and also hire the right people to work. In delivery
tracking system, it makes team to be self-reliant and self-directed.

3
vi. Face-to-face conversation is most efficient way to convey information between the
team members. For the delivery system we must obtain straight feedback of the
problem through the face to face conversation between team members.
vii. The primary measures of favorable results are working software. Regardless of how
many problems we fixed in the delivery system, or how many hours we put in the
development of software, the only things that count is working product.
viii. Sustainable development able to maintain a constant pace through sponsors, developers
and users. In agile methodology, the work is carried out in short, productive bursts to
ensure improved productivity and positive results.
ix. Constant attention to technical excellence and good design can improve agility. In
computerized delivery system, it helps to enhance the development speed so that we
can achieve more in less time without losing the quality of the final software.
x. Simplicity is essential to maximize the amount of work not done. We should keep
things simple while developing software using agile methodology, and reduce the time
needed to go from understanding to completion.
xi. The best design, construction and specifications come from teams which are self-
organized. In computerized delivery tracking system, it will themselves find a way and
remove any obstacles that comes in the way and makes everything going smoothly.
xii. Regularly, the team reflects on how to become more effective and behave accordingly.
It is critical that we continue to look for and develop vulnerabilities in today’s complex
agile project environments. It helps to keep pace with the emerging trends and adjust
to suit the situation in order to achieve. (LAYTON, 2020)

4
3. IS Methodologies:
Information System (IS) methodologies was developed in the mid 1980’s. Information system
methodologies is one of the traditional methodologies which focus primarily on quick delivery of
software and client satisfaction. It is one of the flexible stages which focus on product excellence
and documentation. Some Information System methodologies are listed below:

 Extreme Programming (XP)


 Web Information System Development Methodology (WISDM)
 Scrum Methodologies
 Soft system Methodology (SSM)
 Rapid Application Development (RAD)
 Rational Unified Process (RUP)
 Knowledge Acquisition and Documentation Structuring (KADs)

Different Information System (IS) methodologies we have chosen to make computerized delivery
tracking system. They are described below:

3.1. Extreme Programming:


Extreme programming (XP) is a software development methodology which gives more priority to
the improvements on standard of the software and responsiveness to the changing client's
requirement. It is an agile software development methodology.

Advantages of Extreme Programming:

 It reduces the risk related to the project failure.


 Provide constant feedback and employee satisfaction and retention.

5
3.2. RAD Methodology:
Rapid Application Development (RAD) is a software development approach that emphasis on
rapid prototyping of the software, quick and iterative delivery of the product. Therefore, RAD is
alternative to the typical waterfall development methodologies, which focuses on planning and
design processes.

Advantages of RAP

 The requirements of the clients can be changed at any time.


 It encourages and give priorities to the customer feedback.

3.3. RUP Methodology:


Rational Unified Process (RUP) is an agile software development methodology which uses the
object-oriented approach to its design, and the Unified Modeling Language (UML) notations
which is structured and documented to demonstrate the process in practice. This uses the methods
and procedure which has been commercially established. It is a process that is considered heavy
and preferably applicable to large development teams and large projects.

Advantages of RUP:

 The project risks associated with client’s requirements can be proactively resolved.
 The need for integration is very less as the integration process continues throughout the
development process more specifically in the construction phase.

6
3.4. Comparison Table of IS Methodologies:
Facts Waterfall XP RAD RUP SCRUM

Definition Waterfall Extreme Rapid Rational unified Scrum is system


model is a programming is Application process is system development
SDLC model
software Development is development methodology
that describes
the development a technique that methodology which
development methodology helps which ensure emphasize on
method in
which gives more organization to production of team work and
linear and
sequential priority to the build the high-quality provide iterative
design. improvement on important software. progress
quality of system more towards
software. rapidly. objectives.
Types of Direct solution Test driven Fast and direct Hypothesis Give direct and
development solution quick solution
project

Team size Large Large Small Medium Small to


medium
Types of Highly Heavy coding Fast and quick High quality Application
structure delivery software based product
product
Types of Rigid Continuous Iterative and Extensive and Gives empirical
sequential integration incremental exclusive or approach
approach
design approach. design holistic
approach. approach. approach.
Advantages Easy to use and Take risk related It solves It is one of the Simple and easy
understand. to the software. organizational complete to understand an
problem related methodologies implement
to deployment which focus on
of the system. accurate
documentation.
Disadvantage High amount Developers are High cost and Development Critical
of risk related separated time required. process is very development
to project geographically. complex. methodology
failure.

7
4. System Analysis:
System analysis and design are concerned with designing and implementation of information
systems by identifying and explaining what the system should exactly do. It also deals about how
the system components should be implemented together. By evaluating the information system
requirements and implementing those systems using different design techniques, a system analyst
can solve various business issues. (Balpan, 2017)

4.1. Requirement Elicitation:

Figure 2: Phases of Requirement Elicitation


Requirement elicitation is the process of discovering and understanding the system needs. It refers
to the search for the information on the functions the system has to perform. It also searches for
the information about the constraints where the system has to operate. During requirement
elicitation, the system analyst may face various problems on business constraints on how the
system perform various functions. In requirement elicitation, we typically gather information from
various process like brainstorming, interview etc. (wazlawick, 2014). There four main process in
requirements elicitation, they are as described below:

8
4.1.1. Requirement Discovery:
Requirement Discovery, also called requirement gathering and analysis, is the process of
communicating with stakeholders and collecting the required information from them. Requirement
discovery can be achieved by different methods, such as interviews, meeting, brainstorming
sessions and many more. (ELGABRYs, 2016)

4.1.2. Requirements Classification and Organizations:


In organization, it is extremely important to organize the overall structure for efficient management
of company. By bringing together all the similar requirements and decomposing them into their
sub-components makes the system more valuable. Then after, the relationship between the system
and organization is established. (ELGABRYs, 2016)

4.1.3. Requirement Prioritization and Negotiation:


In an organization, there is an involvement of large number of stakeholders and it is very hard to
satisfy them all. By prioritizing the requirements, it help us to emphasis on the essential component
of the system and core features of an organization. This emphasis can be accomplished by giving
a priority and negotiation level to each piece of work in an organization. (ELGABRYs, 2016)

4.1.4. Requirements Specification:


Requirement specification is a mechanism whereby user and the system specification are written
down in to paper or as a document. This method is easy to understand and include complete and
consistent document of the user. (ELGABRYs, 2016)

9
5. System Design:
5.1. Conceptual Diagram: Use Case Diagram
A use case diagram is an initial state of system requirements for an underdeveloped software. It is
the representation of expected behaviour but nut how it is going to happen. The main feature of
use case diagram is that it helps us in designing a system from end user's perspective. There are
five main components in this diagram i.e. Use cases, actors, associations, system boundaries and
packages. The reasons for choosing Use case diagram for this project are listed below:

i. Use case diagram help to specify the functional requirements of the system.
ii. It helps to understand the user interaction goals for a system.
iii. It helps is designing the basic flow of events for a system.
iv. It is easy to understand so even a lay man can understand it easily.

10
Figure 3: Use case Diagram of Waiters on Wheel

11
5.2. Logical Design: Entity Relationship Diagram
Entity relationship Diagram is a logical diagram that represents the relationship between entity
sets. It shows the logical structure of a database as viewed by end users. It helps in determining
the entities, their attributes and relationships between entities. An ERD can be composed of three
main components i.e. Entity, Attributes and Relationships. The reasons behind choosing ERD as
a logical design for our project are listed below:

i. ERD is very simple and easy to draw. If the relationships between entities and attributes
are known then we can simply draw an ERD.
ii. It is clearly understandable. By seeing this diagram one can easily understand
relationships between entities and attributes.
iii. It is very easy to convert an ERD to a different data model.

Figure 4: ER Diagram of Waiter on Wheel

12
Figure 5: Class Diagram of Waiter on Wheel Restaurant

Here, class diagram of waiter on wheel is designed. The class name in the above diagram includes
cash on delivery, system order, customer details and bank account details for the online payment
in the restaurant.

13
5.3. Physical Design: Prototype
Prototype is a practical explanation of how a system will work and behave. It is an early sample
of release of a product to make tests before releasing it to a client. It is mainly built to check for
bugs and errors. The reasons behind choosing Prototype as a physical design are listed below:

i. It helps to study the overall behaviour of the system.


ii. It helps to check for any errors and bugs. If one occurs it will be easy for debugging
before launching the product.
iii. We can view system from client’s perspective and check whether its user friendly or
not.

Figure 6: System Register and Login

14
Figure 7: Order Menu of Restaurant

Figure 8: Order Information of Waiter on Wheel

15
6. Implementation and Deployment:
6.1. Construction:
While constructing the Computerized Delivery Tracking System, the major software and tools that
are used or considered during construction are described below:

6.1.1. CASE Tools:


A CASE tools, also called Computer-aided Software Engineering is a standard term used to denote
many forms of software engineering automation support. In a more preventive context, a case tools
are a software which is typically built with high quality. It is used alongside with other automated
tools for the development of information systems. It automates any software related activity which
involves web application development, mobile application development etc. (Jim, 2016)

6.1.2. Visual Studio:


Visual studio is a Microsoft Integrated Development Environment (IDE). It is used for developing
various websites, computer games, mobile based application, and web-based application. Visual
studio uses different tools for designing Microsoft apps such as Windows API, Windows Form
and Microsoft Silverlight. (Patel, 2017)

6.1.3. User Manual:


The user manual provides all the essential information and written guides for the user to use to
information system to its full potential. This manual includes an overview and features of the
functional system.

16
7. Testing:
Testing is an evaluation process for detecting discrepancies between the specified input and the
expected out. Testing checks whether the computerized delivery tracking system will meet the
stated requirements in order to deliver a quality product or not. There are various types of testing,
they are as follow: (Syantini, 2019)

1. Unit Testing:

Unit testing refers to an individual unit or a group of linked units. This testing is performed to
check whether the implemented software is producing expected output against the given input.
During unit testing in computerized delivery tracking system, code is tested in individual unit.

2. Integration Testing:

Integration testing combines a group of components to produce expected output. Often, software-
hardware interaction is evaluated in integration testing. During integration testing in computerized
delivery tracking system, whole code is tested for making a system.

3. Functional Testing:

Functional testing ensure that the system requirements operates with the specified functionality of
the system. During functional testing of computerized delivery tracking system, the whole code is
checked and determined whether it is functional or not, if not then it is modified further.

4. System Testing:

System testing is the testing which ensures that the software still function by bringing them into
different environments. It is carried out with full implementation of the application and its
environment. During system testing of computerized delivery tracking system, the whole code
checked for its performance, either it is working properly or not.

17
8. System Deployment:

Figure 9: System Deployment


Direct changeover in Computerized Delivery Tracking System is the immediate replacement of
new facility, product and procedure. After the deployment of new system, customer can place an
order either through telephone or through the website of the company. For the home delivery,
driver deliver the meal within the deadline and take a report of their each and every work. The
driver collects the amount of the meal and also its service charge. It focusses on leadership skills,
imagination and creativity of the restaurant.

18
9. Individual Component

9.1. Extreme Programming (Aaditya Jha NP000290)


9.1.1. Introduction
Extreme programming (XP) is a software development methodology which gives more priority to
the improvements on quality of the software and responsiveness to the changing client's
requirement. It is an agile software development methodology. XP is classified into four main
phases of development i.e. Planning, Design, Coding and Testing. XP falls under the iterative
model so it proposes short releases frequently. The complete project is divided into small functions
and every cycle of development from the design to the test phase is for one function. After the
completion of one function the team shifts to the next and the cycle continues. (Yasvi, M., 2019).

"XP is a way of software development focusing on excellent application of programming


techniques, clear communication, and teamwork which allows us to accomplish things we
previously could not even imagine." (Beck and Andres, 2005)

9.1.2. Values of Extreme Programming:


The Extreme Programming is composed on four main values i.e. Communication, Simplicity,
Feedback, Respect, Courage.

i. Communication

A good communication among the team members will greatly reduce the problems
arising and result in high output of the team. Working in a team brings out the best
solutions to any problems.

ii. Simplicity
If we are developing a software then we must try to make it simple and clear focusing
on the functionalities that is needed at the moment rather than the functionalities to be
used in the future.

19
iii. Feedback
No any software remains valid for a long time. We must make frequent changes to the
system according to the need of clients. This is possible only when we receive regular
feedback from the client.
iv. Courage
Courage is effective action in the face of fear. (Beck and Andres, 2005) Every team
member should have courage to speak truth about the progress and problems arising
and to discard the failing solutions and search for the new ones.
v. Respect
Every team member should respect each other and their work. To improve the
productivity, everyone's contribution on the team must be respected.

9.1.3. Best Practices of XP:


Extreme Programming follows 12 practises which is categorized in four group i.e. Feedback,
Continual Process, Code Understanding and Work Conditions. The twelve practices are listed
below:

1. The Planning Game


In this stage strategic plans are made for the project from the meetings between developers and
customer. The collaborative meeting between developers and customers is conducted to
approve the features of the system and next iteration is planned.
2. Small Releases
The entire project is divided into many functions, after the completion of each function it is
combined with a main repository and releases its version to customers. This release cycles are
shortened and frequent to get regular feedback from customers.
3. Simple Design
The system is made simple and reflective with fewest possible class and methods which makes
the project easier and faster to complete. We focus on today's requirements rather than that to
be used in the future.

20
4. Metaphor
It is a system architecture that is to be built in a way that can be easily understood by everyone
involved in the department. It is a document that clearly describes the complete working of the
system and provides a vision that states system purpose and scope. (Yasvi, M., 2019).
5. Continuous testing
It simply tells that developers generates tests for each and every function, after those functions
passes the tests it is released to customers.
6. Code Refactoring
It is just simplifying a code to make it easier to understand. Here the duplicate codes are
eradicated. In XP we don't use complex codes, long methods or unnecessary classes. After
adding a feature to the system, developers try to find a way to make it simple, and so they
refactor the code to make it simple.
7. Pair Programming
Two developers work on a same machine to write the same code. One is for writing code while
the other is for reviewing.
8. Collective code ownership
There's no any specific member for a specific function. Anyone can work in any part of the
system at any time.
9. Continuous Integration
If there is any change to be made on the system it must be integrated regularly to be sure that
it works before and after the integration.
10. 40-Hour work week
Developers should keep a balance in their work-life it prevents from getting stressed and
burnout. Overtime are only accepted in some cases.
11. On-site customer
There should always be at least one customer available to answer all the questions of
developers and resolve the disputes.
12. Coding Standards
Every programmer should follow the common coding standard so that it becomes easy to
others to review code. It helps in Collective ownership of any piece of code.

21
9.1.4. Phases of Extreme Programming:

Figure 10: Phases of XP


XP methodology is divided into five main development phases:

1. Planning
In this phase a set of 'user stories' is being created for every features and functionalities that
is to be included in the software. These stories are converted to iterations. And finally,
these iterations are delivered to customers as a fully functioning feature. In this
computerized delivery system, we have conducted meetings between client, developer's
team and stakeholders to create 'user stories' for each feature to be added on the system.
Later, we had divided our project intro smaller sections. For each stories a new release is
launched. There will be an iteration for every story as each story have same flow from
planning to testing phase. Every iteration of our computerized delivery project was started
with planning. And we had made several small releases after each successful completion
of feature.

22
2. Design
XP follows a KIS (Keep it simple) principle. Simple designs are made for the software
including all the features required to be developed in the software. In our computerized
delivery system, we had made our designs simple. It made us easy to analyse the outcomes
of the design. Also, making a simple design saved a lot of time. For this project we had
made designs like Use case Diagram, Entity Relationship Diagram, Class Diagram and
prototype. This helped the developer team to clearly understand the requirements of the
system. (Nayab, 2014)
3. Coding
Developers code according to the metaphors and adopts a collective code ownership.
Coding is made simple to let others review the code. Codes are frequently integrated to the
main repository. In our computerized delivery system, we had made our code simple and
clear so that it saves a huge amount of time. Making code simple helped us in reviewing
other team member's codes. We had set a standard which should be followed by everyone
while coding. Everyone's code had the same standard which help team members to code
collaboratively. We had a paired programming concept where programmers code in a pair.
We would integrate only one pair's code at a time.
4. Testing
In XP, testing is included in the procedure of development phase rather than after the
development phase. In our project of delivery system, we had conducted several unit tests
for each piece of code. We had only released those codes which passes every unit tests.
Testing was done by both developers and clients. When a bug occurs while testing it is sent
to debug and after debugging again tests are made. Only after successful clearance from
all the test it is released.
5. Feedback
Developers take frequent feedback from customers to improve the software and remove
bugs from the software. After every release of a new feature in our computerized delivery
system, we had taken feedbacks from customers. These feedbacks were analysed properly
and changes were made accordingly. No, any feedbacks were neglected in our project.
Every iteration of our project concluded after this feedback stage. This is the final phase of
every iteration.

23
9.1.5. Why chooses XP
XP practices is followed in an effective way for the web applications. XP is feasible to cost and
time than other methodologies. The simplicity of the code helps to highly reduce the amount of
cost and time taken which prevents developers from getting frustrated. Frequent feedbacks from
customer helps developers to improve the software. The breakdown of the project into small
modules and frequent feedbacks allows developers to complete the project on time. Its short
iterative cycles and ability to change according to business needs increases the productivity of the
business in a very high scale. As we had to complete our computerized delivery system on less
amount of time, we have chosen XP because of its time benefits. Also, by choosing this project we
had saved a lot of money and the maintenance of computerized delivery system was easier. As the
coding standards were simpler it was time effective for modifying the previous codes.

9.1.6. Scheduling

Figure 11: Gantt chart Scheduling of XP


24
Figure 12: Timeline Scheduling of XP

25
9.2. Rapid Application Development (Amar Prajapati NP000294)
9.2.1. Introduction
Rapid Application Development is traditional lifecycles developed in 1970s, and still commonly
used which is based on a step-by-step structured approach to system development. Rapid
Application Development is a technique that helps organization to build the important system more
rapidly and strategically while reducing development cost and maintaining quality. RAD helps us
in developing higher quality products in a very short period of time as compared to the traditional
ones. (Iro.umontreal.ca, 2020). RAD doesn't helps us in quickly fixing the one product, which is
probably already late to the marker. Instead, it is a strategic capability which built from the ground
to up. Rapid Application development can be implemented with the four-part strategies listed
below: (McConnell, 2014)

 Classic mistakes should be omitted.


 Fundamental development should be applied.
 Avoiding catastrophic setbacks and risk management.

9.2.2. Why Rapid Application Development?


I think RAD is ultimate guideline for assigning the responsibilities and tasks in developing the
Computerized Delivery Tracking System of Waiter on Wheels. Rapid Application is a technique
for software development that focuses on quick prototyping and development of application to
ensure faster delivery of products. RAD approach incredible success for the Computerized delivery
tracking system which was designed to keep record of the information while talking with clients
and heavily focused on keeping the waiter involved throughout the entire meal-delivery service
process. Some benefits are mentioned below as Why RAD is suitable for Computerized Delivery
Tracking System?

 Frequent communication and feedback between the waiter and stakeholders increase the
productivity of delivering and ordering process.
 In a shorter time, frame, client get the product delivered.
 Faster market analysis.

26
9.2.3. Core Element of RAD:
RAD is a sustainable development model that gives greater emphasis on rapid prototyping and
quick feedback over a lengthy testing and the development cycle. RAD model is very effective if
a customer needs a quick delivery of a product. It is also the best model to choose when
improvements to the prototype will be made throughout the process before completion of the final
product. Rapid Application Development has many cores that make it distinctive methodology,
that are:

 Prototyping: A key aspect of RAD is the construction of a prototype for the purpose to
create a feature light version of the finished product in the shortest possible time and to
design a user specification.
 Iterative development: Iterative development means the production in short development
life cycles by increasing functional version of the system.
 Time boxing: Time boxing can be defined as the process of focusing on accomplishment
of current versions by postponing features for future version of the application.

9.2.4. Phases of RAD:


Rapid Application Development consist of four phases (Lucidchart.com, 2020):

Figure 13: Phases of RAD

27
i. Requirements Planning:

Requirement planning phase can be related to a debate on the nature of a project. This planning
phase is streamlined as compared to the other project management methodologies, and this is
a critical step towards the ultimate success of the project. At this stage, developers, a
collaborative meeting is held among developers, customers, and end users to finalize the
project's goal end expectations, as well as current and potential errors that need to be debugged
at construction. It helps in finalizing the specifications with the approval of client and
stakeholders. Such meetings begin the process of development by establishing a mutual
understanding of the goal of the project in general and system in particular. In computerized
delivery tracking system, requirement planning helps to define the requirement of the waiter
and research the current problem in the restaurant for the meal delivery service.

ii. User Design Phase:

In user design phase, customers and developers work collaboratively to ensure that all the
requirements are met at every step of the design phase. It is almost like interactive system
development which helps to ensure whether the requirements by checking the prototype of the
system at this stage. The user design stage provides a detailed model of the system, a system
design description, and a plan for implementation. End users participated in workshops on
Joint Application Design (JAD) to conduct the research and design activities associated with
this stage (Ftms.edu.my, 2020). The objectives of user design in computerized tracking system
is to develop proposed screen layouts for the home delivery, customer pay and the service
charge and also for preparing a work plan that defines the required steps needed to complete
the food selection of home delivery.

iii. Construction Phase:

In construction phase, the proposed system is completed and the application software is
developed and tested to implement that design. In this phase, the status of product is determined
and also transition of system is performed. The objective of this phase is to complete the design
including workshop for the system developer. In computerized delivery tracking system, this
phase design, develop and test the software which is prepared to keep record of the waiter and
accept online order from clients.

28
iv. Cutover Phase:

During cutover phase, the new system is constructed, delivered, installed and placed in
operation much sooner. The final phase, the cutover, allow the development team to transfer
the components into a live building environment where all necessary testing or team exercise
can be performed. This phase helps to maximize the effectiveness of restaurant and the
installed system helps to record the information during the customer call, and also accept when
the customer changes their order.

9.2.5. Advantages of RAD:


 The requirements of the clients can be changed at any time.
 It encourages and give priorities to the customer feedback.
 RAD allows quick review of the prototypes for the different features.
 RAD helps to solve the organizational problems related to the deployment of new
application.
 In RAD, development time is desperately reduced (Kissflow, 2020).

9.2.6. Disadvantages of RAD:


 RAD projects fail if developer or the software user are not committed to completing the
project on time.
 The primary disadvantage of RAD is reduced scalability. Scalability is reduced because an
application developed by RAD begins as a prototype and develops into a finished
application.
 RAD cannot be used for relatively smaller projects that are too complicated or too
interrelated to be split up effectively.
 It is not well suited for the projects with low source margin because the cost of
implementation and coding is significantly very excessive.
 RAD methodology is not suitable for those projects which has excessive amount of
technical risk i.e. excessive degree of interoperability. (Anon, 2020)

29
9.2.7. Scheduling of RAD:

Figure 14: Gantt Chart Scheduling of RAD

Figure 15: Timeline Scheduling of RAD

30
9.3. Rational Unified Process (Pallavi Kumari Sah NP000319)
9.3.1. Introduction
The Rational Unified Process is one of the Software Development Process. It offers a disciplined
approach within an organization to delegate roles and responsibilities. The goal of Rational Unified
Process is to ensure the production of high-quality software in a consistent schedule and within
budget which meets the needs of its end users. RUP provides best practices to each member of the
team with proper guidelines and templated. Rational Unified Process focus more on the
maintenance and development of the product rather than production of large quantities of paper
documents. (Ibm.com, 2020)

9.3.2. Why RUP?


I think Rational Unified Process is ultimate guidelines for delegating tasks and responsibilities
within the Computerized Delivery Tracking System of Waiters on Wheel. It was software
development process shaped by IBM in 2003. In computerized delivery system, it helps to develop
a high-quality software which meets the needs and requirements of every customer. The
remarkable success of the RUP approach for the computerized delivery tracking system, was
designed to be familiar in every environment and provides many services to its customer. Rational
Unified Process was designed for large scale-based organizations as it was flexible methodologies
which provide access to large geographical areas.

Rational Unified Process is declared as a set of best practices within this Computerized Delivery
tracking system what I seem to be a pattern procedure for the development of complex and large
system. Some of the benefits are listed below as Why RUP is suitable for Computerized Delivery
Tracking System?

 RUP offers better control over the computerized delivery tracking system.
 It leverages team productivity by providing the guidelines and tool mentors within the
computer delivery tracking system.
 Unifying software within a computerized delivery tracking system.
 Efficient delivery process.
 Control changes within the restaurant. (ActiveCollab, 2020)

31
9.3.3. Phases of Rational Unified Process:

Figure 16: Phases of Rational unified process

1. Inception Phase:

In the inception phase, overall cost and the time schedule for Computerized delivery tracking
system is estimated. The initial evaluation is conducted during this phase to determine the scope
of the system by gathering the restaurant member and discuss whether the computerized tracking
system is worth pursuing or not, what is intended to be in the product and what is not, and also
prepare the supporting environment for the project. (Ftms.edu.my, 2020)

2. Elaboration Phase

In the Elaboration phase, stability of the design is fixed, analyze requirements, develop plan for
the system and eliminate highest risk element of computerized delivery tracking system.
Depending on the constraints i.e. scope and size of the computerized delivery tracking system, an
executable design of the system is built based on one or more iterations. (Ftms.edu.my, 2020)

32
3. Construction phase:

In the construction phase, the coding, testing and implementation for computerized delivery
tracking system is completed. In this phase, all the components and application of the workable
system are created and integrated into product, and then thoroughly tested. In the process, RUP
achieves adequate quality as rapidly as possible and minimize development cost through
optimization of resources to achieve degree of parallelism in the work of development teams of
the restaurants. (Cscjournals.org, 2020)

4. Transition Phase:

When the system is ready to be deployed in the customer environment, the transition phase is
designed. In the transition phase, the system is deployed within the features of computerized
delivery tracking system. It focuses primarily on the activities needed by the users to place the
delivery tracking system in market. This process involves multiple revisions, as well as updates of
bug fixes and many improvements. The main goal of this process is to achieve user self-
sufficiency. (Cscjournals.org, 2020)

9.3.4. The Rational Unified Process Best Practices:


The Rational Unified Process provides computerized delivery tracking system with complete
instruction, recommendation and many path finders which is necessary for the entire team of the
restaurants to take precedence from other based on the following best practices: (Kruchten, n.d.)

 Develop Software Iteratively: Helps to encourage iterative development by designing the


entire solution of the of the problem for computerized delivery tracking system, build the
system and then perform testing of the product. Every phase of the software development
life cycle should be implemented, tested and defined within the system.
 Manage Requirements: Describe how to organize the delivery system, how to get online
order from the customer, and document required functionality and constraints in the
delivery system, and easily capture the requirements of the client.
 Use Component-Based Architectures: Primarily focuses on the development of software
components which provides deposit slip of every day, restaurant payments at the end of

33
every week, weekly sales report. And also keep the record when a customer places an order
either through telephone or through the company website.
 Visually Model Software: The Rational Unified Process provides graphical representation
for visualizing the object of the computerized delivery tracking system, based on Unified
Modeling Language.
 Verify Quality of Software: Quality should be evaluated on the basis of authenticity,
capabilities, features and performance of the system.
 Control Changes to Software: Describes how to control, track and monitor all the forms of
changes to enable successful iterative development which will inevitably occur throughout
the development of the computerized delivery tracking system. (Ibm.com, 2020)

9.3.5. Advantages of RUP:


 The project risks associated with clients evolving requirements for changes and request
management can be proactively resolved.
 The need for integration is very less as the integration process continues throughout the
development more specifically in the construction phase.
 RUP is a complete methodology itself which focus on accurate documentation.
 Due to the reuse of components, the development time is slightly less in compared to other
methodologies. (My-project-management-expert.com, 2020)

9.3.6. Disadvantage of RUP:


 Integration in the development process can also adversely affect some more fundamental
activities during the testing phase.
 Although RUP has delivered excellent results, particularly in software development, it is a
rather complex method that makes it challenging to implement, especially for smaller
business, teams or projects.
 In Rational Unified Process, the development process is quite difficult.
 Under this methodology, the person who develop the software must be expert in their field.
(Tatvasoft.com, 2020)

34
9.3.7. Project Scheduling of RUP:

Figure 17: Gantt Chart Scheduling of RUP

35
Figure 18: Timeline Scheduling of RUP

36
10. Conclusion:
In this project, Computerized Delivery Tracking System is developed to solve the existing
problem. For this, various agile methodologies are considered to go through the various phases of
system development by our company for achieving the goal of project. System Development
Methodology is flexible and user-friendly methodology which helps to successfully implement
changes in any organization. The methodologies i.e. Rapid application development, Rational
unified process and Extreme programming chosen for this system provide support to both
development team as well as customers.

While doing this project, we came to know about different information system development
methodologies and also many ideas about web-based application. In this project, online delivery
tracking system is designed which helps customers to easily place an order of their choices. This
project has instructed us to work in team and work on genuine field. By agile principles, the
methods are carried out for better customer satisfaction and requirement fulfillment. The overall
stages of a system development are fulfilled in a sequential manner.

37
References:
1. ActiveCollab. (2020). Rational Unified Process (RUP) · ActiveCollab Blog. [online]
Available at: https://activecollab.com/blog/project-management/rational-unified-process-
rup

[Accessed 8 Jan. 2020].

2. Balpan, K. (2017, August 3). quora.com. Retrieved from quora.com:


https://www.quora.com/What-is-the-meaning-of-systems-analysis-and-design

[Accessed 7 Feb. 2020.]

3. Beck, K. and Andres, C. (2005). Extreme programming explained. 2nd ed. Boston: John
Wait.
4. Cscjournals.org. (2020). [online] Available at:
https://www.cscjournals.org/manuscript/Journals/IJSE/Volume5/Issue2/IJSE-142.pdf
[Accessed 8 Jan. 2020].
5. Dudziak, T. (2000). eXtreme Programming An Overview. Methoden und Werkzeuge der
Softwareproduktion WS 1999/2000. Available at
http://csis.pace.edu/~marchese/CS616/Agile/XP/XP_Overview.pdf
[Accessed 8 December 2019]

6. ELGABRYs, O. (2016, September 13). medium.com. Retrieved from medium.com:


https://medium.com/omarelgabrys-blog/requirements-engineering-elicitation-analysis-
part-2-a02db801f135

[Accessed 16 Jan. 2020].


7. Erickson, J., Lyytinen, K. and Siau, K. (2005). Agile Modelling, Agile Software
Development, and Extreme Programming. Journal of Database Management,
[Accessed 25th December, 2019]

38
8. Ftms.edu.my. (2020). [online] Available at:
http://www.ftms.edu.my/images/Document/IMM006%20-
%20RAPID%20APPLICATION%20DEVELOPMENT/Chapter%202nnote.pdf
[Accessed 7 Jan. 2020].
9. Ibm.com. (2020). [online] Available at:
https://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_b
estpractices_TP026B.pdf
[Accessed 8 Jan. 2020].
10. J.Choudhari and Dr. U.Suman, Iterative Maintenance Life cycle using Extreme
Programming, in International Conference on Advances in Recent Technologies in
Communication and Computing in 2010

11. Jim, S. (2016, October 10). medium.com. Retrieved from medium.com:


https://medium.com/@stevejim56/what-are-computer-aided-software-engineering-tools-
case-and-its-uses-for-software-development-6e8c7c5e9df2

[Accessed 18 Jan. 2020].


12. Kruchten, P. (n.d.). Rational Unified Process, The.
13. Nayab, N. (2014). Understanding the Extreme Programming Life Cycle Phases. [online]
Brighthubpm.com. Available at:
https://www.brighthubpm.com/methods-strategies/88996-the-extreme-programming-life-
cycle/
[Accessed 17 Dec. 2019].
14. Layton, M. and Morrow, D. (n.d.). Scrum for dummies.

15. line. Iro.umontreal.ca. (2020). [online] Available at:


http://www.iro.umontreal.ca/~dift6803/Transparents/Chapitre1/Documents/rad_wp.pdf

[Accessed 4 Jan. 2020].

16. Lucidchart.com. (2020). 4 Phases of Rapid Application Development Methodology |


Lucidchart Blog. [online] Available at:
https://www.lucidchart.com/blog/rapid-application-development-methodology
[Accessed 10 Feb. 2020].

39
17. McConnell, S. (2014). Rapid development. Redmond (Washington): Microsoft Press.

Patel, M. (2017, May 7). quora.com. Retrieved from quora.com:


https://www.quora.com/What-is-Microsofts-Visual-Studio

[Accessed 14 Jan. 2020].

18. Soliant. (2020). Rapid Application Development: A Guide from Top Developers. [online]
Available at:

https://www.soliantconsulting.com/blog/rapid-application-development/

[Accessed 10 Feb. 2020].

19. Tegarden, D. (2016, feburaury 4). oreilly.com. Retrieved from oreilly.com:


https://www.oreilly.com/library/view/systems-analysis-
and/9781118037423/05_chapter001.html

[Accesses 2 Jan. 2020].

20. Tutorialspoint.com. (2018). Extreme Programming - Practices - Tutorialspoint. [online]


Available at:
https://www.tutorialspoint.com/extreme_programming/extreme_programming_practices.
htm [Accessed 2 Jan. 2020].
21. Visual-paradigm.com. (2020). What is Use Case Diagram?. [online] Available at:
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-
case-diagram
[Accessed 11 Feb. 2020].

22. wazlawick, R. S. (2014). sciencedirect.com. Retrieved from sciencedirect.com:


https://www.sciencedirect.com/topics/computer-science/requirement-elicitation

[Accessed 19 Jan. 2020].

23. Yasvi, M., (2019). Review on Extreme Programming-XP. In International Conference on


Robotics, Smart Technology and Electronics Engineering. Delhi, India, April, 2019.
Delhi: Indraprastha Institute of Information Technology Delhi.
[Accessed 3rd Jan, 2020].

40
Appendices:
Work Load Matrix
Chapters Aaditya Jha Amar Prajapati Pallavi Kumari Shah
(NP000290) (NP000294) (NP000319)

Introduction ✓ ✘ ✘

Agile Principle ✘ ✘ ✓

IS methodologies ✘ ✘ ✓

System Analysis ✓ ✘ ✘

System Design ✘ ✓ ✘

Testing ✘ ✓ ✓

System Deployment ✓ ✘ ✘

Individual Part Extreme RAD RUP Methodology


Programming Methodology

S.No. Name Signature


1 Aaditya Jha (NP000290)

2 Amar Prajapati (NP000294)

3 Pallavi Kumari Shah (NP000319)

41

You might also like