JPR Project Report
JPR Project Report
On
Submitted by
1. Tejas Madhukar Badgujar.
2. Gitesh Sunil Baviskar.
3. Lokesh Nitin Patil.
DIPLOMA ENGINEERING
In
ABSTRACT
The purpose of medical store management system is to
automate the existing manual system by the help of computerized
equipments and full-fledged computer software fulfilling their
requirements , so that their valuable data/information can be stored
for a longer period with easy accessing and manipulation of the same.
The required software and hardware are easily available and easy to
work with.
Medical store management system , as described above,
can lead to error free ,secure ,reliable and fast management system. It
can assist the user to concentrate on their other activities rather to
concentrate on the record keeping . thus it will help organization in
better utilization of resource .the organization can maintain
computerized record without redundant entries .that means that one
need not distracted by information that is not relevant, while being
able to each the information .
▪ TABLE OF CONTENTS
3 .Specific Requirements...................................................................
External Interfaces.
User Interfaces.
Software Interfaces.
Hardware Interface.
Communication Interfaces.
Functional Requirements.
Nonfunctional Requirements.
Performance Requirements.
Logical Database Requirements.
Design Constraints.
Standards Compliance.
Reliability
Availability
Security
Maintainability
Portability
4. Coding.........................................................................................
5. Output.........................................................................................
6. References....................................................................................
CHAPTER 1: INTRODUCTION
1. Introduction
The following subsections of the Software Requirements Specifications
(SRS) document provide an overview of the entire SRS.
• Purpose
The Software Requirements Specification (SRS) will provide a detailed
description of the requirements for the Medical Store Management System
(MSMS). This SRS will allow for a complete understanding of what is to be
expected of the MSMS to be constructed. The clear understanding of the MSMS
and its’ functionality will allow for the correct software to be developed for the
end user and will be used for the development of the future stages of the
project. This SRS will provide the foundation for the project. From this SRS, the
MSMS can be designed, constructed, and finally tested.
This SRS will be used by the software engineers constructing the MSMS
and the medical store end users. The software engineers will use the SRS to fully
understand the expectations of this MSMS to construct the appropriate
software. The medical store end users will be able to use this SRS as a “test” to
see if the software engineers will be constructing the system to their
expectations. If it is not to their expectations the end users can specify how it is
not to their liking and the software engineers will change the SRS to fit the end
users’ needs.
• Scope
The software product to be produced is a Medical Store Management
System which will automate the major medical store operations. The first
subsystem is to keep record of the stock of the medicines available and expiry
date of the medicines. The second subsystem is for billing and keep record of
the customer. The third subsystem is keep record of the sale and the supplier
and keep record of the profits and losses . These three subsystems’ functionality
will be described in detail in section 2-Overall Description.
There are two end users for the MSMS. The end users are the chemists and
the store manager.It is the complete medical shop management software is so
designed as to ease the work load of medical shop professionals. The main
feature includes invoicing, inventory and stock control, accounting, client and
vendor management.
This software helps you to track all the profits, loss, profitable clients and
products of medical shop moreover it’s a medical shop accounting software.
Flexible and adaptive software suited to medical shops or stores or pharmacies
of any size.
• Product Perspective
The MSMS is an independent stand–alone system. It is totally self contained.
✓ Hardware Interfaces
The MSMS will be placed on PC’s throughout the medical store.
✓ Software Interfaces
All databases for the MSMS will be configured using MS Access. These
databases include medicine stocks ,customers information and their billing.
These can be modified by the end users. The medicine stock database will
include the number of stock of medicines available and keep track of their
expiry dates. The customers information database will contain all the
information of the customer such as first name, last name,phone number,id,
number of medicines purchased, details of medicine purchased, total amount,
mode of payment(cash/debit or credit card) .
• Product Functions
Medicine Stock Record Management System
✓ Allows to keep record of the medicine such as medicine name, medicine
id, quantity of medicine, price of the medicine etc.
✓ Allow to keep record of the expiry date of the medicines such as to
remove those medicines from the stock whose expiry date is over.
✓ Allows to manage the availability of the medicine in the store such as to
order those stock of medicines which are over on time.
✓ Allows the user to arrange the medicine systematically according to their
comfort.
✓ Keep in record the details of their supplier such as supplier name, id,
quantity of stock of medicines supplied, bill of the stock supplied etc.
✓ Keep track of the profit and losses of the shop.
✓ Keep record of the sales of shop.
✓ Complete record of all the purchases is maintained.
• User Characteristics
Educational level of MSMS computer software –
Low Experience of MSMS software –
None Technical Expertise – Little
• Apportioning of Requirements
The audio and visual alerts will be deferred because of low importance at this
time.
3. Specific Requirements
This section contains all the software requirements at a level of detail, that
when combined with the system context diagram, use cases, and use case
descriptions, is sufficient to enable designers to design a system to satisfy those
requirements, and testers to test that the system satisfies those requirements.
• External Interfaces
The Hotel Management System will use the standard input/output devices
for a personal computer. This includes the following:
✓ Keyboard
✓ Mouse
✓ Monitor
✓ Printer
• User Interfaces
The User Interface Screens are described in table 1.
Table 1: Medical Store Management User Interface Screens
Screen Name Description
• Hardware Interfaces
The system shall run on Python based system.
• Communication Interfaces
The system shall be a standalone product that does not require any
communication interfaces.
• Functional Requirements
Functional requirements define the fundamental actions that
system must perform.
The functional requirements for the system are divided into three main
categories,Medicine stock, Customer information and billing and Sale and
supplier info. For further details, refer to the use cases.
1. Medicine Stock
The system shall record stock of medicines.
The system shall be updated with arrival of new stock.
The system shall notify the expired stock of medicines.
The system shall keep record of medicine details,
• Performance Requirements
Performance requirements define acceptable response times for
system functionality.
✓ The load time for user interface screens shall take no
longer than ten seconds.
✓ The log in information shall be verified within five seconds.
✓ Queries shall return results within five seconds.
• Design Constraints
The Medical Store Management System shall be a stand-alone
system running in a Windows environment. The system shall be
developed using c/c++ language.
• Standards Compliance
There shall be consistency in variable names within the system.
The graphical user interface shall have a consistent look and feel.
• Reliability
Specify the factors required to establish the required reliability of
the software system at time of delivery.
• Availability
The system shall be available during normal hotel operating hours.
• Security
Pharmacist and Managers will be able to log in to the Medical Store
Management System. Pharmacist will have access to the Medcine
stock and customer info and billing system.
Managers will have access to the Sale and Supplier info as well as
the Medcine stock and customer info and billing system. Access to the
various subsystems will be protected by a user log in screen that
requires a user name and password.
• Maintainability
The Medical Store Management System is being developed in
Turboc. It shall be easy to maintain. Portability The Medical Store
Management System shall run in any Microsoft Windows environment
that contains Microsoft Access database.
Coding :
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class temp
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
int ch;
String file1=System.getProperty("user.home")+"/varshamedicaldata.csv";
File file=new File(file1);
if (file.exists())
{
System.out.println("##################SAIMEDICAL#################");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println(" ");
}
else
{
try
{
file.createNewFile();
System.out.println("file created");
}
catch (IOException e)
{
// TODO Auto-generated catch block
System.out.println(e);
}
}
do
{
System.out.println("*****************welcome main menu*******************");
System.out.println(" ");
System.out.println("1.Add medicines details");
System.out.println("2.View medicines details");
System.out.println("3.Search medicines details");
System.out.println("4.exit");
System.out.println(" enter your choice:- ");
Scanner sc=new Scanner(System.in);
ch=sc.nextInt();
switch (ch)
{
case 1:
System.out.println("1.Add medicines details");
System.out.println("writing to file");
FileWrite.write(file1);
break;
case 2:
System.out.println("2.View medicines details");
System.out.println("reading from file");
FileRead.read(file1);
break;
case 3:
System.out.println("3.Search medicines details");
searchdata s1=new searchdata();
s1.searchindex();
System.out.println(s1);
String result=s1.searchdata();
if (result==null)
{
System.out.println("sorry!!!medicine is unavialable");
break;
}
System.out.println("medicine is found!!!\n "+result);
break;
case 4:
System.out.println("4.going to exit from system....");
break;
default:
System.out.println("please valid choice!!!!");
break;
}
}while(ch>0&&ch<5);
}
}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Scanner;
public class addmedicine
{
protected int medicineid;
protected String name;
public addmedicine( int medicineid, String name,int price,String com_name,String mfg_date, String
exp_date)
{
super();
this.medicineid=medicineid;
this.name=name;
this.price=price;
this.com_name=com_name;
this.mfg_date=mfg_date;
this.exp_date=exp_date;
}
public addmedicine(String a)
{
// TODO Auto-generated constructor stub a.toString();
}
public addmedicine()
{
// TODO Auto-generated constructor stub
}
public int getId()
{
return medicineid;
}
public void setId()
{
this.medicineid=medicineid;
}
public String getName()
{
return name;
}
public void setName()
{
this.name=name;
}
}
public void setMdate()
{
this.mfg_date=mfg_date;
}
public String getXdate()
{
return exp_date;
}
public void setXdate()
{
this.exp_date=exp_date;
//return this.exp_date;
}
void adddata()
{
System.out.println("enter medicine id");
this.medicineid=sc.nextInt();
System.out.println("enter medicine name");
this.name=sc.next();
System.out.println("enter medicine price");
this.price=sc.nextInt();
System.out.println("enter medicine manufacturing company name");
this.com_name=sc.next();
System.out.println("enter medicine manufacturing date");
this.mfg_date=sc.next();
System.out.println("enter medicine expiry date"); this.exp_date=sc.next();
}
public String toString()
{
return "Medicine [id="+ medicineid +", name ="+name +", price ="+price +",comapny= "+com_name
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
FileWriter fw1=null;
BufferedWriter bw=null;
PrintWriter fw=null;
try
{
fw1= new FileWriter(filename,true);
bw=new BufferedWriter(fw1);
fw=new PrintWriter(bw);
fw.append(FILE_HEADER.toString());
fw.append(NEW_LINE);
for (addmedicine m1 :medicines)
{
fw.append(String.valueOf(m1.getId()));
fw.append(COMMA);
fw.append(m1.getName());
fw.append(COMMA);
fw.append(String.valueOf(m1.getPrice()));
fw.append(COMMA);
fw.append(m1.getCName());
fw.append(COMMA);
fw.append(m1.getMdate());
fw.append(COMMA);
fw.append(m1.getXdate());
fw.append(NEW_LINE);
}
System.out.print("writing data successfully");
}
catch (IOException e)
{
System.out.println(e);
}
Finally
{
fw.flush();
fw.close();
}
}
}
import java.awt.Label;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
String t[]=data.split(COMMA);
if (t.length>0)
{
addmedicine am=new addmedicine(Integer.parseInt(t[MED_ID]),t[MED_NAME],Integer.parseInt(t[MED_
PRICE]),t[MED_COM],t[MED_MFG],t[MED_EXP]); a2.add(am);
}
if (br.readLine()==NEW_LINE) {
continue ;
}
}
for (addmedicine addmedicine : a2)
{
System.out.print(addmedicine.toString());
System.out.print("\n");
}
} catch (Exception e) {
try
{
br.close();
}
catch (IOException e) {
// TODO Auto-generated catch block System.out.println(e);
}
}
System.out.println(e);
}
}
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
searchdata=sc.next();
/*
if (searchindex==0)
{
this.medicineid=sc.nextInt();
}
else if (searchindex==1)
{
this.name=sc.next();
}
else if (searchindex==2)
{
this.price=sc.nextInt();
}
else if (searchindex==3)
{
this.com_name=sc.next();
}
else if (searchindex==4)
{
this.mfg_date=sc.next();
}
else if (searchindex==5)
{
this.exp_date=sc.next();
}
else
{
System.out.println("sorry!! you entered index is not present in file");
}
*/
//return searchindex;
}
public String toString()
{
return "search index="+ searchindex +"search data="+searchdata;
}
public String searchdata()
{
String file1=System.getProperty("user.home")+"/varshamedicaldata.csv";
String resultrow=null;
int sindex=this.searchindex;
String sdata=this.searchdata;
try {
BufferedReader br=new BufferedReader(new FileReader(file1));
String line;
try {
while ((line=br.readLine())!=null)
{
String[] val=line.split(COMMA);
if (val[sindex].equals(sdata))
{
resultrow=line;
break;
}
}
}
catch (IOException e)
{
{
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e);
}
} catch (FileNotFoundException e)
{
▪ REFERENCES :
1. http://www.w3school.com
2. http://en.wikipedia.org/wiki/Waterfall_model
3. http://en.wikipedia.org/wiki/Software_development_process ,
4.. http://en.wikipedia.org/wiki/Spiral_model
5. http://en.wikipedia.org/wiki/Prototype