You are on page 1of 28

INTRODUCTION PROBLEM STATEMENT

The project aims at better interaction of sales-person, business administrator and customers all at one place.

OVERVIEW
Today business requires spreading its product all over the world. Owing to this fact, it has to lead a highly competitive business process all over the world. Competitive advantage is increasingly driven by the advancement in the use of information technology and innovation. Currently Mobile and Internet is the primary source of information for entrepreneurs and their business. With the recent advances in hardware, software and communication technologies, intelligent software and communication systems can provide personalized assistance to sales-person in planning to sales their products in remote places. Traditionally, sales-person must manually visit multiple independent places for taking orders from customers. Owing to this fact, they live apart from their centralized business area. Due to busy schedule they are unable to continuously collaborate with the administrator. They require keeping all updated information and submitting information about new customers and orders. With the advent of internet and mobile communication they can access customer and product information and records of orders any time. The fundamental purpose of this paper is to illustrate that mobile computing is a versatile and potentially strategic technology that improves information quality and accessibility, increases operational efficiency, and enhances management effectiveness.

OBJECTIVE OF THE PROJECT


The project is proposed to internet and mobile-computing based system which will help in increasing the interaction between the sale-person and business-administrator. The following is a list of problems that are supposed to be solved by our web and mobilecomputing based business assistance system: Sales-person having problems when being visited in some rural area and not having any interaction with the business-administrator. Sales-person having problems of orders submissions of customers to the centralized office. Problems in sharing of information. Disconnecting of Internet and mobile communication.
1

Sharing information about customer between sales-persons in the same area. Problems faced by sales-person when not able to communicate with other sales-persons working in some other city. No common place for complaints and suggestions from customers and sales-person.

FUNDAMENTALS
Our project is based on web and mobile application. Here we explain the aspects of web based and mobile applications. The web applications are primarily based on clientserver model. So, it contains the fundamentals of client-server model, the project is developed using jsp and servlets as front end and SQL as back end. The mobile application assists to access data through the clients. So, it contains GUI application. It can interact with the client PC. So, we have used Android with Eclipse, which helps us to develop mobile application using Java. WEB APPLICATION An application is a program or a group of programs designed for use by an end-user. If the end-user interacts with the application via web browser, the application is web based or web application. If the web-application requires long term storage of information, using a database, it is a web database application. Our project is also based on web database application that can be accessed with web browser, such as, internet explorer, Mozilla, etc. Web database application is designed to help us to accomplish a task. It can be a simple application that displays information in a browser window, for example, it displays product information and orders taken by sales-person. A web database application consists of two parts: Database: The collection of data, usually referred to as the database, contains information relevant to our company. The database is design to manage large bodies of information. Management of information involves both defining structure for storage of information and providing mechanism for the manipulation of information. In addition, the database system must ensure the safety of the information stored, despite system crashes or attempts at unauthorized access. Application: The application part is a program or group of programs that perform the required operation. Programs create the interface between user and the required application of the company. The user opens the browser window and access the information. Programs are an essential part of our application. These programs help the user to provide a platform to manipulate and fetch data in it.
2

CLIENT-SERVER MODEL The personal computers, supplanted terminals connected to centralized systems. Correspondingly, personal computers summed the user-interface functionality that used to be handled directly by the centralized systems. As a result, centralized systems today act as server system that satisfies requests generated by client systems. Because of the internet, terms such as Web based and Web Enabled have replaced the client-server buzzword, yet the client-server architecture is conceptually the same. Users desktop and laptop computers even mobile phones are still clients, and there are hundreds of thousands of web servers throughout the internet delivering web pages. Nevertheless, client-server is mostly used to refer to legacy non-web-based systems. What makes the term even fuzzier is the fact that many old client-server has been modified to include Web access. On the web, the client runs the browser in just like in legacy client-server can perform little or a lot of processing: simple displaying of HTML pages, more processing with embedded scripts or considerable processing with java applets. A myriad of browser plug-ins provide all sorts of client-side processing. The server side of the web is multi-tier. Server architecture with interlinked web services, application servers, database servers and caching servers.

