Dolendar System Requirements
Ruilin Wu
Table of Content
| Table of Content | ||
|---|---|---|
| Introduction | Outlines the purpose and overview of the Requirements Specification. | 2 |
| Executive Summary | A concise recap of the Dolendar’s key aspects and its overarching goals. | 3 |
| Application Context / Environmental Constraints | Details of the application and the operating platforms. | 3-4 |
| Functional Requirements | Specify the essential actions and features the application must provide. | 4-7 |
| Non-functional Requirements | Detail the performance and quality for system designers and programmers. | 8 |
| Other Requirements | 9 | |
| Glossary | Additional requirements still need to be mentioned. | |
| Defines specialized terms throughout the document. | 9 | |
| Assumptions / Risks | Potential uncertainties and challenges that could impact Dolendar. | 10 |
| Priorities / Implementation Phases | Order and timeline for the application’s development stages | 10 |
| Future Directions and Expected Changes | Hints at the application’s evolution and potential updates | 11 |
Introduction
This document outlines the software requirements for Dolendar, a productivity suite of software developed by the INF43 Software Engineering group under the commission of Dom Dones, president and founder of DoMore Software Corp.
Dolendar integrates a calendar application and a to-do list manager, aimed at helping users enhance work productivity and personal time management, and understand the impact of procrastination on their scheduling.
Executive Summary
Dolendar is a sophisticated productivity tool that redefines traditional scheduling by integrating to-do lists with calendar functions. It allows users to craft detailed to-do lists while aligning and displaying their tasks alongside scheduled events, providing a holistic view of their commitments. This feature encourages frequent interaction with the calendar, fostering a proactive approach to task management and highlighting the effects of unfinished tasks on overall schedules. By clearly showing how delays can impact one’s time, Dolendar differentiates itself from ordinary organizational software, serving not just as a work aid but as a comprehensive system for managing personal goals and daily activities.
Dolendar offers both a personal-use version and an enterprise version. The personal version is free and equipped with all basic features, and a subscription version can support data storage and synchronization. Businesses can opt for the enterprise version, which offers additional functionalities tailored to professional needs and is accessible through corporate engagement with DoMore Software.
The design philosophy behind Dolendar prioritizes simplicity and user-friendliness, recognizing the necessity for an intuitive user experience amidst a competitive market. It is meticulously developed to meet high standards of usability, privacy, and data protection, thereby ensuring reliability for users. Designed for seamless integration with current digital ecosystems, Dolendar complements existing calendar applications and is compatible with cloud services, allowing immediate productivity enhancements without significant changes to existing workflows.
Dolendar goes beyond scheduling; it’s an ally in time management, bridging the gap between digital efficiency and the intricacies of everyday living, enabling users to reclaim control over their time with confidence and ease.
Application Context / Environmental Constraints
Dolendar software is crafted to serve many environments, demonstrating versatility and adaptability.
- It is designed to streamline and enhance the productivity of business and office settings, where individuals and teams alike can efficiently manage their schedules, meetings, and collaborative endeavors. Within these settings, the software will facilitate team-based functionality, allowing for an intuitive interface where the team’s admin can assign tasks and make announcements with ease.
- Dolendar extends its utility to personal use, where users can organize and track their individual goals, daily tasks, family events, and various other personal activities, making it an indispensable tool in the realm of personal organization.
- It supports an on-the-go lifestyle, enabling users to access and manage their schedules and tasks with the same efficiency outdoors or while traveling.
The developmental blueprint for Dolendar spans across mobile and desktop platforms. The mobile application is being developed to serve both iOS and Android operating systems for phones and tablets. This version promises a responsive design, capable of adapting to a multitude of screen sizes and orientations for optimal functionality. Following the mobile release, a desktop application is set to be introduced to serve users on Windows, macOS, and Linux, catering to the needs of the desktop environment.
With regards to operating system support, the mobile application will be compatible with the system version for iOS and Android at the time of the application release and one prior. The desktop version will match up to the prevailing system versions of Windows, macOS, and Linux at the time of its release, ensuring broad accessibility.
Design considerations for Dolendar are centered around a modern, elegant, and sleek user interface (UI) design, emphasizing ease of use and intuitive interactions to reduce friction for the end-user. The UI will be inclusive, accommodating both dark and light modes with customizable color themes to not only cater to user preferences but also to ensure accessibility for users who are color-blind.
Certain constraints dictate the software’s architecture to ensure it aligns with contemporary expectations. It is imperative that the software syncs with prevalent calendar services such as Google Calendar and Apple iCloud Calendar, negating the need for a proprietary calendar system within Dolendar. Emphasis is placed on adopting modern, secure, and robust programming languages and frameworks to fortify the software’s security, efficiency, and maintainability. A cloud-based backend service is also in the blueprint, designed to manage the intricacies of syncing and collaboration features in line with a subscription-based business model.
In the selection of programming languages, the INF43 Software Engineering group has been granted the liberty to choose the most fitting language for the development of this application, ensuring the final product is built on a foundation that maximizes its potential.
Functional Requirements
Dolendar is a combination of a to-do list app and a calendar, and it is designed to enhance work productivity and personal time management. It integrates various functionalities to address human psychology and procrastination, aiding users in achieving personal and professional goals.
Core Functionalities
- Event and Task Management: Users can create, modify, and delete tasks and events. Tasks are the user’s to-do items, activities or goals planned to be completed; events are planned events, such as meetings or courses, fixed schedules or flexible events. This feature includes setting titles, descriptions, and other relevant details for tasks and events. Tasks are more flexible and can be adjusted around fixed events in the calendar.
- Time Allocation for Tasks: Users assign an estimated duration to each task, which the system then integrates into the user’s calendar. This will allow users to have their tasks and events intersected, which helps visualize the time allocated to each task and manage the day more efficiently.
- Dynamic Task Adjustment: Based on the user’s progress and upcoming deadlines, tasks dynamically change in the calendar. If a task is not completed within the expected time, it is automatically rescheduled, affecting the scheduling of future tasks. This feature highlights the impact of procrastination and helps users better manage their time.
- If a user marks a task as done before the deadline, it will not affect subsequent tasks; however, if a task exceeds the deadline, all subsequent tasks will be delayed accordingly. Once an overdue task is completed, all subsequent tasks return to their normal schedule at the current time.
- If a user marks a task as done before the deadline, it will not affect subsequent tasks; however, if a task exceeds the deadline, all subsequent tasks will be delayed accordingly. Once an overdue task is completed, all subsequent tasks return to their normal schedule at the current time.
- Sub-tasks Creation and Management: Allows breaking down large tasks into smaller, more manageable sub-tasks. Each sub-task can have its own description, duration, and completion status. This feature aids in organizing complex tasks and tracking progress on individual components.
- Calendar and To-do List Views: Separate views for the calendar and the to-do list, providing different perspectives on the user’s schedule. The calendar view displays both tasks and events chronologically, while the to-do list view focuses on tasks alone. Users can toggle between views based on their preference or need.
- Task Tags and Filters: Users can tag tasks and apply filters based on time windows and tags. This feature enhances the organization of tasks by categorizing them (like “work”, “personal”, etc.) and allows users to focus on specific types of tasks within certain time frames using filters.
- Syncing: The free version of the software stores data exclusively on the local device and lacks the ability to synchronize across multiple devices. However, the personal paid version or the enterprise edition includes a syncing feature, allowing users to access their personalized settings and information on different devices.
- Team Collaboration: Designed for team use, this feature enhances task distribution and synchronization among team members.
- Task Assignment and Notification:
- Team admins can assign tasks to members.
- Members receive notifications and see these tasks integrated into their personal calendars.
- Team admins can assign tasks to members.
- Synchronization:
- The sync feature ensures that updates made to tasks are immediately reflected on all team members’ devices. This promotes effective collaboration and keeps the team aligned.
- The sync feature ensures that updates made to tasks are immediately reflected on all team members’ devices. This promotes effective collaboration and keeps the team aligned.
- Privacy of Tasks and Events:
- Tasks and calendar items can be set as either public or private. Private tasks or events are visible in the calendar as occupied time slots, but their content remains confidential. Team members can see that there is a private task at a certain time but cannot view its specifics.
- Tasks and calendar items can be set as either public or private. Private tasks or events are visible in the calendar as occupied time slots, but their content remains confidential. Team members can see that there is a private task at a certain time but cannot view its specifics.
- Visibility and Access:
- Every team member has visibility into everyone else’s task list and calendar. Private tasks or events are visible in the calendar as occupied time slots, but their content remains confidential.
- Team members can see that there is a private task at a certain time but cannot view its specifics.
- This includes viewing the completion status of tasks.
- Any team member can add an item to another member’s task list once a day, further enhancing collaborative planning and task distribution.
- Every team member has visibility into everyone else’s task list and calendar. Private tasks or events are visible in the calendar as occupied time slots, but their content remains confidential.
- Task Assignment and Notification:
Use Case:
Use Case 1: Managing Personal Tasks (Primary Actor: Individual User)
Basic Flow:
- User logs into Dolendar.
- User creates a new task, assigning a title, description, and estimated duration.
- The system integrates the task into the user’s calendar based on available time slots.
- User marks the task as completed after finishing it.
- System updates the calendar, moving upcoming tasks forward.
Alternative Flow:
- User attempts to add a task with an unrealistic duration.
- System prompts a warning about the duration conflicting with other scheduled events.
- User adjusts the task duration or reschedules other events.
Exception Flow:
- User forgets to mark a task as completed.
- System keeps the task in the calendar, causing a shift in subsequent tasks.
Use Case 2: Collaborative Task Management (Primary Actor: Team Member; Secondary Actor: Team Admin)
Basic Flow:
- Team Admin logs into Dolendar and accesses the team calendar.
- Team Admin assigns a task to a Team Member, specifying details and deadline.
- The system notifies the Team Member and adds the task to their personal calendar.
- Team Member completes the task and marks it as done.
- System updates the team calendar showing the task’s completion.
Use Case Diagram:
Non-functional Requirements
| Usability | The UI/UX should be modern, elegant, and stylish, designed for easy input and editing of tasks and events. Users should be able to easily distinguish between the calendar view and the todo list view. Adding tasks from the todo list to the calendar should not cause confusion but should remain neat and orderly. Users should be able to input and schedule tasks with minimal effort. |
|---|---|
| Security | User data should be protected during transmission and at rest using modern encryption protocols, especially for the enterprise version and all long-range versions, ensuring the security of personal and enterprise data without leaks and protecting user privacy. |
| Reliability | To ensure data integrity, in addition to the sync and cloud data storage features available in the subscribed personal and enterprise versions, the accuracy and retrieval of data saved on local devices should not be compromised. |
| Flexibility | Users should have the capability to customize the theme by specifying RGB values, enhancing personalization and improving accessibility for individuals with color vision deficiencies. The platform offers a configurable setting that allows users to select their preferred calendar layout, be it weekly or daily. Additionally, the default duration assigned to new tasks is fully adjustable, ensuring users can tailor their scheduling to fit their unique requirements. |
| Maintainability | There needs to be long-term maintenance of data information.Ensure that updates to the application can be rolled out without significant downtime or data migration issues. |
| Performance | The application needs to be responsive with quick response times, especially since it combines a calendar and to-do list, which are sensitive to time. The software needs to manage the relationship between overdue tasks and future tasks, which requires the software to focus on updating tasks. |
Other Requirements
Client Engagement:
Keep the client involved throughout the development process for feedback and iterations on the product design and features.
Budgets:
The total budget offered by DoMore Software Corp. is two million dollars. There is a million dollars for the mobile version of the application and another million upon completion of the desktop application.
Subscription:
The personal use version is completely free for local devices, but does not include any synchronization updates or storage. Subscriptions are voluntary and require the customer’s consent. The business version needs to communicate with DoMore Software Corp. and is a paid service.
Appearance:
The UI is expected to be modern, elegant and sleek appearance to attract the users. Users can choose dark mode or light mode with customizable color themes., but there is currently no option for theme selection. It is available for users to choose different colors for tasks by default.
Glossary
| Task | An entity for the todo list feature and will be assigned to different durations. |
|---|---|
| Sub-task | Several breakdown parts for a major task |
| Event | An entity for the calendar feature. Scheduled activities that occur at a specific time, such as classes or meetings, as opposed to tasks. |
| Tag | Keywords or phrases that can be attached to tasks to categorize them and facilitate filtering. |
| Time Window Filter | Features in Dolendar that allow users to set specific time frames during which certain tagged tasks should be focused on. |
| Syncing | Users’ data are stored on a cloud server, enabling access across multiple devices and collaboration with others. |
| User Interface (UI) | The interaction between the user and a digital device or software application, includes all the visual elements. |
Assumptions / Risks
There is no server cost for the free personal use version. The paid version gives users’ syncing capabilities, DoMore Software hosts the cloud syncing service. Assuming the user has a basic understanding of to-do lists and digital calendars and is seeking productivity enhancements and solutions for procrastination through the application.
The risks associated with Dolendar include potential financial risks due to market competition and whether the budget is sufficient. There are many calendar or to-do list applications on the market, including Google and Apple, so there is significant competition. Additionally, there is a risk associated with the users, who may not fully engage with the task management system. The most important risk stems from data, requiring robust security measures to prevent leaks. Dolendar involves personal privacy data and may contain confidential or proprietary documents from different companies.
Priorities / Implementation Phases
Timeline:
| November 3rd, 2023 | Submission of the preliminary Dolendar System Requirements Specification document, excluding functional requirements and use cases. |
|---|---|
| November 17th, 2023 | Completion of the Dolendar System Requirements Specification, inclusive of functional requirements and use cases. |
| January 7th, 2024 | Launch of the initial prototype of Dolendar, with subsequent versions to be released through monthly iterations. |
| November, 2024 | The release of the Dolendar mobile application. |
| April, 2025 | The debut of the Dolendar desktop application. |
Implementation:
Mr. Dones emphasized that the prototype should have a new version updated monthly after the initial launch, and he also hopes to be involved in the design of the UI. The priority is to spend one year developing the application for iOS and Android systems on both mobile phones and tablets. Then, use the following six months to transition the mobile version to support desktop environments, including macOS, Windows, and Linux, allowing Dolendar to be used on desktop platforms as well.
Future Directions and Expected Changes
The expected changes are to enhance team functionalities for task sharing, collaboration, and management. Beyond the current team features, more discussable and joinable functions will be endowed in the enterprise and individual subscription versions.
Dolendar’s future direction is to update and refine some details of the software continuously. In the future, it may expand to provide users with more data for reference regarding their productivity and efficiency, as well as the extent of their procrastination. The metrics include graphs, rankings, and other metrics, as well as displays of each task’s completion status and more advanced reminders. The Dolendar platform anticipates future expansion and integration, supporting more systems and versions, as well as creating desktop quick-tips like Apple’s widgets. It also aims to support more external calendar synchronization, including Microsoft Outlook, but currently, it is only Apple Calendar and Google Calendar. Moreover, an essential part of the future direction is to consider supporting and aiding more people with disabilities in advancing accessibility.