• Tidak ada hasil yang ditemukan

System Development Methodology

In a PR curve, precision values will be plotted on the y-axis and recall values on the x-axis. To determine a good PR curve, the area under curve (AUC) should be high (Uberoi, 2019). Figure below illustrates the example of a PR curve for the first method of product counting on different dataset.

Figure 2.3: PR curve for the first method of product counting on different datasets (Kejriwal, Garg and Kumar, 2015).

According to Technical Fridays (2019), PASCAL VOC 2020 to 2012 uses all points AUC, while MS COCO only uses 101 recall points and different thresholds of IoU.

2.5.6 Mean Average Precision (mAP)

Mean Average Precision (mAP) is commonly used to measure and compare the accuracy of object detection models. mAP is the mean of average precision (AP) of all the object classes. AP is the averaged precision across all recall values between 0 and 1. It can simply be determined by the area under the PR curve.

instructions (Inc, 2003). SDLC must utilise a multi-layered approach to the analysis, design, installation, and production support. Two methodologies were developed in the current industry, namely the traditional software methodology and agile software methodology.

Figure below illustrates the comparison of traditional and agile methodology.

Figure 2.4: Traditional vs. Agile Development Methodology (Shaikh & Abro, 2019).

2.6.1 Traditional Software Methodologies

There are some traditionally implemented software modelling methods in SDLC, namely the waterfall model, incremental model, and spiral model.

It is called the waterfall model since each of the phases is executed one by one and downstream like a waterfall (Malleswari, Kumar, Sathvika & Kumar, 2018). It emphasises the completeness and strictness of documentation.

However, this model is relatively slow and requires more time in assessing user requirements.

The incremental model separates a software project into small pieces, each of which is exposed to different iterations with increasing functionality and capability. In contrast to the waterfall model, the software module will be

gradually altered and increased in each cycle. This model is suitable for understaffed situations, but it may also cause scope creep in the SDLC (Subair, 2014).

Being a risk-driven process model, the spiral model provides system milestones to guarantee that stakeholders commit to realistic and satisfying system deliverables. It primarily focuses on risk handling with repetitive cycles.

A prototype will be created after the risk analysis phase. Before hopping into the following spiral, users will assess the project’s results. The best aspects of the waterfall and prototyping models were absorbed in this concept. For smaller projects, however, it can be expensive and overwhelming.

2.6.2 Agile Software Methodology

Agile is defined as swift or multi-purposes, while the agile method is an incremental method. Being commonly introduced in the SDLC in the present day, there are a lot of approaches implementing the agile software methodology, such as SCRUM, Extreme Programming (XP), and Personal Extreme Programming (PXP).

SCRUM is a framework for collaborative agile development models.

According to Hema, et at. (2020), SCRUM is a series of equipment, conferences, and responsibilities to aid the software progress. SCRUM introduces a set of rules and terminology to define the work and roles in the project. For example, the SCRUM meeting will be held every day among the team. There will be a SCRUM master who will provide guidelines to the SCRUM team and motivate them to focus on the work. After each iteration, a review meeting will be held to improve the work. SCRUM ensures that each person puts out their best effort in the meetings, but it also often contributes to project scope creep.

Extreme Programming (XP) is another agile software methodology.

With methods such as programming in pairs, development based on tests, computerised testing, and continuous integration (CI), this model seeks to produce high-quality software. With the support of customer interactions, XP is frequently applied to projects with ambiguous user requirements and constantly ongoing changes. In terms of value, XP is unique in that it emphasises simplicity, communication, feedback, and respect. However, since this model emphasises

coding above design, it might result in poor software design which can negatively impact the sales.

Another agile software methodology is Personal Extreme Programming (PXP). It combines both XP and Personal Software Programming (PSP). PXP deviates from the strict rules and techniques of PSP by incorporating several XP practices. PXP has been widely chosen as the SDLC model because it increases software quality while empowering autonomous developers. In the study of Asri, et al. (2017), it is proved that using PXP in software projects can aid in the development of high-quality software in a shorter amount of time.

Every member of the XP team follows a consistent coding standard. PXP, on the other hand, allows autonomous developers to write their source code with their own coding standards. As demonstrated in the study by Agarwal and Umphress (2008), PXP is a more personalised alternate of XP for a one-man team that entails varying the 12 basic principles of XP.

2.6.3 Conclusion

In today’s frequently changing environment, many publications have shown that agile software methodology has a greater quality when implemented throughout the SDLC when compared to traditional methodology (Shaikh & Abro, 2019).

In a nutshell, there is no single methodology that can assemble all key elements of the software design model. To deliver high-quality software on schedule, the methodology should be chosen based on the project’s nature, user’s requirement, and developer’s work style.

Dokumen terkait