TECHNICAL
This gives idea of basic fundamentals that are required for the development of the system. The part will deal with the languages that are needed for this purpose. Static content The commonly seen web pages on the internet are mostly created with HTML alone. For this reason they are static, meaning the user cannot interact with the web pages, other than to pass data to other page through HTML forms. The data hence passed must be processed for it to be used by an application. HTML cannot process data but can only display static content. Because of this, HTML cannot alone be used to develop a web application; other languages in addition to HTML must be used to process data. Dynamic content Dynamic web pages on the other hand allow the user to interact with the web page. Different users might see different web pages. For instance, a sales-person searches the available product information of the company. Dynamic pages generate content that is based on users input. User interaction is not an added feature with dynamic content, but a necessary one. As mentioned above, to create dynamic web pages, we must use another language in addition to HTML. This justifies the need for a language such as jsp and servlet.

MOBILE APPLICATION
Android has the potential for removing the barriers to success in the development and sale of a new generation of mobile phone application software. Just as the standardized PC and Macintosh platforms created markets for desktop and server software, Android, by providing a standard mobile phone application environment, will create a market for mobile applicationsand the opportunity for applications developers to profit from those applications. Our Android applications will be built from four basic component types that are defined by the Android architecture: Activities: These are comparable to standalone utilities on desktop systems, such as office applications. Activities are pieces of executable code that come and go in time, instantiated by either the user or the operating system and running as long as they are needed. They can interact with the user and request data or services from other activities or services via queries or Intents. Most of the executable code we write for Android will execute in the context of an Activity. Activities usually correspond to display screens: each Activity shows one screen
4

to the user. When it is not actively running, an Activity can be killed by the operating system to conserve memory. Services: These are analogous to services or daemons in desktop and server operating systems. They are executable pieces of code that usually run in the background from the time of their instantiation until the mobile handset is shut down. They generally don't expose a user interface. The classic example of a Service is an MP3 player that needs to keep playing queued files, even while the user has gone on to use other applications. Our application may need to implement Services to perform background tasks that persist without a user interface. Broadcast and Intent Receivers: These respond to requests for service from another application. A Broadcast Receiver responds to a system-wide announcement of an event. These announcements can come from Android itself (e.g., battery low) or from any program running on the system. An Activity or Service provides other applications with access to its functionality by executing an Intent Receiver, a small piece of executable code that responds to requests for data or services from other activities. The requesting (client) activity issues Intent, leaving it up to the Android framework to figure out which application should receive and act on it. Content providers: These are created to share data with other activities or services. A content provider uses a standard interface in the form of a URI to fulfill requests for data from other applications that may not even know which content provider they are using. For example, when an application issues a query for Contact data, it addresses the query to a URI of the form: Content: //contacts/people The operating system looks to see which applications have registered themselves as content providers for the given URI, and sends the request to the appropriate application (starting the application if it is not already running). If there is more than one content provider registered for the requested URI, the operating system asks the user which one he wants to use.

SCOPE
This project does not include GPRS technology as used by Android devices. The main constraint in this project is memory in the mobile device. The mobile device is considered to be a low end device running android. The location of the customer cannot be traced as is possible today. This project is made keeping in mind that salesman does not need a fully fledged app.

FUTURE ENHANCEMENTS
The mobile application can made fully fledged with GPRS facility and location based services.

REQUIREMENT ANALYSIS

