Project Plan - bounswe/bounswe2024group11 GitHub Wiki

Description

  • This page displays how it is planned to proceed throughout the development process of Zamazingo App.

  • For project plan tracking, ProjectLibre is mainly used and general scheme of the project is divided into subtasks.

  • Necessary charts describing the process and general partition tasks of projects are listed and explained at the bottom of this page.

  • You can find the ProjectLibre file of the project plan in our repository as named Project_Plan.pod here.

Project Plan Scheme (Gantt Chart & Network Chart)

Gantt Chart

Project_Plan-1

  • Here general tasks and their corresponding sub-tasks are shown through the expected timeline of the project. It is important to note that there will be more detailed sub-tasks as the project is developed. There will be parts to be added and parts to be changed while implementing the app.
  • In order to catch expected deadlines required by CmpE451 course schedules, non-sequential tasks shall be executed in parallel and those tasks are displayed in Gantt Chart.
  • As an another important note, specified deadlines for tasks and overall project can show elastic behaviors as a result of CmpE451 Course's state of affairs throughout the semester. Therefore, deadlines for tasks include possible error margins for latencies, especially for implementation task.

Network Chart

Project_Plan_other-1

  • In Network Chart, dependencies among the general are displayed.
  • Software Design and UI/UX tasks are not linked with sequential dependency since UI/UX Design task should start to be executed while Software Design task is in process as the team planned.
  • For the implementation phase of the project, there will be three different teams for each branch and these teams will always be in contact through their development actions. Specification of the tasks these teams will perform is not displayed in the current project plan since design phase is still in progress.
  • Additional to requirements, design, and implementation phases, DevOps is also a part of the project planning. It will be one of the center aspects of the project.

Task Explanations

Requirements

1. Requirements Elicitation

This sub-task involves engaging with customers to gather details about the project to better undestand the needs of the project. Detailed questions are asked to understand the end-users' needs, preferences, and expectations.

Requirements Elicitation

2. Software Requirements Specification (SRS)

This sub-task involves creating a comprehensive document that outlines all the functional and non-functional requirements of the software. The SRS serves as a reference for designing, developing, and testing throughout the project.

Requirements

3. Project Planning

This sub-task involves defining the overall project plan, including time and task assignments. It helps the team understand the project's scope and the sequence of activities required to complete it successfully.

4. Scenarios

This sub-task involves developing various scenarios to explore how the system should behave in different situations. Scenarios help in understanding user interactions and system responses under varying conditions.

Scenario-1

Scenario-2

Scenario-3

Scenario-4

Scenario-5

5. Mockups

This sub-task involves creating visual representations of the application screens, providing a preliminary look at how the application will appear and function. Mockups serve as a valuable tool for visualizing the user interface and getting feedback before moving into the design and development stages. Mockups can be seen under every related scenario.

Software Design

This task covers where team creates UML Diagrams for different aspects of the project such as Use-Case, Class Diagrams, Sequence Diagrams for program behaviors. Here can be assessed as last point before the UI/UX Design.

1. Use-Case Diagram

This diagram models the system's functional requirements by outlining interactions between users and the system itself. It represents high-level functionalities and helps in understanding the scope of the system.

Use-Case Diagram

2. Class Diagram

The Class Diagram is a structural diagram that represents the static view of an application. It shows classes, their attributes, methods, and the relationships among the classes.

Class Diagram

3. Sequence Diagram

Sequence Diagrams illustrate the order of interactions between objects and components in the system over time. They are essential for understanding how processes and communication flow in the system.

UI/UX Design

This task covers the process of creation of screens according the proceeding design steps that will constitute the overall application. It is important to note that this task is conducted just after the Software Design process. This work package completes the End of the Design Phase specified by our team.

Implementation

Authentication

This task involves implementing a secure user authentication system that manages user access and permissions. It includes creating functionalities for user registration, login, logout, and password management. The authentication process ensures that only authorized users can access specific parts of the system, protecting sensitive data and maintaining the integrity of the application.

Pages

This section of the project involves creating the core pages and functionalities of the Zamazingo App. Each page corresponds to a specific feature or section of the app that users will interact with.

Profile Pages

This task involves implementing profile pages which allow users to view and manage their personal information, preferences, and activities. These pages will likely include options for editing personal details, uploading profile pictures, and displaying user statistics (e.g., quiz performance, badges, or gamification levels).

