Skip to content

Deliverable 1 Project Definition and Software Requirements Specification

Alzate4664 edited this page Aug 13, 2026 · 9 revisions

Deliverable 1: Project Definition and Software Requirements Specification

1. Introduction

1.1 Product Perspective

GeoRank is an independent web-based platform focused on Generative Engine Optimization (GEO). It allows small business owners to analyze how their businesses are perceived and potentially recommended by AI assistants.

The system interacts with external web resources and AI-related services to analyze the online presence of a business.

System Interfaces

GeoRank operates as an independent web application and may interact with external services required to perform website analysis and generate AI visibility information.

User Interfaces

Users interact with GeoRank through a responsive web interface accessible from modern web browsers.

The main interfaces include:

  • User registration
  • User login
  • Dashboard
  • Business website submission
  • Analysis results
  • AI visibility score
  • Recommendations
  • Competitor comparison
  • Report visualization

Hardware Interfaces

GeoRank does not require specialized hardware. Users only require a device capable of accessing a modern web browser and an Internet connection.

Software Interfaces

GeoRank may interact with external web services and APIs necessary for website analysis and AI visibility evaluation.

Communication Interfaces

Communication between the client application and the server occurs through Internet protocols using HTTPS.

Operations

The system is designed to operate as an online web application. Registered users can authenticate, submit a website for analysis, review results and access recommendations.

1.2 Product Functions

GeoRank will provide the following main functions:

  • User registration and authentication.
  • User profile management.
  • Submission of a business website URL for analysis.
  • Analysis of the online presence of a business.
  • Generation of an AI visibility score.
  • Generation of a content readability and citability report.
  • Generation of prioritized recommendations.
  • Comparison against competitors.
  • Historical tracking of visibility scores.
  • Visualization of results through a responsive dashboard.
  • Export of analysis reports in PDF format.

1.3 User Characteristics

The primary users of GeoRank are small business owners who have a website or online presence and want to improve how their businesses are perceived by AI assistants.

Users are not expected to have advanced technical knowledge of SEO, Generative Engine Optimization, artificial intelligence, or software development.

For this reason, the system must present analysis results using clear language and actionable recommendations that can be understood without specialized technical knowledge.

Users are expected to have basic experience using web applications, including creating an account, logging in, entering information into forms and reviewing reports.

1.4 Limitations

GeoRank is subject to the following limitations:

  • The platform requires an Internet connection.
  • The quality of an analysis depends on the availability and accessibility of the website being analyzed.
  • External services or APIs used during analysis may affect system availability.
  • Users must provide a valid and accessible website URL.
  • The system must protect authentication credentials and personal information.
  • The platform is designed for modern web browsers.
  • Analysis results represent an evaluation of online visibility and do not guarantee that an AI assistant will recommend a particular business.

2. Specific Requirements

2.1 Functions

  • FR01: Display authentication error for invalid credentials: IF the user submits invalid credentials during login, THEN the system SHALL display an authentication error message.
  • FR02: Display error for an invalid or unreachable URL: IF the user submits an invalid or unreachable website URL, THEN the system SHALL display an error message.
  • FR03: Accept a valid website URL for analysis: IF the user submits a valid and reachable website URL, THEN the system SHALL accept the URL for analysis.
  • FR04: Generate an AI visibility score: WHEN a website analysis is completed, THE SYSTEM SHALL generate an AI visibility score for the analyzed website.
  • FR05: Generate a readability and citability report: WHEN a website analysis is completed, THE SYSTEM SHALL generate a content readability and citability report for the analyzed website.
  • FR06: Generate prioritized recommendations: WHEN a website analysis is completed, THE SYSTEM SHALL generate a prioritized list of actionable recommendations based on the analysis results.
  • FR07: Display an error when website analysis fails: IF a website analysis fails, THEN the system SHALL display an error message indicating the reason the analysis could not be completed.
  • FR08: Register a user account: IF an unregistered user submits valid registration information, THEN the system SHALL create a user account.
  • FR09: Authenticate a user with valid credentials: IF a registered user submits valid credentials, THEN the system SHALL authenticate the user.
  • FR10: Restrict dashboard access to authenticated users: WHEN a user requests access to the dashboard, THE SYSTEM SHALL grant dashboard access only to authenticated users.
  • FR11: Compare visibility scores with competitors: WHEN the user requests a competitor comparison, THE SYSTEM SHALL display the analyzed website's AI visibility score relative to the selected competitors.
  • FR12: Export an analysis report as PDF: WHEN the user requests an analysis report export, THE SYSTEM SHALL generate the report in PDF format.
  • FR13: Validate password strength during registration: WHEN a user submits a password during registration, THE SYSTEM SHALL validate the password against the defined password security rules.
  • FR14: Confirm successful completion of an analysis: WHEN a website analysis is completed successfully, THE SYSTEM SHALL display a successful analysis confirmation.
  • FR15: Restrict analyses after reaching the free-plan limit: IF a user reaches the analysis limit defined for the free plan, THEN the system SHALL prevent the user from starting another analysis until the limit becomes available again.
  • FR16: Store completed website analyses: WHEN a website analysis is completed, THE SYSTEM SHALL store the analysis result in the user's analysis history.
  • FR17: Send an email notification when an analysis report is ready: WHEN an analysis report becomes available, THE SYSTEM SHALL send an email notification to the user who requested the analysis.
  • FR18: Send a password recovery link: WHEN a registered user requests password recovery, THE SYSTEM SHALL send a password recovery link to the email associated with the account.
  • FR19: Update user profile information: WHEN an authenticated user submits valid changes to their profile, THE SYSTEM SHALL update the user's profile information.
  • FR20: End an authenticated user's session: WHEN an authenticated user requests to log out, THE SYSTEM SHALL terminate the user's authenticated session.
  • FR21: Display previous website analyses: WHEN an authenticated user accesses the analysis history, THE SYSTEM SHALL display the user's previously completed website analyses.
  • FR22: Display the details of a selected analysis: WHEN the user selects a completed website analysis, THE SYSTEM SHALL display the results associated with the selected analysis.
  • FR23: Display the AI visibility score: WHEN the user views a completed website analysis, THE SYSTEM SHALL display the AI visibility score generated for that analysis.
  • FR24: Display readability and citability results: WHEN the user views a completed website analysis, THE SYSTEM SHALL display the readability and citability results generated for the analyzed website.
  • FR25: Display prioritized recommendations: WHEN the user views a completed website analysis, THE SYSTEM SHALL display the recommendations generated for the analyzed website in priority order.
  • FR26: Register a competitor for comparison: WHEN the user submits valid competitor website information, THE SYSTEM SHALL register the competitor for visibility comparison.
  • FR27: Display historical AI visibility scores: WHEN the user requests the visibility score history of an analyzed website, THE SYSTEM SHALL display the historical AI visibility scores associated with that website.