SOFTWARE REQUIREMENT SPECIFICATION Administrator: Admin has the highest privileges in the user hierarchy. He can view the details of any sales person & product. He can modify the information of a sales person, product & order. Customer : Costumer is the basic user of the system who can make order of product to a sales person and access information about product and look their updated information of a product which may be related cost ,feature, new launch product. Sales executive person : Sales person is the essential user in the system who can take order from a costumer and upload information to server and download order which is not fulfilled and upload new order and view his/her performance. Sales person can view the updated details. Order: When a new order is taken by the salesperson, the information related to the order (such as product details, cost, date of delivery, customer details etc) will be stored. Product: Updated information about product can be accessed by administrator, customer and salesperson. HTML: Hypertext Markup Language is a markup language used to design static webpages. HTTP: Hypertext Transfer Protocol is a transaction oriented client/server protocol between web browser & a Web Server TCP/IP: Transmission Control Protocol/Internet Protocol, the suite of communication protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones being TCP and IP.

PLATFORM SPECIFICATION
HARDWARE REQUIREMENTS (MINIMUM) Interface Server Side Software Apache Tomcat, MySQL,Windows Description PC with 2 GB hard-disk, a modern CPU and at least 256 MB RAM.

Client Side

Browser(IE 6.0 or More, Chrome, Opera, Firefox)

Computer with a 233MHz processor or higher (Pentium processor recommended) At least 64MB Memory

SOFTWARE INTERFACES Software Operating System Web Server Middle Ware Description Windows Apache Tomcat JSP

Database Mobile Mobile Database IMPLEMENTATION LANGUAGE

MySQL 5.0.51a Android SQLite

The project uses JAVA. This project also uses JSP embedded HTML, along with the use of Cascaded Style Sheets in HTML.

FEASIBILITY
Feasibility study After the analysis of the requirement from the proposed system and specification of the proposed system a feasibility study of the projected system is conducted. The feasibility study is done to find whether the system is beneficial to user and organization or not. The feasibility study is carried out to select the best system that meets performance requirements. The feasibility study includes the investigation of the information needs of the end user and objectives, constraints, basic resource requirement and cost benefits. The main and prime objective of feasibility study is not to solve the problem, but to acquire a sense of its scope. Based on this the feasibility of the proposed system can be evaluated in terms of following major categories: Technical Feasibility The assessment is based on an outline design of system requirements in terms of Input, Output, Fields, Programs, and Procedures. The whole system is based on client server Architecture. It is technically feasible with the help of PHP embedded HTML and MySQL as database. Economical Feasibility Establishing the cost-effectiveness of the proposed system i.e. if the benefits do not outweigh the costs then it is not worth going ahead. Economic analysis is the most frequently used method for evaluating the effectiveness of a new system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If benefits outweigh costs, then the decision is made to design and implement the system. The cost involved will that be of development & maintenance of software. But the benefits of the project will certainly cut down the costs involved in the traditional management of project which was done manually. Since Hardware and Software requirements of the system are very nominal and no other special requirement is there hence it is economically feasible. As we have used JSP and MySQL the combination is best as they are MySQL free for use and offer seamless connectivity. Also one can get the web space economically for this combination. Other important factor is that the product can be tested on Free-Web servers widely available for the combination of JSP-MySQL. Also this combination is Open-Source & Free of Cost.

Operational Feasibility Operational feasibility is a measure of how well a proposed system solves the problems, and takes advantages of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development. It is also operationally feasible as it uses technology which consumes very little resources and doesnt affect any other application running in our computer.

10

LITERATURE SURVEY
Android is an open source software toolkit for mobile phones that was created by Google and the Open Handset Alliance. It is inside millions of cell phones and other mobile devices, making Android a major platform for application developers. HISTORY

Google purchased the initial developer of the software, Android Inc., in 2005. The unveiling of the Android distribution on November 5, 2007 was announced with the founding of the Open Handset Alliance, a consortium of 84 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a license. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android. THE ANDROID PLATFORM Android is a software environment built for mobile devices. It is not a hardware platform. Android includes a Linux kernel-based OS, rich UI, end-user applications, code libraries, application frameworks, multimedia support, and much more. Components of the underlying OS are written in C or C++, user and built-in applications are built for android in Java. By leveraging its Linux kernel to interface with the hardware, android runs on many different devices from multiple cell phone manufacturers.

