Business analysis project
ABSTRACT
Most of times patients may forget to take the medicines at proper time as per specified in the prescription which may cause in late recovery from the disease/illness. So, it is necessary to take proper medicines in proper quantity at proper time. In this we introduced an Android based application for the patients. This application will remind their user to take proper medicines in proper quantity at proper time by automatically setting the reminders in the mobile. These reminders will be automatically set by the application as per the prescription. This reminder will remind their user patient that now it’s time to take the medicine.
Any living being can be a patient which may include human beings, animals, pets, etc. The patients under human being category may include businessman, social workers, politicians, teachers, students, etc. These people maybe busy in their daily routine life schedule. If they are suffering from any kind of disease/illness, then it’s their duty to take the proper medicines in proper quantity at proper time. If the patient is at home, then the family members may remember & reminds patient to take the medicines. But it is not possible for the family members to give reminder by calling them when the patient person is out of home/city. For this purpose, there should be some facility for the patients which will remind them about their medicine taken time. Now a days there are large number of mobile phone/smart phone users in the world. Mobile phone companies are providing such a wonderful application for their users then question arises in mind that why not to use those applications when company is providing them? Out of those applications, Reminder facility in the mobile phone is the most commonly used application which is used for preventing to remember each and every small thing. Most out-patient medication errors were made when patients bought prescribed medicines from different drug stores and use them at home without guidance. Common causes of these errors include:
· Irregular medicine in-takes due to the patient's busy schedule
· Complicated in-take schedules due to the large number of medicines taken by the patient
· Adverse drug reactions caused by un-reconciled prescriptions obtained from different sources
· Lack of knowledge about proper use of medicines.
LIST OF ACRONYMS
S. No Acronym Expansion
1. PHR Personal health record
2. MIR Medicine in-take reminders
3. SRS Software requirement specification
4. AOSP Android open source project
5. SDK Software development kit
6. AWT Abstract window tool kit
7. JVM Java virtual machine
8. DVM Dalvik virtual machine
9. IDE Integrated development environment
10. ADT Android development tools
11. SQL Structured query language
12. DBMS Database management system
13. UML Unified modeling language
|
|
|
|
1. INTRODUCTION
Out-patient medication administration has been identified as the most error-prone procedure in modern healthcare. Under or over doses due to erratic in-takes, drug-drug or drug-food interactions caused by un-reconciled prescriptions and the absence of in-take enforcement and monitoring mechanisms have caused medication errors to become the common cases of all medical errors. Most medication administration errors were made when patients bought different prescribed and over-the-counter medicines from several drug stores and use them at home without little or no guidance. Elderly or chronically ill patients are particularly susceptible to these mistakes. In this, we introduce Wedjat, a smart phone application designed to help patients avoiding these mistakes. Wedjat can remind its users to take the correct medicines on time and record the in-take schedules for later review by healthcare professionals. Wedjat has two distinguished features: (1) it can alert the patients about potential drug-drug/drug-food interactions and plan a proper in-take schedule to avoid these interactions; (2) it can revise the in-take schedule automatically when a dose was missed. In both cases, the software always tries to produce the simplest schedule with least number of in-takes. Wedjat is equipped with user friendly interfaces to help its users to recognize the proper medicines and obtain the correct instructions of taking these drugs. It can maintain the medicine in-take records on board, synchronize them with a database on a host machine or upload them onto a Personal Health Record (PHR) system. A proof-of-concept prototype of Wedjat has been implemented on Window Mobile platform and will be migrated onto Android for Google Phones. This introduces the system concept and design principles of Wedjat with emphasis on its medication scheduling algorithms and the modular implementation of mobile computing application.
1.1 SCOPE
In this software we are introducing an application for the patients which will remind their user to take proper medicines at proper time by automatically setting the reminders in the mobile. These reminders will be automatically set as per the prescription.
PROJECT DESCRIPTION
Most of times people may forget to take the medicines at proper time as per the specified in the prescription. So, it is necessary to take proper medicines in proper quantity at proper time. In this application it will remind their user to take proper medicines in proper quantity at proper time by automatically setting the reminders in the mobile.
These reminders will be automatically set by the application as per the prescription. This reminder will remind their user patient that now it’s time to take the medicine.
FOR EXAMPLE: If the patient is at home then the family members may remember & reminds patient to take the medicines. But it is not possible for the family members to give reminder by calling them when the patient person is out of home/city. For this purpose, there should be some facility for the patients which will remind them about their medicine taken time.
1.3 PROJECT FEATURES
· Medication Reminder.
· Hospitals and Disease information on home page.
· Registration for every individual should have this application in the user’s mobiles.
· Prescription details
· Alarm
1.4 PROJECT DEFINITION
Existing System:
Though there are many hospitals in surroundings, people can’t get the correct information about address, their details and different hospitals available in aarea. The only way to get the details is to directly contactpersons personally and it’s a very big problem for anew to that area. To overcome this problem, we use this application.
· Patient will not have more knowledge about the diagnostics.
· Doctor must cure the patients with his own knowledge.
· Doctor cannot get the complete information on diagnostics
· The user needs to carry the prescription.
· User needs to remember about time and dose of medication intake.
· User may forget to take medicine due to busy schedule, attending meetings etc.
Disadvantages:
· Reminders are not automatically set. So, every existing system requires manual work of setting the reminder.
· Existing systems are time consuming because of manually setting the reminders.
· There is no facility of storing the original prescription in any of the existing. There is no facility of reminding the doctor’s next appointment in the existing system.
· There is possibility of hanging down the existing systems due to the manual work.
Proposed System:
The proposed system is an application for the Android platform mobiles will remind their user about the medicine in-take schedule. This reminder will be set in the mobile with the help of the reminder application.
The reminders will be automatically set as per the prescription. Android is a Linux-based operating system designed primarily for touch screen mobile devices such as smart phones and tablet computers, developed by Google in conjunction with the Open Handset Alliance. Initially it was developed by Android Inc. whom Google financially backed and later purchased in 2005. The proposed system will be developed for Android mobiles only because the market share of Android is more than other operating systems.
The output includes medicine in-take reminders (MIR) and image of the prescription if required. After system produced an in-take reminder, it inserts it into the Calendar maintained by the mobile phone. The Calendar application then sets off an alarm at the proper in-take time. If the patient forgets to take their medicines, then our system reminds them about medicine in-take time.
This application allows the user to select week, time and dose.It reminds the user to take medicine.Others cannot view the patient medication details as login is provided.More than one medicine can be added.
1.5 SYSTEM FEATURES
Rules:
· Hospitals
· Symptoms
· Medical Information
· Disease
· Disease Information
· Prescription
· Alarm
Hospitals:
This module provides a list of hospitals determined in that selected area. When a hospital option is clicked then the hospitals in that area will be displayed. According to the hospital the details can be shown.
Symptoms:
In this module application will display the list of symptoms. User will select minimum 6 symptoms based upon the user choice and display the disease based upon the disease, overall information of the disease, medical information
Medical Information: In this module application will display the medical information about the disease which is selected by the user. In this module medical information is nothing tablets and other related information about the disease
Diseases: In this module application will provide the list of diseases and creates awareness to the patient without consulting to the doctor.
Disease Information: In this module application will search the list of diseases based of the user choice and gives over all information about the disease and creates the awareness to the patient.
Prescription:
In this module application will add the list of diseases based on the user and gives the information about the disease.
Alarm:
0n this module application will remind the disease based on the user and gives the remind information about the disease.
Accounts Module:
· Registration
· Login
· Logout
2. SYSTEM ANALYSIS
2.1 SOFTWARE REQUIREMENT AND SPECIFICATION
What is SRS?
Software Requirement Specification (SRS) is the starting point of the software developing activity. As system grew more complex it became evident that the goal of the entire system cannot be easily comprehended. Hence the need for the requirement phase arose. The software project is initiated by the client needs. The SRS is the means of translating the ideas of the minds of clients (the input) into a formal document (the output of the requirement phase.)
The SRS phase consists of two basic activities:
1) Problem/Requirement Analysis:
The process is order and more nebulous of the two, deals with understand the problem, the goal and constraints.
2) Requirement Specification:
Here, the focus is on specifying what has been found giving analysis such as representation, specification languages and tools, and checking the specifications are addressed during this activity.
ROLE OF SRS:
The purpose of the Software Requirement Specification is to reduce the communication gap between the clients and the developers. Software Requirement Specification is the medium though which the client and user needs are accurately specified. It forms the basis of software development. A good SRS should satisfy all the parties involved in the system.
2.2 HARDWARE AND SOFTWARE REQUIREMENTS
Hardware Requirements:
· System : Pentium IV 2.4 GHz.
· Hard Disk : 40 GB.
· Floppy Drive : 1.44 Mb.
· Monitor : 15 VGA Colour.
· Mouse : Logitech.
· RAM : 512 Mb.
Software Requirements:
· Operating system : Windows XP.
· Coding Language : Java 1.6
· Tool Kit : Android 2.2
· IDE : Eclipse
Note: For installing this Application in to mobile device, we need android OS Mobile phones.2.2 version android mobiles are preferable.
3.1 Android
Android is a mobile operating system initially developed by Android Inc. Android was purchased by Google in 2005. Android is based upon a modified version of the Linux kernel. Google and other members of the Open Handset Alliance collaborated to develop and release Android to the world. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android. Unit sales for Android OS Smartphone ranked first among all Smartphone OS handsets sold in the U.S. in the second and third quarters of 2010, with a third quarter market share of 43.6%.
Android has a large community of developers writing application programs ("apps") that extend the functionality of the devices. There are currently over 100,000 apps available for Android. Android Market is the online app store run by Google, though apps can be downloaded from third party sites (except on AT&T, which disallows this). Developers write in the Java language, controlling the device via Google-developed Java libraries.
The History of Google Android:
The fact that hitherto dedicated devices such as mobile phones can now count themselves among the venerable general-computing platforms is great news for programmers. This new trend makes mobile devices accessible through general-purpose computing languages.
The Android Platform embraces the idea of general-purpose computing for handheld devices. It is a comprehensive platform that features a Linux-based operating system stack for managing devices, memory, and processes. Android’s libraries cover telephony, video, graphics, UI programming, and several other aspects of the device.
The Android SDK supports most of the Java Platform, Standard Edition (Java SE) except for the Abstract Window Toolkit (AWT) and Swing. In place of AWT and Swing, Android SDK has its own extensive modern UI framework. Because you’re programming your applications in Java, you could expect that you need a Java Virtual Machine (JVM) that is responsible for interpreting the runtime Java byte code. A JVM typically provides the necessary optimization to help Java reach performance levels comparable to compiled languages such as C and C++. Android offers its own optimized JVM to run the compiled Java class files in order to counter the handheld device limitations such as memory, processor speed, and power. This virtual machine is called the Dalvik virtual machine.
Google acquired the startup company Android Inc. in 2005 to start the development of the Android Platform The key players at Android Inc. included Andy Rubin, Rich Miner, Nick Sears, and Chris White.
Android has also attracted an early following because of its fully developed features to exploit the cloud-computing model offered by web resources and to enhance that experience with local data stores on the handset itself. Android’s support for a relational database on the handset also played a part in early adoption.
Features:
Handset layouts : The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional Smartphone layouts.
Storage : SQLite, a lightweight relational database, is used for data storage purposes
Connectivity : Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX.
Web browser : The web browser available in Android is based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores a 93/100 on the Acid3 Test.
Java support : While Android applications are written in Java, there's no Java Virtual Machine in the platform and Java byte code is not executed. Java classes get recompiled into Dalvik executable and run on Dalvik virtual machine. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party-application such as the J2ME MIDP Runner.[67]
Development environment : Includes a device emulator, tools for debugging, memory and performance profiling. The integrated development environment (IDE) is Eclipse (currently 3.4 or 3.5) using the Android Development Tools (ADT) Plugin.
Multi-touch : Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively.
Software development
The early feedback on developing applications for the Android platform was mixed. Issues cited include bugs, lack of documentation, inadequate QA infrastructure, and no public issue-tracking system. (Google announced an issue tracker on 18 January 2008.)[81] In December 2007, MergeLab mobile startup founder Adam MacBeth stated, "Functionality is not there, is poorly documented or just doesn't work... It's clearly not ready for prime time." Despite this, Android-targeted applications began to appear the week after the platform was announced. The first publicly available application was the Snake game. The Android Dev Phone is a SIM-unlocked and hardware-unlocked device that is designed for advanced developers. While developers can use regular consumer devices purchased at retail to test and use their applications, some developers may choose not to use a retail device, preferring an unlocked or no-contract device.
Software development kit
The Android software development kit (SDK) includes a comprehensive set of development tools.[85] These include a debugger, libraries, a handset emulator (based on QEMU), documentation, sample code, and tutorials. Currently supported development platforms include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.4.9 or later, Windows XP or later. The officially supported integrated development environment (IDE) is Eclipse (currently 3.4 or 3.5) using the Android Development Tools (ADT) Plugin, though developers may use any text editor to edit Java and XML files then use command line tools (Java Development Kit and Apache Ant are required) to create, build and debug Android applications as well as control attached Android devices (e.g., triggering a reboot, installing software package(s) remotely).
A preview release of the Android SDK was released on 12 November 2007. On 15 July 2008, the Android Developer Challenge Team accidentally sent an email to all entrants in the Android Developer Challenge announcing that a new release of the SDK was available in a "private" download area. The email was intended for winners of the first round of the Android Developer Challenge. The revelation that Google was supplying new SDK releases to some developers and not others (and keeping this arrangement private) led to widely reported frustration within the Android developer community at the time.
App Inventor for Android
On 12 July 2010 Google announced the availability of App Inventor for Android, a Web-based visual development environment for novice programmers, based on MIT's Open Blocks Java library and providing access to Android devices' GPS, accelerometer and orientation data, phone functions, text messaging, speech-to-text conversion, contact data, persistent storage, and Web services, initially including Amazon and Twitter. "We could only have done this because Android’s architecture is so open," said the project director, MIT's Hal Abelson. Under development for over a year, the block-editing tool has been taught to non-majors in computer science at Harvard, MIT, Wellsley, and the University of San Francisco, where Professor David Wolber developed an introductory computer science course and tutorial book for non-computer science students based on App Inventor for Android.
Android Developer Challenge
The Android Developer Challenge was a competition for the most innovative application for Android. Google offered prizes totaling 10 million US dollars, distributed between ADC I and ADC II. ADC I accepted submissions from 2 January to 14 April 2008. The 50 most promising entries, announced on 12 May 2008, each received a $25,000 award to fund further development. It ended in early September with the announcement of ten teams that received $275,000 each, and ten teams that received $100,000 each. ADC II was announced on 27 May 2009. The first round of the ADC II closed on 6 October 2009.[106] The first-round winners of ADC II comprising the top 200 applications were announced on 5 November 2009.
3.2 About Native code:
Libraries written in C and other languages can be compiled to ARM native code and installed, but the Native Development Kit is not yet officially supported by Google. Native classes can be called from Java code running under the Dalvik VM using the System. load Library call, which is part of the standard Android Java classes.
3.2.1 Creating an android project:
The ADT plugin provides a New Project Wizard that you can use to quickly create a new Android project (or a project from existing code). To create a new project:
· Select File > New > Project.
· Select Android >Android Project and click Next.
· Select the contents for the project:
· Enter a Project Name. This will be the name of the folder where your project is created.
· Under Contents, select Create new project in workspace. Select your project workspace location.
· Under Target, select an Android target to be used as the project's Build Target. The Build Target specifies which Android platform you'd like your application built against.
Unless you know that you'll be using new APIs introduced in the latest SDK, you should select a target with the lowest platform version possible, such as Android 1.1.
Under Properties, fill in all necessary fields.:
Enter an Application name. This is the human-readable title for your applicationthe name that will appear on the Android device. Enter a Package name. This is the package namespace (following the same rules as for the packages in the Java programming language) where all your source code will reside.
· Select Create Activity (optional, of course, but common) and enter a name for your main Activity class.
· Enter a Min SDK Version. This is an integer that indicates the minimum API Level required to properly run your application. Entering this here automatically sets the minSdkVersion attribute in the <HYPERLINK "http://developer.android.com/guide/topics/manifest/uses-sdk-element.html"uses-sdkHYPERLINK "http://developer.android.com/guide/topics/manifest/uses-sdk-element.html"> of your Android Manifest file. If you're unsure of the appropriate API Level to use, copy the API Level listed for the Build Target you selected in the Target tab.
· Click Finish.
3.2.3 To create an AVD with the AVD manager:
· Select Window > Android SDK and AVD Manager or click the Android SDK and AVD Manager icon (a black device) in the Eclipse toolbar.
· In the Virtual Devices panel, you'll see a list of existing AVDs. Click New to create a new AVD.
· Fill in the details for the AVD.
· Give it a name, a platform target, an SD card image (optional), and a skin (HVGA is default).
· Click Create AVD.
When you first run a project as an Android Application, ADT will automatically create a run configuration. The default run configuration will launch the default project Activity and use automatic target mode for device selection (with no preferred AVD).
3.2.4 To Create or Modify a Launch Configuration:
Follow these steps as appropriate for your Eclipse version:
· Open the run configuration manager.
· In Eclipse 3.3, select Run > Open Run Dialog (or Open Debug Dialog)
· In Eclipse 3.4 (Ganymede), select Run > Run Configurations (or Debug Configurations)
· Expand the Android Application item and create a new configuration or open an existing one.
SQLITE:
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain. Theprocess with which the application program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the application program. The library can also be called dynamically. The application program uses SQLite's functionality through simple sms, which reduces latency in database access as function sms within a single process are more efficient than inter-process communication .
Features: SQLite implements most of the SQL-92 standard for SQL but it lacks some features. A standalone program called sqlite3 is provided which can be used to create a database, define tables within it, insert and change rows, run queries and manage an SQLite database file.
SQLite is a popular choice for local/client SQL storage within a web browser and within a rich internet application framework .
This may be because SQLite's dynamically typed storage matches the web browser 's core languages of Javascript and XML . SQLite uses an unusual type system for an SQL-compatible DBMS. Instead of assigning a type to a column as in most SQL database systems, types are assigned to individual values; in language terms it is dynamically typed.
3.3Feasibility Study
An important outcome of the preliminary investigation is the determination that system requested is feasible.
This is to identify the objectives of a new system. Before solving a problem one must know what the problem is. The study is carried out by a small group of people who are familiar with system analysis and design process. Fact finding techniques are used to gather the required information.
The three major areas consider while determining the feasibility of the project are
· Economic Feasibility
· Operational Feasibility
· Technical Feasibility
3.3.1 Economic Feasibility
Economic feasibility attempts to weigh the costs of developing and implementing a new system, against the benefits that would accrue from having the new system in place. This feasibility study gives the top management the economic justification for the new system.
A simple economic analysis which gives the actual comparison of costs and benefits are much more meaningful in this case.
These could include increased customer satisfaction, improvement in product quality better decision making timeliness of information, expediting activities, improved accuracy of operations, better documentation and record keeping, faster retrieval of information, better employee morale.
3.3.2 Operational Feasibility
Proposed projects are beneficial only if they can be turned into information systems that will meet the organizations operating requirements. Simply stated, this test of feasibility asks if the system will work when it is developed and installed. Are there major barriers to Implementation? Here are questions that will help test the operational feasibility of a project: Is there sufficient support for the project from management from users? If the current system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance.
Are the current business methods acceptable to the user? If they are not, Users may welcome a change that will bring about a more operational and useful systems
3.3.3Technical Feasibility
Evaluating the technical feasibility is the trickiest part of a feasibility study. This is because, now, not too many-detailed design of the system, making it difficult to access issues like performance, costs on (on account of the kind of technology to be deployed) etc.
Several issues must be considered while doing a technical analysis.
i) Understand the different technologies involved in the proposed system: Before commencing the project, we must be very clear about what are the technologies that are to be required for the development of the new system.
ii) Find out whether the organization currently possesses the required technologies:
4. SYSTEM DESIGN
4.1 ARCHITECTURE
Architecture diagram is a diagram of a system , in which the principal parts or functions are represented by blocks connected by lines that show the relationships of the blocks.The block diagram is typically used for a higher level, less detailed description aimed more at understanding the overall concepts and less at understanding the details of implementation. A SMS user for who the application looks like an user interface actually consists of a database called as SQLite that comes along with Android SDK and need no other installation. This is the database that is used to store and retrieve information. This is an application that is developed in java and hence all its features apply here as well such as platform independence, data hiding.
4.2 UNIFIED MODELING LANGUAGE (UML)
The unified modeling is a standard language for specifying, visualizing, constructing and documenting the system and its components is a graphical language which provides a vocabulary and set of semantics and rules. The UML focuses on the conceptual and physical representation of the system. It captures the decisions and understandings about systems that must be constructed. It is used to understand, design, configure and control information about the systems.
Depending on the development culture, some of these artifacts are treated more or less formally than others. Such artifacts are not only the deliverables of a project; they are also critical in controlling, measuring, and communicating about a system during its development and after its deployment. The UML addresses the documentation of a system's architecture and all of its details. The UML also provides a language for expressing requirements and for tests. Finally, the UML provides a language for modeling the activities of project planning and release management. It is a very important part of developing objects oriented software and the software development process .The UML uses mostly graphical notations to express the design of software projects.
Building blocks of UML:
The vocabulary of the UML encompasses three kinds of building blocks:
· Things
· Relationships
· Diagrams
Things are the abstractions that are first-class citizens in a model; relationships tie these things together; diagrams group interesting collections of things.
Things in the UML:
There are four kinds of things in the UML:
· Structural things
· Behavioral things
· Grouping things
· Annotational things
Structural things are the nouns of UML models. The structural things used in the project design are:
First, a class is a description of a set of objects that share the same attributes, operations, relationships and semantics.
|
Window |
|
Origin Size |
|
open() close() move() display() |
Fig: Classes
Second, a use case is a description of set of sequence of actions that a system performs that yields an observable result of value to actor.
Fig: Use Cases
Third, a node is a physical element that exists at runtime and represents a computational resource, generally having at least some memory and often processing capability.
Fig: Nodes
Behavioral things are the dynamic parts of UML models. The behavioral thing used is:
Interaction:
An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose. An interaction involves a number of other elements, including messages, action sequences (the behavior invoked by a message, and links (the connection between objects).
Fig: Messages
Relationships in the UML:
There are four kinds of relationships in the UML:
· Dependency
· Association
· Generalization
· Realization
A dependency is a semantic relationship between two things in which a change to one thing may affect the semantics of the other thing (the dependent thing).
Fig: Dependencies
An association is a structural relationship that describes a set links, a link being a connection among objects. Aggregation is a special kind of association, representing a structural relationship between a whole and its parts.
Fig: Association
A generalization is a specialization/ generalization relationship in which objects of thespecialized element (the child) are substitutable for objects of the generalized element (the parent).
Fig: Generalization
A realization is a semantic relationship between classifiers, where in one classifier specifies a contract that another classifier guarantees to carry out.
Fig: Realization
Sequence Diagrams:
UML sequence diagrams are used to represent the flow of messages, events and actions between the objects or components of a system. Time is represented in the vertical direction showing the sequence of interactions of the header elements, which are displayed horizontally at the top of the diagram.
Sequence Diagrams are used primarily to design, document and validate the architecture, interfaces and logic of the system by describing the sequence of actions that need to be performed to complete a task or scenario. UML sequence diagrams are useful design tools because they provide a dynamic view of the system behavior which can be difficult to extract from static diagrams or specifications.
Actor
Represents an external person or entity that interacts with the system
Object
Represents an object in the system or one of its components
Unit
Represents a subsystem, component, unit, or other logical entity in the system (may or may not be implemented by objects)
Separator
Represents an interface or boundary between subsystems, components or units (e.g., air interface, Internet, network)
Group
Groups related header elements into subsystems or components
Sequence Diagram Body Elements
Action
Represents an action taken by an actor, object or unit
Asynchronous Message
An asynchronous message between header elements
Block
A block representing a loop or conditional for a header element
Call Message
A call (procedure) message between header elements
Create Message
A "create" message that creates a header element (represented by lifeline going from dashed to solid pattern)
Diagram Link
Represents a portion of a diagram being treated as a functional block. Similar to a procedure or function call that abstracts functionality or details not shown at this level.
Can optionally be linked to another diagram for elaboration.
Else Block Represents an "else" block portion of a diagram block
Message
A simple message between header elements
Return Message
A return message between header elements
4.3 UML DIAGRAMS
Class diagram:
Use case diagram:
Sequence diagram:
Activity diagram:
State diagram:
Component diagram:
Object diagram:
Login
+User name
+Password
+Register()
+Login()
Register
+User name
+Password
+Phone number
+Register()
Add Remainder
+Mediceine
+time
+date
+save Remainder()
+Update remainder()
+Get Remainder()
Update
+Mediciene Name
+Time
+Date
+Update()
+Delete()
Get Remainder
+Mediciene name
+Time
+Day
+taken()
+not Taken()
User
Register
Login
Add Remainder
Schedule remainder
set time to remainder
save medicine
get remainder
Update remainder
view/delete remainder
UserRegiterLoginUpdateView/DeleteDatabaseAdd Remainder
1 : User Registration()
2 : Stored in Database()
3 : User Login()
4 : Check User Credentials()
5 : Sucess()
6 : Sucessfully login()
7 : Add Medicine()
8 : Stored Sucessfully()
9 : Time And Date()
10 : View/ Delete medicine()
11 : Send Request()
12 : View Medicine details()
13 : Update Medicine details()
Regiter
Login
No
Yes
Schedule remainerSet Time and Datesave RemainderUpdate/Delete Remainder
Get Remainder
Register
Login
Add Remainder
Schedule
Set time And date
Save Remainder
Get Remainder
Update;delete remainder
view remainder
Login
Register
Add Remainder
Update
Get Remainder
l:Login
+User name
+Password
+Register()
+Login()
r:Register
+User name
+Password
+Phone number
+Register()
a:AddRemainder
+Mediceine
+time
+date
+save Remainder()
+Update remainder()
+Get Remainder()
u:Update
+Mediciene Name
+Time
+Date
+Update()
+Delete()
g:GetRemainder
+Mediciene name
+Time
+Day
+taken()
+not Taken()