Uml Requirements

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

I am currently developing an Angular application and need comprehensive UML diagrams to

represent various aspects of the project. Below is a detailed description of the project and
the requirements:

- **Application Description**: The application is a web-based platform for managing user


subscriptions and support requests. It includes functionalities for users to sign up, log in,
manage their subscriptions, view admin/user dashboards, and request support. The user
dashboard includes subscription plans, where users can manage their subscriptions and
subscribe to one of the three plans. The application integrates Stripe for handling payments
when users subscribe (in the manage subscription functionality). Admins can access an
admin dashboard to view user accounts and manage support forms.
- **Target Users**: Users and Admins.

Sprints Details
- Sprint 1
- Admin: Authenticate.
- User: Authenticate.
- Sprint 2:
- User: View User Dashboard, Manage Subscriptions, Request Support.
- **Admin**: Access Admin Dashboard, which includes viewing support forms and users'
subscription details.

- **User Stories for Sprint 1**:


1. **Sign Up** (User): Sign up.
2. **Login** (User): Login.
3. **Sign in with Google** (User): Sign in with Google.
4. **Forgot Password** (User): Reset Password.
5. **Login** (Admin): Login as admin.

- **User Stories for Sprint 2**:


1. **View User Dashboard** (User): View User Dashboard.
2. **Manage Subscriptions** (User): Manage Subscriptions.
3. **Request Support** (User): Send Support Form.
4. **Access Admin Dashboard** (Admin): Access Admin Dashboard.

### Required Diagrams


1. **Global Use Case Diagram**: Covering the entire application (needs correction).
2. **Sprint-Specific Use Case Diagrams**:
- Sprint 1: User authentication and admin (needs correction).
- Sprint 2: Viewing user dashboard, managing subscriptions (including Stripe payment
integration), requesting support, and accessing the admin dashboard (needs to be created).
3. **Sprint-Specific Class Diagrams**: Showing the structure and relationships of classes
developed in each sprint (needs to be created).
4. **Sequence Diagrams for each functionality**:
- **Sprint 1**: Sign Up, Login, Forgot Password (needs correction).
- **Sprint 2**: View User Dashboard, Manage Subscriptions (including Stripe payment
integration), Request Support, Access Admin Dashboard (needs to be created).
### Detailed Descriptions
- **Actors**:
- **Subscribed User**: Can sign up, log in, reset password, view user dashboard, manage
subscriptions, and request support.
- **Admin**: Can log in and access the admin dashboard (which includes viewing user
subscription details and managing support forms).

- **Use Cases**:
- **Sign Up**: Allows new users to create an account.
- **Login**: Allows users and admins to log in to the system.
- **Forgot Password**: Allows users to reset their passwords.
- **View User Dashboard**: Users can view their subscription details and other relevant
information.
- **Manage Subscriptions**: Users can change (manage) their subscriptions. This includes
integration with Stripe for handling payments.
- **Request Support**: Users can submit support requests.
- **Access Admin Dashboard**: Admins can access the dashboard to view users'
subscription details and support forms.

Application Architecture
- **Components and Services**:
- **Services**: AuthService, SubscriptionsService, SupportDataService, PaymentService.

Backend Integration
- **APIs**:
- Firebase Authentication for user authentication.
- Firestore for storing user data, subscriptions, and support requests.
- Stripe for handling payment processing.
- **Data Models**:
- **User Model**: Stored in Firebase Authentication.
- **Subscription Model**: Stored in Firestore under "users" collection.
- **SupportRequest Model**: Stored in Firestore under "supportRequests" collection.
- **Payment Model**: Integrated with Stripe and relevant payment data stored in Firestore.

Existing Issues and Corrections Needed


- **Existing Diagrams**: I have existing global use case diagrams, use case diagrams for the
first sprint, and sequence diagrams for the first sprint that need to be reviewed and
corrected.
- **Identified Issues**:
- Ensure all necessary relationships are correctly represented.
- Confirm the accuracy of class attributes and methods.
- Verify that all use cases and actors are accurately included.

### Technologies and Tools


- **Frameworks and Libraries**: Angular, Firebase (Authentication, Firestore), Stripe.

You might also like