11

ANDROID SOFTWARE ENVIROMENT LINUX KERNEL DALVIK VIRTUAL MACHINE CUSTOM & BUILT-IN APPLICATIONS IN JAVA

BUILDING ON THE LINUX KERNEL Android is built on a Linux kernel and on an advanced, optimized VM for Java applications. The Linux kernel component of the android stack promises agility and portability to take advantage of numerous hardware options for future androidequipped phones. Androids Java environment is key: It makes Android accessible to programmers because of both the number of Java developers and the rich environment that Java programming has to offer. An open source foundation unleashes the capabilities of talented individuals and companies to move the platform forward. The Linux kernel is a proven core platform. Reliability is more important than performance when it comes to a mobile phone. Another advantage of using Linux as the foundation of the Android platform stack is that it provides a hardware abstraction layer, the upper levels remain unchanged despite changes in the underlying hardware. As new accessories appear on the market, drivers can be written at the Linux kernel to provide support. User applications as well as core Android applications are written in Java and are compiled into byte codes. Byte codes are interpreted at runtime by an interpreter known as a virtual machine (VM). RUNNING IN THE DALVIK VM The Dalvik VM is an example of the need for efficiency, the desire for rich programming environment. The Android applications run inside Dalvik VM. VM relies on the Linux kernel for the services such as process, memory and filesystem management. From the mobile application developers perspective, Android is a Java environment, but the runtime isnt strictly a Java VM. Androids code environment is Java. Applications are written in Java, which is compiled to Java byte codes and subsequently translated to a similar but different representation called dex files. These files are logically equivalent to Java byte codes, but they permit Android to run its applications in its own VM thats arguably free from Oracles licensing clutches and an open platform upon which Google and potentially the open source community can improve as necessary.
12

THE LAYERS OF ANDROID

The following are the prominent features of the Android stack: A Linux kernel provides a foundational hardware abstraction layer, as well as core services such as process, memory, and filesystem management. The kernel is where hardware-specific drivers are implemented capabilities such as Wi-Fi and Bluetooth are here. The Android stack is designed to be flexible with many optional components that largely rely on the availability of specific hardware on a given device. These components include features such as touch screens, cameras, GPS receivers, and accelerometers.
13

Prominent code libraries including: o Browser technology from WebKit, the same open source engine powering Macs Safari and iPhones Mobile Safari browser. WebKit has become the de facto standard for most mobile platforms. o Database support via SQLite, an easy-to-use SQL database. o Advanced graphics support including 2D, 3D, animation from Scalable Games Language (SGL) and OpenGL ES. o Audio and video media support from PacketVideos OpenCORE and Googles own Stagefright media framework. o Secure Socket Layer (SSL) capabilities from the Apache project. An array of managers that provide services for: o Activities and views o Windows o Location-based services o Telephony o Resources The Android runtime which provides: o Core Java packages for a nearly full-featured Java programming environment. o The Dalvik VM employs services of the Linux-based kernel to provide an environment to host Android applications.

14

BUSINESS ASSISTANCE APPLICATION AVAILABLE IN THE MARKET


NetSuites SALES FORCE AUTOMATION

NetSuite's sales force automation (SFA) software powers your sales organization with the most integrated out-of-the-box SFA capabilities available. NetSuite's SFA drives your business performance with a totally seamless sales process from opportunity, up sell and quote management to sales forecasting, order management, fulfillment and even sales commissions. Unlike other solutions, NetSuite's SFA software gives your sales team unprecedented visibility into every aspect of the customer relationship, including support cases and even back-office information such as contracts and inventory. This gives sales reps the visibility they need to not just sell, but also up sell, drive renewals and properly set customer expectations. Managers and executives gain better overall visibility and control with real-time dashboards that allow them to monitor sales effectiveness and make mid-course corrections. SalesNOW

