Loading...

Messages

Proposals

Stuck in your homework and missing deadline?

Get Urgent Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework Writing

100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Methodology (SDLC) of Portable Low-Cost Facial Recognition

Category: Engineering Paper Type: Dissertation & Thesis Writing Reference: APA Words: 1150

The development life cycle of the software is being discussed in this chapter. The project is all about the development of the software for the purposes of facial recognition. The flow of the software, the modules as well s the sub-modules suggest to consider SDLC (Software Development Lifecycle) in order to achieve the said purpose. This framework will better assist the directions of the current software.

It can be said that SDLC needs to be followed brutally. It is a step-by-step procedure in order to support the development of the software. It is also termed as the software development process as it better helps to direct all the project-related processes. Every phase of the SDLC is further sub-categorized into certain steps. The more accurately this flow is followed, the more effective is the completion of the software. The entire SDLC process is classified into the phases as given:

Planning: This phase is related to the plans related to the management of the entire project. It help in the planning for the allocation of the resources, planning for the capacity, decision-making for the project schedule, estimates related to the costs and provisioning etc.  It tends to provide with the project plans, project schedules, cost estimates as well as the procurement requirements.

Requirement Analysis: For the purposes of software development, the analysis of the requirements is performed in this phase.

Design and prototyping: In this phase, work on the design and the architecture of the software is started. It makes use of the established patterns for the development of the software.

Software Development: This phase provides with the developed software. This method can either be carried out as agile methodology or as the single block-of-effort (i.e., waterfall). It tries to provide with the software in the working form as soon as possible. The testable, functional software is the output of the said phase.

Testing: It is considered to the most significant phase of SDLC. Without testing, it is not possible to deliver quality software. The quality of the software is measured by considering as given: quality of the code, unit testing, integration testing, testing for checking the performance and the security testing.

Deployment: It is perceived to be a highly automated phase. The moment when the software is ready it is then deployed.

Maintenance: In order to ensure the proper operations of the software, the software is monitored constantly. Bugs and defects discovered in Production must be reported and responded to, which often feeds work back into the process.

SDLC is of different types. The most relevant SDLC models for the said project work are as given: 

SDLC Comparison

SDLC

Model

Description

Advantages

Disadvantages

Waterfall Model (Fig. 3.1)

The sequential 7 steps are used for this model. It is used effectively for the well-known and clear requirements. They are less likely to be changed over the time.

 

 

 

Straightforward.

Simple & easily understandable

Easily controllable.

A clear definition for the concepts is provided.

Well-documented results and software processes.

Works best for small-scale software development.

The phases of this model follow the sequential flow for the completion of the project one after another.

No development for the next phase until the previous phase is completed properly.

Unable to support the lengthy and complex software development.

High association of the risks for the changing requirements during the life cycle of the project.

The software which follows the regular updates does not suit for the waterfall model.

 

Incremental Model (Fig. 3.2)

This method for the software development id built based on the waterfall model.

It focuses more on the development of the single parts of the software.

Once a part has been completed, it can then be used to identify more requirements of the software.

It tends to focus on producing the important functionality early.

Better suggested for the long-term projects.

For every increment to the model, it is better able to be used productively.

It is easy to make changes to the requirements.

It believes in the faster delivery of the product.

It best suits the projects with the new and the latest technologies.

It is mandatory to pre-plan for each increment.

It is vital to know the requirements of the complete system in advance.

 

Agile Model (Fig. 3.3)

The small and fast incremental cycles better support the agile models. Every new cycle is highly dependent on the functionality of the previous cycle.

 

 

Straightforward.

Simple & easily understandable

Easily controllable.

Supports flexibility.

Have the ability to works with both fixed or the changing requirements.

Rapid development of the important functionality is better supported.

The partial parts of the software can be produced effectively.

The development of the multi-parts at the same time is supported by this model.

Less supports the development of the complex software.

Risks with areas such as maintainability.

 

Fig.: SDLC Waterfall Model (Source: https://www.youtube.com/watch?v=LHcpEwvpb-s)


Fig. SDLC Iterative Incremental Model (Source: https://www.javatpoint.com/software-engineering-iterative-model)


Fig.: SDLC Agile Model (Source: https://ll-labs.readthedocs.io/en/latest/calm/sdlc.html)

Basics for the selected Chosen SDLC along with the evaluation

Initially, it was assumed that the water model for the SDLC is ideal for the said project. It was perceived because of the simplicity of the said model. But the current project comprises of varying phases and the differing functionality. The use of the incremental SDLC model is better suggested for the said software. It can be either the agile model or the iterative incremental model. The final decision was made to go forward by choosing the iterative incremental model. This model is better suggested as it helps to document the software requirements along with the modules and sub-modules more than the agile model. Based on this model, it was possible to produce the partially functioning software at the completion of each iteration.

As an example we can take the addition of the functionality of the camera to the project modules. After the completion of the iteration, this module helped to add the functionality of saving photos and videos from the camera. The rapid development of the functionality is possible with the use of iterative incremental model. The current software comprises of different modules and the sub-modules which need to be implemented and tested upon development. One of the significant reasons for the choice of this software development model is the support for the use of the latest and the advanced technologies. The other reasons include as given:

It more focuses on producing the imperative functionality early.

More suggested for the long-term projects.

For every increment to the model, it is better able to be used productively.

It is easy to make changes to the requirements.

It believes in the faster delivery of the product.

It best suits the projects with the new and the latest technologies.         

Our Top Online Essay Writers.

Discuss your homework for free! Start chat

Top Rated Expert

ONLINE

Top Rated Expert

1869 Orders Completed

ECFX Market

ONLINE

Ecfx Market

63 Orders Completed

Assignments Hut

ONLINE

Assignments Hut

1428 Orders Completed