Pharmacy System
Pharmacy System
Pharmacy System
2. i. IDENTIFICATION OF NEED 3
3. FEASIBILITY STUDY 6
6. i . DATABASE DESIGN 28
ii. DATAFLOWDIAGRAMS
7. VALIDATION CHECKS 37
8. SYSTEM TESTING & IMPLEMENTATION 40
11 PERT CHART 59
13.BIBLIOGRAPHY 62
2
1. INTRODUCTION
orders from its distributors who are geographically distributed. This new system not
only takes the orders from distributors for Aurobindo Pharma but it also facilities. The
administration, as well as the report generation for the firm. The basic structure of the
system as follows.
System. Each user of this system is given a unique id and password along with some
Information for our report generation, and administration. Later the user id will be used
for his identification. The system maintains vendors, category of products they are
supplying, products under each category, discount, and payment modes such as DD,
Cheque, and online payment mode Credit Card. This system also maintains the order
details, to provide the valuable reports regarding sales to the organization whenever they
want. Here we are providing the administration part too for the organization.
This system provides information entered but also analyzes data. Each user’s
details are kept private and no other body can tinker with them.
Some people express their view that where is the actual need for this kind of
system. Ordering systems on isolated computers and personal PC’s are not accessible
from anywhere. Where as these kind of web related systems can be accessed from
anywhere.
Virtually from any part of the world with out any difficulty. As our Aurobindo Pharma
is Launching a new web site with these benefits of internet they can provide better and
Cost effective services to distributors, not only that with this kind of design they can Go
2
3
for online shopping for other users. Realization of these kinds of systems includes
both server side programming and client side programming. Server side part has to
communicate with the date base management system and has to send the results as part is
responsible for providing user friendly and visually attractive interface to the user, and is
SCRIPT, JAVA SERVLETS and JDBC. Server side part has been done with
SERVLETS and JDBC where JDBC responsible for communicating with DBMS. On
3
4
The Pharmacy System is a web-based application some of its features are pointed
out here:
The proposed system can be accessed from any part of the world, as opposed to
stand alone or manual system, and provides information at any time, anywhere.
Even though it is a web-based application it will keep the details of its clients
No need to own any computer for this specific ordering of products, it just
It provides easy to use and user friendly interface for the user.
The system provides freedom to the user to move freely around various screens
and status of the system returned, as it was when he left the screen.
The user can access the system at any time, because it’s 24-hour availability.
The organization can generate reports for sales like day-wise, month-wise, year-
wise, product-wise, order-wise etc. at any time with out any problem.
The organization can save the time and money as they own the web site, and they
4
5
The project contains two modules. User interaction module and administration
1. ADMINISTRATION
2. FINANCE
database. In the reports module they can generate the sales reports.
1) User Interaction
SIGNUP
LOGIN
ORDER DIRECTLY
UPDATE CUSTOMER
PRODUCTS INFORAMTION
VENDOR INFORMATION
ORDER DETAILS
Login name: The login name should be entered in text format; there should be no spaces.
i. Administration
ii. Finance
5
6
Product
Vendor
Customer
Category
Discount
Product Administration
Customer Administration
Vendor Administration
Category Administration
Discount Administration
User Interface:
The user interface should provide the commands in the form of buttons and
6
7
a) Administrative people commands
b) Client commands.
3. FEASIBILITY STUDY
All projects are feasible – given unlimited resources and infinite time!
plagued by a scarcity of resources and difficult delivery dates. It is both necessary and
prudent to evaluate the feasibility of a project at the earliest possible time. Months or
Feasibility and risk analysis are related in many ways. If project risk is great the
Technical Feasibility
(World wide web). So, it is necessary to use a technology that is capable of providing the
networking facility to the application. This application as also able to work on distributed
Technology. One major advantage in application is platform neutral. We can deploy and
GUI is developed using HTML.to capture the information from the customer.
HTML is used to display the content on the browser. It uses TCP/IP protocol. It is an
application. So many objects such as button, text fields, and text area etc are provide to
7
8
We can use this application in any OS. They can have their own security and
transactional advantages. But are the responsible for selecting suitable and secured OS,
we can port this enterprise application in any environment. Both are having their
Economical Feasibility
In present system customer need to go to biller’s place to pay the bill. So he/she
needs to spend some time to complete this protocol. It is time consuming process some
times customer not able to spend that much of time. In such case needs to pay some
If it is developed in electronic payment system, He can pay the bill from any
where in the world. No need to travel to pay the bills. For doing this process
Operational Feasibility:
In our application front end is developed using GUI. So it is very easy to the
customer to enter the necessary information. But customer has some knowledge on using
8
9
DESIGN SPECIFICATION
architectural design and user interface design in the design process. These are explained
in the following section. The goals of design process it to provide a blue print for
DATA DESIGN
The primary activity during data design is to select logical representations of data
objects identified during requirement analysis and software analysis. A data dictionary
explicitly on the elements of the data structure. A data dictionary should be established
DESIGN METHODOLOGY
The two basic modern design strategies employed in software design are
2. Bottom Up Design
flow of control. At later stages it concern itself with the code production. The first step
is to study the overall aspects of the tasks at hand and to break it into a number of
independent modules. The second step is to break each one of these modules further into
Repeated one to obtain modules, which are small enough to group mentally and
to code in a straightforward manner. . Only the necessary data and control that must be
most difficult and necessary designed decision are made the reminder of the design is
tailored to fit around the design already chose for crucial part. It vaguely represents a
One storage point of the top-down method is that it postpones details of the
decision until the last stage of the decision. It allows making small design changes when
the design is half way through. There is danger that the specifications will be
incompatible and this will not be discovered until late in the design process. By contrast
the bottom-up strategy first focuses on the crucial part so that feasibility of the design is
In mixing top-down and bottom-up design it often appears that we start in the
middle of the problem and work our way both up and down there. In a complex
problem, it is often difficult to decide how to modularize the various procedures in such
cases one might consider a list of system inputs and decide what functions are necessary
to process these inputs. This is called back to front design. Similarly one can start with
the required outputs and work backwards evolving so called front-back design. We have
applied both the top down and bottom up approach in our design approach.
DATABASE DESIGN
Databases are normally implemented by using a package called a Data Base
characteristics, and so such, general techniques for the design of database are limited.
One of the most useful methods of analyzing the data required by the system for the data
dictionary has developed from research into relational database, particularly the work of
10
11
NORMALIZATION
The first stage is normalization is to reduce the data to its first normal form, by
removing repeating items showing them as separate records but including in them the
The next stage of reduction to the second normal form is to check that the record,
which one is first normal form, all the items in each record are entirely dependent on the
key of the record. If a data item is not dependent on the key of the record, but on the
other data item, then it is removed with its key to form another record. This is done until
each record contains data items, which are entirely dependent on the key of their record.
The final stage of the analysis, the reduction of third normal form involves
examining each record, which one is in second normal form to see whether any items are
mutually dependent. If there are any item there are removed to a separate record leaving
one of the items behind in the original record and using that as the key in the newly
created record.
BUSINESS MODELING:
The information flow among business function is modeled in a way that answers
the following questions: what information drives the business process? What information
is generated? What generate it? Where does the information go? Who process it?
DATA MODELING:
The information flow defined as a process of the business modeling is refined
into a set of data objects that are needed to support the business. The characteristics
9called attributes0 of each object are identified and relationships between these objects
are defined.
11
12
PROCESS MODELING:
The data objects defined in the data-modeling phase are transformed to achieve
“classic model” or the “water fall model,” the linear sequential suggests a systematic,
sequential approach to software development that begins at eth system level and process
The linear sequential model is the oldest and the most widely used paradigm for
software engineering. Modeled after the conventional engineering cycle, the linear
establishing requirements for all system elements and then allocating some subset of
level with a small amount of top-level analysis and design. Information engineering
Engineer must under stand the information domain for the software, as well as
required function, behavior, performance, and inter facing. Requirements for the
both the system and the software are documented and reviewed with the customer.
12
13
3) DESIGN:
Software design is actually a multi step process that focuses on four distinct attributes
the software that can be assessed for quality before code generation begins. Like
configuration.
4) CODE GENERATION:
The design must be translated into a machine-readable form. The code generation
step performs this task. If design is performed in a detailed manner, code generation
5) TESTING:
Once code has been generated, program testing process focuses on the logical
internals of the software, assuring that all statements have been tested, and on the
functional externals that is, conducting tests to uncover errors and ensure that defined
input will produce actual results that agree with required results.
6) MAINTENANCE:
Software will undoubtedly undergo change after it is delivered to the customer.
Change will occur because errors have been encountered, because the software must
reapplies each of the preceding phases to an existing program rather than a new one
13
14
hardware and software, we have to mention requirements on both the Client and Server
part.
INTERNET TERMINOLOGY
What is Internet?
Internet to send electronic mail, participate in discussion forums, search authority that
controls or regulates the Internet Currently there are more than 30 million people use the
Internet and the number is growing at a rate of one million new user per month.
What is Intranet?
same kinds of software that you would use to explore the Internet, but only for internal
use. An Internet enables a company to share its resources with it employees without
14
15
etc) located on globally networked web/internet servers that can be accessed on the
Internet by using HTTP, FTP, Telnet, Gopher and some other tools.
What is TCP-IP?
This is the suite of protocols that defines the Internet. Originally designed for the
Unix Operating system. TCP/IP software is now available for every major kind of
computer operating system. TCP/IP stacks is required for computers want to access the
Internet.
The standard way to give the address of any resource on the Internet that is part
The most common way to use a URL is to enter into a WWW browser program, such as
Internet Explorer.
Although the names are almost the same Java is not the same as Java Script.
These are two different techniques for Internet programming. Java is a programming
language; JavaScript is a scripting language (as the name implies). The difference is
that we can create real programs with Java. But often we just want to make a nice
easy to understand and easy to use. JavaScript authors should not have to care too
15
16
We could say that JavaScript is rather an extension to HTML than a separate
computer language. Of course this is not the ‘official’ definition but I think this makes
it easier to understand the difference between Java and JavaScript, which share the
Advantages of Java:
Creation of Java:
James Gosling conceived Java. Patrick Naughton, Chris Warth, Ed Frank and
develop the first working version. This language was initially called “OAK” in 1992
and public announcement of Java in 1995, many more contributed to the design and
Java is Portable:
written in Java will run on all the major platforms. Any computer with a Java based
browser can run the applications or applets written in the Java programming language.
program to run on a Windows machine, still another to run on a Unix machine and so
on. In other words, with Java, developers write their programs only once.
The virtual machine is what gives Java a cross platform capabilities. Rather than
being complied into machine language, which is different for each operating systems
and computer architecture, Java code is compiled into byte codes. With other
languages, the program code is complied into a language that the computer can
understand. The problem is that other computers with different machine instruction set
cannot understand that language. Java code, on the other hand is complied into byte
codes rather than a machine language. These byte codes go to the Java virtual machine,
16
17
which executes them directly or translates them into the language that is understood by
In summary, these means that with the JDBC API extending Java, a programmer
writing Java code can access all the major relational databases on any platform that
Java is Object Oriented, which makes program design focus on what you are
dealing with rather than on how you are going to do something. This makes it more
useful for programming in sophisticated projects because one can break the things
down into understandable components. A big benefit is that these components can
then be reused.
Object oriented languages use the paradigm of classes. In simplest term, a class
includes both the data and the functions to operate on the data. You can create an
instance of a class, also called an object, which will have all the data members and
functionality of its class. Because of this, you can think of a class as being like
template, with each object being a specific instance of a particular type of class.
The class paradigm allows one to encapsulate data so that specific data values are
those using the data cannot see function implementation. Encapsulation makes it
possible to make the changes in code without breaking other programs that use that
invisible to another programmer who invokes that function, and it does not affect
Java includes inheritance, or that ability to derive new classes from existing
classes. The derived class, also called subclass, inherits all the data and the function
of the existing class, referred to as the parent class. A subclass can add new data
17
18
Java Makes It Easy:
In addition to being portable and object oriented, Java facilitates writing correct
code. Programmers spend less time writing Java code and a lot less time debugging it.
In fact, developers have reported slashing development time by as much as two thirds.
Java automatically takes care of allocating and the reallocating memory, a huge
potential source of errors. If an object is no longer being used (has no reference to it),
Java’s no pointer support eliminates big source errors. By using object references
instead of memory pointers, problems with pointer arithmetic are eliminated, and
problems with inadvertently accessing the wrong memory address are greatly reduced.
Java keeps code simple by having just one way to do something instead of having
several alternatives, as in some languages. Java also stays lean by not including
multiple inheritance, which eliminates the errors and ambiguity that arise when you
create a subclass that inherits from two or more classes. To replace capabilities,
multiple inheritance provides, Java lets you add functionality to a class throw the use of
interfaces.
Java is Extensible:
A big plus for Java is the fact it can be extended. It was purposely written to be
lean with the emphasis on doing what it does very well, instead of tying to do
everything from the beginning, it was return so that extending it is very easy. The
java platform includes an extensive class library so that programmers can use already
18
19
Java is Secure:
It is important that a programmer not be able to write subversive code for
applications or applets. This is especially true with the Internet being used more and
more extensively for services such as electronic commerce and electronic distribution
The way memory is allocated and laid out. In java an object’s location in
memory is not determined until the runtime, as opposed to C and C++. As the result,
a programmer cannot look at a class definition and figure out how it might be laid out
in memory. Also since, Java has no pointers, a programmer cannot forge pointers to
memory.
The Java Virtual Machine (JVM) doesn’t trust any incoming code and subjects it
to what is called Byte Code Verification. The byte code verifier, part if the virtual
The Java byte code loader, another part of the JVM, checks whether classes
loaded during program execution are local of from across a network. Imported classes
cannot be substituted for built in classes, and built in classes cannot accidentally
The Java Security manager allows user to restrict entrusted Java applets so that
they cannot access the local network, local files and other resources.
as having built in security and being interpreted as well as complied, do have a cost
attached to them. However, various optimizations have been built, in, and the byte code
19
20
interpreter can run very fast the cost it doesn’t to do any checking. AS a result, Java
has done quite respectably in performance tests. Its performance numbers for
interpreted byte codes are usually more than adequate to run interactive graphical end
user applications.
For situations that require unusually high performance, byte codes can be
translated on the fly generating the final machine code for the particular CPU on which
the application is running at run time. Java offers good performance with the
advantages of high-level languages but without the disadvantages of C and C++. In the
world of design trade-off, you can think of Java as providing a very attractive middle
ground.
Java is Robust:
The multi plat formed environment of the WEB places extraordinary demands on a
program, because it must execute reliably in a variety of systems. Thus the ability to
create robust programs Design of software involves conceiving planning out and
data design, architectural design and user interface design in the design process. These
are explained in the following section. The goals of design process it to provide a blue
DATA DESIGN
The primary activity during data design is to select logical representations of data
objects identified during requirement analysis and software analysis. A data dictionary
explicitly on the elements of the data structure. A data dictionary should be established
20
21
DESIGN METHODOLOGY
The two basic modern design strategies employed in software design are
4. Bottom Up Design
flow of control. At later stages it concern itself with the code production. The first step
is to study the overall aspects of the tasks at hand and to break it into a number of
independent modules. The second step is to break each one of these modules further into
Repeated one to obtain modules, which are small enough to group mentally and
to code in a straightforward manner. One important feature is that at each level the
details of the design at the lower level are hidden. Only the necessary data and control
that must be called back and forth over the interface are defined.
In a bottom-up design one first identifies and investigates parts of design that are
most difficult and necessary designed decision are made the reminder of the design is
tailored to fit around the design already chose for crucial part. It vaguely represents a
One storage point of the top-down method is that it postpones details of the
decision until the last stage of the decision. It allows making small design changes when
the design is half way through. There is danger that the specifications will be
incompatible and this will not be discovered until late in the design process. By contrast
the bottom-up strategy first focuses on the crucial part so that feasibility of the design is
In mixing top-down and bottom-up design it often appears that we start in the
middle of the problem and work our way both up and down there. In a complex
problem, it is often difficult to decide how to modularize the various procedures in such
21
22
cases one might consider a list of system inputs and decide what functions are necessary
to process these inputs. This is called back to front design. Similarly one can start with
the required outputs and work backwards evolving so called front-back design. We have
applied both the top down and bottom up approach in our design approach.
DATABASE DESIGN
Databases are normally implemented by using a package called a Data Base
characteristics, and so such, general techniques for the design of database are limited.
One of the most useful methods of analyzing the data required by the system for the data
dictionary has developed from research into relational database, particularly the work of
are converted into normalized data by three stages. Each stage has a procedure to follow.
NORMALIZATION
The first stage is normalization is to reduce the data to its first normal form, by
removing repeating items showing them as separate records but including in them the
The next stage of reduction to the second normal form is to check that the record,
which one is first normal form, all the items in each record are entirely dependent on the
key of the record. If a data item is not dependent on the key of the record, but on the
other data item, then it is removed with its key to form another record. This is done until
each record contains data items, which are entirely dependent on the key of their record.
The final stage of the analysis, the reduction of third normal form involves
examining each record, which one is in second normal form to see whether any items are
mutually dependent. If there are any item there are removed to a separate record leaving
one of the items behind in the original record and using that as the key in the newly
created record.
22
23
BUSINESS MODELING:
The information flow among business function is modeled in a way that answers
the following questions: what information drives the business process? What information
is generated? What generate it? Where does the information go? Who process it?
DATA MODELING:
The information flow defined as a process of the business modeling is refined
into a set of data objects that are needed to support the business. The characteristics
9called attributes0 of each object are identified and relationships between these objects
are defined.
PROCESS MODELING:
The data objects defined in the data-modeling phase are transformed to achieve
“classic model” or the “water fall model,” the linear sequential suggests a systematic,
sequential approach to software development that begins at eth system level and process
The linear sequential model is the oldest and the most widely used paradigm for
software engineering. Modeled after the conventional engineering cycle, the linear
establishing requirements for all system elements and then allocating some subset of
these requirements to software. This system view is essential when software must
23
24
System engineering and analysis encompasses requirements gathering at the system
level with a small amount of top-level analysis and design. Information engineering
Engineer must under stand the information domain for the software, as well as
required function, behavior, performance, and inter facing. Requirements for the
both the system and the software are documented and reviewed with the customer.
3) DESIGN:
Software design is actually a multi step process that focuses on four distinct attributes
the software that can be assessed for quality before code generation begins. Like
configuration.
4) CODE GENERATION:
The design must be translated into a machine-readable form. The code generation
step performs this task. If design is performed in a detailed manner, code generation
5) TESTING:
Once code has been generated, program testing process focuses on the logical
internals of the software, assuring that all statements have been tested, and on the
functional externals that is, conducting tests to uncover errors and ensure that defined
input will produce actual results that agree with required results.
24
25
6) MAINTENANCE:
Software will undoubtedly undergo change after it is delivered to the customer.
Change will occur because errors have been encountered, because the software must
reapplies each of the preceding phases to an existing program rather than a new one
ORACLE 8i SERVER
Introduction to Oracle:
Any programing environment used to create containers, to manage human data,
human data being managed is called a Database. Hence, in very simple terms, these
All Databases Management Systems (that is, Oracle is DBMS) allow users to
create containers for data stories and management. These containers are called ‘cells’.
The minimum information that has to be given to Oracle for a suitable container to be
Another name that programming environments use for a ‘Cell’ is ‘Field’. These
25
26
Basic Database Concepts:
A database is a corporate collection of data with some inherent meaning,
designed, built and populated with data for a specific purpose. A database stores data that
is useful to us. This data is only a part of the entire data available in the world around us.
following:
Identify what specific objects in that part of the world’s data are of interest to us.
Hence the objects, their attributes and the relationship between them that are of
interest to us are still owed in the database that is designed, built and populated with data
Has a centralized data dictionary for the storage of information pertaining to data
Enforces data access authorization has automatic, intelligent backup and recovery
26
27
Information Representation:
All information stored in a relational database is represented only by data item
values, which are stored in the tables that make up the database. Associations between
data items are not logically represented in any other way, such as the use of pointers
Logical accessibility:
Every data item value stored in relational database is accessible by stating the
nature of the table it is stored in, the name of the column under which it is stored and the
value of the primary key that defines the row in which it is stored.
values. For example, null values for numeric data must be distinct from zero or any other
numeric and for the character data it must be different from a string of blanks or any
Catalogue facilities:
The logical description of the relation database is represented in the same manner
as ordinary data. This is done so that the facilities of the relation database management
Data Language:
The relational database management system may support many types of
languages for describing data and accessing the database. However, there must be at least
one language that uses ordinary character strings to support the definition of data, the
27
28
View Updatability:
Any view that can be defined using combination of basic tables, that are
management system.
Integrity Constraints:
Constraints that apply to entity integrity and referential integrity are specifiable
by the data language implemented by the database management system and not by the
Database Distribution:
supports the ability to distribute the database without requiring changes to be made to
application programmers. This facility must be provided in the data language, whether or
Non- Subversion:
If the relational database management system supports facilities that allow
programmer using this type access is prevented from by passing entity integrity or
In developing this software we have used eight tables to store the details of the
Customer Table:
Vendor Table:
Category Table:
Products Table:
In this table all the products information under different categories of a particular
Discount Table:
In this table all product codes are their discount structures are stored.
Order Table:
In this table all the orders information put by the customers are maintained.
Amount Table:
In this table the Customer id and the amount he billed are stored after ordering.
In this table the administration login and password information are stored.
29
30
TABLE: REGISTRATION
TABLE: CATEGORY
TABLE: LOGIN
FIELD NAME DATA TYPE CONSTRAINTS
USER_NAME VARCHAR PRIMARY KEY
PASSWORD VARCHAR
TABLE: ORDER
FIELD NAME DATA TYPE CONSTRAINTS
CUSTOMER_ID VARCHAR PRIMARY KEY
PRODUCT_CODE VARCHAR
QUANTITY_ORDERED Int
UNIT_COST Int
NET_COST Int
ORDER_DATE DATE
PAYMENT_MODE VARCHAR
30
31
TABLE: DISCOUNT
TABLE: VENDOR
TABLE: AMOUNT
31
32
6.ii. DATA FLOW DIAGRAMS
CONTEXT LEVEL
Request
Request
Response Pharmacy
CUSTOMER System
Request
Response Pharmacy
ADMINISTRATION system
Signup
Order Direct
Details Orderin
g
32
33
YES Display
Validation Total
Signup
Process Informatio
Error
Customer n
ID
User
Message
Information Customer Table
User
Information
Registratio Message
n USER
Process
User Id
Product Ordering Qty, tax, Order
Password Information Products Processing
Category discount
Name
Amount
Payment Mode
Amount table
Payment
Process
33 USER
34
Login
Product Admin
Customers Admin
Vendors Admin
Administrator
Category Admin
Discount Admin
Reports
Registration
End User
Login
Order Product
34
35
Sequencial Diagrame:
L o g i n P r o d u c t AC d ums ti no m V e er n d o r s AC da mt e i gn o r yD i s c o u n t
: A d m in is t ra t o r : E n d U s: e Er n d U s: e Er n d U s: e Er n d U s e r
A d m in A d m in A d m in
(id , p w d )
( v a li d a t e ( ) )
(s e le c t o p t io n )
( s e le c t o p t io n )
( s e le c t o p t io n )
(s e le c t o p t io n )
( s e l e c t o p t io n )
35
36
: E nd Us er
(E nter data)
(id,pwd)
(validate())
36
37
USE_CASE Diagrame:
GUIComponent
Menu InputScreen
DataStore
Options Report
<<uses>>
<<instantiates>>
Registrati login
on Orderpr
DataManipulator
od
Producta
dmin
Catge Admin
( id,pwd )
( ok )
unauthenticated validation authenticated
( id,pwd )
Validation ( valid )
unauthenticate Admin Menu
d
( username,pwd)
37
38
7. VALIDATION CHECKS
38
39
The validations for the update customer screen:
39
40
The validations for the vendor deletion:
40
41
TESTING OBJECTIVES:
1. Testing is process of executing a program with the intent of finding an
error.
2. A good test case design is one that has a probability of finding an as
yet undiscovered error.
3. A successful test is one that uncovers an as yet undiscovered error.
Testing cannot show the absence of defects, it can only show that software errors
are present.
1. White Box Testing: This testing is also called as glass box testing. In this
testing, by knowing the specified function that a product has been designed to
operation at the same time searching for errors in each function. It is a test
case design method that uses the control structure of the procedural design to
product, tests can be conducted to ensure that “ all gears mesh”, that is the
A software testing strategy provides a road map for the software developer.
Testing is a set of activities that can be planned in advance and conducted systematically.
For this reason a template for software testing a set of steps into which we can place
specific test case design methods should be defined for software engineering process.
1. Testing begins at the module level and works “outward” toward the
integration of the entire computer based system.
2. Different testing techniques are appropriate at different points in time.
3. The developer of the software and an independent test group conducts testing.
4. Testing and Debugging are different activities but debugging must be
accommodated in any testing strategy.
42
43
Unit Testing:
Unit testing focuses verification efforts in smallest unit of software design
(module).
package; interfacing errors have been uncovered and corrected, and a final series of
software tests – validation testing – may begin. Validation can be fined in many ways,
but a simple definition is that validation succeeds when software functions in a manner
document that describes all user-visible attributes of the software. The specification
43
44
contains a section titled “Validation Criteria”. Information contained in that section
demonstrate conformity with requirement. A test plan outlines the classes of tests to be
conducted, and a test procedure defines specific test cases that will be used in an attempt
to uncover errors in conformity with requirements. Both the plan and procedure are
designed to ensure that all functional requirements are satisfied; all performance
After each validation test case has been conducted, one of two possible
and are accepted, or (2) a deviation from specification is uncovered and a deficiency list
is created. Deviation or error discovered at this stage in a project can rarely be corrected
CONFIGURATION REVIEW:
An important element of the validation process is a configuration review. The
intent of the review is to ensure that all elements of the software configuration have been
properly developed, are catalogued, and have the necessary detail to support the
maintenance phase of the software life cycle. The configuration review sometimes called
an audit.
will really use a program. Instructions for use may be misinterpreted; strange
combination of data may be regularly used; and output that seemed clear to the tester
conducted to enable the customer to validate all requirements. Conducted by the end user
rather than the system developer, an acceptance test can range from an informal “test
drive” to a planned and systematically executed series of tests. In fact, acceptance testing
impractical to perform formal acceptance tests with each one. Most software product
builders use a process called alpha and beta testing to uncover errors that only the end
A customer conducts the alpha test at the developer’s site. The software is used in
a natural setting with the developer “looking over the shoulder” of the user and recording
errors and usage problems. Alpha tests are conducted in controlled environment.
The beta test is conducted at one or more customer sites by the end user of the
software. Unlike alpha testing, the developer is generally not present. Therefore, the beta
the developer. The customer records all problems that are encountered during beta
testing and reports these to the developer at regular intervals. As a result of problems
reported during bets test, the software developer makes modification and then prepares
IMPLEMENTATION:
Implementation is the process of having systems personnel check out and put
new equipment into use, train users, install the new app Depending on the size of the
organization that will be involved in using the application and the risk associated with its
use, systems developers may choose to test the operation in only one area of the firm, say
in one department or with only one or two persons. Sometimes they will run the old and
45
46
new systems together to compare the results. In still other situation, developers will stop
using the old system one-day and begin using the new one the next. As we will see, each
implementation strategy has its merits, depending on the business situation in which it is
Once installed, applications are often used for many years. However, both the
organization and the users will change, and the environment will be different over weeks
modifications and changes will be made to the software, files, or procedures to meet
emerging user requirements. Since organization systems and the business environment
undergo continual change, the information systems should keep pace. In this sense,
Evaluation of the system is performed to identify its strengths and weakness. The
User Manager Assessment: Evaluation of the attitudes of senior and user mangers
with such yardsticks as overall development time and effort, conformance to budgets and
46
47
Security in software engineering a broad topic. This script limits its scope to
whether in storage, processing or transit, and against the denial of service to authorized
Many questions regarding security are related to the software life cycle itself. In
particular, the security of code and software processes must be considered during the
design and development phase. In addition, security must be preserved during operation
The mass of security functionality employed by today's networked world, might deceive
us into believing that our jobs as secure system designers are already done. However,
computers and networks are incredibly insecure. The lack of security stems from two
fundamental problems. Systems, which are theoretically secure, may not be secure in
opportunities for attacks. It is much easier to prove that a system is insecure than to
demonstrate that one is secure to prove insecurity, one simply exploits certain system
vulnerability. On the other hand, proving a system secure requires demonstrating that all
possible exploits can be defended against (a very daunting, if not impossible, task).
47
48
GOOD PRACTICE
Security requires more managing and mitigating risk than it does technology. When
developing software one must first determine the risks of a particular application. For
example, today's typical web site may be subject to a variety of risks, ranging from
Once the risks are identified, identifying appropriate security measures becomes
application will be used, who will be using the application, etc. With that knowledge,
one can decide whether or not to support complex features like auditing, accounting, no
repudiation, etc.
Another potentially important issue is how to support naming. The rise of distributed
to use that name searches for it (phone books and directories are examples). For
example, in a system such as a resource discovery system, both the resources and the
individuals using those resources must be named. Often there are tradeoffs with respect
to naming: while naming can provide a level of indirection, it also can create additional
problems if the names are not stable. Names can allow principals to play different roles
48
49
49
50
50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
11 PERT CHART
PERT CHART:
Program Evaluation Review Technique, PERT can be both a cost and a time
management system. PERT is organized by events and activities or tasks. PERT has
several advantages over bar charts and is likely to be used with more complex projects.
One advantage of PERT is that it is scheduling device that also shows graphically
Also, by displaying the various task paths, PERT enables the calculation of a
critical path. Each path consists of combinations of tasks, which must be completed.
PERT controls time and cost during the project and also facilitates finding the right
balance between completing a project on time and completing it within the budget.
PERT CHART
25 JUN 2003
10 JUL 2003
INTEGRATION
AND TESTING
10 JUL 2003
ANALYSIS
01 JUL 2003
CODING
FINISH
10 JUL 2003
15 AUG 2003
WRITE MANUAL
60
61
Gantt Chart ( Bar Chart ):
A Bar Chart is perhaps the simplest form of formal project management. The bar
chart is also known as Gantt Chart. It is used almost exclusively for scheduling purposes
Gantt Charts are a project control technique that can be used for several purposes,
including scheduling, budgeting and resource planning. A Gantt Chart is a Bar Chart,
with each bar representing an activity. The bars are drawn against a time line. The length
of each bar is proportional to the length of time planned for the activity.
GANTT CHART
STA
ANALYS
I /O DESIGN
CODING
WRITE
INTEGRAT
ION
AND
SLACK TIME, ie., the LATEST TIME by which a task must be finished
White part of the bar shows the length of time each task is estimated to
take
61
62
organization grows and establishes various branches at various places in the world.
The Database maintained here grows, as time passes by thus it has to be cleaned
in the system. If the user wants an option of backing of data in frequent intervals, it could
(remuneration's), details of their work, are not incorporated in the system as it does not
fall under the scope of this project. If Payroll management is to be included it can be
The use of the system should be trained otherwise he would struggle to operate it
Frequently enough the system should be reviewed for updating as we know that
feedback about the usefulness of the system, otherwise the basic purpose of automation
62
63
13.BIBLIOGRAPHY
The Knowledge required for developing this project is extracted from the
following books.
63