Application Design Report Detailed
Application Design Report Detailed
Introduction
The application under discussion aims to provide users with a seamless platform for
managing accounts,
submitting service requests, and processing online payments. The architecture is
meticulously structured into use case, class,
and component designs to ensure user-friendliness, efficient data management, and
streamlined operations.
Actors
1. **User**: The primary actor who interacts with the system for service requests and
payments.
2. **Administrator**: Responsible for maintaining the backend and database.
Use Cases
**User Actions:**
1. **Login**:
- Enter credentials (username and password).
- Options for forgotten password retrieval.
2. **Submit Service Request:**
- Choose from three services:
- Document Translation
- Online Dictionary Look-up
- Proofreading Service
3. **View/Change/Cancel Service Request:**
- Access submitted service requests.
- Modify or cancel existing requests.
4. **Pay Cost Online:**
- Select payment methods (credit card or PayPal).
- Process payment.
**Administrator Actions:**
1. **View Backend Server:**
- Manage user accounts (open/close accounts, edit details).
- Perform administrative tasks.
2. **View Database Server:**
- Store and manage user account information, service requests, and payment details.
Class Design
#### **Key Classes and Attributes**
1. **User**:
- Attributes: Username, password, name, email, address.
- Methods:
- `login()`
- `applyForAccount()`
- `submitServiceRequest()`
- `viewServiceRequests()`
- `payCostOnline()`
2. **ServiceRequest**:
- Attributes: RequestID, userID, type, content, status.
- Methods:
- `changeStatus()`
3. **Payment**:
- Attributes: TransactionID, amount, status.
- Methods:
- Payment handling and validation.
4. **BackendServer**:
- Responsibilities: Manage backend operations and data.
- Methods:
- `openUserAccount()`
- `closeUserAccount()`
- `adminWorkOnAccounts()`
- `databaseMaintenanceWork()`
5. **Admin**:
- Attributes: AdminID.
- Methods:
- `performAdminActions()`
6. **DatabaseServer**:
- Responsibilities: Handle database storage and operations.
- Methods:
- `storeUserAccountInfo()`
- `storeServiceRequests()`
- `storePaymentInfo()`
Component Design
#### **Key Components**
Conclusion
This application’s architecture effectively integrates user and administrator functionalities
into a coherent
system. By dividing responsibilities into distinct classes and components, the design
ensures scalability, maintainability, and
a quality user experience. This well-structured system is poised to deliver efficient and
reliable services to its users.