• Save
The main purpose of the project is to manage the supermarket efficiently (repaired)2 (1)
Upcoming SlideShare
Loading in...5
×
 

The main purpose of the project is to manage the supermarket efficiently (repaired)2 (1)

on

  • 4,933 views

 

Statistics

Views

Total Views
4,933
Views on SlideShare
4,933
Embed Views
0

Actions

Likes
7
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    The main purpose of the project is to manage the supermarket efficiently (repaired)2 (1) The main purpose of the project is to manage the supermarket efficiently (repaired)2 (1) Document Transcript

    • 11. INTRODUCTIONThe present days people are facing the problem in shopping .If the required item ispresent in the home foods or not. They have to move to the home and is has to check if therequired item is present in the home or not. So it takes lot of time to move to the home fromthe present location. So the problem we are using this application are the People are facingthe problem like when they went to the shopping mall and when they are purchasing theitems they may confused because the specific item is present or not in home. Now we have togo the home and check the item and return to the shopping mall and purchase the item. So ittakes lot of time. By using our application we can check the items are present or not in homefrom the current location and purchase the items using credit card.EXISTING SYSTEMA person entering the shopping mall does not know what are the items located in theFredge he wanted to purchase the shopping mall. He/she has to look for that particular itemthroughout the shopping mall. They should also enquire the details about items to call to theHome. This is a time consuming process and the searching process vexes the customer.Transaction is time consuming and he was went to the shopping mall.PROPOSED SYSTEMTo overcome all these problems, we are developing a solution that is, instead of gothe home and search the items in Fredge and shopping mall, we can search for the item usingour mobile, through wireless communication which makes shopping easy.. Automatically wecan know the items in Fredge and offers on that particular product through the mobile. Thisreduces the burden on the customer. Payment can also be done using our mobile.FEASIBILITY STUDYMany feasibility studies are disillusioning for both users and analysts. First, the studyoften presupposes that when feasibility document is being prepared, the analyst is in aposition to evaluate solutions. Second, most studies tend to overlook the confusion inherentin the system development – the constraints and the assumed attitudes. If the feasibility studyis to serve as a decision document for a project, it must answer 3 key questions:
    • 2Three key considerations involved in the feasibility analysis: Economical Technical BehavioralEconomic FeasibilityThis application on the client side has been developed using J2ME Wireless Toolkit2.2, which is open source software. The hardware required is access point, which is notexpensive. Hence the application is economically feasible.Technical FeasibilityAs the application has been developed using J2ME Wireless Toolkit 2.2 and theback end as Oracle, which utilizes minimum resources of the Personal computer, this projectis technically feasible.Operational FeasibilityThis project has been implemented by J2ME WIRELESS TOOLKIT and itsatisfies all the conditions and norms of the users.MODULES:They are four modules in our project.1. Registration of Items:Registration enables items to get into our service.2. Smart Fredge: The RFID reader reads the items in the smart Fredge and stores inthe database and give response to the user.3. Search items in the mobile:The user can access the information about the items through Mobile with the server.4. Purchase the Required ItemsThe user can easily purchase the required items through a credit card.
    • 31. REGISTRATION OF ITEMS:Registration enables items to get into our service.Provisions: List of items. Item name, price, quantity, weight. Epccode of each Item.Functionalities: Filling the Registration Form. Confirming the name and Epccode of item.Queries: What are the items subscribed to this service?Alerts: This item already exists. Please choose another Mismatch between the Epc codes. Your items have been registered successfully.Reports: Number of items in this service.Fig1.1: Registration of items
    • 42. SMART FREDGE:The RFID reader reads the items in the smart Fred and stores in the database andgive response to the user.Provisions: No of items.Functionalities: Reads the items in the fridge.Queries: What are the items in the fridge?Alerts: This item already exists. Please choose another.Reports: Number of items in the fridge.Fig1.2: Smart Fredge
    • 53. SEARCH ITEMS IN THE MOBILE:The user can access the information about the items through Mobile with the server.Provisions: Item Name, Price, Quantity.Functionalities: Displays the items in the fridge.Queries: Select the item name?Alerts: This item not exists. Please choose another.Reports: Display of items in the fridge.Fig1.3: Search Items in the Mobile
    • 64. PURCHASE THE REQURIED ITEMS:The user can easily purchase the required items through a credit card.Provisions: Item Name, Price, Quantity.Functionalities: Displays the items in the fridge.Queries: Select the item name? Select the Quantity?Alerts: This item not Added Cart. Please choose Items.Reports: Display the Balance of the Amount in card.
    • 72. PROBLEM DEFINATION AND SCOPE OF THE PROJECT2.1PURPOSE:The main purpose of the project is to manage the shopping efficiently for supermarket. Supermarkets are getting crowded these days at the billing area and lot of time is beingconsumed for billing the products. Also at the counter the person responsible must gothrough the whole items which have been taken by the customers, it would be a timeconsuming process. Presently we are using barcodes in supermarkets. Regarding thebarcodes, generally, a barcode is made up of a series of black and white lines. The cashregister uses the data from the code to identify the item and look up its latest price and printthe information on the customer’s receipt. Bar codes are commonly used to store data such asprices and stock codes relating to products in shops and supermarkets. The items purchasingafter we would place in a fredge.we can place RFID reader to the Fredge.Here we have some RFID tags to all the products present in the Fredge. The items areread and stored into the server and we connect to server with a mobile view the items inFredge and With the help of these tags we can view for a particular product in the Fredgethrough a mobile. Due to this we can read the items and select the required item to performautomatic purchasing through a mobile, identify the items and also we can easily identify theno stock goods in the Fredge.2.2ScopeThis application allows the users to search for the desired product in the Fredge sothat it saves the time of the user instead of checking the Fredge. User can check all theinformations like product cost, floor number, rack number and any concession on theproducts and many more details through their mobiles. And they can pay the bill throughtheir mobile itself by using the credit cards and debit cards. It minimizes the risk taken by thepeople to pay the bill.2.3 GoalsBy using this application we can check the items present or not from the currentlocation and purchase the items using credit card. so we can reduce the time for shopping.
    • 82.4 Technologies2.4.1 ORACLE 10GOracle Database 10g is the first database designed for grid computing, the mostflexible and cost-effective way to manage enterprise information. It cuts costs ofmanagement while providing the highest possible quality of service.In addition to providing numerous quality and performance enhancements, OracleDatabase 10g significantly reduces the costs of managing the IT environment, with asimplified install, greatly reduced configuration and management requirements, andautomatic performance diagnosis and SQL tuning.These and other automated management capabilities help improve DBA anddeveloper productivity and efficiency.10g is Oracle’s grid computing product groupincluding a database management system (DBMS) and an application server. In addition tosupporting grid computing features such as resource sharing and automatic load balancing,10g products automate many database management tasks. The Real Application Cluster(RAC) component makes it possible to install a database over multiple servers JDBC.2.4.2 JDBC (JAVA DATABASE CONNECTIVITY)JDBC technology is an API(included in both J2SE and J2EE releases) that providescross DBMS connectivity to a wide range of SQL database and access to other tabular datasources, such as spreadsheets or flat files. With a JDBC technology-enabled driver, you canconnect all corporate data even in a heterogeneous environment.The JDBC API makes it possible to do three things: Establish a connection with a database or access any tabular data source Send SQL statements Process the resultsTYPES OF JDBC TECHNOLOGY DRIVESJDBC technology drivers fit into one of four categories: A JDBC-ODBC bridge provides JDBC API access via one or more ODBC drivers. A native-API partly Java technology-enabled driver converts JDBC calls into calls onthe client API for Oracle, Sybase, Informix, DB2, or other DBMS.
    • 9 A net-protocol fully Java technology-enabled driver translates JDBC API calls into aDBMS-independent net protocol which is then translated to a DBMS protocol by aserver. A native-protocol fully Java technology-enabled driver converts JDBC technologycalls into the network protocol used by DBMSs directly.JDBC ARCHITECTUREThe JDBC Architecture consists of two layers: The JDBC API, which provides the application-to-JDBC Manager connection. The JDBC Driver API, which supports the JDBC Manager-to-Driver Connection.The JDBC API uses a driver manager and database-specific drivers to providetransparent connectivity to heterogeneous databases. The JDBC driver manager ensures thatthe correct driver is used to access each data source.The location of the driver manager with respect to the JDBC drivers and the Javaapplication is shown in the figure below:Java ApplicationApplicationJDBC APIJDBC DriverManagerJDBC DriverJDBC DriverJDBC DriverOracleSQLServerODBCDataSourceFig 2.4.2: JDBC Architecture
    • 102.4.3 RFID TECHNOLOGYThe system aims to trace the position of workers, vehicle and machineries with thehelp of RFID Technology. With the help of Tomcat Server, the administrator maintains allthe details of the workers, vehicle and machineries.Radio-frequency identification (RFID) is the use of an object (typically referred to asan RFID tag) applied to or incorporated into a product, animal, or person for the purpose ofidentification and tracking using radio waves. Some tags can be read from several metersaway and beyond the line of sight of the reader.Radio-frequency identification comprises readers and tags. The chip can store asmuch as 2 kilobytes of data. To retrieve the data stored on an RFID tag, you need a reader. Atypical reader is a device that has one or more antennas that emit radio waves and receivesignals back from the tag. The reader then passes the information in digital form to acomputer system.Most RFID tags contain at least two parts. One is an integrated circuit for storing andprocessing information, modulating and demodulating a radio-frequency (RF) signal, andother specialized functions.The second is an antenna for receiving and transmitting the signal. There aregenerally three types of RFID tags: active RFID tags, which contain a battery and cantransmit signals autonomously, passive RFID tags, which have no battery and require anexternal source to provoke signal transmission, and battery assisted passive (BAP) RFIDtags, which require an external source to wake up but have significant higher forward linkcapability providing great read range.TAG SIMULATION PROCESS:Fig 2.4.3: Application Architecture
    • 11 Host Manages Reader(s) and Issues Commands. Reader and tag communicate via RF signal. Carrier signal generated by the reader (upon request from the host application) Carrier signal sent out through the antennas. Carrier signal hits tag(s). Tag receives the carrier signal, modifies it and sends back the modulated signal. Reader decodes the data and sends the results to the host application.2.4.4 NETBEANSNet Beans is first and foremost a well-crafted open source programmers integrateddevelopment environment (IDE). Its powerful, its useful, its extensible, its open and itsfree. The practices which Net Beans imposes are fully as intricate as your currentdevelopment practices. More intricate, perhaps, because if you are a real programmer, youwill wish to supplement your work style with Net Beans rather than attempting to use NetBeans to completely replace your current work style. The practice of Net Beans developmentis not easier. Its just more effective than what you were doing before Net Beans.It provides the services common to creating desktop applications such as window andmenu management, settings storage and is also the first IDE to fully support JDK 5.0features.FEATURESNet Beans offers all the usual and expected features of an IDE: A syntax-coloring editor aware not only of the Java language, but also XML, HTMLand many other languages Component inspector Object browser Debugger Integrated source control support for External CVS Built-in CVS Most external source control systems of your choice
    • 12 In addition to its own internal build system and compiler, Net Beans offers integrationwith external compilers and A dominant build tool in the Java/XML world and beyond "Wizard" dialogs to assist the user at choice points.APPLICATIONThe Net Beans platform and IDE are free for commercial and non-commercial use,and they are supported by Sun Microsystems. It can be downloaded fromhttp://www.netbeans.org/ to be able to successfully build programs it is recommended tofollow the intended procedure, described here. First it’s important to create a new project.Various project types are available however in this case the intended type will be JavaApplication.It is recommended that you change the name of the project to something of this sort:unit_1.Here the chosen location is: netbeans_home/workspace. To keep control over the waythat classes (e.g. the main launching class) are defined it is recommended to uncheck the twocheck boxes. After Finish is clicked the new project structure will be in place, however wenow need to extend this by adding a new package. In this manner classes associated with thesame topics can be stored in one package. The end result will be multiple packages in oneproject, each having a number of classes (programs). The process is simple, just right-clickon the Source Package label in Net Beans’ Projects tab and click New -> Java Package.Here we will label the package as exercises. Clicking Finish will terminate thisprocess. Next we will create a simple class example and store it within our newly createdpackage. This process is very straight forward and involves a right-click on the appropriateexercises package, after which we choose Java Class. Set the class name to Welcome. Theother details can be checked to verify that all is as intended. The new class structure will begenerated and at this point we need to edit the code and add the necessary lines. Note that thefirst line of code is referring to the package name in which this class will be stored. The codeis missing a main method (since we un checked the check box previously, which we add.Within this method we also need to add the line System.out.println (“Welcome to Java”);Notice that while adding this line of code Net Beans’ editor will be suggesting stuff tomake our lives easier. The next step is to either save , compile and execute our program, orelse execute it directly (which will automatically save and compile). Any output from the
    • 13executed program will be displayed in the terminal window. In the above example theprogram executed correctly and the intended message “Welcome to Java” displayed. If somecompile time and runtime errors were encountered, the appropriate exception message wouldhave also been displayed in this window.2.4.5FRONT END PLATFORM – J2METo develop the user screens onto the mobiles we can use many software such asMVNO, WINDOWS MOBILE, SYMBIAN, EMBEDDED VISUAL C++ AND .NET, J2MEetc. Among all these available software we have chosen J2ME.Client: J2MEClient sends a request to the web server and the web server in turn sends the requestto the database to perform the request and the database sends the response to the web serverand the web server to the client.About J2MESun Microsystems defines J2ME as "a highly optimized Java run-time environmenttargeting a wide range of consumer products, including pagers, cellular phones, screen-phones, digital set-top boxes and car navigation systems."Announced in June 1999 at the Java One Developer Conference, J2ME brings thecross-platform functionality of the Java language to smaller devices, allowing mobilewireless devices to share applications. With J2ME, Sun has adapted the Java platform forconsumer products that incorporate or are based on small computing devices.Why J2ME?J2ME is targeted to devices with limited horsepower and is supported by 90% of newdevices released to market. J2ME allows devices to browse, download and install Javaapplications and content similar to browser applications. Since J2ME applications areinstalled on the device, the applications can run without network coverage unlike browserapplications that always need a connection. J2ME offers a way to enter and persistently storedata on the device making applications faster and more user-friendly. J2ME has aprogramming language that is easy to master, a runtime environment that provides a secureand portable platform and a very large developer community. A java developer can quicklymaster J2ME coding conventions from smart cards all the way to high powered devices likehigh end PDA’s.
    • 14Fig 2.4.5.1:J2ME processPROCESS CYCLEThis graphic depicts the devices that support J2ME applications and illustrates whereJ2ME fits into the Java platform as shown: Different Java Platforms with Their DevicesFig 2.4.5.2: Process cycleJ2ME Building BlocksThe basic building blocks of J2ME are• Configuration: Minimum platform required for a group of devices• Profile: Addresses specific needs of a certain device family
    • 15Fig 2.4.5.3: J2ME Building BlocksConfigurationsThe J2ME platform covers a large range of different devices types. Devices like TVset-top boxes, Internet TVs and high-end communicators have a large range of user interfacecapabilities and memory budgets in range of 2 to 16 megabytes as well. On the other handdevices like simple mobile phones, pagers and personal organizers have a very simple userinterface and low-level memory budget. Due to the large range of different type devices intheJ2ME market place Sun has split the Java 2 Micro Edition in configurations.Configurations define virtual machines features, Java language features and Java APIclasses for each configuration environment. A J2ME configuration defines a minimumplatform for a “horizontal” class or family of devices, each with similar requirements on totalmemory budget and processing power. A configuration defines the Java language and virtualmachine features and minimum libraries that a J2ME supported device manufacturer or acontent provider can expect to be available on all devices of the same class. To avoidfragmentation that could lead to confusion, Sun has introduced until now only twoconfigurations, which are:
    • 16CLDC: Connected Limited Device Configuration Very simple user interface (including no UI at all) Low level memory budgets (160 KB to 512 KB) 16 or 32 bit processors Wireless communication, possibly low bandwidth Limited power, often battery operation. Examples: Mobile phones, pagers and personal organizers.CDC: Connected Device Configuration Large range of user interface capabilities (down to and including no UI) Memory budgets in range of 2 to 16 megabytes. 16 or 32 bit processors Connectivity to some type of network Examples: TV set-top boxes, Internet TVs and high-end communicatorsCLDC versus CDCThe relationship between CDC, CLDC and Java 2 Standard Edition is illustrated infigure. As shown there, the main functionality in CDC and CLDC is inherited from the J2SE.All the classes which are inherited from the J2SE are precisely the same or a subsets of thecorresponding classes in the J2SE and the classes which are outside the J2SE environmentmay not use the java.* class names. Thus, upward compatibility is achieved between thedifferent editions of Java 2 platforms. All features implemented in the CLDC are alsoimplemented in the CDC to achieve upward compatibility between J2ME configurations aswell. Thus, all applications implemented for the Connected Limited Device Configurationplatform can be run in the Connected Device Configuration platform as well.Profiles:Fig 2.4.5.4: profiles
    • 17The configurations help already a lot to distinguish different types of devices. But asthere so many types around they still have to be refined further because a configuration mightcover devices intended for totally different usage, like mobile phones and refrigerators, orwashing machines and set-top boxes. The mobile phone and e.g. a washing machine couldbelong to the same configuration but it is obvious that a mobile phone application is notexpected to run on the washing machine or vice versa. Thus, the J2ME framework providesthe concept of a profile to achieve application environment portability. Profiles areimplemented on top of a configuration. Applications then are written for a specific profile, asprofiles are assembled for a specific configuration. Both profiles and configurations define aset of Java API classes which can be used by the applications. A device that is designed tosupport a profile or several profiles, agrees to implement all features and Java API classeswhich are specified by the profile(s) and corresponding configuration. From animplementation viewpoint, a profile is just a collection of Java APIs and class librariesresiding on top of a configuration and providing domain specific capabilities for devices in aspecific market segment.MIDP: Mobile information device profile (on top of CLDC)By building upon the CLDC, this profile will provide a standard platform for small,resource-limited, wireless-connected mobile information devices like cellular phones andtwo-way pagers. In addition to being wireless-connected, these devices have smalldisplays, limited input devices, limited local storage, battery life, and CPU power. Two typesof devices will be accommodated: mobile information appliances and voice communicationdevices.MIDlet LifecycleMIDlets move through a well-defines lifecycle consisting of five phases. It is the taskof the Application Management Software to move MIDlets through these phases:RetrievalThe AMS retrieves the MIDlet from some source and reads the MIDlet into thedevice’s memory. The medium through which the MIDlet is downloaded depends on thedevice. It could be loaded through a serial cable, an IRDA port, or a wireless network.
    • 18InstallationOnce the MIDlet is downloaded, the AMS installs the MIDlet on the device. Duringthe installation process, the MIDP implementation verifies that the MIDlet does not violatethe device’s security policies.LaunchingA MIDlet is launched when a user selects it using the interface provided in the device.At this point, the MIDlet enters the KVM and the lifecycle methods of the MIDlet areinvoked.Version ManagementThe AMS keeps track of all the MIDlets that are installed on the device includingtheir version numbers. This information is used to upgrade a MIDlet to its new version.RemovalThe AMS removes a MIDlet and cleans up the related resources from the memory.A MIDlet can be in one of the three states after the Application Management Softwarelaunches itPause: A MIDlet enters Paused state once it is created and initialized by the AMS. It can alsoenter this state when it is Active.Active: This state means the MIDlet is running normally. A MIDlet goes to the Active statefrom the paused state if there are no runtime exceptions during its initialization.Destroyed: This state means the MIDlet has released all its resources and is terminated. AMIDlet can reach this state either from the paused state due to a runtime exception during itsinitialization or from the active state when the user has chosen to close the application.Fig 2.4.5.5: MIDlet Lifecycle
    • 193. SOFTWARE PROJECT MANAGEMENT PLAN (SPMP)3.1 Development Methodologies-Process ModelWhen we defining and constructing credit card validation systems will uncover manyrequirements that may be difficult at outset. Instead knowledge of the system andrequirements will grow as work progress the whole software engineering process is designedto uncover details and incompatibilities in the requirements that may not be obvious tocustomer and bankers at outset.Several cases or increments of software development additional increases will bebuild and delivered in successive increment system normally involves as are deliversuccessive new versions, the development of first version from sketch called green fielddevelopment is special case of incremental development the development of first incrementis an important activity series we establish the architectural base that must last for the entiresystem’s life time.3.2 Project Development Life Cycle3.2.1 WATERFALL LIFECYCLE MODEL:Waterfall model states that the phases (analysis, design, and coding, testing, support)are systematized in a linear order and each phase should accomplished entirely earlier of thenext phase begins. In this way the step by step phase initially analyzing phase is completedand that output takes place at the end of analyze phase after that output will be given as inputfor the design phase, depending on the inputs it generates all design steps, like ways allphases processed and produced all successful outputs, And will to find out whether theproject is pursuing on the exact path or not. If not the project may be discard or any otheraction takes place to continue. The model is the most commonly used and also known aslinear sequential lifecycle model.ADVANTAGES:1. This model is very easy to use and implement.2. Each phase is completed at a time and processed.3. This model better works for smaller projects if only the requirements are wellunderstood.4. In each phase have deliverables and that must be reviewed.
    • 20DISADVANTAGES:1. If the requirements are gathered are inaccurate then the final product is inaccurate andthe error is known in the final phase of the model. Any sort of errors that cannot bedetected in any previous phase.2. For long, object-oriented, complex and ongoing projects it’s a poor model.3. This model has high risks.Fig3.2.1: Waterfall Lifecycle Model
    • 214. SYSTEM AND SOFTWARE REQUIREMENT SPECIFICATIONS4.1FUNCTIONAL REQUIREMENTSIn mobile shopping application, the customers can view the details about the productfrom the implementation of the product search module. The new user can login into the system by registering into the Admin and the logininto the system. The customer can view the information about the offers on the desired products fromthe profile based ads module. The user can pay the bill using credit card/debit card from the implementation of thebill payment module.4.2 NON FUNCTIONAL REQUIREMENTSRequirement specification plays an important part in the analysis of a system. Onlywhen the requirement specifications are properly given, it is possible to design a system,which will fit into required environment. It rests largely with the users of the existing systemto give the requirement specifications because they are the people who finally use the system.This is because the requirements have to be known during the initial stages so that the systemcan be designed according to those requirements. It is very difficult to change the systemonce it has been designed and on the other hand designing a system, which does not cater tothe requirements of the user, is of no use.The requirement specification for any system can be broadly stated as given below: The system should be able to interface with the existing system The system should be accurate The system should be better than the existing systemThe existing system is completely dependent on the user to perform all the duties.4.3HARDWARE INTERFACE:Client Side Mobile Phone which is Access the Internet and Application.Server Side RAM : 256 MB or moreHard disk : 40 GB hard disk recommended.Tools : RFID Reader, RFID Tag.
    • 224.4SOFTWARE INTERFACE:Client SideProgramming language: java1.5 or jdk5,j2meTools : J2ME toolkit2.5.2.Operating system : Windows XP or laterTechnology : Java 2 Micro Edition (J2ME)Server SideFront EndOperating system : Windows XP or laterTechnology : JDBC.Tools : Net Beans IDE 6.9.1Back EndDatabase : Oracle 10gServer : Apache Tomcat 6.04.5 COMMUNICATION INTERFACE: GPRS, RFID Reader, RFID Tag.
    • 235. SOFTWARE DESIGN DESCRIPTION5.1 DESIGNDesign is the first step in the development phase for any engineering product orsystem. It may be defined as a “the process of applying various techniques and principles forthe purpose of defining a device, a process, or a system insufficient detail to permit itsphysical realization”.Software design is an iterative process through which requirements are translated intoa “blue print” for the constructing software. The design is represented at high level ofabstraction, a level that can be directly translated to a specific data, functional behaviorrequirements. Preliminary design is concerned the transformation of requirements into a dataand software architecture.The design is solution, a “how to” approach to the creation of a new system. This iscomposed of several steps. It provides the understanding and procedural details necessary forimplementing the system recommended.The database design transforms the information domain model created duringanalysis into the data structures that will be required to implemented software.The architecture design describes how the software communicates within itself, tosystems that interoperate with it, and with humans who use it. An interface implements flowof information.The interface design describes how the software communicates within itself, tosystems that interoperate with it, and with humans who use it. An interface implements flowof information.5.1.1 INPUT DESIGNInput design is the process of converting user-oriented input to a computer basedformat. Input design is a part of overall system design, which requires very careful attention.Often the collection of input data is the most expensive part of the system. The mainobjectives of the input design are Produce cost effective method of input Achieve highest possible level of accuracy Ensure that the input is acceptable to and understood by the staff.
    • 245.1.1.1 INPUT DATAThe goal of designing input data is to make entry easy, logical and free from errors aspossible. The entering data entry operators need to know the allocated space for each field;field sequence and which must match with that in the source document. The format in whichthe data fields are entered should be given in the input form .Here data entry is online; itmakes use of processor that accepts commands and data from the operator through a keyboard. The input required is analyzed by the processor. It is then accepted or rejected. Inputstages include the following processes: Data Recording Data Transcription Data Conversion Data Verification Data Control Data Transmission Data CorrectionOne of the aims of the system analyst must be to select data capture method anddevices, which reduce the number of stages so as to reduce both the changes of errors and thecost .Input types, can be characterized as: External Internal Operational Computerized InteractiveInput files can exist in document form before being input to the computer. Inputdesign is rather complex since it involves procedures for capturing data as well as inputting itto the computer.5.1.2 OUTPUT DESIGNOutputs from computer systems are required primarily to communicate the results ofprocessing to users. They are also used to provide a permanent copy of these result for latterconsultation .Computer output is the most important and direct source of information to theusers. Designing computer output should proceed in an organized well throughout the
    • 25manner. The right output must be available for the people who find the system easy o use.The outputs have been defined during the logical design stage. If not, they should defined atthe beginning of the output designing terms of types of output connect, format, response etc,Various types of outputs are External outputs Internal outputs Operational outputs Interactive outputs Turn around outputsAll screens are informative and interactive in such a way that the user can fulfill hisrequirements through asking queries.5.2 UML DiagramsINTRODUCTION:Design is the place where quality is fostered in software development. Design is theonly way that we can accurately translate a user’s requirements into a finished softwareproduct or system. Software design serves as the foundation for all software engineers andsoftware maintenance steps that follow. Without design we risk building an unstable design –one that will fail when small changes are made, one that may be difficult to test, and onewhose quantity cannot be assessed until late in the software engineering process.Taking software requirements specification document of analysis phase as input to the designphase we have drawn Unified Modeling Language (UML) diagrams. UML depends on theVisual modeling of the system. Visual modeling is the process of taking the information fromthe model and displaying it graphically using some sort of standards set of graphicalelements.UML Diagrams are drawn using the Visual Paradigm Software. We seem to be ableto understand complexity better when it is displayed to us visually as opposed to writtentextually. By producing visual models of a system, we can show how system works onseveral levels. We can model the interactions between the users and the system.
    • 26TYPES OF UML DIAGRAMSEach UML diagram is designed to let developers and customers view a softwaresystem from a different perspective and in varying degrees of abstraction. UML diagramscommonly created in visual modeling tools include;Use Case Diagram: Displays the relationship among actors and use cases.Class Diagram: Models class structure and contents using design elements such as classes,packages and objects. It also displays relationships such as containment, inheritance,associations and others.Interaction Diagrams:Sequence Diagram: Displays the time sequence of the objects participating in theinteraction. This consists of the vertical dimension (time) and horizontal dimension(different objects).Collaboration Diagram: Displays an interaction organized around the objects and theirlinks to one another. Numbers are used to show the sequence of messages.State Diagram: Displays the sequences of states that an object of an interaction goes throughduring its life in response to received stimuli, together with its responses and actions.Activity Diagram: Displays a special state diagram where most of the states are action statesand most of the transitions are triggered by completion of the actions in the source states.This diagram focuses on flows driven by internal processing.Physical Diagrams:Component Diagram: Displays the high level packaged structure of the code itself.Dependencies among components are shown, including source code components, binarycode components, and executable components. Some components exist at compile time, atlink time, at run times well as at more than one time.Deployment Diagram: Displays the configuration of run-time processing elements and thesoftware components, processes, and objects that live on them. Software componentinstances represent run-time manifestations of code units.Views of UML DiagramsConsidering that the UML diagrams can be used in different stages in the life cycle ofa system, let us take a look at the "4+1 view" of UML diagrams. The 4+1 view offers adifferent perspective to classify and apply UML diagrams. The 4+1 view is essentially how a
    • 27system can be Each of these views represents how a system can be modeled. This will enableus to understand where exactly the UML diagrams fit in and their applicability. viewed froma software life cycle perspective. Each of these views represents how a system can bemodeled. This will enable us to understand where exactly the UML diagrams fit in and theirapplicability.The different views are:Design View:The design view of a system is the structural view of the system. This gives an idea ofwhat a given system is made up of. Class diagrams and object diagrams form the design viewof the system.Process View:The dynamic behavior of a system can be seen using the process view. The differentdiagrams such as the state diagram, activity diagram, sequence diagram, and collaborationdiagram are used in this view.Component View:Component view shows the grouped modules of a given system modeled using thecomponent diagram.Deployment View:The deployment diagram of UML is used to identify the deployment modules for agiven system.Use case View:Finally, we have the use case view. Use case diagrams of UML are used to view asystem from this perspective as a set of discrete activities or transactions.
    • 285.2.1 Use case diagram for customerFig5.2.1: Use case diagram for customer5.2.1.1 Use case diagram for administratorFig5.2.1.1: Use case diagram for administratorEnterusernam eEnterPasswordVerifypasswordSelectproductSelectcategoryEnter credit and pin noRegister<<include>><<include>>Login<<include>>ProdSearch<<include>>Viewads<<include>>AddtocartCustomerBillpaym ent<<include>>loginInsert productdetailsAdministratorInsert ads
    • 295.2.2 Class DiagramFig5.2.2: Class diagram
    • 305.2.3 Sequence DiagramsFig5.2.3: Sequence diagram
    • 315.2.4 Activity DiagramFig5.2.4: Activity diagram
    • 325.2.5Entity Relationship Diagram(1,*) (1,*) (1,*)(1,1)(0,*)(1,1)(1,*)(1,1)Fig 5.2.5: ER diagramhasPRODUCTADSVIEWSCUSTOMERPURCHASESBILLpays Has
    • 335.2.6 DATA FLOW DIAGRAMSUSER REGISTRATIONFig5.2.6: Data Flow Diagrams UserPRODUCT SEARCHFig5.2.6: Data Flow Diagrams Product SearchBILL PAYMENTFig5.2.6: Data Flow Diagrams Bill Payment
    • 345.3 DATABASE DESIGN:DATABASE TABLES:Name Null? TypeSHOPPING ID NOT NULL VARCHAR2(20)Table 5.3.1 :Admin tableName Null? TypeUSERNAME NOT NULL VARCHAR2(20)PASSWORD NOT NULL VARCHAR2(20)NAME NOT NULL VARCHAR(20)ADDRESS NOT NULL VARCHAR (30)PHONE NUMBER NOT NULL NUMBER (10)EMAILID NOT NULL VARCHAR2(20)GENDER NOT NULL CHAR (6)Table 5.3.2: Person registration tableName Null? TypePRODNAME NOT NULL VARCHAR2(20)COST NOT NULL FLOATQUNANTITY NOT NULL NUMBEREPC CODE NUMBER NUMBERTable 5.3.3: Product Register table
    • 35Name Null? TypePRODNAME NOT NULL VARCHAR2(20)COST NOT NULL FLOATQUANTITY NUMBERTable 5.3.4 :Cart tableName Null? TypeCARDNO NOT NULL NUMBER(16)PIN NOT NULL NUMBER(4)BALANCE NOT NULL NUMBER(20)Table 5.3.5: Credit card table
    • 366. SAMPLE CODE AND SCREEN SHOTS6.1Sample Code:Login page:import javax.microedition.lcdui.*;import javax.microedition.midlet.*;public class LoginForm implements CommandListener,ItemCommandListener,Runnable{Form f;TextField tf1,tf2;ImageItem it;Command c1,c2;static String s1;StringItem si;Ticker t;Image img;public LoginForm(){f=new Form("Login Form");t=new Ticker("Welcome to shopping");tf1=new TextField("username:","",20,TextField.ANY);tf2=new TextField("password:","",20,TextField.PASSWORD);c1=new Command("login:",Command.OK,1);c2=new Command("Cancel:",Command.OK,2);si=new StringItem("","Login",Item.BUTTON);si.setLayout(Item.LAYOUT_CENTER);si.setDefaultCommand(c1);si.setItemCommandListener(this);try{img=Image.createImage("/bean.PNG");it=new ImageItem("Image:",img,Item.LAYOUT_CENTER,null,Item.BUTTON);it.setDefaultCommand(c1);it.setItemCommandListener(this);}
    • 37catch(Exception e){e.printStackTrace();}}public void display(){f.setTicker(t);f.append(tf1);f.append(tf2);f.append(it);f.append(si);f.addCommand(c1);f.addCommand(c2);f.setCommandListener(this);sample.dis.setCurrent(f);}public void commandAction(Command c,Displayable d){if(c == c1){}if(c == c2){}}public void commandAction(Command c,Item i){if(i == si){try{Thread t=new Thread(this);t.start();}catch (Exception e){e.printStackTrace();}}
    • 38}public void run(){s1=tf1.getString();String s2=tf2.getString();String url="http://localhost:8888/mobileApp/login?username="+s1+"&password="+s2;String res=ConnectionUtility.sendResponse(url);res=res.trim();System.out.println(res);if(res.equals("valid user")){Alert a=new Alert("Login Alert","valid user",null,AlertType.INFO);a.setTimeout(Alert.FOREVER);sample.dis.setCurrent(a);try{Thread.sleep(2000);}catch (Exception ex){ex.printStackTrace();}HomeForm hf = new HomeForm();hf.display();}else{Alert a1=new Alert("Login Alert","Not valid user ",null,AlertType.INFO);a1.setTimeout(Alert.FOREVER);sample.dis.setCurrent(a1);}}}Details Form:import javax.microedition.lcdui.*;public class DetailsForm implements CommandListener,ItemCommandListener,Runnable{
    • 39Form f;Command c1,c2;Ticker t;ChoiceGroup cg;StringItem si,si1,si2,si3,si4;static String s1,s2;String temp;int flag;public DetailsForm(){f=new Form("Items details");t=new Ticker("welcome to my app....");c1=new Command("",Command.OK,1);si=new StringItem("","Add to Cart",Item.BUTTON);si.setLayout(Item.LAYOUT_CENTER);si.setDefaultCommand(c1);si.setItemCommandListener(this);si4=new StringItem("","View Cart",Item.BUTTON);si4.setLayout(Item.LAYOUT_CENTER);si4.setDefaultCommand(c1);si4.setItemCommandListener(this);si1 = new StringItem("Quantity:","");si2 = new StringItem("Price:","");si3 = new StringItem("EPC code:","");}public void display(String resp){f.setTicker(t);f.append(si1);f.append(si2);f.append(si3);int i=0;if((i=resp.indexOf($))!=-1){
    • 40temp=resp.substring(0,i);temp=temp.trim();si1.setText(temp);resp=resp.substring(i+1);}if((i=resp.indexOf($))!=-1){temp=resp.substring(0,i);temp=temp.trim();si2.setText(temp);resp=resp.substring(i+1);}if((i=resp.indexOf($))!=-1){temp=resp.substring(0,i);temp=temp.trim();si3.setText(temp);resp=resp.substring(i+1);}f.append(si);f.append(si4);f.setCommandListener(this);sample.dis.setCurrent(f);}public void commandAction(Command c,Displayable d){if(c==c1){}}public void commandAction(Command c,Item i){if(i==si){try{flag=0;Thread t=new Thread(this);
    • 41t.start();}catch (Exception e){e.printStackTrace();}}if(i==si4){try{flag=1;Thread t1=new Thread(this);t1.start();}catch (Exception e){e.printStackTrace();}}}public void run(){if(flag==0){s1=si2.getText();s2=LoginForm.s1;Stringurl="http://localhost:8888/mobileApp/add?username="+s2+"&product="+Items.s2+"&price="+s1;String res=ConnectionUtility.sendResponse(url);res=res.trim();System.out.println(res);if(res.equals("inserted")){Alert a=new Alert("items Alert","Added to Cart",null,AlertType.INFO);a.setTimeout(Alert.FOREVER);sample.dis.setCurrent(a);
    • 42try{Thread.sleep(2000);}catch (Exception ex){ex.printStackTrace();}HomeForm hf = new HomeForm();hf.display();}else{Alert a1=new Alert("items Alert"," Not Added",null,AlertType.INFO);a1.setTimeout(Alert.FOREVER);sample.dis.setCurrent(a1);}}if(flag==1){s1=si4.getText();s2=LoginForm.s1;String url="http://localhost:8888/mobileApp/cartdetails?username="+s2+"";String res=ConnectionUtility.sendResponse(url);res=res.trim();System.out.println(res);if(res.equals("")){Alert a1=new Alert("items Alert"," No items",null,AlertType.INFO);a1.setTimeout(Alert.FOREVER);sample.dis.setCurrent(a1);}else{CartForm cf = new CartForm();cf.display(res);}
    • 43}}}Login servlet:import javax.servlet.*;import javax.servlet. Http.*;import java.io.*;import java.sql.*;public class LoginServlet extends HttpServlet{static Connection con;static PreparedStatement pst;static ResultSet rs;public void service(HttpServletRequest req,HttpServletResponse res)throwsIOException,ServletException{res.setContentType("text/html");PrintWriter out=res.getWriter();String s1=req.getParameter("username");String s2=req.getParameter("password");try{Class.forName("oracle.jdbc.driver.OracleDriver");con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","manager");pst=con.prepareStatement("select * from register where username=? and password=?");pst.setString(1,s1);pst.setString(2,s2);rs=pst.executeQuery();if(rs.next()){out.println("valid user");System.out.println("valid user");}else{
    • 44out.println("Not valid user");System.out.println("Not valid user");}}catch (Exception e){e.printStackTrace();}finally{try{pst.close();con.close();}catch (Exception e){e.printStackTrace();}}}}Details servletimport javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.sql.*;public class DetailsServlet extends HttpServlet{static Connection con;static PreparedStatement pst;static ResultSet rs;public void service(HttpServletRequest req,HttpServletResponse res)throwsIOException,ServletException{res.setContentType("text/html");PrintWriter out=res.getWriter();
    • 45String s1=req.getParameter("ItemName");try{Class.forName("oracle.jdbc.driver.OracleDriver");con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","manager");pst=con.prepareStatement("select * from itemRegister where itemname=?");pst.setString(1,s1);rs=pst.executeQuery();if(rs.next()){String response = rs.getString(2)+"$"+rs.getString(3)+"$"+rs.getString(4)+"$";out.println(response);}}catch (Exception e){e.printStackTrace();}finally{try{pst.close();con.close();}catch (Exception e){e.printStackTrace();}}}}Pay servletpublic class PayServlet extends HttpServlet{static Connection con; import javax.servlet.*;import javax.servlet.http.*;
    • 46import java.io.*;import java.sql.*;static PreparedStatement pst;static ResultSet rs;public void service(HttpServletRequest req,HttpServletResponse res)throwsIOException,ServletException{res.setContentType("text/html");PrintWriter out=res.getWriter();String s1=req.getParameter("Creditcardno");String s2=req.getParameter("Pin");String s3=req.getParameter("amt");String s4=req.getParameter("username");int amt = Integer.parseInt(s3);try{Class.forName("oracle.jdbc.driver.OracleDriver");con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","manager");pst=con.prepareStatement("select * from card5 where cardnumber=? and cardcode=?");pst.setString(1,s1);pst.setString(2,s2);rs=pst.executeQuery();if(rs.next()){String balance = rs.getString(3);int bal = Integer.parseInt(balance);bal = bal-amt;String bb = Integer.toString(bal);pst=con.prepareStatement("update card set balance=? where cardnumber=? andcardcode=?");pst.setString(1,bb);pst.setString(2,s1);pst.setString(3,s2);
    • 47int i = pst.executeUpdate();if(i>0){pst=con.prepareStatement("delete from item where username=?");pst.setString(1,s4);int j = pst.executeUpdate();if(j>0){out.println("paid");}}}else{out.println("Not valid card");System.out.println("Not valid card");}}catch (Exception e){e.printStackTrace();}finally{try{pst.close();con.close();}catch (Exception ex){ex.printStackTrace();}}}}
    • 48SCREEN SHOTS:6.2 login FormFig 6.2: Login Form
    • 496.3 Main FormFig6.3: Main Form
    • 506.4 Item Verify FormFig6.4: Item Verify Form
    • 516.5 Item Modify FormFig6.5: Item Modify Form
    • 526.6 Item Delete FormFig6.6: Item Delete Form
    • 536.7 Item Register FormFig6.7: Item Register Form
    • 546.8 Person Register FormFig6.8: Person Register Form
    • 556.9 MOBILE SCREEN SHOTS6.9Mobile Main Form 6.10Mobile Login FormFig6.9: Mobile Main Form Fig6.10:Mobile Login Form
    • 566.11 Item View Form 6.12Item Details FormFig6.11:Item View Form Fig 6.12: Item Details Form
    • 576.13 Cart Form 6.14Item View Pay FormFig6.13: Cart Form Fig 6.14: Items View Pay Form
    • 586.15Pay Form6.15Pay Form
    • 597. TESTINGA process of executing a program with the explicit intention of finding errors, that ismaking the program fail.SOFTWARE TESTINGIt is the process of testing the functionality and correctness of software by running it.Process of executing a program with the intent of finding an errorA good test case is one that has a high probability of finding an as yet undiscoverederror. A successful test is one that uncovers an as yet undiscovered error.Software Testing is usually performed for one of two reasons• Defect detection• Reliability estimationBLACK BOX TESTINGApplies to software or module, tests functionality in terms of inputs and outputs atInterfaces. Test reveals if the software is fully operational with reference to requirementsspecification.WHITE BOX TESTINGKnowing the internal working i.e. to test if all internal operation are performedaccording to program structure and data structures.7.1 TESTING OBJECTIVEThe main aim of testing is to uncover a host of errors, systematically and withminimum effort and time. Starting formally, we can say, Testing is a process of executing aprogram with the intent of finding an error. A successful test is one that uncovers an as yetundiscovered error.As he good test case is one that has a high probability of finding errors, if it exists.But there is one thing that testing cannot do testing cannot show the absence of defects it canonly show that software defects are present.As the test results are gathered and evaluated they begin to give a qualitativeindication of the reliability of the software. If servers’ errors are detected, the overall qualityof the software is a natural suspect. If, on the other hand, all the errors, which areencountered, are easily modifiable, then one of the two conclusions can be made:
    • 60For the purpose of the current system we are assuming that in the event that errorsthat are easily modifiable points to the later possibility, since repeating the entire testingroutine can be very time consuming. What we propose to do instead is to get it tested by oneor more persons who are not a part of the development team but is well versed with thesubject and with the concept of software testing. If we cannot detect any serious errors, it willenable us to state with the more confidence that the software does actually conform toexpected standards.7.1.1 TEST PLANThe importance of software testing and its implementations cannot beoveremphasized. Software testing is a critical element of Software Quality Assurance andrepresents the ultimate review of the specifications, design and coding.7.1.2 TESTING METHODOLOGIESIn order to uncover the errors present in the different phases we have the concept oflevels of testing. The basic levels of testing are as shown below:Fig 7.1.2:Various levels of TestingTEST CASESA strategy for software testing will begin in the following order1. Unit testing2. Integration testing3. Validation testing4. System testing
    • 61Unit TestingIt concentrates on each unit of the software as implemented in source code and is awhite box oriented. Using the component level design description as a guide, importantcontrol paths are tested to uncover errors within the boundary of the module. In the unittesting, the step can be conducted in parallel for multiple components.Integration TestingHere focus is on design and construction of the software architecture. Integrationtesting is a systematic technique for constructing the program structure while at the sametime conducting test to uncover errors associated with interfacing. The objective is to takeunit tested components and build a program structure that has been dictated by design.Validation TestingIn this requirements established as part of software requirements analysis arevalidated against the software that has been constructed i.e., validation succeeds whensoftware function in a manner that can be reasonably expected by the customer.+System TestingIs the menu bar displayed in the appropriate contested some system related featuresincluded either in menus or tools? Do pull –Down menu operation and Tool-bars workproperly? Are all menu function and pull down sub function properly listed?; Is it possible toinvoke each menu function using a logical assumptions that if all parts of the system arecorrect, the goal will be successfully achieved .? In adequate testing or non-testing will leadsto errors that may appear few months later.This creates two problems: Time delay between the cause and appearance of the problem. The effect of the system errors on files and records within the system.The purpose of the system testing is to consider all the likely variations to which it will besuggested and push the systems to limits.The testing process focuses on the logical intervals of the software ensuring that allstatements have been tested and on functional interval is conducting tests to uncover errorsand ensure that defined input will produce actual results that agree with the required results.Program level testing, modules level testing integrated and carried out.
    • 627.2 TEST CASE:Table 7.2: Test Case1TestcaseIDTest CaseNameTest Case Description ExpectedValueActual Value Result1 UserRegistration1. Run theapplication.2.All the fields shouldbe filled1. Value mustbe taken.2. Next pageshould bedisplayed1. Value mustbe taken.2.Next pageshould bedisplayedPass2 ProductSearch1. Run the application 1. Option mustbe taken.2. Next pageshould bedisplayed1.Optionmust betaken.2. Next pageshould bedisplayedPass3 AdminInsert1. Run the application 1. All thevalues shouldbe inserted.2.Data shouldbe stored inDatabase1. All thevalues shouldbe inserted.2.Data shouldbe stored inDatabasePass4 BillPayment1. Run the application 1. Credit cardnumber andpin numbershould betaken1.Credit cardand pinnumbershould bevalidPassTestcaseIDTest CaseNameTest Case Description ExpectedValueActual Value Result
    • 637.3 Item Register Validation:Fig7.3: Item Register Validation
    • 647.4 Person Register Validate:Fig7.4: Person Register Validation
    • 65CONCLUSIONIntegrated Shopping application with mobile as domain is successfully implementedwith all the features mentioned in the SRS. The project to a huge extent simplifies theprocess of obtaining information whenever a RFID Readers enabled device requestinformation.The software thus developed has been implemented successfully which has beenunder observation for the past few days. Various tests have been performed to scrutinize thevalidation of each data and the errors were stopped out and then finally cleared in asophisticated manner.Even though the software has many advantages, some limitations also exists whichare meager and negligible. Those limitations need not be considered since it does not affectthe system as a whole. An attempt is made to maintain maximum perfection in documentingthe software in a simple, precise and in a self explanatory manner.
    • 66FUTURE ENHANCEMENTSFurther enhancement is the part, which tells that what changes can be done in thefuture to meet the challenges. It also tells what are the parts that have to be changed to meetthe challenges that may arise in near future.The project “INTEGRATED SHOPPING” has been done taking into considerationall the factors of SRS and without any room for redundancy. There are some aspects whichcan be further updated or modified in future if the changes are required. The enhancementsmay be like we can add the all items in home to the system which guides the customer whichway to go for the product that they have searched for. The user has the freedom to change thesoftware according to the needs.
    • 67BIBLIOGRAPHY Bruce Eckel, Thinking in Java Third Edition, Publisher: Pearson Education. Herbert Schildt,The Complete Reference to Java 2, Publisher: Tata McGraw-Hill. Roger S. Pressman, Software Engineering-A practitioner’s approach, Publisher:Tata McGraw-Hill. Grady Booch, James Rumbaing, Ivar Jacobson, The Unified Modelling LanguageUser Guide, Publisher: Pearson Education. Martin Fowler & Scott, UML Distilled Second Edition, Publisher Pearsoneducation Michael Morrison, Wireless Java with J2ME, Publisher Tec media