15

SalesNOW provides you with a mobile application so you can utilize your mobile device to manage all your sales data. Since it is a rich client version that is installed on your mobile device, you can access all your sales data whether you are in or out of coverage in the office, in a taxi, at a hotel, or on an airplane. In other words, access your data when and where you need it. SalesNOW mobile edition is simply a website that you access from your mobile browser. The application was designed and built for the mobile device. The mobile device is the core technology device behind the mobile professional. The mobile professionals using their mobile device wireless devices have access to their email, calendar, task, and to dos in the palm of their hand and now with SalesNOW, full access to their critical sales data.

16

TECHNOLOGY USED
We are using JAVA extensively. J2EE Java 2 Enterprise Edition is a programming platform part of the Java Platform for developing and running distributed multitier architecture Java applications, based largely on modular software components running on an application server. Characteristics of JAVA are: Simple- Java was designed to be easy for the professional programmer to learn and use effectively .it inherit the object oriented concepts of c++, which makes it easy to learn Security - While using a java compatible web browser, we can safely download java applets without fear of viral infection or malicious intent .JAVA achieves this protection by confining a java program to the java execution environment and not allow it access to other part of the computer Portability - For programs to be downloaded to all the various types of platform connected to the internet, some means of generating portable executable code is needed. The mechanism that helps to ensure security also helps to create portability Object-Oriented - JAVA is not designed to be source code compatible with any other language .java enhances and refines the object oriented paradigm used by C++. Features like encapsulation inheritance, abstraction and polymorphism are also included in java Robust - The multiplatform environment of the web places extraordinary demand on a program, because the program must execute reliably in a variety of systems. To gain reliability, JAVA restricts you in a few key areas, to force you to find your mistakes early in programming, at the same time JAVA frees you from having to worry about many of the most common causes of programming errors. Multithreaded- Java was designed to meet the real world requirement of creating interactive, networked programs. To accomplish this JAVA supports multithreaded programming which allows you to write program that do many things simultaneously. This is the basic requirement of our project as many transactions are to be served at same time.

17

The components of JAVA that we use are: SERVLET Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems. A servlet can almost be thought of as an applet that runs on the server side-without a face. Java servlets make many Web applications possible. The reference implementation is included in the Java EE 5 SDK and also in the open-source Java Platform, Enterprise Edition (Java EE) application server, available through the Apache Tomcat project, on java.net. The reference implementation source code for Servlet technology is available from the svn repository on java.net. Additional information on all web-tier technologies in Apache Tomcat can be found at the Apache Tomcat web-tier page. JSP Java Server Pages (JSP) technology allows you to easily create Web content that has both static and dynamic components. JSP technology projects all the dynamic capabilities of Java Servlet technology but provides a more natural approach to creating static content. The main features of JSP technology are A language for developing JSP pages, which are text-based documents that describe how to process a request and construct a response. Constructs for accessing server-side objects. Mechanisms for defining extensions to the JSP language. Characteristics of JSP are: Familiarity: Programmers from many backgrounds will find themselves already accustomed to the JSP language. Many of the language's constructs are borrowed from C++ and PHP, and in many cases JSP code is almost indistinguishable from that found in the typical C or Pascal program. This minimizes the learning curve considerably. Simplicity: There is no need to include libraries, special compilation directives, or anything of the sort. The JSP engine simply begins executing the code after the first escape sequence (). If the code is syntactically correct, it will be executed exactly as it is displayed. Efficiency: Efficiency is an extremely important consideration for working in a multi-user environment such as the WWW. JSP introduced resource allocation mechanisms and more pronounced support for object-oriented programming, in addition to session management features. Reference counting has also been introduced in the latest version, eliminating unnecessary memory allocation. Security: JSP provides developers and administrators with a flexible and
18