Quiz Pages

This task involves developing the core quiz functionality and interface for users to take quizzes. The quiz pages are one of the central features of the Zamazingo App, where users can participate in quizzes, create new ones, and view results.

Forum Pages

This task involves building forum pages which are designed to facilitate discussions between users. These pages allow users to ask questions, share knowledge, and discuss topics related to quizzes and learning.

Semantic Search

This task involves implementing semantic search functionality which will improve the relevance and accuracy of search results in both quizzes and the forum. Unlike traditional keyword-based search, semantic search understands the context and meaning behind the user's input. Linked data will be used to achieve this sub-task.

Gamification

Gamification is a crucial part of the app, designed to increase user engagement by rewarding their activity and participation. The goal is to make learning and interaction more enjoyable by incorporating game-like elements.

Test & Bugfixing

This task involves to be ensure thorough testing of all features and resolve any bugs before deployment.

DevOps

DevOps is the backbone of the continuous integration and deployment process, ensuring that the development team can release new features quickly and efficiently.

Initialization of CI/CD pipeline

The Continuous Integration/Continuous Deployment (CI/CD) pipeline is one of the first steps in DevOps. It allows the team to automatically test and deploy code changes.

First Deployment

This step is the first official deployment of the app to a staging or production environment, which will likely include core features like authentication and a few basic pages.

Last Deployment

The last deployment marks the end of the development cycle, with the app being fully ready for users. This will include all features and bug fixes.

Milestones

Dev Milestone 1

Date: 11/10/2024

This milestone covers the Software Requirements Specification (SRS) phase.

Deliverables of this milestone:

    1. Project requirements
    1. Elicitation questions for requirements
    1. Project Plan
    1. Scenarios
    1. Mockups

Dev Milestone 2

Date: 18/10/2024

This milestone covers the design phase, which consists of software design and UI/UX design.

Deliverables of this milestone:

    1. UML Diagrams
    • 1.1. Use Case Diagram
    • 1.2. Class Diagram
    • 1.3. Sequence Diagram
    1. UI/UX Design

Customer Milestone 1

Date: 22/10/2024

This milestone covers Dev Milestone 1, Dev Milestone 2, and some basic implementation from Dev Milestone 3.

Deliverables of this milestone:

    1. Project requirements
    1. Elicitation questions for requirements
    1. Project Plan
    1. Scenarios
    1. Mockups
    1. UML Diagrams
    • 6.1. Use Case Diagram
    • 6.2. Class Diagram
    • 6.3. Sequence Diagram
    1. UI/UX Design
    1. Authentication (simple login & registration)
    1. Basic web & mobile screens with mock data

Dev Milestone 3

Date: 28/10/2024

This milestone covers the first deployment.

Deliverables of this milestone:

    1. Authentication (simple login & registration)
    1. A working CI/CD pipeline
    1. Deployed web application & ready to use Android application

Dev Milestone 4

Date: [Tentative] 20/11/2024

This milestone covers the basic MVP-level application.

Deliverables of this milestone:

    1. Core quiz features
    1. Core forum features
    1. Simple semantic search for quizzes & forum questions
    1. Fair implementation of gamification elements
    1. Deployed web application & ready to use Android application

Customer Milestone 2

Date: 26/11/2024

This milestone basically covers Dev Milestone 4 and some profile features.

Deliverables of this milestone:

    1. Core quiz features
    1. Core forum features
    1. Core profile features & simple user-to-user interactions
    1. Simple semantic search for quizzes & forum questions
    1. Fair implementation of gamification elements
    1. Deployed web application & ready to use Android application

Dev Milestone 5

Date: 05/12/2024

This milestone covers the implementation of the complete set of features of the application, which may have bugs.

Deliverables of this milestone:

    1. Quiz features
    1. Forum features
    1. Profile features & user-to-user interactions
    1. Semantic search for quizzes & forum questions
    1. Gamification
    1. Deployed web application & ready to use Android application

Customer Milestone 3

Date: 17/12/2024

This milestone covers the complete implementation of the application, including testing & bug fixing steps.

Deliverables of this milestone:

    1. Quiz features
    1. Forum features
    1. Profile features & user-to-user interactions
    1. Semantic search for quizzes & forum questions
    1. Gamification
    1. Deployed web application & ready to use Android application