• Tidak ada hasil yang ditemukan

System Development Methodology

Dalam dokumen SHARIFAH FOOD INVENTORY MANAGEMENT SYSTEM (Halaman 108-113)

CHAPTER 1 1 INTRODUCTION

3.2 System Development Methodology

The software development methodology used in this project is the RAD prototyping methodology. The main motive for choosing the prototyping methodology for the project development is the adoption of the iterative system prototype, which allows the client to provide constructive feedback based on the working prototype perpetually until the prototype is accepted as the final system. In this methodology, the system prototype evolves and encompasses more functionalities progressively through each iteration.

The RAD prototyping methodology consists of four major phases: planning, analysis, design, and implementation. Additionally, the analysis, design, and implementation phases will be carried out concurrently to produce one workable system prototype for review purposes. Once the system prototype is accepted as the system to be deployed, the project will enter the implementation phase for testing and finally produce the final system, as illustrated in Figure 3.1.

Figure 3.1: RAD Prototyping Methodology (Dennis, et al., 2015)

Since the RAD prototyping methodology proposed by Dennis, et al. (2015) is used for general software development that suits most of the software projects, the prototyping methodology is further modified to complement the project specifically.

Through modification, the project further divided the prototyping methodology into four main phases to show the detailed workflow of the project. The four primary phases include planning, iterative prototype development, system testing, and system deployment. Moreover, a brief analysis is performed during the planning phase. Each iteration in the iterative prototyping development phase is added with a testing phase for some early testing activities and an evaluation phase for evaluation and review purposes. In addition, the analysis, design, implementation and testing phases will undergo concurrently in the iterative prototype development phase to produce the system prototype for evaluation. Figure 3.2 shows the modified prototyping methodology for this project.

Figure 3.2: Modified Prototyping Methodology

3.2.1 Planning Phase

The first phase of this project is the planning phase. It is the most crucial phase in project development. It helps to identify the project goals, avoid missing project deadlines, reduce the project risks, and eventually produce a satisfying system. This phase focuses on requirements gathering to understand the business requirements from the users, the expectation of the users, and the functionalities required to develop the system.

During the planning phase, the problem encountered by the user was identified. After that, the feasibility study was carried out to determine the project background, goal, objectives, proposed solution, proposed approach, scope, and problem statement. With the deliverables stated, a preliminary report of the project was formulated.

Extensive literature studies and reviews were conducted on the project domain, such as inventory management systems, inventory analysis techniques, database transaction management, and concurrency control. Several existing applications related to the project were reviewed and compared to recognize the features in common so that the common features could be integrated into the system to produce a high-quality and reliable system.

The project plans such as Work Breakdown Structure (WBS) and Gantt chart were developed to create milestones for the project deliverables to be completed in time. The development and testing tools used in this project were also determined.

Next, an analysis of the project requirements was performed. The project specifications, such as functional and non-functional requirements, were specified in the analysis phase, with the requirements elicited from the previous activities. Along with the requirements specified, the use case modelling was produced. The use case diagrams and descriptions were developed for each function that will be developed in the project. Lastly, a simple screen prototype was created to provide a basic understanding of the system.

3.2.2 Prototype Development Phase

The project will undergo analysis, design, and implementation phases to produce one workable prototype for evaluation in this prototype development phase. Once the review is completed, the project continues to proceed to the next iteration and perform the same process until the prototype is fully satisfied with all the required

functionalities. Throughout this phase, the static analysis tools are used to perform static analysis on the code. This project would have three iterations of the prototype development phase.

a) Iteration 1: Inventory Management System Development

The scope of the first iteration is to produce the entire front-end web application of the inventory management system that can demonstrate the UI and the use case flows for the system functionalities. At the beginning of the development phase, developing a front-end web application helps better understand the design of the back-end architecture. In this iteration, the UI of the web application is designed. The primary purpose of iteration 1 is to check if the functionalities are following the requirements specified. Since the back-end server has not yet been developed, the front-end web application developed in this iteration would work without connecting to the back-end server. After the web application is completed, several testings, such as UI testing, will be performed to ensure that the prototype is working without problems. Then, it will then be shown to the project supervisor for evaluation to check if the prototype satisfies the requirements. The comments and feedback retrieved from the project supervisor will then be used for refinement. The project supervisor will recheck the refined prototype, and this process repeats until the prototype is approved.

b) Iteration 2: Back-end Server Development

The scope of the second iteration is to produce the back-end server with REST API that can connect to the front-end web application developed in iteration 1.

This iteration will take the longest to complete since the back-end development involves plenty of logic and might have many bugs to resolve. The system design, such as the software architecture design, entity-relationship diagram, activity diagram, etc., will be produced during this iteration. The database design and API connections will be implemented.

Moreover, all the functionalities and modules will also be implemented in the prototype. Advanced features such as inventory analysis techniques as well as database transaction management and concurrency control will be included in the prototype as well.

After each module is developed, the unit testing and integration testing will be performed to verify the bugs or defects found in the modules as earlier as possible. In addition to this, the test cases of the testing will be developed before the testing is performed. Since the modules developed in the prototype will be reused on the final system, early testing could ensure that the modules are error-free.

By the end of the iteration, a fully functional full-stack web application will be produced. Once the back-end server is completed, it will then be presented to the project supervisor for evaluation to check if the prototype satisfies the requirements. The comments and feedback retrieved from the project supervisor will then be used for refinement. The project supervisor will recheck the refined prototype, and this process repeats until the prototype is approved.

c) Iteration 3: E-commerce Platform Development

The scope of this iteration is to produce a e-commerce application that provides a mobile platform for the users to place their orders with Sharifah Food. During the iteration, the UI design of the web and mobile application will be developed by using cross-platform mobile development tools. After the UI is designed and implemented, the platform will be connected with the back-end server to access and retrieve the data from the server. After the application is completed, several testings, such as UI testing, will be performed to ensure that the mobile application is working. Then, it will then be sent to the project supervisor for evaluation to check if the prototype satisfies the requirements. The comments and feedback retrieved from the project supervisor will then be used for refinement. The project supervisor will recheck the refined prototype, and this process repeats until the prototype is approved.

3.2.3 System Testing Phase

In this phase, the system should be fully functional and finalised. Different types of testing will be performed on the final system, the web, and mobile applications. Before performing the testing, the test plan will be produced as documentation for the testing activities. In addition, the application will undergo four types of testing: unit testing, integration testing, system usability testing, and user acceptance testing. Unit testing and integration testinare used to verify the system works properly. System usability testing evalualates the usability of the system. On the other hand, user acceptance testing verifies if the user requirements are correctly implemented. If there is a 95 percent pass rate of all the tests performed, the project will enter the system deployment phase.

3.2.4 System Deployment Phase

The final review will be carried out with the stakeholders to confirm the final system before delivery in the deployment phase. Besides, the final system and report will be produced and deployed to the internet, marking the completion of the project.

Dalam dokumen SHARIFAH FOOD INVENTORY MANAGEMENT SYSTEM (Halaman 108-113)