Broad Walk Docs

download Broad Walk Docs

of 90

Transcript of Broad Walk Docs

  • 8/14/2019 Broad Walk Docs

    1/90

    ABSTRACT

    The project entitled BROADWALK REALERS NETWORK is developed for

    organization of NAVEEN TILES Pvt. Ltd located in Rajastan.The developed

    system helps the organization to receive orders through online for product tiles that

    can be supplied by the organization.

    This Activity includes three modules customers,dealers and

    administrator.Customer module facilitates the customers to place order through

    online,and can view catalog information provide by organization.In this module

    each customer order will be verified to determine whether author dealer existing

    in the area specified by customer.If dealer existing then the customer order will be

    redirected to corresponding dealer otherwise those orders will be registered as

    direct customers orders to Administrator.

    Dealer module facilitates authorized dealers to customer orders status in

    their area,to place order ,to manage their details in Administrator records.

    Administrator module facilitates the Administrator to view direct customers

    order status,dealers order status and also to maintain transport charges info and

    products catalog information.Administrator can also appoint new Dealer and

    remove existing Dealer.

    The project developed on platform windows98 using software HTML,JSP,JDBC,

    JavaScript, JavaMail and jdk1.4 with backend database Oracle 8.0.

    1

  • 8/14/2019 Broad Walk Docs

    2/90

    2. PROBLEM SPECIFICATION:

    The goal of problem specification is for the project manager and the client

    to agree on the scope of the system under construction.In the existing system the

    Administrator of organization receiving orders from customers directly or through

    authorized dealers usig tele and postal services.Due to lack of proper

    communication facilities the company could not get expected quantum of orders

    and good response.So they want to make their products available for online

    ordering.The objective of preposed system is to build a system that registers

    orders from multiple customers one time.The system should facilitate quick

    communication between customers,dealers and administrator.

    The preposed system must allow the customer to place order.It would

    provide the following facilitates to authorized dealers .

    o Customers order and dispatch status

    o Placing order to Administrator

    o Managing personal info such as address,phoneno etc.

    The preposed system would also provide the following facilities to

    Administrator.

    o To view Customers orders and dispatch status.

    o To view Dealers orders and dispatch status.

    o Maintaining products catalog and transport charges info.

    o Appoint and remove dealers.

    o And to check mails.

    This problem definition is preliminary requirements activity that establishes

    common ground between clients and developers.

    2

  • 8/14/2019 Broad Walk Docs

    3/90

    3. FEASIBILITY REPORT: Feasibility study is the high level capsule version of

    the entire requirement analysis process.The objective of feasibility study is to

    determine whether the proposed system can be developed with available resources.

    There are three steps to be followed for determining the feasibility study of

    proposed system.

    Technical Feasibility

    Operational Feasibility

    Economical Feasibility

    Technical Feasibility: It is concerned with hardware and software feasibility. In this

    study,one has to test whether the proposed system can be developed using existing

    technology or not.If new technology is required ,what is the likely hood that it

    can be developed ?The organization for which the system to be developed is not

    yet computerized .Hence there is a requirement of new hardware and software

    technology for the deployment of proposed system.As per client requirements the

    system to be developed should have speed response because of fast change

    info,programming productivity,reliability,security,scalability,integration and

    availability.To meet these requirements I as a developer found jsp1.1 spn as a

    right choice because of its features platform independence,modularity and

    reusability.

    Operational Feasibility: Operational feasibility determines whether the proposed

    system satisfied the user objectives and can be fitted in to current system

    operation.The proposed system Online Order management system can be justified

    as operationally feasible basing on the following.

    The methods of processing and presentation are completely acceptable by the

    clients because they meet all the user and client requirements.

    The clients have been involved during the preparation of requirement analysis

    and design process.

    3

  • 8/14/2019 Broad Walk Docs

    4/90

    The system will certainly satisfy the user objectives and it will also enhance

    their capability.

    The system can be best fitted into current operation and requires little training

    to both administrator and dealer. With the help of this system customer to

    place order requires simple data entry through forms provided.The proposed

    system is completely user friendly.

    Economical Feasibility: This includes an evaluation of all incremental costs and

    benefits expected if proposed system is implemented. costs-benefit analysis which

    is to be performed during economical feasibility delineates costs for project

    development and weighs them against benefits of system. In this the proposed

    system replaces the manual process of receiving orders which benefits the

    organization to get more orders and good response. So developing this system is

    economically feasible to organization.

    4

  • 8/14/2019 Broad Walk Docs

    5/90

    6. SOFTWARE PROFILE:

    Introduction to JAVA:

    Java is a general-purpose concurrent object-oriented programming language.

    Java allows application developers to write a program once and then be able to

    run it everywhere on the internet. Its syntax is similar to c++,but it omits many

    of the features that make c++ complex,confusing and unsafe.Java was initially

    developed to address the problems of building software for networked consumer

    devices. It was designed to support multiple host architectures and to allow secure

    delivery of software components.

    A Java program is created a test file with the file extension .java.It is compiled

    into one or more files of bytecode with the extension .class.Bytecodes are sts of

    instructions which can run on any computer system equipped to handle java

    programs. Byte code is a highly optimized set of instructions designed to be

    executed by the java runtime system called the JVM. The Java Virtual Machine is

    the corner stone of suns Java programming language.It is a component of Java

    technology responsible for Javas cross platform delivery.JVM is an interpreter for

    byte code.

    Features of Java:

    Small & Simple: Java follows object-oriented approach,and most of javas syntax,is

    adapted from c++.Programmer who are familiar with the concepts of object-

    oriented programming will have a much easier time learning Java because of its

    common features.Another feature that makes Java easy to learn is not having

    surprising features. In java there are small no.of clearly defined ways to

    accomplish a given task.

    Safe & Secure:Another feature essential to Java success is safe & secure.Java

    provides security on different levels.First, the language was designed to make it

    extremely difficult to execute damaging code.In this regard java eliminating all

    pointers concept except for a limited form of reference to objects,Java is much

    more secure language.Another level of security is before a java program is run,a

    5

  • 8/14/2019 Broad Walk Docs

    6/90

    bytecode verifier checks each byte code to make sure that nothing suspicious is

    going on.

    Object-Oriented:Java inherits its object-oriented concepts from c++ and other

    languages such as smalltalk.Hence Java programs are reusable, clean, easier to

    understand and more bugproof.The object model in Java is simple and easy to

    extend, while simple types, such as integers, are kept as high performance

    nonobjects.

    Interpreted:Java enables the creation of cross-platform programs by compiling

    into an intermediate representation called Java Bytecode.This code can be

    interpreted on any system that provides a JVM.

    Platform Independence:Platform independence is another way of saying that Java

    is archietecture neutral.Platform Independence is the ability of the same program to

    work on different operating system.Java is completely platform independent

    because a Java .class file of bytecode instructions can execute on any platform

    without any alteration.

    Robust:The two main reasons for program failure are memory management

    mistakes and mishandled exceptional conditions. Java virtually eliminates these

    problems by memory management and by providing object oriented exception

    handling.

    Multithreaded:Java is multithreaded. Java is multithreaded language in which more

    than one set of instructions can be executed concurrently.Java provides tools to

    write multithreaded programs and to make these programs reliable in execution.

    Distributed:Another feature of Java is its network-centric nature.Because Java

    makes it possible to create applications that communicate across Internet in the

    6

  • 8/14/2019 Broad Walk Docs

    7/90

    same way.The thing that distinguishes Java is its approach to distributed

    programming.

    Dynamic:Java programs carry with them substantial amount of run-time type

    information that is used to verify and resolve accesses to objects at run time.This

    makes it possible to dynamically link code in a safe manner.

    Introduction to JavaScript:

    The JavaScript Language, which was first introduced by Netscape, gives web author

    another way to add interactively and intelligence to their web pages. JavaScript is

    an interpreted language; the computer must evaluate the program every time its

    run. Java Script allows web author to embed commands in an HTML page, and any

    browser that supports JavaScript can interpret the commands and act on them.

    JavaScript is powerful and simple.

    Why Use a Scripting Language?

    HTML provides a good deal of flexibility to page authors, but HTML is

    static.HTML documents can not interact with the user other than by presenting

    hyperlinks. CGI script which run on web server, has made it possible to create

    more interactive site, but some applications demand scripts that are to be executed

    by the client. JavaScript allows web authors to write small scripts that execute on

    the users browser instead of on the server. By using JavaScript web author can

    write an application that validate the data for completeness and correctness at

    client side before sending it to the server. This can greatly improve the

    performance of web applications.

    JavaScript commands are embedded in your HTML documents. Embedding

    JavaScript in your pages requires one new HTML element: and

    .The Script element takes the attribute Language which specifies

    language to use when evaluating the script.

    The Script tag typically used as follows.

    7

  • 8/14/2019 Broad Walk Docs

    8/90

    Java Script Statements

    The most important thing will be done using JavaScript is interacting with the

    content and information on webpages, and through it with user.

    When Script Executes:

    When author put JavaScript code in a page,web browser evaluates the code as

    soon as it is encountered. Functions, dont execute when theyre evaluated, they just

    get stored for later use. Web author still have to cal functions explicitly to make

    them work.Some functions are attached to objects such as button or on forms, and

    they are called when some event happens on the button or field.

    The most important feature of JavaScript is that it is an object-based

    language.This simplifies the design of JavaScript programs and enables them to be

    developed in a more intuitive , modular and reusable manner.Objects are a simple

    way of referring to parts of a webpage. For instance The String object type

    allows strings to be accessed as objects. The document object is the container for

    the information on the current page. The form object defines the form with which

    user interact.It includes checkboxes, radio buttons and so on. You are the form

    object to post the data to server.

    Introduction to JDBC:

    Databases constitutes the primary data resource in enterprise application.The JDBC

    API facilitates access to relational data from Java.This API provides cross-vendor

    connectivity and data access across relational database from different vendors.A

    database vendor such as oracle, Sybase typically provides a set of proprietary API

    for accessing the data managed by the database server.Client applications written in

    C/C++ can make use of these API calls for database access directly.The JDBC

    API provides a Java language alternative to these vendor-specific API.JDBC API

    does not eliminate the access to native APIs for database access,the

    implementation of JDBC API still make these native calls for data access.The

    8

  • 8/14/2019 Broad Walk Docs

    9/90

    JDBC driver is middle layer that translates the JDBC calls to the vendor specific

    APIs.The JVM uses the JDBC driver to translate the generalized JDBC calls into

    vendor specific database calls.The following are four different approaches for

    connection from client application to a database server via a databse driver.

    Type1 JDBC-ODBC Bridge:Open Data Base Connectivity(ODBC) is Microsofts

    API for database driver and is popular on windows platform.The first category of

    JDBC drivers provides a bridge between the JDBC API and the ODBC API.This

    bridge translates JDBC calls to corresponding ODBC calls , and sends them to

    ODBC datasource via ODBC libraries.This solution for data access is inefficient

    because it limits the functionality of JDBC API to ODBC driver.

    Type2 Part Java,Part Native Driver:Type2 driver uses the mixture of Java

    implementation and vendor specific API for data access.This is much faster than

    Type-1.when a database call is made using JDBC, the driver translates the request

    into vendor specific API calls.In this client must have some binary code to be

    loaded into machine.

    Type3 Intermediate Database Access Server:Type3 servers are based on

    intermediate database server.In this the Java Client application sends a JDBC call

    through JDBC driver to intermediate server Which handles request using another

    driver to complete the request.This type of solution makes it possible to

    implement a pure java client.

    Type4 Pure Java Driver: This is pure Java driver that communicates directly with

    data source. This simplifies and most efficient method of accessing database, both

    in performance and development time.The JDBC Core API is specified in the

    java.sql.package.

    JDBC defines eight interfaces that must be implemented by a driver in order to be

    JDBC complaint.

    java.sql.Driver java.sql.CallableStatement

    java.sql.Connection java.sql.ResultSet

    java.sql.Statement java.sql.DatabaseMetadata

    java.sql.PreparedStatement java.sql.ResultSetMetaData

    9

  • 8/14/2019 Broad Walk Docs

    10/90

    The DriverManager uses the Driver a driver to determine whether it can handle

    a given URL. If it can handle Driver should create a Connection object and return

    it to DriverManager.Connection is a single database Session.This provides an

    application with Statement, PreparedStatement, CallableStatement objects for

    making calls to the database. Statement has subclass Prepared Statement which in

    turn subclass of CallableStatement. After executing the statement JDBC returns

    results in ResultSet object which holds the result of executed query that can be

    retrieved using getXXX methods.DatabaseMetaData and ResultSetMetaData holds

    meta-information about data and results.

    Introduction to HTML:

    The HyperTextMarkUp Language(HTML) is a simple MarkUp

    language used to create hypertext documents with the theme of openness and

    portability.The HTML documents are just plain text. Web authors can create, edit or

    view the HTML code for a webpage in any text editor or on any computer

    platform. The web browser do not show the actual HTML code if web page is

    opened in any browser.Instead the web browser interprets the HTML code and

    displays the page appropriately on the screen.Each browser has its own way of

    interpreting the look of page.

    A webpage is made up of elements ,each of which is defined by

    an HTML code or tag.A tag is always enclosed in angle brackets, and most tags

    come in pairs with an opening and closing tag.Every webpage must include a few

    tags that define the page as a whole.so that browser recognizes the page as such.

    tells the browser to do some thing.An attribute goes inside the

    and tells the brower how to do it.

    The following is description of few HTML tags.

    This is the start of HTML document.and this is the end of

    HTML document. defines the header area of the

    page... The text between these tags is title of the webpage that

    will be displayed in the broser. delineates the actual content

    10

  • 8/14/2019 Broad Walk Docs

    11/90

    of the webpage that will be displayed in web browser.The combination of

    symbols to create a comments are

  • 8/14/2019 Broad Walk Docs

    12/90

    GET request method is the simplest and most frequently used

    request method for accessing static resources and it can also used to retrieve

    dynamic information.

    POST request method is commonly used for accessing dynamic resources. This

    can send large amount of complex information to the server.With

    GET requests, the request parameters are transmitted as a query string appended to

    the request URL. In this case POST request parameters are transmitted with in the

    body of the request.

    In response to a HTTP request, the server sends with the status of

    response, and some meta information descrypting the response. In HTTP servers

    and clients use MIME to indicate the type of content in requests and responses. In

    this first part indicates type of data and second part indicates standard extension.

    (Ex:- text/html).

    JAVA SERVER PAGES:

    Java Servlets and Java Server Pages are the building

    blocks for developing web applications. These are called web components.Web

    application is a collection of Java servlets and JavaServerPages, other class

    libraries, and HTML document. The WebContainer is responsible for initializing,

    invoking and managing the life cycle of JavaServlets and Jsps.The deployment

    descriptor is an XML file that lets author to customize web application at

    deployment time.Both Java servlets and JavaServerPages can be used for building

    and managing web application.The JSP specification builds on functionality provide

    by servlet specification.But there are certain differences existing.

    Servlets execute on the server side and intercepts browser requests. Servlets

    tend to mix the dynamic content in to the static part to generate

    HTML.Hence servlets are lumped applications and are not easy to maintain.

    JavaServerPages separate the static code and dynamic content , separating

    the presentation logic in a web application.Java Server Pages uses beans with

    scope to separate presentation and logic.

    Servlets are pure Java programs. Where as Java Server Pages are text-based

    documents.

    12

  • 8/14/2019 Broad Walk Docs

    13/90

    Apache Tomcat 4.1 implements the jsp2.1 specifications from java software and

    includes many additional features that make it a useful platform for developing

    and deploying webapplications and webservers.In order to install this tomcat

    requires Java Development Kit ver1.2 or later.Tomcat includes webserver along with

    webcontainer.This is available at http://jakarta.apache.org.

    When first time a JSP is loaded by the JSP Container, the servlet code is

    automatically generated, compiled and loaded in to the servlet container.from then

    as long as the JSP asource for the page is not modified, this compiled servlet

    processes any browser requests for that page.If the source code of JSP is

    modified then it is automatically recompiled and reloaded the next time that page

    is requested. The three major life event methods work together in a JSP are as

    follows.

    Jspinit() Initialize the JSP only once for first request.

    _jspservice(request,response) Handle requests Invoked for every request including

    first.

    Jspdestroy() Invoked by container to clean up JSP.

    JSP tags fall into three categories:

    1.Directives:These affects the overall structure of the servlet that results from

    translation.JSP directives serve as message sent to JSP Container from JSP

    page.Directives have scope for the entire JSP file.Directives start with . There are three main directives that can be used in JSP.

    Page directive is used to define and manipulate a no.of important page dependent

    attributes that affect the whole JSP and communicates these attributes to the JSP

    Container.

    The general syntax of the page directives is :

    These attributes can be language, extends, import, session, buffer, autoflush,

    isthreadsafe, info, errorpage, isErrorPage, ContentType.

    Include directive instructs the Container to include the content of the Resource in

    the current JSP, by inserting it inline in the JSP in place of directive.In this the

    13

  • 8/14/2019 Broad Walk Docs

    14/90

    content of the included file is parsed by the JSP and this happens only at

    translation time.

    The general syntax of the include directives is :

    TagLib directives allows the page to use Custom tags.

    2.Scripting Elements: JSP scripting elements allow JavaCode variables or method

    declaration, scriplets and expressions to be inserted in to JSP page.

    Declarations is a block of code in a JSP used to define class wide variables and

    methods in a generated servlet and these can be enclosed between

    The syntax is as follows:

    Scriplet is a block of Java code that is executed during request processing time,

    and is enclosed between tags.

    The syntax is as follows:

    Expression is a short hand notation for a scriplet that sends the value of a Java

    expression back to client.This can be enclosed between tags.

    The syntax is as follows:

    3.Standard Actions: Standard Actions are tags that affect the run time behaviour

    of the JSP and the reponse sent back to the client. During compilation in to a

    servlet, the Container come across this tag and replaces it with Java Code that

    corresponds to the required predefined task.The standard action types are described

    below.

    This action is used to instanitiate a JavaBean , or to locate an

    existing bean instance, and assign it variable name.

    Syntax of this action is

    to set the value of bean properties.

    is used to access the properties of a bean.

    14

  • 8/14/2019 Broad Walk Docs

    15/90

    In this scope defines how long and from which jsps the object will be available.

    Scope can be page any object with a page scope is will page disappear as soon

    as the current page finishes generating.By default all beans have page scope.Any

    objects crated in the request scope will be available as long as the request object

    is.A bean can have session scope. session is a period and is defined as all the

    visits a user makes to a site between starting and exiting the browser.A bean can

    have Application scope means it is available to whole application.

    This action allows the static or dynamic source specified by a URL,

    to be included in the current JSP at request processing time.The Syntax is as

    follows.

    This action allows the request to be forwarded to another JSP, to

    servlet or to a static resources. The syntax is as follows.

    Implicit Objects: JSP provides certain implicit objects, based on servlet API. These

    objects are accessed using standard variables automatically available for use in

    your JSP. The Implicit objects available in JSP page are request, response,

    pagecontext, session, application, out, config and page.

    JAVA MAIL:

    The Internets most widely used service is electronic mail. This is a method of sending

    message electronically based on mailbox address.The details necessary for

    packaging, sending and receiving messages are complex and involve a different

    protocols.

    The JavaMail specification, provides a collection of abstract classes that define the

    common objects and their interfaces for any general mail system. By defining

    interfaces sun has given Java programmers an easy and extensible object oriented

    view of many existing protocols currently in use. Java mail providers implement the

    API that provide functionality need to communicate using specific protocols.

    JavaMail implementation includes providers for some of the most essential

    protocols and specifications. These include the Simple Mail Tranfer Protocol,Post

    15

  • 8/14/2019 Broad Walk Docs

    16/90

    Office protocol 3 and Multipurpose Internet Mail Extension.A Transport is the suns

    term for a service that has the capability to send messages to their destination. A

    Store is a service used to retrieve messages that have been delivered to Mail Box.

    javax.mail.session acts as a factory for the installed transport and store

    implementation. Java Mail Session is a way to associate the providers with a

    particular set of user properties and an authentication mechanism.The methods

    getInstance() or getDefaultInstance() are used to get session instance. The abstract

    class javax.mail.Message and its implemented interface javax.mail.part define the

    general properties and content for mail message. Subclasses of Message Implement

    the concrete functionality needed for specific messaging systems. Suns JavaMail

    Implementation includes the javax.mail.internet . Mimemessage class that implements

    both the standard for Internet messages and Multi Purpose Internet Mail

    Extensions.The constructor MimeMessage(Session) used to construct a new and

    empty MimeMessage in the specified session.Every message consists two parts

    header and content .The header section includes the From address of senders at

    which message originate. Message class provides setFrom() method by which from

    header can be set. The recipients of a message generally come in three flavours.

    Normal recipients are denoted by To header, CarbonCopy recipients are publicly

    acknowledged as being sent a copy of message. Blind Carbon Copy recipients that

    are not included in the list of primary and secondary recipients .The method

    setRecipient( MessageRecipient Type, Address ) to set the above specified headers.

    Most of the messages includes subject and date also. SetSubject(String) and

    setDate(Date) can be used to set subject and date for the message. The second part

    of the message is its content . Java Mail API uses Java Beans Activation

    Framework .Its main purpose is to be able to identify arbitrary types of data, and

    for obtaining actual instances of appropriate classes for those type. The method

    setText(String text) sets the content for this part to the specified string with a

    content type of text/plain. Sending a message is achieved using a Transport.The

    method Transport.send(Message) sends the message using appropriate protocol for

    each of the messages recipients address type.

    16

  • 8/14/2019 Broad Walk Docs

    17/90

    ORACLE:

    Oracle is the name of the database management system developed by Oracle Corporation.

    Oracle is a RDBMS as it stores and manages data using relational model. Oracle server

    manages data in the database. Users access server using SQL commands so oracle server

    receives SQL commands from the users and execute them on the database. Users of

    oracle database user logical view of the data. Users are not aware of how the data is

    actually stored on the disk by the oracle server. Users view the total data as a collection

    of table where each table contains rows and columns. That means physical structure of

    the database is hidden from the users. A user can access data without knowing anything

    about the physical structure of the data.

    FEATURES OF ORACLE:

    The following are some if the important features of oracle server. Largest

    databasesupport.oracle supports largest database, potentially hundreds of gigabytes.

    Data concurrency.

    Oracle supports concurrent access to database by multiple users It automatically locks

    and unlocks rows to maintain integrity of data.

    Partitioning.

    It has improved performance via partitioning. A table can be divided into a number of

    pieces called as partition based on the value of one or more columns.

    It has new and improved data types portability.

    Oracle software can be ported to different operating systems and it is the same on

    systems. Application developed in the oracle can be ported to any operating system with

    little or no modification.

    Enforced integrity

    Oracle allows users to define business rules and enforce them. These Rules need not be

    included at the application level.

    Data security.

    Oracle provides security in different levels-system level and object level. It also makes

    implementation of security easier through roles.

    Support for client/server environment.

    17

  • 8/14/2019 Broad Walk Docs

    18/90

    Oracle allows process to split between client and server. All Oracle servers do database

    management where as client does user interaction. Oracle server allows code to be stored

    in the database in the form of procedures and functions. This allows centralization of the

    code and reduces network traffic.

    Improved parallelism.

    It has tremendous improvement in the area of parallelisation. Parallel recovery has been

    improved by allowing rollback of parallel DML operations that have failed to be

    performed in parallel. This parallel transaction recovery is supported on transaction and

    process failures but not during instance recovery.

    New index types.

    With traditional indexes and tables, data and indexes are stored separately. With an index

    only table, the data to which the index refers is stored in the leaf block or lowest level

    block of index, so the data and indexes are stored together. Depending on our application,

    this can be an advantage.

    Application that access data primarily via a key value can see an advantage from the use

    of index-only tables. Because the data is stored within index, the data is immediately

    available when the index has reached its lowest level. This can speed data retrieval.

    Enhanced recovery features.

    Oracle has made tremendous improvements in the area of backup and recovery. Most of

    these features revolve around the recovery manager. Another recovery feature is the

    image copy backup, which can improve recovery time in the event of failure.

    CONCEPTS OF RDBMS

    DBMS is an organized collection of interrelated files and a set of programs

    that allow users to access and modify these files. A major purpose of DBMS is

    to provide users with an abstract view of the data where the system hides certain

    details of how the data are stored and maintained.DBMS is an integrated software

    system that has facilitates for defining logical and physical structure of data in a

    database for accessing,entering and deleting the data.

    Architecture Of DBMS:

    18

  • 8/14/2019 Broad Walk Docs

    19/90

    Schema

    A schema is an overall design of the database.At the lowest level is the

    physical schema, at the intermediate level is the logical schema and at the highest

    level is the external schema.

    The DBMS Architecture can be divided into 3 levels as described below.

    Internal/Physical Level

    This is at the lowest level of the Database abstraction and closest to

    physical storage method used, is defined by means of internal Schema.

    Conceptual/Logical level

    This is at the intermediate level of the Database and describes what data

    are stored in the database and what relationships exists among those data, is

    defined by means of conceptual schema.External/View level

    This is at the highest level of database abstraction where only portions of

    the database of concern to a user or application program are included, is defined

    by means of external schema.

    Relational Model

    In the Relational model all the data is assumed to be organized in the

    form of two dimensional tables and each table has multiple columns and each

    column can be identified by unique name.

    RDBMS (Relational DataBase Management System):

    RDBMS is a DBMS bases on relational model. It is a set of programs that

    manipulate data by storing data in the form of tables. It can be defined as a

    DBMS where all data visible to the user organized strictly as tables of data and

    where all the database operations work on these tables .For any RDBMS to be

    accepted as a full-fledged RDBMS, it has to follow the relational theory in

    mathematics and the 12 CODDS Rules.

    Advantages Of RDBMS:

    The main advantages of RDBMS are:

    Redundancy can be reduced.

    19

  • 8/14/2019 Broad Walk Docs

    20/90

  • 8/14/2019 Broad Walk Docs

    21/90

    6. ANALYSIS

    6.1 REQUIREMENT ANALYSIS DOCUMENT

    A requirement is a feature or constraint that the system must

    satisfy to be accepted by the client. Defining the requirements which includes two

    main activities ; requirement elicitation and analysis.

    Requirement Elictation:This results in the specification of the system that client

    understands.This is to improve communication among developers,clients and users for

    defining a new system.If any errors involved during this process it is expensive to

    correct them.This focuses on describing the purpose of the system.The client,the

    developers,and the users identify a problem area and defines a system that

    addresses the problem.This definition is called a system specification which serves

    as a contract between client and developers.

    Analysis:This results in an analysis model that the developers can easily

    understand.The System specification is structured and formalized during analysis to

    produce analysis model which serves as communication among developers.

    The results of requirement elicitation activity and the analysis activity

    are documented in the Requirement Analysis Document (RAD). The first part of

    the document, including use cases and nonfunctional requirements,which written

    during requirements elicitation. The formalization of specification in terms of object

    model is written during analysis.

    6.1.1 Introduction

    6.1.1.1 Purpose of the system:

    The system On line Order Management purpose is to receive orders from

    customers and dealers through online and to maintain those details.This system

    devised to reduce the time delay that occurs in the process of receiving orders

    through tele services and postalservices.This system also provides order information of

    customers to both dealers and Administrator to do their business efficiently.

    6.1.1.2 Scope of the system:

    This system stores all information regarding direct customers, customers through

    dealers and dealers. It provides information regarding orders registered and

    21

  • 8/14/2019 Broad Walk Docs

    22/90

    generates relative reports to both Administrator and to authorized dealers. The

    scope of the system is only Online Ordering, maintaining Information regarding

    authorized dealers and maintaining products catalog.

    6.1.1.3 Objectives and Success Criteria:

    The main objective of On line Order Management system is to replace the

    manual process of receiving orders through tele services or postal services with

    computerization , which helps the organization to get more orders and good

    response in short time with accelerated results and error free data .

    6.1.1.4 Definitions,Acronyms and Abbreviations:

    HTTP: Hyper Text Transfer Protocol.

    MIME: Multipurpose Internet Mail Extension.

    SMTP: Simple Mail Transfer Protocol.

    JDBC: Java Data Base Connectivity.

    ODBC: Open Data Base Connectivity.

    6.1.1.5References: Problem specification,feasibility study prepared during analysis

    as per client requirements.

    6.1.2 CurrentSystem:

    In current system the organization of HMR Electronics receiving orders fromcustomers and dealers through tele services and postal services and maintaining the

    related details manually.The current system is paper based.Due to lack of

    communication company loosing its orders and they are unable to dispatch

    registered orders as per customers and dealers requirements.Also due to

    unavailability of sufficient information about organization Customers sending their

    orders directly to organization even though authorized dealer existing in their

    area.And also due to lack of communication organization is not able to provide

    updated catalog information to dealers and customers.

    Limitations of the Existing system:

    Enormous amount of time consuming for receiving orders.

    Errors can occur during registration of orders through teleservices.

    22

  • 8/14/2019 Broad Walk Docs

    23/90

    Maintaining details of various customers and dealers Manually is complex.

    Difficult to generate required reports.

    So in order to overcome all these limitations and to meet all their requirements

    organization planned to replace this manual process of receiving and maintaining

    order information with computerization.

    6.1.3.ProposedSystem:

    6.1.3.1 Overview: A system has been devised for the company for receiving orders

    online as detailed here under.This proposed System can be described in five

    modules.

    Registering CustomerOrder.

    Applying For Dealership.

    Existing Dealer Module.

    Products Catalog.

    Management Module.

    Registering CustomerOrder:

    The aim of this module is to provide the customer with order form and in turn

    receives order from customer as well as his information. customer can place order

    by viewing catalog provided by the Adminitrator.After receiving order

    Administrator verifies whether there exists dealer in the area specified by customer

    or not.If authorized dealer exists then corresponding customer order can be

    redirected to that dealer.Otherwise the customer will be treated as direct

    customer,Customer can also specify his requirement,basing on which, dispatching

    will be done.Customer should also specify his mode of payment for each order.

    Applying For DealerShip:

    The Dealership application is presented in the module to enable the applicants to

    apply for dealership. These applications are valid for only 6 months from the date

    23

  • 8/14/2019 Broad Walk Docs

    24/90

    of applying. Administrator whenever needs to appoint new dealer for particular

    area verifies applications received from that area and not expired.Basing on the

    Marketing Experience of the applicants Administrator will appoint the new

    dealer.After appointing the dealer,Administrator send DealerId and password to the

    newly appointed dealer.At any time the administrator will have the right either to

    appoint or remove a dealer.

    Existing Dealer Module:

    This module deals with providing information to existing dealer.Any authorized

    dealer can login using his dealerid and password.If he is an authorized dealer he

    can view the information in respect of the customer and his order and also the

    payment details.Basing on the availability of stock and requirement of customers

    he can place order to Administrator. Dealer can also view products catalog which

    is different from catalog provided to customers.By viewing this catalog he can

    estimate the profit.Dealer has also been provided with facility of modifying his

    Information currently existing in Administrator records.

    Products Catalog:

    Administrator maintains catalog information for providing to Dealers and

    Customers differently.Administrator can change the products information,add new

    product,and remove any products information from the catalog.

    Management Module:

    This module facilitates the Administrator with complete information of direct

    customers order,payment and etc at any particular time.He can also view the dealers

    information as well as their order and payment particulars.Administrator can also

    view the orders for dispatch between specific dates.He can also view the comment

    and suggestions sent by customers and dealers.Administrator also need to maintain

    transport charges Information and Products Information.Administrator is also

    provided with data on authrozied and unregistered dealers list which helps him to

    appoint new authorized dealer.In this way by maintaining all the information

    regarding customers and dealers the organization can get expected orders and good

    response.

    24

  • 8/14/2019 Broad Walk Docs

    25/90

    6.1.3.2 Functional requirements: Functional requirements describes the interaction

    between the system and its environment independent of its implementation.

    Customer Order Registration: In this process of registration,system interacts with

    customer and receives input and commands and performs its function.The system

    should accept the following input from customer

    Customer Details:The system takes the following details as input from

    customer.

    First name Address

    Last name Country

    Phone Number State

    Fax Number District

    Email Id Zip Code

    Order Details:The System takes the following details as input while customer

    specifying his order.

    Product Id

    Price

    Quantity

    Payment Details:The system takes the following details as input while customer

    specifying his payment details.Mode of payment

    Comments

    If customer mode of payment is DD then the system must take following details

    as input.

    DD number

    Bank Name

    With the help of proposed system customer can place any no.of orders basing on

    his requirements.After placing order system responds with order information.

    Apply For Dealership: The system should accept the following as input from

    applicant of New Dealership.

    Applicant Details:The system takes the following details as input from

    applicant.

    25

  • 8/14/2019 Broad Walk Docs

    26/90

    FirstName Address

    LastName Country

    FirmName State

    Phone Number District

    Fax Number ZipCode

    EmailId

    Experience Details:The system takes the following information regarding

    marketing experience of applicant as input.

    Products Dealing

    AnnualTurnOver

    Marketing Experience

    After registering application system responds with expiry date of application.

    Authorized Dealer: The should accept the following input from authorized dealer

    for his successful login.

    DealerCode

    Password

    After successful login system provides the following options which requires input

    from dealer.

    Order Details:The system takes the following details as input while dealer placing order.

    ProductId

    Price

    Quantity

    Mode of payment

    Comments

    If dealer mode of payment is DD then system must accept the following details

    as input.

    DDnumber

    BankName

    Modify Details:The system allows the following details for modification.

    Name of Dealer Addresss

    26

  • 8/14/2019 Broad Walk Docs

    27/90

    Phone Number ProductsDealing

    Fax Number AnnualTurnover

    EmailId

    Administrator Module: The system should accept the following as input from

    Administrator of organization for successful login.

    Administrator Id

    Password

    After successful login system provides the following options which requires

    various types of data entry from Administrator.

    Appoint New Dealer:To appoint new dealer the system receives the following

    as input from Administrator.

    Country

    State

    District

    Remove Dealer: To remove any authorized dealer Administrator need to input

    following information.

    Coutry

    State

    District Update Catalog: If this option selected by Administrator system responds with

    three options which requires various types of input.

    Add New Product:To add a new product information to catalog system accepts the

    following input from Administrator.

    ProductId Description

    Productname CustomerPrice

    Capacity DealerPrice

    Electrical input

    Warranty

    Remove Product : To remove a product from catalog Administrator must select the

    following information.

    ProductId

    27

  • 8/14/2019 Broad Walk Docs

    28/90

    Modify Product Info: System allows the Administrator to modify the following

    information about products existing in catalog.

    Capacity CustomerPrice

    Warranty DealerPrice

    Description

    Reports: The main advantage of computerization should be early access to

    information.

    The following is the list of reports expected from the proposed system.

    List of authorized dealers.

    List of Unregistered dealers(applications received for dealership).

    Direct customers order Info on specified date.

    Dealers order Info on specified date.

    Direct customers order info which are to be dispatched between specified

    dates.

    Dealers order info which are to be dispatched between specified dates.

    Suggestions and comments received between specified dates.

    Products Catalog Information.

    6.1.3.3 Nonfunctional requirements:

    Nonfunctional requirements describe user-visible aspects of the system that are not

    directly related to functionality of the system.

    6.1.3.3.1 User Interface and Human factors:

    The proposed system should provide a user- friendly interface to customers and

    dealers as well as Administrator. ease of use is important.The userinterface must

    be suitable for easy and fast data entry.With the help of the interface customers

    even without adequate knowledge of systems would make order for the

    stocks.Administrator needs little training about the system inorder to utilize the

    facilities being provided by the system efficiently.

    28

  • 8/14/2019 Broad Walk Docs

    29/90

    6.1.3.3.2 Documentation: The proposed system requires three levels of

    documentation,user level documentation which helps the customers,dealers and

    administrator how to interact with the system.This documentation includes how to

    fill the forms provided and get reports that can be generated by the system.In the

    proposed system help link provides the user level documentation.The RAD

    prepared during analysis phase helps the developer inorder to develop the system

    as per clients requirements. The system design documentation prepared during

    development process provides information regarding design goals and about

    subsystems into the proposed system which also helps in testing process.In

    addition to user level and development level documentation proposed system also

    requires technical documentation for maintainers of the system.This technical

    documentation includes the port number on which server is running and listening

    clients requests and also includes any other configuration required for maintainers.

    6.1.3.3.3 HardwareConsideration: Hardware Considerations includes the virtual

    machine on which the system should be built. Virtual machine includes operating

    system and any software components needed. Virtual machine minimum required for

    webserver is WINDOWS xp system and web browser is IE3.And the system is

    compatible with Linux, Unix based systems.

    6.1.3.3.4 Performance Characteristics: The proposed system is server applications

    and server applications are inherently multi-threaded.Every request creates new

    thread hence the system supports any no.of concurrent users.Hence this system

    offers good performance and easy solutions to problems.This is the static

    requirement.The Dynamic requirement is system response.As the proposed system

    developed using JavaServerPages which reduces response problems.

    6.1.3.3.5 Error handling and Extreme conditions: The proposed system should

    handle exceptions that originate at low level components and exceptions at high

    level components. The high level components in proposed system should handle

    exceptions that occur while connecting to databaseserver,IOExceptions etc.The end

    29

  • 8/14/2019 Broad Walk Docs

    30/90

    user should not be bother about exceptions at lowlevel.When low level Exceptions

    arises user should be shown with appropriate message.Errors that arises during

    data entry should be handled by performing client side validations.In the proposed

    system all client side validations will be done using JavaScript.

    6.1.3.3.6 Quality Issues: Quality issues refers to how reliable,available and robust

    should the system be?While developing the proposed system the developer must be

    able to guarantee the reliability transactions so that they will be processed

    completely and accurately.

    The ability of system to detect failures and recovery from those failures refers to

    the availability of system.

    Robustness of system refers to the capability of system providing information

    when concurrent users requesting for information.

    As the proposed systems capability of handling various exception it is reliable

    and it will be developed using JSP which supports multithreading. hence it

    satisfies the requests from concurrent users. So it is robust.

    6.1.3.3.7 System modification: As the proposed is not implementing stock

    maintenance so it can be extended and this updation can be done by any

    developer familiar with specified hardware and software constraints followed for

    development of proposed system.

    6.1.3.3.8 Physical Environment: The proposed system can be deployed and

    withstand in any physical environment.

    6.1.3.3.9 Security Issues: Security and confidentiality are the top most concerns

    of the client.The proposed system should provide the following.

    Administrator should be provided with id and password for secured access of

    information regarding dealers and customers.

    30

  • 8/14/2019 Broad Walk Docs

    31/90

    Each authorized dealer should also be provided with code and password for

    controlled access of information regarding customers in their area.

    Access to database should also be restricted.

    6.1.3.4 Pseudo Requirements: No design and implementation constraints imposed

    by the client before the development of Online order management system.

    6.1.3.5

    SOFTWARE REQUIREMENTS:

    Operating System : Windows xp

    Client Side : HTML,JavaScript.

    ServerSide : JDK 1.5,JSP2.1,JAVA MAIL 1.1.3

    Back-end : Oracle 10g

    Server : Apache Tomcat 5.0

    HARDWARE REQUIREMENTS:

    PROCESSOR : Pentium 2 366mhz

    Monitor : SVGA Color monitor

    HardDisk : 10GBRAM : 32MB

    Mouse : Digital

    Keyboard : 105 keys digital

    31

  • 8/14/2019 Broad Walk Docs

    32/90

    6.2 SYSTEM MODELS:

    6.2.1 USECASE MODEL: The functional model, represented in UML with use

    case diagrams,describes the functionality of the system from the users point of

    view. Use cases are used during requirements elicitation and analysis to represent

    the functionality of the system.A use case describes a function provided by the

    system that yields a visible result for an actor.An actor describes any entity that

    interacts with the system.An actor can be human or an external system.In this

    proposed system actors are customer,applicant for dealership,authorized dealer

    and administrator.

    The customer interacts with the system in different ways.

    Request to view products catalog information.

    Request to place order.

    Request to view placed order.

    Request to send comments and suggestions to organization.

    The Applicant interacts with the system in different ways.

    Request to send application for dealership to administrator.

    The Dealer interacts with the system in different ways.

    Request to view catalog information.

    Request to place order.

    Request to view placed order.

    Request to view customer order status in his area.

    The Administrator interacts with the system in different ways.

    Request to view customer order status and dispatch status info.

    Request to view dealer order status and dispatch status info.

    Request to view received comments and suggestions.

    Request to view registered and unregistered dealers list.

    Request to manage catalog information.

    Request to manage transport charges information

    Request to appoint new dealer.

    Request to remove existing dealer.

    32

  • 8/14/2019 Broad Walk Docs

    33/90

    UseCase Descriptions:

    Description of use case view catalog: This use case can be initiated by customer

    by clicking view catalog link on homepage.Then system responds with catalog

    information to customer by retrieving information from database.By viewing this

    information customer can place order.

    Description of use case Add item to Order: This use case can be initiated by

    customer to add items to order.Customer can add any no.of items to order.When

    each item added to order system responds with info about no.of items so far

    added to order.

    Description of usecase PlaceOrder: This usecase can be initiated by customer by

    clicking customer order form link on home page.System responds with order

    form .This form accepts both customer info and order info from customer.The

    placed order will be verified whether authorized dealer existing in the area

    specified by customer or not.If existing corresponding order will be redirected to

    dealer otherwise it will be registered as direct customer order to administrator.

    Description of usecase ViewOrder: This usecase can be initiated by customer

    after placing order to view order .Then after initiating , system responds with order

    info by calculating total amount to be paid including transport charge.

    Description of usecase MailUs: This usecase can be initiated by customer or any

    other person who visits the site by selecting MailUs link. MailUs form accepts

    sender information and any comments or suggestions to Administrator.

    Description of usecase Dealer Login: This usecase can be initiated by authorized

    dealer.Dealer initiates this usecase by clicking dealerlogin link on homepage.Then

    system responds with login form.Dealer fills the form with code and password .If

    he is an authorized dealer then he can avail services provided by the

    system.otherwise system responds with message as Invalid login.

    Description of usecase viewcatalog: This usecase can be initiated by dealer after

    his successful login.Then system responds with catalog information provided by

    the organization which include all information regarding products including

    prices.

    33

  • 8/14/2019 Broad Walk Docs

    34/90

    Description of usecase Add item to order: This usecase can be initiated by

    dealer after his successful login.Dealer can add any no.of items to his order.When

    each item added to order system responds with information about items so far

    added to order.

    Description of usecase PlaceOrder: This usecase can be initiated by Authorized

    Dealer by clicking Dealer order form link after his successful login.Then System

    responds with order form .This form accepts order info from Dealer.The placed order

    will be registered in to administrator records.

    Description of usecase ViewOrder: This usecase can be initiated by Dealer after

    placing order to view order .Then after initiating , system responds with order info

    by calculating total amount to be paid including transport charge.

    Description of usecase managing personal details: This usecase can be initiated

    by dealer after his succeful login.Then system responds with info about dealer in

    administrator records.System allows the dealer to modify some of his personal

    details.

    Description of usecase IndirectCustomer Order status:This usecase can be

    initiated by dealer after his successful login.Then system responds with form

    which accepts the date from dealer.Then system responds with information about

    all customers who placed orders on specified date.

    Description of usecase AdminLogin: This usecase can be initiated by the

    Administrator of the organization.Administrator initiates this usecase by clicking

    adminlogin link on homepage.Then system responds with form which accepts

    administrator id and password.System verifies info submitted by administrator.If he

    is an authorized person then he can avail services provided by the

    system.otherwise system responds with error message Invalid login.

    Description of usecase directCustomerOrderStatus: This usecase can be initiated

    by Administrator of organization after his successful login.Then system responds

    with form which accepts date from administrator.Then system responds with

    information about direct customers orders on specified date.

    Description of usecase DealerOrderStatus: This usecase can be initiated by the

    administrator of organization after his successful login.Then system responds with

    34

  • 8/14/2019 Broad Walk Docs

    35/90

    form which accepts date from administrator.Then system responds with information

    about authorized dealers orders on specified date.

    Description of usecase DirectCustomerOrderDisatch status:This usecase can be

    initiated by the administrator of organization after his successful login.Then

    System responds with form that accepts dispatch date.Then system responds with

    information about direct customers orders which are to be dispatched between

    specified dates.

    Description of usecase DealerOrderDispatch status:This usecase can be initiated

    by the administrator of organization after his successful login.Then System

    responds with form that accepts dispatch date.Then system responds with

    information about dealers orders which are to be dispatched between specified

    dates.

    Description of usecase Mailstatus: This usecase can be initiated by the

    administrator of organization after his successful login.Then system responds with

    form which accepts two dates.Then system responds with information about

    comments and suggestions received between specified dates.

    Description of usecase appoint New dealer: This usecase can be initiated by the

    administrator of organization after his successful login.Then system responds with

    form that accepts the area in which new dealer is to be appointed.After

    specifying area system responds with all applications from that area.Administrator

    need to select the code of applicant who will be appointed as a dealer.

    Description of use case Remove dealership: This use case can be initiated by the

    administrator of organization after his successful login. Then system responds with

    form that accepts the area in which dealership is to be removed. after specifying

    area system responds with message that dealership successfully removed.

    Description of use case managing catalog information: This use case can be

    initiated by the administrator of the organization after his successful login. Then

    System responds with options such as add product, remove product and modify

    product Information of catalog to Administrator.

    Description of usecase managing transport charges Information: This usecase

    can be initiated by administrator of the organization after his successful login.Then

    35

  • 8/14/2019 Broad Walk Docs

    36/90

    system responds with options such as extend availability of product new area

    ,modify transport charges info.

    Description of usecase Unregistered dealers list:This usecase can be initiated

    by the administrator of organization after his successful login.Then system

    responds with all applicants information.

    Description of usecase registered dealers list:This usecase can be initiated by the

    administrator of organization after his successful login.Then system responds with

    all registered dealers information.

    Description of usecase changeid&password: This usecase can initiated by the

    administrator of the organization after his successful login.Then system responds

    with current information of administrator login.Administrator can change desired

    information.

    Description of usecase Apply for dealership: This usecase can be initiated by

    any person visits site and need to apply for dealership.Then system responds with

    form which is to be filled by the applicant.Administrator receives all applications

    which helps him to appoint new dealer.

    6.2.2 DOMAIN ANALYSIS: The objective of the domain analysis is to define a

    set of classes that are encountered throughout an application domain. In the

    domain analysis the relation ship among different classes can also be

    identified.The model prepared during domain analysis is object model.

    Object model: The object model,represented in UML with class diagrams,

    Describes the structure of system in terms of objects, attributes, associations.

    A class is a category or group of things that have similar attributes and common

    behaviors.The class diagrams helps analysts to talk to clients in the clients

    terminology and thus stimulate the clients to reveal important details about the

    problems they want to be solved.The domain classes of online order management

    system in various modules are as following.

    In Customer module classes identified are as follows.

    Procls

    Cudetails

    View catalog

    36

  • 8/14/2019 Broad Walk Docs

    37/90

    Catalog.

    In Dealer module classes identified are as follows.

    Dealer

    Applicant

    Dealer login

    Chekdcode

    Orddte

    Custinfo

    Orderinfo

    Paymentinfo

    Pupdate

    Drocls

    Drdetails

    Dcatalog

    Dvieworder

    In Administrator module classes identified are as follows.

    Admin

    Dlcustinfo

    Dlorderinfo

    Dlpaymentinfo

    Delchges

    Ddispatch

    Dldispatch

    Delprds

    Appdlr

    Deldlr

    Mails

    37

  • 8/14/2019 Broad Walk Docs

    38/90

    Some more classes may be identified during design.The operations and attributes

    are not the final ones.Some of the operations have been defined by sketching

    sequence diagrams over the usecases.

    6.2.3 Dynamic Models: Dynamic model, represented in UML with sequence

    diagrams, state chart diagrams and activity diagrams which describes the internal

    behavior of the system.

    Sequence Diagrams:

    Sequence diagrams describes behavior as as a sequence of messages exchanges

    among set of objects.The sequence diagrams consists of objects represented in the

    usual way as named rectangles with underlined,messages represented as solid-line

    arrows and time represented as a vertical progression.

    State Chart Diagrams:

    State chart diagrams describe behavior in terms of states of individual objects and

    the possible transition between states.one way to characterize the change in a

    system is to say that its objects change their state in response to events and

    time.This also shows the starting and end point of a sequence of state

    changes.State chat diagrams helps during system design to describe domain objects

    with interesting behavior.It is not necessary to describe statechart diagrams for

    each object it is enough to show the state transition for those objects that shows

    complex behavior.

    Activity Diagrams:

    An activity diagram describes a system in terms of activities. Activities are states

    that represent the execution of set of operations.These can be used to represent

    control flow i.e the order in which operations occur and dataflow.This is useful

    for showing what happens in a business process or an operation.

    38

  • 8/14/2019 Broad Walk Docs

    39/90

    39

  • 8/14/2019 Broad Walk Docs

    40/90

    6.3VERIFICATION PROCEDURES OF ANALYSIS:

    Once the analysis model becomes stable the analysis model is reviewed, jointly by

    the developers and client. The goal of the review is to make sure that the system

    specification is correct, complete, consistent and realistic.

    The RAD prepared for this system is correct because it handling errors as per

    client requirements, and all descriptions are in accordance with users definitions.

    RAD prepared is complete because all usecases ,classes and their associations are

    identified.

    RAD prepared during analysis is complete and all the entities are described at the

    same level of detail.And also RAD prepared is realistic, feasibility report is

    prepared to ensure their Feasibility.

  • 8/14/2019 Broad Walk Docs

    41/90

    7.DESIGN

    Design is the first step to moving from the problem domain towards the solution

    domain.Design is essentially the bridge between requirement specification and the

    final solutions for satisfying the requirements.It is the most critical factor affecting

    the quality of the software.

    The design process for the software system has two levels.

    SystemDesign or toplevel design.

    Detailed design or logical design.

    7.1 SYSTEM DESIGN: The System design focuses on software architecture and the

    definition of subsystem.The design phase expands & details the analysis model by

    taking into account all technical implementations and restrictions.It specifies a

    working solution that can easily translated into programming code.The classes

    defined in the analysis are detailed.

    7.1.1 PREPOSED SYSTEM ARCHITECTURE: This section documents the system

    design model of the new system as described below.

    7.1.1.1 Subsystem Decomposition:This describes the decomposition into subsystems

    and the responsibilities each. The subsystems defined in Online Order Management

    System are as follows.

    Userinterface package : It enables the user to interact with the system and toview the information provided by the system.The user interface in the proposed

    system developed using HyperTextMarkUpLanguage .This package calls operations

    on the business objects which defines the functions to retrieve data and to

    manipulate data in the database.

    Business Objects Package: This includes domain classes from analysis model such

    as customer,procls,cudetails,drdetails,admin etc.These classes are detailed in the

    design process so that their operations are completely defined.It interacts with the

    database package to retrieve and update the information in the Online Order

    Management Database.All beans defined in this proposed system comes in to this

    package.

    Database Package: This includes the Database API which is responsible for

    establishing connection,creating statement and executing queiries.This package

  • 8/14/2019 Broad Walk Docs

    42/90

    includes classes DriverManager,Connection etc.This package is imported by the

    business objects package inorder interact with database of Online Order

    Management System.

    7.1.1.2 Hardware/Software mapping: This includes the issues such as how

    subsystems are assigned to hardware configurations and the software reuse.From

    requirements the subsystems deduced are user interface and business logic runs on

    two different nodes.User interface runs on onboard computer and business logic on

    webserver. As a developer I select windows 98 machine as the virtual machine for

    the webserver and webbrowser InternetExplorer as the virtual machine for

    OnBoardcomputer.In this proposed system defined in business objects subsystem

    can be reused.

    7.1.1.3 Persistent data management: In this proposed system the data regarding

    customers, dealers and products represents persistent data to be stored by the

    system. The proposed system should support concurrent access of data , and data

    can be accessed from multiple platforms and also there is a need of multiple

    applications work on same data. Hence to meet these requirements this system

    maintains data as relational database.

    7.1.1.4 Access Control and Security: This section describes who can access which

    type of data of system and how their access is controlled and how security of

    data is provided. In this proposed system customers can only place order and can

    not access any data related to system. Where as dealers can access data regarding

    customers in their scope . Dealers access to data is secured and controlled by

    providing code and password to each dealers. Administrator can access any type of

    data related to system.

    7.1.4.5 Control Flow: This section describes can more than one user access the

    system at same time and the choice of control flow. As the proposed system is

    online more than one user can access the system at same time for instance

    customers can place order at the same time dealers or administrator can view the

    order status. So the system should handle multiple requests at same time. The

    control flow is threads because this system is a web application it creates arbitrary

    no.of threads for each request.

  • 8/14/2019 Broad Walk Docs

    43/90

    7.1.4.6 Boundary Conditions: Boundary conditions describes the start up, shut

    down and error behavior of the system. In this system starting up and shutting down

    the server need to be done by administrator .These are the actions recognized

    during the design phase of the system. Also In this system alert messages are

    defined to handle the errors during user input and the functionality of the system

    handling various types of exceptions .

  • 8/14/2019 Broad Walk Docs

    44/90

    7.2.3 DATABASE DESIGN:

    The data pertaining to proposed system is voluminous hence a careful design of

    the database must proceed before storing the data in the database.

    A database management system provides flexibility in the storage and retrieval of

    data.The DBMS is a bridge between the application program,which determines

    what data data are needed and how they are processed, and the operating system

    of the computer,which is responsible for placing data on the magnetic storage

    devices.A schema defines the database and a subschema defines the portion of the

    database that a specific program will use.

    Normalization: Normalization results in the formation of tables that satisfy certain

    specified constraints and represent certain normal forms.The normal forms are used

    to ensure that various types of anomalies and inconsistencies are not introduced in

    the database.Normal forms are table structures with minimum redundancy.

    The most important and widely used normal forms are

    First Normal Form (1NF)

    Second Normal Form (2NF)

    Third Normal Form (3NF)

    Boyce-Codd Normal Form (BCNF)

    We have to apply each of these normal forms on Online Order Management

    System database.

    First Normal Form (1NF): First Normal form states that the domain of an attribute

    must include only atomic values and that the value of any attribute in a tuple

    must be a single value from the domain of that attribute.

    All the relations in this proposed system satisfy the First Normal Form.

    Second Normal Form(2NF): Second Normal Form is based on the concept of

    functional dependency. A relation is said to be in 2NF when it is 1NF and every

    non-primary key attribute should depend on entire primary key but not on part of

    primary key.All the relational schemas obtained after applying 1NF are satisfying

    2NF.

  • 8/14/2019 Broad Walk Docs

    45/90

    Third Normal Form(3NF): Third Normal Form is based on the concept of

    transitive dependency.A relation is said to be in 3Nf when it is in 2NF and every

    non key attribute is non transitively dependent on the primary key.

    The relational schemas obtained after applying 2NF are satisfying 3NF.

    Boyce-Codd Normal Form(BCNF): A relation is said to be in BCNF if none of

    the attribute of a composite key are dependent on an attribute of other composite

    key.

    All relations obtained after applying 3NF are satisfying BCNF.

    DATA DICTIONARY:

    A Data Dictionary is a collection of metadata,that is,data about data.In addition to

    storing catalog information about schemas and constraints,the data dictionary stores

    other information, such as design decisions, usage standards, application program

    descriptions, and user information.

    TABLE STRUCTURES:

    Table Name: DCUSTOMERS

    Description: This table contains all the details about direct customers.

    Constraints: DCID PRIMARY KEY

    Field

    Name

    Description Data Type NOT NULL/NULL

    Dcid Customercode Varchar2(15) Not Null

    Fname First Name Varchar2(15)

    Lname Last Name Varchar2(15)

    Phone PhoneNumber Varchar2(15)

    Fax Fax Number Varchar2(15)

    Email Email Id Varchar2(25)

    Address Address Varchar2(65)

    State State Varchar2(15)

    Country Country Varchar2(15)

    District District Varchar2(15)

    Zip Zip code Varchar2(10)

    Table Name: ADMIN

    Description: This table contains details about Administrator.

    Constraints: USERID PRIMARY KEY

  • 8/14/2019 Broad Walk Docs

    46/90

    Field

    Name

    Description Data Type NOT NULL/NULL

    UserId Administrtor ID Varchar2(15) Not Null

    PassWord Password Varchar2(15)

    Table Name: RDEALERS.

    Description: This table contains all the details about Registered Dealers.

    Constraints: RDCODE PRIMARY KEY

    Field Name Description Data Type NOT NULL/NULL

    Rdcode DealerId Varchar2(15) Not Null

    Pwd Password Varchar2(15)

    Fname First name Varchar2(15)

    Lname Last name Varchar2(15)

    Frmname Firm name Varchar2(25)

    Phone Phone number Varchar2(15)

    Fax Fax number Varchar2(15)Email Email id Varchar2(25)

    Country Country Varchar2(15)

    State State Varchar2(15)

    District District Varchar2(15)

    Zip Zip code Varchar2(10)

    Dtoreg Date of regstn Date

    Adr Address Varchar2(65)

    Table Name: REXPER

    Description: This table contains registered dealers Experience Info.

    Constraints: RDCODE PRIMARY KEY

    RDCODE FOREIGN KEY RDEALERS(RDCODE)

    Field Name Description Data Type NOT NULL/NULL

    Rdcode Dealer code Varchar2(15) Not Null

    Prodeal Products dealing Varchar2(25)

    Anntrv Annual turnover Number(12,3)

    Me Mktg exprnce Number(5,3)

    Table Name: ICUSTOMERS

    Description: This table contains all the details about Indirect customers.

    Constraints:ICID+RDCODE PRIMARY KEY

    RDCODE FOREIGN KEY RDEALERS (RDCODE)

    Field Name Description Data Type NOT NULL/NULL

    Icid Customer Id Varchar2(15) Not Null

    Rdcode Dealer code Varchar2(15) Not Null

    Fname First name Varchar2(15)

  • 8/14/2019 Broad Walk Docs

    47/90

    Lname Last name Varchar2(15)

    Phone Phone number Varchar2(15)

    Fax Fax number Varchar2(15)

    Email Email Id Varchar2(25)

    Address Address Varchar2(65)

    State State Varchar2(15)Country Country Varchar2(15)

    District District Varchar2(15)

    Zip Zip code Varchar2(10)

    Table Name: MAILUS

    Description: This table contains all comments and suggestions recieved.

    Constraints: MAILNO PRIMARY KEY

    Field Name Description Data Type NOT NULL/NULL

    Mailno Mail Number Number(5) Not Null

    Maild MailId of sender Varchar2(35)

    Dom Date of mail Date

    Cmt Content Varchar2(300)

    Uname Name of sender Varchar2(15)

    Table Name: DEALERS

    Description: This table contains all the details of unregistered dealers.

    Constraints: DCODE PRIMARY KEY

    Field Name Description Data Type NOT NULL/NULL

    Dcode Dealer code Varchar2(15) Not Null

    Fname First name Varchar2(15)

    Lname Last name Varchar2(15)

    Firm Firm name Varchar2(25)

    Phone Phone number Varchar2(15)

    Fax Fax number Varchar2(15)

    Email Email id Varchar2(25)

    Address Address Varchar2(65)

    District District Varchar2(15)State State Varchar2(15)

    Country Country Varchar2(15)

    Zip Zip code Varchar2(10)

    Dtaply Date of Apply Date

    Status Expiry status Varchar2(1)

  • 8/14/2019 Broad Walk Docs

    48/90

    Table Name: EXPER

    Description: This table contains unregistered dealers Experience Info.

    Constraints: DCODE PRIMARY KEY

    Field Name Description Data Type NOT NULL/NULL

    Dcode Dealer code Varchar2(15) Not NullProdeal Products dealing Varchar2(25)

    Anntrv Annual turnover Number(12,3)

    Me Mktg exprnce Number(5,3)

    Table Name: CHRGES.

    Description: This table contains all comments and suggestions recieved.

    Constraints: COUNTRY PRIMARY KEY

    Field Name Description Data Type NOT NULL/NULL

    Country Country name Varchar2(15) Not Null

    Trchge TransportCharge Number(12,3)Table Name: PRODUCTS.

    Description: This table contains all details about products available.

    Constraints: PRODID PRIMARY KEY

    Field Name Description Data Type NOT NULL/NULL

    Prodid Product id Varchar2(10) Not Null

    Proname Product name Varchar2(20)

    Capacity Capacity Number(5)

    Eleinput Electrical Input Varchar2(15)

    Warrenty Warrenty Varchar2(10)Cmt Description Varchar2(25)

    Cschge Customer price Number(12,3)

    Dschge Dealer price Number(12,3)

    Table Name: DIORDER.

    Description: This table contains direct customer order Information.

    Constraints:DCID+DORDID+PRODID PRIMARY KEY

    PRODID FOREIGN KEY PRODUCT(PRODID)

    DCID FOREIGN KEY DCUSTOMERS(DCID)

    Field Name Description Data Type NOT NULL/NULLDcid Customer id Varchar2(15) Not Null

    Dordid Order number Varchar2(10) Not Null

    Prodid Product id Varchar2(10) Not Null

    Quantity Qty ordered Number(5)

    Didamt amount Number(12,3)

  • 8/14/2019 Broad Walk Docs

    49/90

    Table Name: DPAYS.

    Description: This table contains direct customer Payment Information.

    Constraints:DCUSTID+DORID PRIMARY KEY

    DCUSTID FOREIGN KEY DCUSTOMERS(DCID)

    Field Name Description Data Type NOT NULL/NULL

    Dcustid Customer id Varchar2(15) Not Null

    Dorid Order number Varchar2(10) Not Null

    Mdp Modeofpayment Varchar2(10)

    Amount Order amount Number(12,3)

    Need Time specd Varchar2(10)

    Cmt Comments Varchar2(25)

    Dor Date of order Date

    Table Name: DDDINFO.

    Description: This table contains directcustomers DD Information.

    Constraints:DCUSTID+DORID PRIMARY KEY

    DCUSTID FOREIGN KEY DCUSTOMERS(DCID)

    Field Name Description Data Type NOT NULL/NULL

    Dcustid Customer id Varchar2(15) Not Null

    Dorid Order id Varchar2(10) NotNull

    Ddno Ddnumber Varchar2(15)

    Bankname Bank name Varchar2(25)

    Table Name: IDRORDERS.

    Description: This table contains indirect customer order Information.

    Constraints:ICID+IORID+RDID+PRODID PRIMARY KEY

    ICID,RDID FOREIGN KEY ICUSTOMERS(ICID,RDCODE)

    PRODID FOREIGN KEY PRODUCTS(PRODID)

    Field Name Description Data Type NOT NULL/NULL

    Icid Customer id Varchar2(15) Not Null

    Rdid Dealercode Varchar2(15) Not NullIorid Order number Varchar2(10) Not Null

    Prodid Product id Varchar2(10) Not Null

    Quantity Quantity Number(5)

    Idamt Amount Number(12,3)

    Table Name: IDPAYS.

    Description: This table contains indirect customer Payment Information.

  • 8/14/2019 Broad Walk Docs

    50/90

    Constraints:ICID+IORDID+RDID PRIMARY KEY

    ICID,RDID FOREIGN KEY ICUSTOMERS(ICID,RDCODE)

    Field Name Description Data Type NOT NULL/NULL

    Icid Customer id Varchar2(15) Not Null

    Iordid Order number Varchar2(10) Not NullRdid Dealer code Varchar2915) Not Null

    Mdt Modeofpayment Varchar2(10)

    Amount Order amount Number(12,3)

    Need Time specd Varchar2(10)

    Cmt Comments Varchar2(25)

    Dor Date of order Date

    Table Name: DDINFO.

    Description: This table contains indirect customers DD Information.

    Constraints:ICID+IORID+RDID PRIMARY KEY

    (ICID,RDID) FOREIGNKEY ICUSTOMERS(ICID,RDCODE)

    Field Name Description Data Type NOT NULL/NULL

    Dcustid Customer id Varchar2(15) Not Null

    Dorid Order id Varchar2(10) Not Null

    Rdid Dealer code Varchar2(15) Not Null

    Ddno Ddnumber Varchar2(15)

    Bankname Bank name Varchar2(25)

    Table Name: DTRANS.

    Description: This table contains direct customers dispatch Info.

    Constraints:TRID PRIMARY KEY

    (DORDID,DCID) FOREIGN KEY DPAYS(DORID,DCUSTID)

    Field Name Description Data Type NOT NULL/NULL

    Trid Transaction id Number(10) Not Null

    Dordid Order no Varchar2(10)

    Dcid Customer id Varchar2(15)

    Dot Date of transtn Date

    Table Name: IDTRANS.

    Description: This table contains Indirect customers dispatch Info.

    Constraints:TRID PRIMARY KEY

    (IDORID,RDID,IDCID) FOREIGN KEY IDPAYS(IDORDID,

    RDID,ICID)

    Field Name Description Data Type NOT NULL/NULL

    Trid Transaction id Number(10) Not Null

    IDorid Ordernumber Varchar2(10)

  • 8/14/2019 Broad Walk Docs

    51/90

    Rdid Dealer code Varchar2(15)

    IDcid Customer id Varchar2(15)

    Dot Date of transtn Date

    Table Name: DLORDER.

    Description: This table contains Dealers order Information.

    Constraints:RDID+DORDID+PRODID PRIMARY KEY

    PRODID FOREIGN KEY PRODUCT(PRODID)

    RDID FOREIGN KEY RDEALERS(RDOCDE)

    Field Name Description Data Type NOT NULL/NULL

    Rdid Dealer code Varchar2(15) Not Null

    Dordid Order number Varchar2(10) Not Null

    Prodid Product id Varchar2(10) Not Null

    Quantity Qty ordered Number(5)

    Idamt amount Number(12,3)

    Table Name: DPAYS.

    Description: This table contains dealer Payment Information.

    Constraints: RDID+DORDID PRIMARY KEY

    RDID FOREIGN KEY RDEALERS(RDCODE)

    Field Name Description Data Type NOT NULL/NULL

    Rdid Dealer code Varchar2(15) Not Null

    Dordid Order number Varchar2(10) Not Null

    Mdp Modeofpayment Varchar2(10)

    Amount Order amount Number(12,3)Need Time specd Varchar2(10)

    Cmt Comments Varchar2(25)

    Dor Date of order Date

    Table Name: DEDDINFO.

    Description: This table contains dealers DD Information.

    Constraints: RDID+RORDID PRIMARY KEY

    RDID FOREIGN KEY RDEALERS(RDCODE)

    Field Name Description Data Type NOT NULL/NULLRdid Dealercode Varchar2(15) Not Null

    Rordid Order Number Varchar2(10) NotNull

    Ddno Ddnumber Varchar2(15)

    Bankname Bank name Varchar2(25)

  • 8/14/2019 Broad Walk Docs

    52/90

  • 8/14/2019 Broad Walk Docs

    53/90

    8.CODING:

    8.1 SampleCode:For DealerLogin Form.




    function check()

    { if(f1.dcode.value=="")

    { alert("Please enter dealer code");

    f1.dcode.focus();

    return false;

    } if((f1.pwd.value)=="")

    { alert("Please enter Password");

    f1.pwd.focus();

    return false;

    } return true; }

    HelpMe

  • 8/14/2019 Broad Walk Docs

    54/90

    DEALER LOGIN FORM





    Please enter Your Dealer Code:

    Please enter Your Password:





    function check()

    { if(f1.dcode.value=="")

    { alert("Please enter dealer code");

    f1.dcode.focus();

    return false; }

    return true; }

    DEALER LOGIN FORM





    Please Enter Your Dealer Code:

    Please Enter Your PassWord:

  • 8/14/2019 Broad Walk Docs

    55/90

    package mytags;

    import java.io.*;

    import java.sql.*;

    public class checkdcode

    { String dcode,dist,coun,pwd; int flag;

    public void setDcode(String dcode)

    { this.dcode=dcode; }

    public void setPwd(String pwd)

    { this.pwd=pwd; }

    public String getDcode()

    { return this.dcode; }

    public String retdcode()

    { return this.dcode; }

    public int check()

    { try {

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    Connection con=DriverManager.getConnection("jdbc:odbc:hmr","project","saua");

    Statement st=con.createStatement();

    ResultSet rs=st.executeQuery("select rdcode,district,country from rdealers where

    rdcode='"+dcode+"' and pwd='"+pwd+"'");

  • 8/14/2019 Broad Walk Docs

    56/90

  • 8/14/2019 Broad Walk Docs

    57/90

    f1.lname.value="";

    f1.lname.focus();

    return false; }}

    if(f1.phn.value=="")

    { alert("Please Enter phone number!");

    f1.phn.focus();

    return fals