efficient set of security safeguards. These safeguards can be divided into two frames of reference: system level and application level. System-Level Security Safeguards: JSP furnishes a number of security mechanisms that administrators can manipulate, providing for the maximum amount of freedom and security when JSP is properly configured. JSP can be run in what is known as safe mode, which can limit users' attempts to exploit the JSP implementation in many important ways. Limits can also be placed on maximum execution time and memory usage, which if not controlled can have adverse affects on server performance. Much as with a cgi-bin folder, administrators can also place restrictions on the locations in which users can view and execute JSP scripts and use JSP scripts to view guarded server information, such as the password file. Application-Level Security Safeguards: Several trusted data encryption options are supported in JSP's predefined function set. JSP is also compatible with many thirdparty applications, allowing for easy-integration with secure ecommerce technologies. Another advantage is that the JSP source code is not viewable through the browser. Because the script is completely parsed before it is sent back to the requesting user. This benefit of JSP's server-side architecture prevents the loss of creative scripts to users at least knowledgeable enough to execute a 'View Source'. Flexibility: Because JSP is an embedded language, it is extremely flexible towards meeting the needs of the developer. Although JSP is generally touted as being used in conjunction solely with HTML, it can also be integrated alongside languages like JavaScript, WML, XML, and many others. Additionally, as with most other mainstream languages, wisely planned JSP applications can be easily expanded as needed. Server-side: JSP scripts are compiled entirely on the server side before being sent to the user.

JDBC The JDBC API was designed to keep simple things simple. This means that the JDBC makes everyday database tasks easy. This trail walks you through examples of using JDBC to execute common SQL statements, and perform other objectives common to database applications. The Java Database Connectivity (JDBC) API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases SQL databases and other tabular data sources, such as spreadsheets or flat files. The JDBC API provides a call-level API for SQL-based database access. JDBC technology allows you to use the Java programming language to exploit "Write Once, Run Anywhere" capabilities for applications that require access to enterprise data. With a JDBC technology-enabled driver, you can connect all corporate data even in a heterogeneous environment.
19

TOMCAT SERVER This virtual Server is installed on our desktop system to run JSP Pages. This server is required for Local Host Application. MySQL It is one of the most popular databases which are available in open source. It is free, platform independent and easy to use which makes it efficient. In Backend, The Database being used is MySQL , from available databases like DB2, Oracle. The Unique advantage of MySQL is that its simplest form of RDBMS, with a lightweight server & low-memory requirements. ECLIPSE: DEVELOPMENT TOOL (GUI) The Eclipse IDE is a free, open-source Integrated Development Environment for software developers. The IDE runs on many platforms including Windows, Linux, and Solaris. It is easy to install and use straight out of the box. The Eclipse IDE provides developers with all the tools they need to create professional cross-platform desktop, enterprise, web and mobile applications. Eclipse, is one of the most widely used Java IDE (Integrated Development Environment). Eclipse can be run on a net based system, using Linux Java Virtual Machine and Linux compatibility mode. Eclipse is a multilanguage software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java. The Eclipse SDK includes the Eclipse Java Development Tools (JDT), offering an IDE with a built-in incremental Java compiler and a full model of the Java source files. This allows for advanced refactoring techniques and code analysis. JavaScript The primary use of JavaScript is to write functions that are embedded in or included from HTML pages and interact with the Document Object Model (DOM) of the page. Some simple examples of this usage are: Opening or popping up a new window with programmatic control over the size, position, and attributes of the new window (i.e. whether the menus, toolbars, etc. are visible). Validation of web form input values to make sure that they will be accepted before they are submitted to the server. Changing images as the mouse cursor moves over them: This effect is often used to draw the user's attention to important links displayed as graphical elements.

Characteristics of JavaScript are:

20