2.2 Usability Requirements

  • UR01: Complete website submission efficiently: WHEN an authenticated user starts the website submission process, THE SYSTEM SHALL allow the user to submit a valid website URL for analysis within 2 minutes.
  • UR02: Present analysis results clearly: WHEN a user views a completed website analysis, THE SYSTEM SHALL present the main analysis results so that at least 80% of test users can correctly identify the AI visibility score, readability results, citability results, and recommendations without external assistance.
  • UR03: Access main functions from the dashboard: WHEN an authenticated user accesses the dashboard, THE SYSTEM SHALL allow the user to reach each primary GeoRank function in no more than 3 navigation actions.
  • UR04: Provide understandable validation feedback: IF a user submits invalid information in a form, THEN the system SHALL display validation feedback that allows at least 80% of test users to identify the field requiring correction without external assistance.
  • UR05: Support responsive use on common screen sizes: WHEN a user accesses GeoRank from a supported desktop, tablet, or mobile screen size, THE SYSTEM SHALL display the primary interface without horizontal scrolling on at least 95% of the tested application pages.
  • UR06: Achieve user satisfaction with core tasks: AFTER users complete the core GeoRank tasks during usability testing, THE SYSTEM SHALL achieve an average user satisfaction rating of at least 4 out of 5.

2.3 Logical Database Requirements

  • PR01: Data generated for each user: The system SHALL be able to store the username, password, company name, unique identifier (UID), email address and plan type of each user.
  • PR02: Free plan daily analysis limit: The system SHALL allow Free plan users to perform a maximum of 3 successful analyses per day. Failed analyses SHALL NOT consume the user's daily analysis limit.
  • PR03: Enable features for users with a paid plan: The system COULD be able to query the plan type associated with a user in order to display the list of available functions.
  • PR04: Specialized recommendations for each company: The system SHALL be able to link the industry sector of a company with the type of recommendations and strategies displayed in the analysis
  • PR05: Restrictions on access to information for members not belonging to the company: The system SHALL restrict access to a company's reports to users belonging to that company
  • PR06 - Preservation of all reports produced: The system SHALL be able to retain all previously generated reports.

3. Video

4. Project Management

4.1 Sprint 1

The Sprint 1 requirements are tracked as issues on the GeoRank Backlog board in GitHub Projects. Each issue corresponds to a requirement from section 2.

4.2 Weekly Meetings

The full record of the team's weekly meetings is kept on the Weekly Meetings page.

4.3 Retrospective

Continue Doing

  • Dividing the deliverable into sections and assigning each one to a team member. The split worked well and gave us enough time to finish before the due date.
  • Holding the weekly meeting to review progress and agree on the next steps.

Start Doing

  • Reviewing the MoSCoW prioritisation of the requirements and defining the order in which the Must requirements will be developed.

Stop Doing

  • Nothing identified in this sprint.

4.4 Class Activities

No project development work was carried out during this week. The time assigned to the course was spent on a class activity rather than on the development of GeoRank.

Clone this wiki locally