Analysis Report- Pet Adopt Mobile Application

Process Model Alternatives and Preferred Alternative:

Two software process models were considered for the development of the Pet Adopt mobile application: the Waterfall Model and the Agile Development Model.

The Waterfall Model follows a sequential and linear approach, where each phase such as requirements, design, implementation, and testing must be completed before moving to the next. This approach is suitable for projects with fixed and well-defined requirements. However, the Pet Adopt application includes user-facing features such as pet browsing, adoption requests, chat, and events, which benefit from early feedback and iterative refinement. Because usability expectations and feature details may evolve, the rigidity of the Waterfall Model makes it less appropriate for this project.

The Agile Development Model offers a flexible and iterative approach based on short development cycles (sprints). It allows features to be developed, tested, and improved incrementally. This model was selected because it supports continuous feedback, adapts well to changing requirements, and enables early delivery of working features. Agile aligns with the goal of building a user-friendly and reliable mobile application that can be refined over time.

 

 

Tools and Languages Considered:

Several development tools and technologies were evaluated for building the Pet Adopt application.

  • IDE Alternatives:

Visual Studio Code and WebStorm were considered. Visual Studio Code was selected because it is free, lightweight, widely used, and offers strong support for JavaScript, TypeScript, and React Native, along with built-in Git integration.

  • Front-End Frameworks:

React Native with Expo and Flutter were considered. React Native with Expo was selected because it allows cross-platform mobile development using JavaScript and TypeScript, has strong community support, and simplifies development through Expo’s built-in tools.

  • Programming Languages:

JavaScript and TypeScript were selected to implement application logic. TypeScript was chosen in addition to JavaScript to improve code quality, reduce runtime errors, and support long-term maintainability.

  • Backend Services:

Firebase and a custom backend using Node.js and MongoDB were considered. Firebase was selected because it provides built-in services for database storage, file storage, and real-time updates, reducing backend setup and maintenance effort.

  • Authentication Services:

Clerk and Firebase Authentication were evaluated. Clerk was selected because it simplifies authentication, session management, and user profile handling, and integrates well with React Native.

Different Implementation Approaches Considered:

Two main implementation approaches were considered.

The first approach involved building a custom backend using Node.js and a database such as MongoDB or MySQL. While this provides full control over business logic and data handling, it increases development complexity, hosting requirements, and maintenance overhead.

The second approach involved using a Backend-as-a-Service solution. This approach uses Firebase for database and file storage and Clerk for authentication. It reduces infrastructure management, supports real-time features such as chat, and accelerates development.

The Backend-as-a-Service approach was selected because it simplifies backend development, reduces setup time, and allows the project to focus on core application features and user experience.

 

 

 

Justification:

The Agile Development Model was selected to support iterative development and continuous improvement. React Native with Expo enables efficient cross-platform mobile development, while JavaScript and TypeScript provide a consistent and maintainable codebase. Firebase and Clerk simplify backend services and authentication. Together, these choices support scalability, maintainability, and efficient development for the Pet Adopt application.

Leave a Reply

Your email address will not be published. Required fields are marked *