Simplicity: Professional Web designers are undoubtedly adept in using HTML and proficient in website design but not necessarily skillful in computer programming. JavaScript is a programming tool for such a situation. JavaScript is a powerful scripting language that helps HTML designers too effectively and interactively designs websites and web pages in a very simple and efficient way. Handles Dynamic Effects: JavaScript is such a powerful scripting language which has features to achieve dynamic effects in web pages. Using the features available in JavaScript, the designer can decide to have dynamically placed text at run time. Save Time: JavaScript also has the feature of validating data submitted at the client level. This helps in saving the processing time of the server because JavaScript initially creates the validation on the client side. Interpreted Language: It is an interpreted language, meaning that it can be used or executed with ease without pre-compilation. DOM: Client side JavaScript is embedded inside HTML This embedded JavaScript is used along with DOM (Document Object Model) for control over the browser by means of objects.

JQuery We had used JQuery, for providing a better look to our Web Application. Since Jquery has got a lot of Plug-ins defined under its Library, it was easy to implement them. JQuery is a lightweight JavaScript library that emphasizes interaction between JavaScript and HTML. Just as CSS separates "display" characteristics from the HTML structure, JQuery separates the "behavior" characteristics from the HTML structure. MACROMEDIA DREAMWEAVER The Web Development tool that was being used was Adobe Dreamweaver CS4. The tool significantly provides a good user interface for Web development, along with support to Multi-Browser check & also helps in maintaining design issues.

21

SOFTWARE ENGINEERING APPROACHINCREMENTAL MODEL

DESCRIPTION (INCREMENTAL MODEL) This project implemented as Incremental Model. The project has been completed by following through several phases where each phase consists of System engineering, requirement analysis and design, coding, testing and maintaining the application at different incremental level. ADVANTAGES Delivers an operational quality product at each stage, but one that satisfies only a subset of the clients requirements. A relative small number of programmers/developers may be used.

22

From the delivery of the first build, the client is able to perform useful work (portions of the complete product might be available to customers in weeks instead of waiting for the final product, compared waterfall, rapid prototyping model, which deliver only then the complete product is finished). Reduces the traumatic effect of imposing a completely new product on the client organization by providing a gradual introduction. There is a working system at all times: Clients can see the system and provide feedback. Progress is visible, rather than being buried in documents. Most importantly, it breaks down the problem into sub-problems, dealing with reduced complexity, and reduced the ripple effect of changes by reducing the scope to only a part of the problem at a time. Distributes feedback throughout the whole development cycle, leading to more stable artifacts. DISADVANTAGES Each additional build has somehow to be incorporated into the existing structure without degrading the quality of what has been build to date. Addition of succeeding builds must be easy and straightforward. The more the succeeding builds is the source of unexpected problems, the more the existing structure has to be reorganized, leading to inefficiency and degrading internal quality and degrading maintainability. The incremental model can easily degenerate into the build and fix approach. Design errors become part of the system and are hard to remove. Clients see possibilities and want to change requirements.

23

REASONS FOR USE Incremental model combines elements of the linear sequential model with the iterative philosophy of prototyping. It suggests a systematic, sequential approach to software development that begins at the system level and changes through analysis, design, coding, testing and support. In incremental model first increment is core product; it is used by the customers. And as use or evaluation a plan is developed for the next increment. The modification of the core product is done to better meet the needs of the customer and the delivery of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced.

24

DESIGN
DESIGN TECHNIQUE The design technique we have used is Top Down. A top down design approach starts by identifying the major modules of the system, decomposing them into their lower level modules and iterating until the desired level of details is achieved. This is stepwise refinement; starting from an abstract design, in each step the design is refined to a more concrete level, until we reach a level when no more refinement is required and the design can be implemented directly. Most design methodologies are based on this approach and this is suitable if the specifications clear and development is from scratch. If coding of a part starts soon after design, nothing can be tested until all its subordinate modules are coded. Some diagrams related to this system are as follows:

25

USECASE DIAGRAM

26

E-R DIAGRAM

27

ACTIVITY DIAGRAM

28

You might also like