Medicine Reminder App

From CS486wiki
Revision as of 20:40, 8 May 2015 by Seniorproject (talk | contribs)
(change visibility) (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Week 1-2:

GUI Design +

Week 3-4:

GUI Implementation +

Week 5-6:

Functions Design (Ongoing) +

Week 7-8:

Home Page and Add Medicine Page (1 of 4) +

Week 9:

Remove Medicine Page (2 of 4) +

Week 10:

List Medicine Page (3 of 4) +

Week 11:

Logs Page(4 of 4)

Week 12-13:

Testing and Bug Fixing



1. INTRODUCTION 1.1 Purpose This document will define the design of my senior project Medicine Reminder. It includes specific information about the expected input, output, classes, functions and their relationship with each other. The relation between the objects are shown in detailed explanation and screenshots for desired requirements in a better way.

1.2 Scope Design Specification was to be used by Software Engineering and Software Quality Engineering as a definition of the design to be used to implement the final project of mine named Medicine Reminder. This paper addresses things that are different than what was described in my paper from last semester and explains why those differences exist.

1.3 Objective There are many people that uses more than few medicine daily. Our objective is to make it easier for users to remember the medicine that they need to take. Many would ask the difference between our project and the regular Reminder that both iOS and Android have. Our application is specified for only medicine purposes which allows to add,delete and view multiple medicine records including logs and time.

2. SYSTEM OVERVIEW 2.1 Product Perspective This product provides users to be able to view the medicine that they took and they are going to take in a period of time. They can also explore the medicine that they are going to take in a specific time. This would be useful if a user is going to a trip for a day or two and wants to figure out what medicine to take with them. The regular reminders in all platforms are not only specified for medicine actions.

2.1.1 Design Method The design of this product is based on object-oriented approach.


2.1.2 User Interfaces The user of this software product will be interfacing with the Medicine Reminder application system to help remembering the medicine that he/she is going to take. The product allows user to use a reminder application only specified for medicine usage which eases the remembering of time, medicine name for the users. There are 5 interactive pages in this application listed below: Home Page Add Reminder Page Remove Reminder Page List Reminder Page Reminder Logs 2.1.3 Hardware Interfaces This application can run on Android based operating systems.

2.1.4 Software Interfaces This application is written in Android. Java language built-in SQL LITE was used to implement the project. 2.1.5 Memory Constraints Application takes memory and besides that memory it uses memory in database. The memory usage is increasing linearly according to number of medicine that are entered.

2.1.6 Operations The operator needs to enter the parameters for the running phase of Medicine Reminder. I have shown 5 interactive pages in the user interface part of this report. I will be explaining those pages in detailed in this section. Android takes instance to its own alarm system and saves the alarm there. After some specific time, It calls the alarm function. Below are the 5 interactive pages and what they do. Home Page: There are 4 buttons in this page designed 2x2. Those are listed below: Add Reminder: Time, days and name of the medicine is entered and create button is clicked to create a new record for the user.

Remove Reminder: Previously created medicine are listed and ready to be deleted if the user clicks X button right next to the medicine.

List Reminder Page: This button allows you to list the all the medicine records.

Log Page: This allow user to view the success of getting the right medicine on right time. Logs are updated as taken and increases the log if the user clicks the notifications. Clicking the notification indicates that the medicine is taken. When the notification is not clicked for a time period, logs are updated and decreased according to the amount of delay.


2.1.7 Site Adaption Requirements This software is intended to execute on any device that uses Android as operating systems. It works with Android basic system and doesn’t require any extension. 2.2 Main Product Functions Functions that are decide to be a part of this application are listed below: -add_medicine() : This function opens the new medicine page to user to fill. -remove_medicine() : This functions is to delete any medicine record. -view_all() : This function allows user to view all of the medicine records.

2.3 User Characteristics There is no general characteristics for users. Anyone that uses medicine can use this application to ease their daily medicine intake remembering process.

2.4 Constraints This application requires Android SDK19 or higher to run reliably.

2.5 Assumptions and Dependencies This application is only intended to report at medicine intake times. 2.6 Apportioning of Requirements There are requirements apportioned to later releases of the application.

4. SYSTEM ARCHITECTURE 4.1 Important(Main) Functions available in classes 4.1.1 Alert() Function: performs an evaluation based on medicine time comparison and determine if alert is needed to remind user to take the medicine. Precondition: All values needed for evaluation are accessible to this function. Postcondition: Necessary evaluation is done successfully.

4.1.2 Add() Function: Opens add medicine page after the user fills the blanks, adds medicine. Precondition: All values needed for evaluation are accessible to this function. Postcondition: Necessary evaluation is done successfully.

4.1.3 Remove() Function: Opens whole the medicine list and lets the user choose the medicine to delete. Precondition: All values needed for evaluation are accessible to this function. Postcondition: Necessary evaluation is done successfully.

4.2 Individual Classes of System 4.2.1 Add Medicine Class: This class is to implement Add Medicine Page. 4.2.2 List Reminder Class: This class is to implement Listing Page. 4.2.3 logArrayAdapter Class: This is the subclass of Log Page. It is necessary to add Reminder to ListView page. For all ArrayAdapter classes it enables to view all the information by the user. 4.2.4 logs Class It implements the log Page. 4.2.5 Main Activity Class: It implements the log Page. 4.2.6 Reminder Class: For all classes’ usage, It’s the generic class. It’s the wrapper for individual Reminder. 4.2.7 ReminderArrayAdapter Class: The aim is to list the registered medicine. 4.2.8 ReminderReceiver Class: It creates the notifications for the user. 4.2.9 ReminderService Class: Pre operation for the ReminderReceiver class. It saves the input to the Alarm System. 4.2.10 Reminder Data Source Class: Information is collected here to provide the database connectivity.

In other words, It enables the relation with the database.

4.2.11 ArrayAdapter Class: It parses the information coming to the all pages. 4.2.12 ReminderSetter Class: The aim is to provide continuity and avoid information loss when the device is rebooted. It re-registers the alarms for the user. 4.2.13 Remove Reminder Class: It implements the Remove page. Enables user to delete medicine records. 4.2.14 SQLLiteHelper Class: The aim is to enable database declaration.