This project is aimed at developing an Online Shopping for customer. The system is an online application that can be accessed throughout the organization and outside as well with proper login provided.
The project has been planned to be having the view of distributed architecture, with centralized storage of the database. The application for the storage of the data has been planned. Using the constructs of Oracle 10g and all the user interfaces have been designed using the JAVA. The database connectivity is planned using the “Database” methodology. The standards of security and data protective mechanism have been given a big choice for proper usage. The application takes care of different modules and their associated reports, which are produced as per the applicable strategies and standards that are put forwarded by the administrative staff.
The entire project has been developed keeping in view of the distributed client server computing technology, in mind. The specification has been normalized up to 3NF to eliminate all the anomalies that may arise due to the database transaction that are executed by the general users and the organizational administration. The user interfaces are browser specific to give distributed accessibility for the overall system. The internal database has been selected as Oracle 10g.The basic constructs of table spaces, clusters and indexes have been exploited to provide higher consistency and reliability for the data storage. The Oracle 10g was a choice as it provides the constructs of high-level reliability and security. The total front end was dominated using the HTML 5. At all proper levels high care was taken to check that the system manages the data consistency with proper business rules or validations. The database connectivity was planned using the latest ” Database connection” technology provided by Oracle. The authentication and authorization was crosschecked at all the relevant stages. The user level accessibility has been restricted into two zones namely.
Table of Contents
About the Project
Functional Components of the Project
Functionality to Enhance the Project
Benefits of the System
System can be used Extensively
SOFTWARE REQUIREMENT SPECIFICATIONS
SYSTEM TESTING AND IMPLEMENTATION
Strategic Approach OF Software Testing
9.2. Security In Software
CONCLUSION & FUTURE IMPROVMENT
E-commerce is fast gaining ground as an accepted and used business paradigm. More and more business houses are implementing web sites providing functionality for performing commercial transactions over the web. It is reasonable to say that the process of shopping on the web is becoming commonplace. The objective of this project is to develop a general purpose e-commerce store where any product (such as books, CDs, computers, mobile phones, electronic items, and home appliances) can be bought from the comfort of home through the Internet. However, for implementation purposes, this paper will deal with an online book store. An online store is a virtual store on the Internet where customers can browse the catalog and select products of interest. The selected items may be collected in a shopping cart. At checkout time, the items in the shopping cart will be presented as an order. At that time, more information will be needed to complete the transaction. Usually, the customer will be asked to fill or select a billing address, a shipping address, a shipping option, and payment information such as credit card number. An e- mail notification is sent to the customer as soon as the order is placed.
1.2 ABOUT THE PROJECT
Online shopping is a form of electronic commerce which allows consumers to directly buy goods or services from a seller over the Internet using a web browser. Consumers find a product of interest by visiting the website of the retailer directly or by searching among alternative vendors using a shopping search engine, which displays the same product’s availability and pricing at different e-retailers. customers can shop online using a range of different computers
and devices, including desktop computers, laptops,
Shopping Cart software is a specialized class of software for e-commerce. The main purpose of this online shopping cart is that it provides the customers to calculate easily what all they purchase whether it is goods or services. Shopping cart contains not only products but also customer data. Today there are an incredible number of shopping carts. At first glance, this a choice can plunge into a panic for someone. I went through a lot of solutions, and can help you with this if you need it. Look at PrestaShop, Shopify and ShopingCartElite.
The PrestaShop e-commerce is free open-source software available to start shopping cart. It suits those enterprises with low budget and willing to start an online store. The software has been developed in PHP, and it is as good as web 2.0. The software is the most user friendly open source and requires less technical skills to get started with. However, they have not an opportunity to input attributes and cross sell products – options, which are typically available in other e-commerce platforms. And most modules required for a fully functional shopping cart website are highly priced.
Regarding Shop , this is a shopping cart, and it was created by Tobias Lutke and Scott Lake six years ago. They are flexible and have all sorts of tools to meet your needs and to extend the functionality of your online store. The analytics option of Shopify allows you to keep a track of visitor activity, and it also gives you the option of integrating a secure shopping cart to be able to accept credit card payment. Disadvantages of Shopify are limited number of themes available compared to the other carts and high transaction fees (3% credit card fee PLUS 1 to 2% Shopify fee). And you can not avoid it, because a lot of the apps are not free, and they charge you a monthly fee for you to use them.
You should have a look at ShopingCartElite, it’s an easily scalable and powerful platform. You can customize it to your business’s needs, and they have excellent marketplace integration for selling on eBay or others. Their platform offers enterprise features at reasonable prices. They also have tons of free templates, but the only thing is you won’t be able to see them until you sign up. Regardless, I think they would better suit your needs.
Electronic Commerce is more than just buying and selling products online. It also includes the entire online process of developing, marketing, selling, delivering, servicing and paying for products and services. India has shown tremendous growth in the E-commerce segment. With an internet user base of over 300 million, India has third largest internet population
1.4 Functional components of the project:
Following are the functional needs of the software:-
1. Customer must have a valid user ID and password to login to the system.
2. After the valid user logs in, the system shows the present product in that particular product number.
3. Proper help to be provided as and when requested by the customer.
1.5 More functionality can be added to “enhance the project”:
1. By adding new modules of different Product like New Cloths, Mobiles etc. to facilitate new customers/users.
Benefits of the system
The vast majority of online stores offer prices that are much lower than what you will find at a physical store. There are a few reasons for this. The first is because many people use the Internet to find cheaper items. Online business owners understand this. They will usually reduce their profit margin to get more customers.
Another reason is because you can easily browse through dozens of different websites to find the best price. You can do the same at a mall, but it would take about an hour or longer. You also may not be taxed because most ecommerce stores won’t tax you unless they are stationed in your state.
Shopping online is convenient. You don’t need to get dressed and drive to your favorite store. You can easily visit their website, find the product you want and buy it without getting out of your pyjamas. It’s also convenient because you don’t need to wait for the store to open.
If you work irregular hours or are very busy, then you probably don’t have the time to visit the store. Shopping online allows you to buy things without hurting your schedule.
Most physical stores have a limited array of products. They can only hold so many items, and there are often many policies affecting the availability of products. For example, there might be a certain item that is only available to those versions of the business that exist in the mall.
Shopping online allows you to find many products that you wouldn’t be able to find in a physical store. You can also buy products that may not logically go together like candy canes and quilts.
Physical stores are made to lure you into buying more things. They use posters, sales messages, colours and product placement to make you buy additional items. The most popular products are typically in the back because the owner wants you to view all of his or her other products. Many people will find a few additional items by the time they reach the thing they came in for.
These tactics are not as pronounced with online stores. This means that you won’t feel the pressure to buy other things.
Physical stores often make it difficult to buy certain items. For example, buying lingerie without getting a few awkward stares is nearly impossible. There are many instances of this, and sometimes you might feel embarrassed for no reason.
Shopping online gives you privacy because you won’t have people looking at you while you shop. Not only that, but the receipts are usually made so that no one will know what you bought.
3.1 Understanding Feasibility
Feasibility study means the analysis of problem to determine if It can be solved effectively. In other words it is the study of the possibilities of the proposed system it studies the work ability, impact on the organization ability to meet user’s need and efficient use of resources.
Three aspects in which the system has to be feasible are:-
3.2 ECONOMICAL FEASIBILITY:
The economical analysis checks for the high investment incurred on the system. It evaluates development ;
implementing charges for the proposed “Online Shopping Project”. The S/W used for the development is easily available at minimal cost ; the database applied is freely available hence it results in low cost implementation.
3.3 TECHNICAL FEASIBILITY:
This aspect concentrates on the concept of using Computer Meaning, “Mechanization” of human works. Thus the automated solution leads to the need for a technical feasibility study.
The focus on the platform used database management ;users for that S/W.
The proposed system doesn’t require an in depth technical knowledge as the system development is simple and easy to understand. The S/W (VB.NET) used makes the system user friendly (GUI). The result obtain should be true in the real time conditions.
3.4 BEHAVIOURAL FEASIBILITY:
Behavioral feasibility deals with the runtime performance of the S/W the proposed system must score higher than the present in the behavioral study. The S/W should have end user in mind when the system is designed while designing s/w the programmer should be aware of the conditions user’s Knowledge input, output, calculations etc.
The s/w contains only a minimum no. of bugs. Care should be also taken to avoid non-working means ;t buttons.
Software Requirement ; Specification
The project is implemented in Core Java as it provides the implementation of Socket and Server Socket classes that are used to connect distinct applications, hence the software’s required in the creation and execution of the project are j2sdk1.7 or Eclipse .As we know JAVA is a platform independent language so this software runs with JRE environment on any desired platform i.e. Linux ,windows 9x, XP, or 2000 or any operating system.
As the project does not involve any database, its hardware requirements are minimal. Any System with Pentium P2 or above processor, 32MB RAM, 1GB Hard Disk, a LAN Card, and a CDROM is sufficient. Its network based software so computers connected with any kind of mode (wireless, LAN connected etc) will suit its requirements. . . . It can also be run on a single machine for its demo use.
Best suited in laboratory where we can run its server on any machine and many clients can use it simultaneously.
Software Analysis Report
About java: Features JDK 1.7
The concept of Write-once-run-anywhere (known as the Platform independent) is one of the important key feature of java language that makes java as the most powerful language. Not even a single language is idle to this feature but java is closer to this feature. The programs written on one platform can run on any platform provided the platform must have the JVM.
There are various features that make the java as a simple language. Programs are easy to write and debug because java does not use the pointers explicitly. It is much harder to write the java programs that can crash the system but we can not say about the other programming languages. Java provides the bug free system due to the strong memory management. It also has the automatic memory allocation and de-allocation system.
To be an Object Oriented language, any language must follow at least the four characteristics.
Inheritance : It is the process of creating the new classes and using the behavior of the existing classes by extending them just to reuse the existing code and adding the additional features as needed.
Encapsulation: It is the mechanism of combining the information and providing the abstraction.
Polymorphism: As the name suggest one name multiple form, Polymorphism is the way of providing the different functionality by the functions having the same name based on the signatures of the methods.
Dynamic binding: Sometimes we don’t have the knowledge of objects about their specific types while writing our code. It is the way of providing the maximum functionality to a program about the specific type at runtime.
As the languages like Objective C, C++ fulfills the above four characteristics yet they are not fully object oriented languages because they are structured as well as object oriented languages. But in case of java, it is a fully Object Oriented language because object is at the outer most level of data structure in java. No stand alone methods, constants, and variables are there in java. Everything in java is object even the primitive data types can also be converted into object by using the wrapper class.
Java has the strong memory allocation and automatic garbage collection mechanism. It provides the powerful exception handling and type checking mechanism as compare to other programming languages. Compiler checks the program whether there any error and interpreter checks any run time error and makes the system secure from crash. All of the above features makes the java language robust.
The widely used protocols like HTTP and FTP are developed in java. Internet programmers can call functions on these protocols and can get access the files from any remote machine on the internet rather than writing codes on their local system.
The feature Write-once-run-anywhere makes the java language portable provided that the system must have interpreter for the JVM. Java also have the standard data size irrespective of operating system or the processor. These features make the java as a portable language.
While executing the java program the user can get the required files dynamically from a local drive or from a computer thousands of miles away from the user just by connecting with the Internet.
Java does not use memory pointers explicitly. All the programs in java are run under an area known as the sand box. Security manager determines the accessibility options of a class like reading and writing a file to the local disk. Java uses the public key encryption system to allow the java applications to transmit over the internet in the secure encrypted form. The byte code Verifier checks the classes after loading.
Java uses native code usage, and lightweight process called threads. In the beginning interpretation of byte code resulted the performance slow but the advance version of JVM uses the adaptive and just in time compilation technique that improves the performance.
Java is also a multithreaded programming language. Multithreading means a single program having different threads executing independently at the same time. Multiple threads execute instructions according to the program code in a process or a program. Multithreading works the similar way as multiple processes run on one computer. Multithreading programming is a very interesting concept in Java. In multithreaded programs not even a single thread disturbs the execution of other thread. Threads are obtained from the pool of available ready to run threads and they run on the system CPUs. This is how Multithreading works in Java which you will soon come to know in details in later chapters.
we all know that Java is an interpreted language as well. With an interpreted language such as Java, programs run directly from the source code. The interpreter program reads the source code and translates it on the fly into computations. Thus, Java as an interpreted language depends on an interpreter program. The versatility of being platform independent makes Java to outshine from other languages. The source code to be written and distributed is platform independent. Another advantage of Java as an interpreted language is its error debugging quality. Due to this any error occurring in the program gets traced. This is how it is different to work with Java.
The term architectural neutral seems to be weird, but yes Java is an architectural neutral language as well. The growing popularity of networks makes developers think distributed. In the world of network it is essential that the applications must be able to migrate easily to different computer systems. Not only to computer systems but to a wide variety of hardware
architecture and operating system architectures as well. The Java compiler does this by generating byte code instructions, to be easily interpreted on any machine and to be easily translated into native machine code on the fly. The compiler generates an architecture-neutral object file format to enable a Java application to execute anywhere on the network and then the compiled code is executed on many processors, given the presence of the Java runtime system. Hence Java was designed to support applications on network. This feature of Java has thrived the programming language.
ABOUT : JDK:
The Java Development Kit (JDK) is a Sun Microsystems product aimed at Java developers. Since the introduction of Java, it has been by far the most widely used Java SDK. On 17 November 2006, Sun announced that it would be released under the GNU General Public License (GPL), thus making it free software. This happened in large part on 8 May 20071 and the source code was contributed to the OpenJDK.
The primary components of the JDK are a selection of programming tools, including:
java – The loader for Java applications. This tool is an interpreter and can interpret the class files generated by the javac compiler. Now a single launcher is used for both development and deployment. The old deployment launcher, jre, is no longer provided with Sun JDK.
javac – The compiler, which converts source code into Java bytecode
jar – The archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files.
javadoc – The documentation generator, which automatically generates documentation from source code comments
jdb – The debugger
javap – The class file disassembler
appletviewer – This tool can be used to run and debug Java applets without a web browser.
javah – The C header and stub generator, used to write native methods
extcheck – This utility can detect JAR-file conflicts.
apt – The annotation processing tool
jhat – (Experimental) Java heap analysis tool
jstack – (Experimental) This utility prints Java stack traces of Java threads.
jstat – (Experimental) Java Virtual Machine statistics monitoring tool
jstatd – (Experimental) jstat daemon
jinfo – (Experimental) This utility gets configuration information from a running Java process or crash dump.
jmap – (Experimental) This utility outputs the memory map for Java and can print shared object memory maps or heap memory details of a given process or core dump.
idlj – The IDL-to-Java compiler. This utility generates Java bindings from a given IDL file.
policy tool – The policy creation and management tool, which can determine policy for a Java runtime, specifying which permissions are available for code from various sources
VisualVM – visual tool integrating several command line JDK tools and lightweight performance and memory profiling capabilities
The JDK also comes with a complete Java Runtime Environment, usually called a private runtime. It consists of a Java Virtual Machine and all of the class libraries that will be present in the production environment, as well as additional libraries only useful to developers, such as the internationalization libraries and the IDL libraries.
Also included are a wide selection of example programs demonstrating the use of almost all portions of the Java API.
Technologies and Requriments
Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm and area of application. Design is the first step in the development phase for any engineered product or system. The designer’s goal is to produce a model or representation of an entity that will later be built. Beginning, once system requirement have been specified and analyzed, system design is the first of the three technical activities -design, code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place where quality is fostered in software development. Design provides us with representations of software that can assess for quality. Design is the only way that we can accurately translate a customer’s view into a finished software product or system. Software design serves as a foundation for all the software engineering steps that follow. Without a strong design we risk building an unstable system – one that will be difficult to test, one whose quality cannot be assessed until the last stage.
During design, progressive refinement of data structure, program structure, and procedural details are developed reviewed and documented. System design can be viewed from either technical or project management perspective. From the technical point of view, design is comprised of four activities – architectural design, data structure design, interface design and procedural design.
It is a process of converting a relation to a standard form. The process is used to handle the problems that can arise due to data redundancy i.e. repetition of data in the database, maintain data integrity as well as handling problems that can arise due to insertion, updation, deletion anomalies.
Decomposing is the process of splitting relations into multiple relations to eliminate anomalies and maintain anomalies and maintain data integrity. To do this we use normal forms or rules for structuring relation.
Insertion anomaly: Inability to add data to the database due to absence of other data.
Deletion anomaly: Unintended loss of data due to deletion of other data.
Update anomaly: Data inconsistency resulting from data redundancy and partial update
Normal Forms: These are the rules for structuring relations that eliminate anomalies.
FIRST NORMAL FORM:
A relation is said to be in first normal form if the values in the relation are atomic for every attribute in the relation. By this we mean simply that no attribute value can be a set of values or, as it is sometimes expressed, a repeating group.
SECOND NORMAL FORM:
A relation is said to be in second Normal form is it is in first normal form and it should satisfy any one of the following rules.
Primary key is a not a composite primary key
No non key attributes are present
Every non key attribute is fully functionally dependent on full set of primary key.
THIRD NORMAL FORM:
A relation is said to be in third normal form if their exits no transitive dependencies.
Transitive Dependency: If two non key attributes depend on each other as well as on the primary key then they are said to be transitively dependent.
The above normalization principles were applied to decompose the data in multiple tables thereby making the data to be maintained in a consistent state.
5.3 E – R DIAGRAMS:
The relation upon the system is structure through a conceptual ER-Diagram, which not only specifics the existential entities but also the standard relations through which the system exists and the cardinalities that are necessary for the system state to continue.
The entity Relationship Diagram (ERD) depicts the relationship between the data objects. The ERD is the notation that is used to conduct the date modeling activity the attributes of each data object noted is the ERD can be described resign a data object descriptions.
The set of primary components that are identified by the ERD are
Data object Relationships
Attributes Various types of indicators.
The primary purpose of the ERD is to represent data objects and their relationships.
5.4 DATA FLOW DIAGRAMS:
A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose. The development of DFD’S is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram is often called context diagram. It consists a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD.
The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process.
Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from, this lead to the modular design.
A DFD is also known as a “bubble Chart” has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system.
In the DFD, there are four symbols
A square defines a source(originator) or destination of system data
An arrow identifies data flow. It is the pipeline through which the information flows
A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows.
An open rectangle is a data store, data at rest or a temporary repository of data
Process that transforms data flow.
Source or Destination of data
CONSTRUCTING A DFD:
Several rules of thumb are used in drawing DFD’S:
Process should be named and numbered for an easy reference. Each name should be representative of the process.
The direction of flow is from top to bottom and from left to right. Data traditionally flow from source to the destination although they may flow back to the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal.
When a process is exploded into lower level details, they are numbered.
The names of data stores and destinations are written in capital letters. Process and dataflow names have the first letter of each work capitalized
A DFD typically shows the minimum contents of data store. Each data store should contain all the data elements that flow in and out.
Questionnaires should contain all the data elements that flow in and out. Missing interfaces redundancies and like is then accounted for often through interviews.
SAILENT FEATURES OF DFD’S
The DFD shows flow of data, not of control loops and decision are controlled considerations do not appear on a DFD.
The DFD does not indicate the time factor involved in any process whether the dataflow take place daily, weekly, monthly or yearly.
The sequence of events is not brought out on the DFD.
TYPES OF DATA FLOW DIAGRAMS
In Current Physical DFD rocess label include the name of people or their positions or the names of computer systems that might provide some of the overall system-processing label includes an identification of the technology used to process the data. Similarly data flows and data stores are often labels with the names of the actual physical media on which data are stored such as file folders, computer files, business forms or computer tapes.
The physical aspects at the system are removed as mush as possible so that the current system is reduced to its essence to the data and the processors that transform them regardless of actual physical form.
This is exactly like a current logical model if the user were completely happy with he user were completely happy with the functionality of the current system but had problems with how it was implemented typically through the new logical model will differ from current logical model while having additional functions, absolute function removal and inefficient flows recognized.
The new physical represents only the physical implementation of the new system.
RULES GOVERNING THE DFD’S
No process can have only outputs.
No process can have only inputs. If an object has only inputs than it must be a sink.
A process has a verb phrase label.
Data cannot move directly from one data store to another data store, a process must move data.
Data cannot move directly from an outside source to a data store, a process, which receives, must move data from the source and place the data into data store
A data store has a noun phrase label.
SOURCE OR SINK
The origin and /or destination of data.
Data cannot move direly from a source to sink it must be moved by a process
A source and /or sink has a noun phrase land
A Data Flow has only one direction of flow between symbols. It may flow in both directions between a process and a data store to show a read before an update. The later is usually indicated however by two separate arrows since these happen at different type.
A join in DFD means that exactly the same data comes from any of two or more different processes data store or sink to a common location.
A data flow cannot go directly back to the same process it leads. There must be atleast one other process that handles the data flow produce some other data flow returns the original data into the beginning process.
A Data flow to a data store means update (delete or change).
A data Flow from a data store means retrieve or use.
A data flow has a noun phrase label more than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package.
-5715005760720(a) : User Details
(b) : Response
(c) : Personal details
(d) : Reply
(e) : product Transaction entry
(f) : Transaction Details
(g) : user Application
(h) : Response
(i) : Feedback
(j) : Reply
(k) : Create ,Update ,Reply
(l) : User data
(m): Login Info
(n) : Invalid login
00(a) : User Details
(b) : Response
(c) : Personal details
(d) : Reply
(e) : product Transaction entry
(f) : Transaction Details
(g) : user Application
(h) : Response
(i) : Feedback
(j) : Reply
(k) : Create ,Update ,Reply
(l) : User data
(m): Login Info
(n) : Invalid login
Online Shopping System
Online Shopping System
Fig. Level 1 DFD
5.5 DATABASE TABLE:
Column name Data type Nullable Primary key
ADDRESS Number No Yes
CART Varchar2 Yes No
CART_ITEM Varchar2 Yes No
ORDER_DETAILS Varchar2 Yes No
ORDER_ITEM Varchar2 Yes No
PRODUCT Varchar2 Yes No
USER_EMAIL Varchar2 Yes No
SYSTEM TESTING AND IMPLIMENTATION
Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. In fact, testing is the one step in the software engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software. Testing is the set of activities that can be planned in advance and conducted systematically. The underlying motivation of program testing is to affirm software quality with methods that can economically and effectively apply to both strategic to both large and small-scale systems.
8.2. STRATEGIC APPROACH TO SOFTWARE TESTING
The software engineering process can be viewed as a spiral. Initially system engineering defines the role of software and leads to software requirement analysis where the information domain, functions, behavior, performance, constraints and validation criteria for software are established. Moving inward along the spiral, we come to design and finally to coding. To develop computer software we spiral in along streamlines that decrease the level of abstraction on each turn.
A strategy for software testing may also be viewed in the context of the spiral. Unit testing begins at the vertex of the spiral and concentrates on each unit of the software as implemented in source code. Testing progress by moving outward along the spiral to integration testing, where the focus is on the design and the construction of the software architecture. Talking another turn on outward on the spiral we encounter validation testing where requirements established as part of software requirements analysis are validated against the software that has been constructed. Finally we arrive at system testing, where the software and other system elements are tested as a whole.
114300244475 UNIT TESTING
00 UNIT TESTING
8.3. Unit Testing
Unit testing focuses verification effort on the smallest unit of software design, the module. The unit testing we have is white box oriented and some modules the steps are conducted in parallel.
1. WHITE BOX TESTING
This type of testing ensures that
All independent paths have been exercised at least once
All logical decisions have been exercised on their true and false sides
All loops are executed at their boundaries and within their operational bounds
All internal data structures have been exercised to assure their validity.
To follow the concept of white box testing we have tested each form .we have created independently to verify that Data flow is correct, All conditions are exercised to check their validity, All loops are executed on their boundaries.
2. BASIC PATH TESTING
Established technique of flow graph with Cyclomatic complexity was used to derive test cases for all the functions. The main steps in deriving test cases were:
Use the design of the code and draw correspondent flow graph.
Determine the Cyclomatic complexity of resultant flow graph, using formula:
V(G)=Number Of Regions
Where V(G) is Cyclomatic complexity,
E is the number of edges,
N is the number of flow graph nodes,
P is the number of predicate nodes.
Determine the basis of set of linearly independent paths.
3. CONDITIONAL TESTING
In this part of the testing each of the conditions were tested to both true and false aspects. And all the resulting paths were tested. So that each path that may be generate on particular condition is traced to uncover any possible errors.
4. DATA FLOW TESTING
This type of testing selects the path of the program according to the location of definition and use of variables. This kind of testing was used only when some local variable were declared.
the definition-use chain method was used in this type of testing. These were particularly useful in nested statements.
5. LOOP TESTING
In this type of testing all the loops are tested to all the limits possible. The following exercise was adopted for all loops:
All the loops were tested at their limits, just above them and just below them.
All the loops were skipped at least once.
For nested loops test the inner most loop first and then work outwards.
For concatenated loops the values of dependent loops were set with the help of connected loop.
Unstructured loops were resolved into nested loops or concatenated loops and tested as above.
Each unit has been separately tested by the development team itself and all the input have been validated.
The protection of computer based resources that includes hardware, software, data, procedures and people against unauthorized use or natural
Disaster is known as System Security.
System Security can be divided into four related issues:
SYSTEM SECURITY refers to the technical innovations and procedures applied to the hardware and operation systems to protect against deliberate or accidental damage from a defined threat.
DATA SECURITY is the protection of data from loss, disclosure, modification and destruction.
SYSTEM INTEGRITY refers to the power functioning of hardware and programs, appropriate physical security and safety against external threats such as eavesdropping and wiretapping.
PRIVACY defines the rights of the user or organizations to determine what information they are willing to share with or accept from others and how the organization can be protected against unwelcome, unfair or excessive dissemination of information about it.
CONFIDENTIALITY is a special status given to sensitive information in a database to minimize the possible invasion of privacy. It is an attribute of information that characterizes its need for protection.
9.2. SECURITY IN SOFTWARE
System security refers to various validations on data in form of checks and controls to avoid the system from failing. It is always important to ensure that only valid data is entered and only valid operations are performed on the system. The system employees two types of checks and controls:
CLIENT SIDE VALIDATION
Various client side validations are used to ensure on the client side that only valid data is entered. Client side validation saves server time and load to handle invalid data. Some checks imposed are:
VBScript in used to ensure those required fields are filled with suitable data only. Maximum lengths of the fields of the forms are appropriately defined.
Forms cannot be submitted without filling up the mandatory data so that manual mistakes of submitting empty fields that are mandatory can be sorted out at the client side to save the server time and load.
Tab-indexes are set according to the need and taking into account the ease of user while working with the system.
SERVER SIDE VALIDATION
Some checks cannot be applied at client side. Server side checks are necessary to save the system from failing and intimating the user that some invalid operation has been performed or the performed operation is restricted. Some of the server side checks imposed is:
Server side constraint has been imposed to check for the validity of primary key and foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the primary value results into a message intimating the user about those values through the forms using foreign key can be updated only of the existing foreign key values.
User is intimating through appropriate messages about the successful operations or exceptions occurring at server side.
Various Access Control Mechanisms have been built so that one user may not agitate upon another. Access permissions to various types of users are controlled according to the organizational structure. Only permitted users can log on to the system and can have access according to their category. User- name, passwords and permissions are controlled o the server side.
Using server side validation, constraints on several restricted operations are imposed.
CONCLUSION ; SCOPE FOR FUTRURE DEVLOPMENT
This project developed, incorporated all the activities involved in the browsing centre.
It provides all necessary information to the management as well as the customer with the use of this system; the user can simply sit in front of the system and monitor all the activities without any physical movement of the file. Management can service the customers request best in time.
The system provides quickly and valuable information. These modules have been integrated for effective use of the management for future forecasting and for the current need.
SCOPE FOR FURTHER DEVELOPMENT
The system can be designed for further enhancement .This could also be developed according to the growing needs of the customer.
For Java installation
For Oracle DataBase installation
Thinking in java
OCJP Certified Programmer for Java
Learn Java in Eassy Steps
Complete reference Java