Post on 19-May-2015
Al-Zaytoonah University of JordanFaculty of Science and Information Technology
Department of Software Engineering
Patient record system
By
GAITH AMER RAMMAHA
ALAA MAHMOUD Al-ZOUBI
ZAID ALI GHANAYEM
Supervised by
DR. MOHAMAD LAFI
A GRADUATION PROJECT SUBMITTED IN PARTIAL FULFILMENT OF HE
REQUIREMENTS FOR THE DEGREE OF BSC IN SOFTWARE ENGINEERING
Month Year (May 2013)
i
ii
Abstract
A brief discussion about the overall project, and must be up to one page length
Acknowledgment
Here you write your personal messages to the people you would like to thank.
The recommendation here is:
All members can write one general acknowledgment
If one chooses to write an acknowledgement, then all must write his/her own dedication.
iii
1 CHAPTER ONE: INTRODUCTION
1.1 Background
In our project we will try making it easy to anyone who involved in the medical category, like a doctor, hospital, pharmacy even the patient himself, to check the patient's condition in a site that have the record of all the disease, allergies, medicine (that he having or had) and the blood type that can help the patient in any hospital he go so he get recover easily and fast .
When any one of the category want show the records he have to enter the site and login and search to the exact patient by his name or the national number, then the doctor for example can see or update the patient data (record) about the condition that he responsible of it.
Through our site the people who involved can save time, money and treating the patient more quickly
and known more information to help him easily.
1.2 Literature Review
Well, in our project the idea never get done by any one so we research for something Similar, about a clinic that have a website to prove the info about the Disease and the Medicine, and their project was not that useful for the community so we developed the idea to become more productive.
1
1.3 Business Model
1.3.1 Business Needs
Patient record is built to solve some problems that may face the patient when he goes to a random hospital or clinic for treatment that don’t have patient record. Using our site the doctor who responsible of the patient will be able to see what the patient records of diseases, info and contact the Guardian of him. In this way we can save the money, effort and time for the hospital or clinic and the patient.
After the doctor see the patient info online and find out what he is suffering, the doctor should be able to change and update the patient record and what medicine need , so the pharmacy give the patient the right medicine or for future condition .
The site offers a way to the patient and doctor can be contact or a doctor to another 24/7, any doctor, pharmacy or anyone involved with the medical category can access the site by his medical number to see any records of an any patient that he need to see, in the other hand the regular person (patient) can access the site to only see his records.
1.3.2 Business Environment
Def:Business environment encompasses all those factors that affect a company's operations, and includes customers, competitors, stakeholders, suppliers, industry trends, regulations, other government activities, social and economic factors and technological developments.
In our project there are:Tools:
Microsoft Project Professional 2010 PlusIBM Rational Rose 2007Adobe Dreamweaver cs5 or cs6 My SQL server 2008Adobe Photoshop cs5 Microsoft Visio 2010Microsoft PowerPoint 2010
2
*Microsoft Project Professional 2010 plus: Because we make a Gantt chart and we make feasibility study of the project.
*IBM Rational Rose 2007: Because we analysis the project by this tools and make a design of the project.
*Adobe Dreamweaver: Because we to build and design the website and use the PHP language and design interface .
*My SQL Server: because store, insert and import the data in the server.*Adobe Photoshop cs5: to design the picture in the web.
*Microsoft Visio 2010: Because we drawing charts of our project as a context diagram and state chart diagram.
*Microsoft PowerPoint 2010: Because we drawing charts of our project as a context diagram and state chart diagram and to presentation.
Environment :1- Windows 8 2- CPU: Core i3 Second Generation 3.3 GHz Speed
3
3- RAM: 8 Giga DDR34- HD: 500GB
1.3.2.1 Software Context Diagram
Fig (1.1) Software context diagram
1.3.2.2 System Scope
The idea of the project consists the Medical Records of the Patient (MRP), which has three major interfaces:
Interface of admin where the admin give the privileges for users.
Interface for a Patient to see his Medical Records.
Interface of Medical staff where they can change and update the data and for the patient.
4
1.3.3 Stakeholder Analysis
RoleStakeholder representStakeholder nameHe has privileges to edit the whole data in the website.
Who administrate the systemAdmin
He change and update the Record Patient.
Who update the dataDoctor
See his recordWho utilize the websitePatientChange the drug section in the patient record.
Update the drug data (Limited )
Pharmacist
Change and update Medical tests section only
Update the tests section (Limited)
Medical tester
Change and update Radiology section only
Update the Radiology picture (Limited)
Radiology
Table (1.1) Stakeholder analysis
1.3.4 System Vision Document
1.3.4.1 Objectives- Conversion the '' Record Patient'' system from manual and paper to electronic to keep up
with the modernity,- Storage the records data so that Information will be available always.- So can all any Patient get his records anywhere any time.
5
1.3.4.2 Benefits
1. Minimize time and effort.
2. Minimize errors.
3. Speed in giving results.
4. Facilitate data storing.
5. Reduce the number of Patients.
6. Reduce the pressure on admin and all stakeholders.
7. Saving money.
8. Provide security.
1.3.4.3 Capabilities
1. Reduce the time it takes in terms of the presence of the patient's file electronically and minimize the effort to obtain the file.
2. Reduce errors that result from not patients arrange files through the system we will process the order of the files on the system
3. Data storage by officials on the database of the system with ease.
4. Save money by having the patient's file on the system and does not need new tests as they exist on the system.
5. Provides security and safety of the data, Available through for all Patients and all medical staff (doctors, hospital ... etc.).
6
1.3.5 Project Management
1.3.5.1 Project Iteration and Schedule
Task Mode Task Name Duration Start Finish Predecessors Resource Names
Manually Scheduled
Start0 days
أ20/02/13
أ20/02/13
Auto Scheduled
Inception12 days
20/02/13أ 06/03/13أ
Auto Scheduled
Iteration I112 days
20/02/13أ 06/03/13أ
Auto Scheduled
Business Modeling
7 days 20/02/13أ 28/02/13خ
Manually Scheduled
Define Business Needs
2 days 20/02/13أ 21/02/13خ 1 Gaith
Manually Scheduled
Evaluate Existing Infrastructure
2 days 22/02/13ج 24/02/13أ 5 Alaa
Manually Scheduled
Stakeholder Analysis
2 days 25/02/13إ 26/02/13ث 6 Zaid
Manually Scheduled
Define Vision Document
1 day 27/02/13أ 27/02/13أ 7 Gaith
Manually Scheduled
Business Modeling Report
0 days 28/02/13خ 28/02/13خ 8 Alaa;Gaith;Zaid
Auto Scheduled
Project Management
5 days 28/02/13خ 06/03/13أ
Manually Scheduled
Define Project & System Scope
1 day 28/02/13خ 28/02/13خ 9 Gaith
Manually Scheduled
Project & Iteration Schedule
2 days 01/03/13ج 03/03/13أ 11 Alaa
Manually Scheduled
Define Risks & Feasibility study
2 days 04/03/13إ 05/03/13ث 12 Zaid
Manually Scheduled
Project Management Report
0 days 06/03/13أ 06/03/13أ 13 Alaa;Gaith;Zaid
Auto Scheduled
Environment 5 days 25/02/13إ س02/03/13
Manually Scheduled
Select Development Tools
1 day 25/02/13إ 25/02/13إ 6 Alaa
Manually Scheduled
Select Development Process
2 days 28/02/13خ 01/03/13ج 9 Zaid
Manually Scheduled
Select Support Services
1 day 25/02/13إ 25/02/13إ 6 Alaa
7
Manually Scheduled
Environment Report
0 days س02/03/13
س02/03/13
17 Alaa;Gaith;Zaid
Auto Scheduled
Elaboration31 days
20/02/13أ 28/03/13خ
Manually Scheduled
Define Support Services Architecture Design
2 days 25/02/13إ 26/02/13ث 6 Alaa
Manually Scheduled
Define System/Software Architectural Design
2 days 27/02/13أ 28/02/13خ 21 Alaa;Gaith;Zaid
Auto Scheduled
Iteration E131 days
20/02/13أ 28/03/13خ
Auto Scheduled
Requirement14 days
01/03/13ج 17/03/13أ
Manually Scheduled
Gathering Requirements
3 days 01/03/13ج 04/03/13إ 22 Gaith
Manually Scheduled
Define Functional Requirements
2 days 05/03/13ث 06/03/13أ 25 Alaa
Manually Scheduled
Define Non-Functional Requirements
2 days 05/03/13ث 06/03/13أ 25 Zaid
Manually Scheduled
Requirement Report
0 days 07/03/13خ 07/03/13خ 27 Alaa;Gaith;Zaid
Auto Scheduled
System Models
9 days 07/03/13خ 17/03/13أ Alaa
Manually Scheduled
Use Case Model
2 days 07/03/13خ 08/03/13ج 26 Alaa
Manually Scheduled
Domain Class Model
2 days س09/03/13
11/03/13إ 30 Alaa
Manually Scheduled
Use Cases Descriptions "Scenarios"
3 days س09/03/13
12/03/13ث 30 Zaid
Manually Scheduled
Activity & System Sequence Models
2 days 13/03/13أ 14/03/13خ 32 Zaid
Manually Scheduled
User Interface-Navigational Paths and Screen Mock-ups
2 days 15/03/13ج 17/03/13أ 33 Gaith
Manually Scheduled
State chart Model
2 days 12/03/13ث 13/03/13أ 31 Gaith
Manually Scheduled
System Models Report
0 days 14/03/13خ 14/03/13خ 35 Alaa;Gaith;Zaid
Auto Scheduled
Design31 days
20/02/13أ 28/03/13خ
8
Auto Scheduled
Services support design
1 day 20/02/13أ 20/02/13أ
Manually Scheduled
Software architecture design
1 day 20/02/13أ 20/02/13أ
Auto Scheduled
Details Design "Use Case Realization"
7 days 15/03/13ج 22/03/13ج
Manually Scheduled
Communication Model
3 days 15/03/13ج 18/03/13إ 33 Zaid
Manually Scheduled
Design Class Model
2 days 19/03/13ث 20/03/13أ 41 Alaa
Manually Scheduled
Package Model
1 day 21/03/13خ 21/03/13خ 42 Gaith
Manually Scheduled
State chart Model
1 day 22/03/13ج 22/03/13ج 43 Gaith
Manually Scheduled
Details Design Report
0 days 22/03/13ج 22/03/13ج 43 Alaa;Gaith;Zaid
Auto Scheduled
Database Design
5 days 22/03/13ج 28/03/13خ
Manually Scheduled
Entity Relationship Model
1 day 22/03/13ج 22/03/13ج 45 Alaa
Manually Scheduled
System & User Interfaces Design
2 days س23/03/13
25/03/13إ 47 Gaith
Manually Scheduled
System Controls & Security Design
2 days 26/03/13ث 27/03/13أ 48 Zaid
Manually Scheduled
Design Activities Report
0 days 28/03/13خ 28/03/13خ 49 Alaa;Gaith;Zaid
Auto Scheduled
Iteration E2 1 day 20/02/13أ 20/02/13أ
Auto Scheduled
Integration E1 & E2
1 day 20/02/13أ 20/02/13أ Gaith;Alaa;Zaid
Auto Scheduled
Iteration E3 1 day 20/02/13أ 20/02/13أ
Auto Scheduled
Integration E1 & E2 & E3
1 day 20/02/13أ 20/02/13أ
Manually Scheduled
Construction30 days
ث05/03/13
08/04/13إ
Auto Scheduled
Iteration C110 days
28/03/13خ 08/04/13إ
Auto Scheduled
E1 Code Generation
10 days
28/03/13خ 08/04/13إ
Manually Scheduled
Generate Design Class Model to Specific
1 day 28/03/13خ 28/03/13خ 50 Alaa
9
Programming Language
Manually Scheduled
Generate Design Class Model to Specific Database Language
1 day 28/03/13خ 28/03/13خ 50 Alaa
Manually Scheduled
Writing Programming Algorithms
7 days 29/03/13ج 05/04/13ج 58;59 Gaith;Zaid
Manually Scheduled
Algorithms Unit Testing
2 days س06/04/13
08/04/13إ 60 Gaith;Zaid
Manually Scheduled
C1 Working Prototype
0 days 29/03/13ج 29/03/13ج 59;58 Alaa;Gaith;Zaid
Auto Scheduled
Iteration C2 1 day 05/03/13ث 05/03/13ث
Auto Scheduled
Integration Testing C1 & C2
1 day 05/03/13ث 05/03/13ث
Auto Scheduled
Iteration C3 1 day 05/03/13ث 05/03/13ث
Auto Scheduled
Integration Testing C1 & C2 & C3
1 day? 05/03/13ث 05/03/13ث
Auto Scheduled
End 0 days ج29/03/13
ج29/03/13
62
Fig (1.2) Gantt chart
1.3.5.2 Project Financial Feasibility and Risk Analysis
Project Financial Feasibility
The goal of project is to Ease and a speed, to get to all Patient records more flexible and to make the system more efficient and easy to use for other users. In addition:
Reduce the number of the employees.
Reduce the cost of traveling to the user. More protection and safety.
10
Risk analysis
When we talk about risk analysis, we have to know what is the meaning is of risk analysis.Risk analysis: Clinical and administrative activities undertaken to identify, evaluate, to reduce the risk of loss to the organization itself. Activities include the process of making and carrying out decisions that will prevent or minimize clinical, business, and operational risks.Now the risks of this project, as follows:
Securing the communication between the home computer to the user and the central server is also a problem.
Sometimes the internet is not available for the user.
Some people do not like or do not know the use of the Internet.
Overall threat (high,medium,low)
Difficulty of timely anticipation (high,medium,low)
Likelihood of occurrence (high,medium,low)
Potential impact on project (high,medium,low)
Risk Description
highmediummediumhighUsers can not access to the system
highhighmediumhighUsers can not enter data
mediumlowlowmediumUsers can not use a computer savvy
11
1.3.6 Development Environment
1.3.6.1 Development Tools and Support Services
IBM Rational Rose 2007:
1- Build software architecture that supports change with a common platform that facilitates easy roundtrip engineering and synchronization of models and code.2- Accelerate implementation and facilitate maintenance of a service-oriented architecture (SOA) solution, such as a web service, with tools and process guidance. 3- Use UML to ensure the numerous stakeholders within your software development projects are continuously communicating, and use defined specifications to jumpstart development. 4- Gain insight into distributed projects and tighter control of shared information.
Adobe Dreamweaver cs5 :Adobe Dreamweaver CS5 is a program used to develop Websites in terms of design. There are many sites online that were made from Dreamweaver. It's become a bit of a staple in the industry, and the new CS5 version is no exception.
Just as is the case with most every program though, there are pros and cons to consider when deciding whether the cost of CS5 is worth if for your particular needs and interests.
Pros:
-1-Popularity
CS5 and Dreamweaver in general, are quite widespread across the Internet. This means that there is a lot of knowledge out there on the program. There are entire communities of individuals devoted to Dreamweaver and CS5. This allows you to go on to those communities and ask questions about the program there and get a quick response. So this is a major advantage Dreamweaver and CS5 has over other programs that might not be as well known.
The familiarity of the program will also make it easier to find anyone nearby who might know of it and any kind of help you might get whether official or unofficial is more likely since the program is so well known.
12
-2-Complete Management
Dreamweaver isn't just a tool for developing a single page. It can also develop entire websites, integrating them all together with a variety of different integrating tools. This cuts down on the amount of extra work you have to do, or the extra tools and programs you may need. Dreamweaver CS5 allows you to use all these different tools together in a single program.
-3-Speed and Integration
The CS5 update for Dreamweaver, which came out in April of 2010, is also known for having good speed and web integration. Working with images on the web is easier than in previous versions. The speed at which the program is capable of working has also been much improved.
CS5 also integrates well with the rest of the Adobe suite, making it easier to go back and forth between different programs for more total control over various procedures on your computer, such as desktop publishing.
My SQL server 2008:1- A parent Data Encryption. The ability to encrypt an entire database.2- Backup Encryption. Executed at backup time to prevent tampering.3- External Key Management. Storing Keys separate from the data.4- Auditing. Monitoring of data access.5- Data Compression. Fact Table size reduction and improved performance.6- Resource Governor. Restrict users or groups from consuming high levels or resources.7- Hot Plug CPU. Add CPUs on the fly.8- Performance Studio. Collection of performance monitoring tools...etc...
Adobe Photoshop cs5:1- Image editing and additions and dinette grated or pictures.2- Also add text.3- And Web Design.Microsoft Visio 2010: 1- Simplify complexity with a diverse set of intuitive, professional diagramming tools2- Bring your diagrams to life with dynamic, data-driven visuals.3- Share interactive, refreshable, data-linked diagrams with others via their Web browsers.
Microsoft project Professional 2010 plus:
13
1- Easily plan & manage your projects with intuitive controls and flexible team tools to help your organization deliver the intended business value.
2- Be efficient and prioritize by aggregating everyday work, project tasks, important details, and timelines in a visually rich and contextual interface.
3- Manage anywhere with tools to keep you connected with your team and on top of your projects while you’re on the go.
4- Deliver effective presentations that offer immediate insight into task planning, resource allocation, cost efficiencies, and the many important details of your projects etc……..
Microsoft PowerPoint 2010:1- Manage presentations with tools that save time and simplify your work.2- Create extraordinary presentations.3- Work together more successfully.4- Access and share your content from more places.
1.3.6.2 System Development ProcessThe Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003.RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.
Fig (1.3) System development process
14
2 CHAPTER TWO: REQUIREMENTS
The project requirements phase is one of the most important parts of your project and
especially project. Working on a software project, you should use Software Engineering
techniques in this phase. Requirements are prepared by communicating with your customer
which is in general your advisor.
2.1 Gathering Requirements
Interview method: Interviewing is an important method for collecting data on information system requirement. An information gathering way represents a directed conversation with a specific purpose that uses question-and-answer format we met some of the staff working in the medical department of electronic.
Questionnaires:have advantages over some other types of surveys in that they are cheap, do not require as much effort from the questioner as verbal or telephone surveys, and often have standardized answers that make it simple to compile data. However, such standardized answers may frustrate users. Questionnaires are also sharply limited by the fact that respondents must be able to read the questions and respond to them.
2.2 System Problem Statement
The old system was a traditional where was dealing with the documents manually, but now has become a web application where all users of the system can interact with the system which aims to facilitating of interaction and saving both time and effort.
In the old system, the record of patient was an available for one hospital or clinic but now all the medical staff in country can access to his record, the current system facilitate a retrieval and access to the data, unlike what was in the old system, the current system provides the possibility of see it where ever you are, this system also decrease an effort placed on the patient, who was doing a registration in ever hospital manually.
15
2.3 Functional, Non-Functional Requirements and System Constraints
Functional Requirements: Functional requirements are actions which the system does on behalf of the user, also it used to express the behavior of a system by specifying both the input and output conditions that are expected to final result.
Functions of users :
I. Administrator - Maintain patient،employee info- Search patient- Search employee - Login - Log out - Change password
II. Doctor- Search patient-change all the data of the patient record- Login - Log out - Change password
III. Pharmacist
-Search patient-Maintain drug info- Login - Log out - Change password
IV. Patient
- View his patient’s history record- Login - Log out - Change password
16
V. Medical tester
- Search patient
-Maintain Medical info tests section only.- Login - Log out - Change password
V. Radiology
- Search patient
-Maintain Radiology info section only.- Login - Log out - Change password
Non-Functional Requirements: Non- functional requirements are conditions and constraints which the program must conform, and the following list summarized non-functional quality attributes of a program:
Usability
Where the system must be easy to use and any user can interact with it.
Reliability
Where the system works correctly without any problems or errors.
Efficiency
Where the system executes all operations in a shorter time.
Availability The system must be available when the user need it at any time and can get access to the Website.
Security
17
In the security there is a special user name and password for each user of the system and each user has certain privileges.
System constraints:
1. Financial barriers through, difficulty to pay money.
2. Unqualified medical staff.
3. Weak planning and management between pharmacist and doctor.
2.4 System Models
2.4.1 Use Case Model
Admin
searchPatient searchDoctor searchMedicaltester
searchPharmacist
searchRadiology
maintlenAllUserchangeProfile
login
<<include>><<include>>
<<include>>
<<include>>
<<include>>
logout
<<include>>
<<include>><<include>>
18
tsicamrahP
eliforPegnahc
tuogol
egnahcgurd
drowssap togrof
nigol
<<edulcni>>
<<edulcni>>
<<edulcni>>
<<dnetxe>>
ygoloidaR
egnahCyar-X
tuogol
eliforPegnahc
drowssap togrof
nigol
<<edulcni>>
<<edulcni>>
<<edulcni>><<dnetxe>>
19
rotcoD
tuogol
drocertneitaPegnehc
eliforPegnahcdrowssap togrof
nigol
<<edulcni>>
<<edulcni>>
<<edulcni>>
<<dnetxe>>
retsetlacideM
retsetlacidemegnahc
drowssap togrof
nigol
<<edulcni>><<dnetxe>>
tuogol
<<edulcni>>
eliforPegnahc
<<edulcni>>
seliforpehtllAwohs
drowssap togrof
nigol
<<edulcni>>
<<edulcni>>
<<edulcni>>
<<dnetxe>>
tneitaP
2.4.2 Domain Class Model
Domain class:The class diagram is the main building block of object oriented modeling. It is used both for general conceptual modeling of the systematic of the application, and for detailed modeling translating the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be
programmed. In the class diagram these classes are represented with boxes which contain three parts :
A class with three sections:1-The upper part holds the name of the class
2-The middle part contains the attributes of the class
20
3-The bottom part gives the methods or operations the class can take or undertakeIn the design of a system, a number of classes are identified and grouped together in a class diagram which helps to determine the static relations between those objects. With detailed modeling, the classes of the conceptual design are often split into a number of subclasses.In order to further describe the behavior of systems, these class diagrams can be complemented by state diagram or UML state machine. Also instead of class diagrams Object role modeling can be used if you just want to model the classes and their relationships
21
snosreP
gnirtS : emantni : enohp
gnirtS : sserddatcejbO : egami
gnirtS : epytresugnirtS : liame
)(droceRtneitaPwohs
nimdA
gnirtS : rednegetaD : yaDhtriB
)(resUdda)(resUeteled
)(droceRtneitaPetadpu)(snosrepynAhcraes
)yar-X(
)(yar-XegnahC)(tneitaPhcraes ...
retsetlacideM
)(tsetlacideMegnahc)(tneitaPhcraes
tsicamrahP
)(gurDdda)(gurDeteled
)(tneitaPhcraes
tneitaP
tni : tneitapDIgnirtS : redneg
etaD : yaDhtriBgnirtS : etats
)(.ofnilanosrepegnahC
droceR tneitaP
eman sgurdcip )yar(X
lacidem tsettneitap noitamrfni
stropeR rotcod
rotcoD
gnirtS : redneg
)(droceRtneitaPetadpu)(gurDegnahC
)(tneitaPhcraes
2.4.3 Use Cases Descriptions "Scenarios"
A Use Case Scenario is a description that illustrates, step by step, how a user is intending to use a system, essentially capturing the system behavior from the user's point of view. A use case scenario
22
can include stories, examples, and drawings. Use cases are extremely useful for describing the problem domain in unambiguous terms and for communicating with the potential users of a system.
Use Case Name: loginScenario: Login to SystemTriggering Event: User wants to login to the website
Brief Description: User must be a member in user databaseActors: Admin , Doctor, Pharmacist, Patient , Medical tester , Radiology
Related use case Logout
Stakeholders: Admin , Doctor, Pharmacist, Patient , Medical tester , Radiology
Preconditions: User database exists and Username, password and user type are correct.
Post conditions: Login to the web
Flow of Event: Actor System
1. User enters information. 2. Verify user information.3-login to the web
Exception Conditions: 1.1 If incorrect data (user name, password, user type) deny access to the user account and display error massage.1.2 If account is block, display error message.
Table (2.1) User login scenario
23
Use Case Name: Logout.Scenario: Logout from SystemTriggering Event: User wants to logout from website
Brief Description: User want to logout
Actors: Admin , Doctor, Pharmacist, Patient , Medical tester , Radiology
Related use case:
Stakeholders: Admin , Doctor, Pharmacist, Patient , Medical tester , Radiology
Preconditions: Login to the web
Post conditions: Exit web.
Flow of Event: Actor System1. Select logout button 2. Exit from the system.
Exception Conditions: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Table (2.2) Logout scenario
Use Case Name: Change PasswordScenario: Change Password
24
Triggering Event: user wants to change password
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: Admin , Doctor, Pharmacist, Patient , Medical tester , RadiologyRelated use case:Stakeholders: Admin , Doctor, Pharmacist, Patient , Medical tester , RadiologyPreconditions: User writes the old password and then the new password is correct.Post conditions: The password changed successfullyFlow of Event: Actor System
1. User enter the old password
3. user enter new password and retype it
2. verify the old password
4. system save the new password to database
Exception Conditions: 1.1 If incorrect data (password) deny access to the user account and display error massage.1.2 If account is block, display error message.
Table (2.3) change password scenario
Use Case Name: Forget PasswordScenario: User forget his password
Triggering Event: user wants to recover him passwordBrief Description: User forget him password and want to recover it by send him password in him
e-mailActors: Admin , Doctor, Pharmacist, Patient , Medical tester , Radiology
Related use case:
Stakeholders: Admin , Doctor, Pharmacist, Patient , Medical tester , RadiologyPreconditions: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Post conditions: The password has been sent to user e-mailFlow of Event: Actor System
1. User enter him e-mail 2 .verify the e-mail has been foundedAnd send the password to him e-mail
Exception Conditions:
1.1 the e-mail is incorrect1.2 the e-mail is not found in database
Table (2.4) forget Password scenario
Use Case Name: Create Account EmployeeScenario: Admin add an Employee to the databaseTriggering Event: Admin wants to add a new Employee to the database
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: Admin
25
Related use case:Stakeholders: Admin , Doctor, Pharmacist, Medical tester , RadiologyPreconditions: admin must existPost conditions: New Employee object must existFlow of Event: Actor System
1. Enter new Employee information 2. Create new Employee, display information
3.Create new Employee, display information
Exception Conditions:
1.1 if the Employee found in the database, then give a message
Table (2.5) Insert Employee scenario
Use Case Name: Verify Account AdminScenario: Admin verify account to the databaseTriggering Event: Admin wants to verify account to the database
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: AdminPreconditions: admin must existPost conditions: Admin object must existFlow of Event: Actor System
1. Enter Admin information 2.Admin display information
Exception Conditions:
1.1 if the Employee found in the database, then give a message
Table (2.6) Verify Account scenario
Use Case Name: Delete EmployeeScenario: Admin delete an Employee from databaseTriggering Event: Admin wants to add a new Employee and Candidates to the database
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
26
Actors: AdminRelated use case:Stakeholders: Admin , Doctor, Pharmacist, Medical tester , RadiologyPreconditions: Employee must existPost conditions: Employee information must not existFlow of Event: Actor System
1. A Election officer filter the user and delete these Employee
2. System retrieve all Employee from DB
3.DeleteEmployee information
Exception Conditions:
1.1 if the admin not found in the database, then give a message
Table (2.7) Delete Employee scenario
Use Case Name: Edit Employee informationScenario: Admin edit an Employee information databaseTriggering Event: User information needs to be updated
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: Admin , Doctor, Pharmacist, Medical tester , RadiologyPreconditions: admin existsPost conditions: Employee existFlow of Event: Actor System
1. Enter Employee update 2 .Update Employee information
Exception Conditions: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Table (2.8) Edit Employee scenario
Use Case Name: Create Account PatientScenario: Admin add a Patient to the databaseTriggering Event: Admin wants to add a new Patient to the database
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:
27
Stakeholders: Admin , PatientPreconditions: admin must existPost conditions: New Patient object must existFlow of Event: Actor System
1. Enter new Patient information 2. Create new Patient, display information
3.Create new Patient, display information
Exception Conditions:
1.1 if the Patient found in the database, then give a message
Table (2.9) Insert Patient scenario
Use Case Name: Verify Account AdminScenario: Admin verify account to the databaseTriggering Event: Admin wants to verify account to the database
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: AdminPreconditions: admin must existPost conditions: Admin object must existFlow of Event: Actor System
1. Enter Admin information 2.Admin display information
Exception Conditions:
1.1 if the Patient found in the database, then give a message
Table (2.10) Verify Account scenario
Use Case Name: Delete PatientScenario: Admin delete a Patient from databaseTriggering Event: Admin wants to add a new Patient and Candidates to the database
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: Admin
28
Related use case:Stakeholders: Admin , PatientPreconditions: Patient must existPost conditions: Employee information must not existFlow of Event: Actor System
1. A Election officer filter the user and delete these Patient
2. System retrieve all Patient from DB
3.Delete Patient information
Exception Conditions:
1.1 if the admin not found in the database, then give a message
Table (2.11) Delete Patient scenario
Use Case Name: Edit Patient informationScenario: Admin edit a Patient information databaseTriggering Event: User information needs to be updated
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: Admin , PatientPreconditions: admin existsPost conditions: Employee existFlow of Event: Actor System
1. Enter Patient update 2 .Update Patient information
Exception Conditions: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Table (2.12) Edit Patient scenario
Use Case Name: SearchPatientinformationScenario: Admin search Patient informationTriggering Event: Admin search Patient information
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: Admin , PatientPreconditions: Admin must exist
Patient information must exist
29
Post conditions: NoneFlow of Event: Actor System
1. Enter Patient information 2.Find and display Patient information
Exception Conditions:
1.1 if admin not found, then give a message1.2 if Patient not matches, then give a message
Table (2.13) Search Patient scenario
Use Case Name: Search Employee informationScenario: Admin search Employee informationTriggering Event: Admin search Employee information
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: Admin , Doctor, Pharmacist, Medical tester , RadiologyPreconditions: Admin must exist
Employee information must existPost conditions: NoneFlow of Event: Actor System
1. Enter Employee information 2. Find and display Employee information
Exception Conditions:
1.1 if admin not found, then give a message1.2 if Employee not matches, then give a message
Table (2.14) Search Employee scenario
Use Case Name: View Employee informationScenario: Admin view Employee informationTriggering Event: Admin view Employee information
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case: Doctor, Pharmacist, Medical tester , RadiologyStakeholders: Admin , Doctor, Pharmacist, Medical tester , RadiologyPreconditions: Admin must exist
Employee information must existPost conditions: NoneFlow of Event: Actor System
30
1. Enter Employee information 2. Find and display Employee information
Exception Conditions:
1.1 if admin not found, then give a message1.2 if Employee not matches, then give a message
Table (2.15) view Employee scenario
Use Case Name: Show Patient tableScenario: Admin show the Patient of tableTriggering Event: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــBrief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:
Stakeholders: AdminPreconditions: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــPost conditions: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــFlow of Event: Actor System
1. Admin asked system about Patient table
2. System retrieve all Patient data
Exception Conditions:
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Table (2.16) Show Patient table scenario
Use Case Name: Show Employee tableScenario: Admin show the Employee of tableTriggering Event: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــBrief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminStakeholders: AdminRelated use case:Preconditions: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــPost conditions: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــFlow of Event: Actor System
1. Admin asked system about Employee table
2. System retrieve all Employee data
31
Exception Conditions:
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Table (2.17) Show Employee table scenario
Use Case Name: Admin add advertiseScenario: Admin Add advertise to DB
Triggering Event: ــــــــــــــــــــــــــــــــــــــــــــــــــــBrief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــ
Actors: AdminRelated use case:
Stakeholders: AdminPreconditions: --------
Post conditions: advertise add to DBFlow of Event: Actor System
1. Admin add an advertise information
2. Add the new advertise to DB
Exception Conditions:
1.1 advertise information not completed
Table (2.18) Admin add ads scenario
Use Case Name: Admin advertise deletesScenario: Admin delete a Candidate from databaseTriggering Event: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Brief Description: ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: AdminRelated use case:Stakeholders: Admin , CandidatePreconditions: Ads must existPost conditions: Advertise information must not existFlow of Event: Actor System
1. delete advertise information 2. System retrieve all advertise from DB
3.Delete advertise information
Exception Conditions:
1.1 ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
32
Table (2.19) Admin ads deletes scenario
Use Case Name: Insert DrugScenario: Insert Drug informationTriggering Event:
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: PharmacistRelated use case:Stakeholders: PharmacistPreconditions: Drug must existPost conditions: Drug information must not existFlow of Event: Actor System
1. delete Drug information 2. delete Drug information
Exception Conditions:
2.1 if the Pharmacistnot found in the database, then give a message
Table (2.20) Insert drug scenario
Use Case Name: Delete DrugScenario: Delete DrugTriggering Event: Pharmacist wants to Drug delete from database
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: PharmacistRelated use case:Stakeholders: PharmacistPreconditions:Post conditions: Drug createdFlow of Event: Actor System
1. enter new Drug information 2.Create Drug record and display information
Exception Conditions:
Table (2.21) Insert drug scenario
Use Case Name: Edit DrugScenario: Edit Drug information
33
Triggering Event: Drug information needs to be updated
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: PharmacistRelated use case:Stakeholders: PharmacistPreconditions: pharmacist existsPost conditions: Drug user existsFlow of Event: Actor System
1. Enter Drug update 2. Update Drug information
Exception Conditions:
Table (2.22) Insert drug scenario
Use Case Name: Search DrugScenario: Pharmacist Search Drug informationTriggering Event:
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: PharmacistRelated use case:Stakeholders: PharmacistPreconditions: Drug must existPost conditions: NoneFlow of Event: Actor System
1. Search Drug 2. Search DrugException Conditions:
1. if Drug not found, then give a message
Table (2.23) Insert drug scenario
Use Case Name: Insert diseaseScenario: Insert disease informationTriggering Event:
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: Doctor
34
Related use case:Stakeholders: Patient ,DoctorPreconditions:Post conditions: Disease createdFlow of Event: Actor System
1. enter disease information 2.Create disease record and display information
Exception Conditions:
Table (2.24) Insert new disease scenario
Use Case Name: Delete diseaseScenario: Delete disease informationTriggering Event: Doctor wants to disease delete from database
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: DoctorRelated use case:Stakeholders: Patient ,DoctorPreconditions: disease must existPost conditions: disease information must not exist
Flow of Event: Actor System1. Delete disease information 1. Delete disease
informationException Conditions:
Table (2.25) Insert disease scenario
Use Case Name: Edit diseaseScenario: Edit disease informationTriggering Event: Disease information needs to be updated
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: DoctorRelated use case:Stakeholders: Patient ,Doctor
35
Preconditions: Disease must existPost conditions: Disease user existsFlow of Event: Actor System
1. Enter disease update 2. Update disease information
Exception Conditions:
Table (2.26) Edit disease scenario
Use Case Name: View history patientScenario: Patient& Employee view history patientsTriggering Event: Disease information needs to be updated
Brief Description: ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــActors: Patient , EmployeeRelated use case:Stakeholders: Patient , EmployeePreconditions: patient must existPost conditions: NoneFlow of Event: Actor System
1. view history patient information 2. View history patient information.
Exception Conditions:
1. if patient& Employee not found, then give a message
Table (2.27) View history patient scenario
2.4.4 Activity & System Sequence Models
System activity model:
36
Is used to display the sequence of activities and show the workflow from a start point to the finish point detailing the many decision paths that exist in the progression of events contained in the activity.
System sequence model:
Is a kind of interaction diagram that shows how processes operate with one another and in what order, it is a construct of a message sequence chart, and it shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario.
user enter info
verify user
login to the web
error message
[ ok ]
[ not ok ]
systemuser
37
select logout button
Exit from the system
systemadmin
38
Enter Patient information
Find and display Patient information
systempatient
delete Drug information
delete Drug information
systemPharmacist
39
3 CHAPTER THREE: DESIGN
3.1 Architecture and Deployment environment Design
)Network environment(
3.2 Software Architecture Design
3.3 Sequence Models
Show your details design by giving up to 3 examples of your cases here, and add the
rest to your appendix section (don’t print it out just keep it available with your
softcopy of the project under (Appendix A: Expanded Sequence Models) section.
40
3.4 Design Class Model
3.5 Design package model (optional)
3.6 Design the database
3.6.1 Design Entity-Relationship Model
3.7 Design the system and user interfaces
3.8 Design the system security
4 CHAPTER FOUR: IMPLEMENTATION
4.1 Generate Design class model to specific programming language syntax
Show the code for each of cases you have shown in the previous chapter (section 3.3:
sequence models)
4.2 Generate Entity-Relationship model to SQL script
Show the SQL script OR the screen shot for your tables- if you have used GUI - for
each of cases you have shown in the previous chapter ( section 3.3: sequence models)
41
4.3 Building your code
This is your software program, and must be in your project CD)
5 CHAPTER FIVE: TESTING
5.1 Unit Testing
5.1.1 Set cases test
You have to show where you used the requirement in your design as well as in your
implementation by conducting a test for the full system and showing the input /
process / output procedures within design and implementation stages)
42
5.2 Integration Testing
5.3 Other testing (optional)
(Performance Testing, Acceptance Testing, GUI Testing,)
6 CONCLUSIONS AND FUTURE WORK
6.1 Conclusion
6.2 Future work
43
References
Use either APA or MLA bibliography style for citation
44
7 Appendices
7.1 Appendix A
Any supporting documents
45
7.2 Appendix B
Any supporting documents
46
Table of ContentsAbstract.............................................................................................................................................i
Acknowledgment.............................................................................................................................ii
Table of Contents...........................................................................................................................iii
List of Figures.................................................................................................................................iv
List of Tables...................................................................................................................................v
1 CHAPTER ONE: INTRODUCTION......................................................................................1
1.1 Background.......................................................................................................................1
1.2 Literature Review..............................................................................................................1
1.3 Business Model.................................................................................................................2
1.3.1 Business Needs..........................................................................................................2
1.3.2 Business Environment...............................................................................................2
1.3.3 Stakeholder Analysis.................................................................................................2
1.3.4 System Vision Document..........................................................................................3
1.3.5 Project Management..................................................................................................3
1.3.6 Development Environment........................................................................................3
2 CHAPTER TWO: REQUIREMENTS....................................................................................4
2.1 Gathering Requirements...................................................................................................4
2.2 System Problem Statement...............................................................................................4
2.3 Functional, Non-Functional Requirements and System Constraints................................4
2.4 System Models..................................................................................................................4
2.4.1 Use Case Model.........................................................................................................4
2.4.2 Domain Class Model.................................................................................................4
2.4.3 Use Cases Descriptions "Scenarios"..........................................................................4
2.4.4 Activity & System Sequence Models........................................................................4
2.4.5 Statechart Model (optional).......................................................................................4
3 CHAPTER THREE: DESIGN................................................................................................5
3.1 Architecture and Deployment environment Design..........................................................5
3.2 Software Architecture Design...........................................................................................5
3.3 Sequence Models..............................................................................................................5
3.4 Design Class Model..........................................................................................................5
3.5 Design package model ( optional)....................................................................................5
3.6 Design the database...........................................................................................................5
47
3.6.1 Design Entity-Relationship Model............................................................................5
3.7 Design the system and user interfaces..............................................................................5
3.8 Design the system security................................................................................................5
4 CHAPTER FOUR: IMPLEMENTATION..............................................................................6
4.1 Generate Design class model to specific programming language syntax.........................6
4.2 Generate Entity-Relationship model to SQL script..........................................................6
4.3 Building your code............................................................................................................6
5 CHAPTER FIVE: TESTING..................................................................................................7
5.1 Unit Testing.......................................................................................................................7
5.1.1 Set cases test..............................................................................................................7
5.2 Integration Testing............................................................................................................7
5.3 Other Testing( optional)....................................................................................................7
6 CONCLUSIONS AND FUTURE WORK..............................................................................8
6.1 Conclusion........................................................................................................................8
6.2 Future work.......................................................................................................................8
References........................................................................................................................................9
7 Appendices............................................................................................................................10
7.1 Appendix A.....................................................................................................................10
7.2 Appendix B.....................................................................................................................11
48