4D Pocket
Abstract
Ever find yourself scrambling to retrieve the right research paper or opening a cheatsheet to check the correct citation format? Have you ever discovered the perfect research paper to support your project, only to forget about it—or save it but lose track of which project it was for? Or perhaps you’re constantly logging into Blackboard to download that elusive PDF file because your device ran out of space?
4D Pocket is an application that simplifies reference management. With 4D Pocket, you can save webpages and automatically extract metadata such as author, publication date and title. You can also categorize references into custom collections and export citations in all common formats (APA, MLA, IEEE) and file types (.xml, .bibtex). Furthermore, save a snapshot of the webpage and view them later.
Author
Name: Trong Hieu Mai
Student number: 48249258
Functionality
The system is a application that provide an intuitive interface for users to save and manage references, whether that is a journal or a research paper. 4D Pocket will also generate the correct citation for that webpage and export it to the required file type.
Core features:
- Reference Saving
- Save a URL to the webpage
- Save a snapshot of that webpage
- Automatic Citation Extraction
- Detect metadata like authors, publication date, and title.
- Custom Collections & Tagging
- Organize references into customizable collections.
- Add tags for easy searching and filtering.
- Citation Export in Multiple Formats
- Format references in APA, MLA or IEEE.
- Export references in .bibtex, .xml file types.
- Copy citations with one click for easy insertion into documents.
- Search & Quick Retrieval
- Search for titles or authors across saved references.
- Filter by tags and date.
- User Account & Cloud Sync
- User login via email and password.
- Each user has a private library for managing their references.
- Sync references across logged-in device.
- Backup and restore references through cloud integration.
Scope
The Minimum Viable Product (MVP) will have the following functionality:
- Basic user account
- Save webpage URLs
- Categorize references
- Detect metadata like authors, publication date, and title.
- Citation export in IEEE to .bibtex
Quality Attributes
Availability
- Availability means users should be able to access their saved references and perform tasks like exporting citations without interruptions. High availability ensures that users can rely on the application for their reference management needs, enhancing productivity and user satisfaction.
- Testability: Availability can be measured by monitoring uptime, response times, and error rates. It can be tested through load testing and stress testing to ensure the system remains accessible under various conditions.
Modularity
- Modularity refers to separating the citation export feature from the metadata extraction module. Modular systems are easier to maintain, update, and scale, as changes can be made to individual components without affecting the entire system.
- Testability: Modularity can be measured by assessing the independence of components and the ease of integrating new modules. It can be tested by evaluating how well changes to one module affect the rest of the system.
Reliability
- Reliability means consistently saving and exporting references correctly. Reliable systems build trust with users and reduce the likelihood of data loss or errors.
- Testability: Reliability can be measured through metrics like failure rates and mean time between failures. It can be tested through rigorous testing under various conditions to ensure consistent performance.
Scalability
- Scalability means handling a growing number of users or large collections of references efficiently. Scalable systems ensure that the application remains responsive and functional even as usage grows.
- Testability: Scalability can be measured by monitoring performance under increased load. It can be tested through load testing to ensure the system scales well horizontally or vertically.
Security
- Security includes safeguarding user data and preventing unauthorized access to saved references. Secure systems protect sensitive user data and maintain trust.
- Testability: Security can be measured by assessing vulnerability to attacks and compliance with security standards. It can be tested through penetration testing and security audits.
Testability
- Testability involves designing the system so that its components can be easily tested for functionality and performance. Highly testable systems reduce the risk of bugs and ensure that changes do not introduce new issues.
- Testability: Testability can be measured by evaluating how easily test cases can be created and executed. It can be tested by assessing the coverage of automated tests and the ease of performing regression testing.
These quality attributes are crucial for ensuring that 4D Pocket provides a robust, reliable, and scalable reference management solution that meets user needs effectively.
Evaluation
This plan outlines how we will assess each attribute to determine if the project has achieved its objectives.
Availability
- Evaluation Method: Monitor system uptime and response times.
- Metrics: Uptime > 98%, average response time 200ms.
- Testing: Perform regular code reviews and assess how easily new features are integrated.
Modularity
- Evaluation Method: Assess component independence by evaluating how changes to one module affect others.
- Metrics: Changes to one module should not affect more than 10% of other modules.
- Testing: Conduct module-level testing to ensure each component functions independently.
Reliability
- Evaluation Method: Measure failure rates and mean time between failures.
- Metrics: Failure rate per 1000 hours.
- Testing: Perform rigorous testing under various conditions to ensure consistent performance.
Scalability
- Evaluation Method: Monitor performance under increased load.
- Metrics: System should handle a 50% increase in load without performance degradation.
- Testing: Conduct regular scalability tests.
Security
- Evaluation Method: Conduct vulnerability assessments.
- Metrics: Zero critical vulnerabilities, compliance with security standards like GDPR.
- Testing: Perform regular penetration testing and regression testing.
Testability
- Evaluation Method: Evaluate how easily test cases can be created and executed.
- Metrics: Automated test coverage > 90%.
- Testing: Assess the coverage of automated tests.
Feasibility and Timeline
The evaluation process will be integrated into an agile development cycle, with regular assessments conducted during each sprint. This ensures that any issues identified can be addressed promptly, and adjustments can be made as needed. The evaluation plan will be reviewed and updated after each sprints to ensure it remains aligned with project goals and evolving user needs.
By following this evaluation plan, we can ensure that the 4D Pocket application meets the desired quality attributes, providing a robust, reliable, and scalable reference management solution for users.