information technology

The information technology essay below has been submitted to us by a student in order to help you with your studies.

The CRM solutions

Executive Summary

In this generation of the world, the business tends to evaluate their performance and carries out all the actions and executions of the operations only with the latest updates of the news in the market and updating with the newest technologies. All the business organizations are successfully moving ahead, as business cannot suffer competitive advantage in this scenario of economical environment. So for an industry, all its branches must be interconnected with each other and the all records must be maintained of the different departments within the organization. So this can only be managed by the means of internet, by which all the persons can update themselves by pressing just a click. In this web enabled system there are different departments such as sales, production, warehouse, accounts, purchase, and customer relationship management. For this reason the main aim of this project is to study the concept of all the existing technologies which can be applied in order to build this project so that the users of this system doesn’t have any type of difficulties in using it. It is a unique system in its own respect with the various unique features provided. It is designed so as to automate the whole process of industry reducing the manpower and paper work involved. Through this all the different departments, customers, suppliers etc. can be updated and can viewed from anywhere. Here information is integrated so as to maintain and group together information from various departments of sales, production, warehouse, etc. In this system all the records of an individual is also maintained who is affecting the assets of the organization directly or indirectly. So this system is made on java as front end and mysql as back end as they were most suitable for the proposed project. The functionalities of this project are divided into three different parts core, enhanced and special. The process of project planning includes project management, the development plan, work breakdown structure, time management, and quality management which will ease the process of the steps for building this system. To manage the complicacies of software development organizations use standard steps called the System development methodology to develop and support their SDLC (Software development life cycle). The most suitable methodology for this project so that it can be completed on time is Prototype model. The four phases which are used in prototype model are identify needs and establish requirements, develop alternative designs, build interactive versions of the designs and evaluate designs.

http://hf.tc.faa.gov/services/prototyping.htm

A critical issue in the design of any complex software system is its architecture, that is, its gross organization as a collection of interacting components. A good architecture can help ensure that a system will satisfy key requirements in such areas as performance, reliability, portability, scalability, and interoperability. So in the domain research the system architecture is explained with a suitable diagram in which the flow of data is shown from client to server. The process of primary research is done by the means of questionnaires and interviews. Questionnaires were distributed to the selected responders in order to gather their views and the requirements. Finally the project is concluded with the learning experience, system limitations and future enhancements which can be enhanced later on.

Chapter 1: Introduction

Context and Preliminary Investigation

Topic Background:

Integrated ERP and CRM Solution is a Rich Internet Application that provides ERP functionalities for small and middle level enterprises. The main features of it includes robust functionalities allowing for the management of sales, Purchases, Warehouse, Bill of materials and production, Accounting, CRM, Customers and contacts hierarchies, Document management, database schema management, reporting solution and reports customization.

The correct administration of the master data is a basic feature for guaranteeing the consistency and tracking of the organization process. The main objectives for developing this system are:

  • Sharing the relevant information among all areas of the organization
  • It provides the main features of any accounting system: chart of accounts, accounts, payment dues, costs & proceeds, debits & credits, etc.
  • Warehouse management process allows the inventory in the specified organization to be always up to date and correctly valued, because of item quantities availabilities in warehouses is always up to date, according to warehouse movements.
  • Reports customization is also provided with the application. Through a customization functionality that prompts the user to edit the report and can also add images instead of the standard report template.
  • For companies providing services, it allows the definition of services and resources and the control of all activities.
  • Each employee can graphically manage appointments
  • Showing scheduled activities per employee, by specifying an interval of dates
  • Easing the rapid flow of information between all areas implicated in the different company processes
  • Grids include support for pagination, data filtering and sorting. User can quickly apply a sorting condition to a column by clicking on the column header

Topic of the System: Integrated ERP and CRM and Solution

Target Audience: Integrated ERP and CRM Solution application is being developed generally for the Small and Midsize Enterprises. The primary target readers for this application are the businessmen who can implement this application within their organization. The enterprises which sales their products, purchase raw materials from different vendors, keeps records of the inventory in the warehouse, maintains the records of all the transactions taken place in the enterprise, prints reports, keeps tracks of the customer (customer relationship management).

Problem Context and rationale:

To enhance flexibility, to adapt to the specific organization particularities an organization has to familiarize with the latest technologies and must enhance the skills with of the employees. There are a lot of functionalities which goes under an organization and the native method generally involves a lot of paperwork, consumes time and has geographical limitations. So there is always a need of updating the organization with the existing technologies. As an organization grows, however, it becomes increasingly difficult to manage without more formal work assignments and some delegation of authority. Advances in technology are the most frequent cause of change in organizations since they generally result in greater efficiency and lower costs for the firm. Technology is the way tasks are accomplished using tools, equipment and techniques. There is no such system all in one which can handle all the operations of an organization in it. This Web based ERP with an integrated of basic CRM will take care various issues within an organization. It will automate the whole processes and will reduce the manpower. There will be no need for manual records maintenance. As this is a web based application, so any authorized person can view any details at any time and from anywhere. It will also generate reports and it also supports customizing of reports within the application through customization functionality. In warehouse it shows future item quantities per warehouse related to figure availabilities of the current item, as defined in purchase orders and the estimated arrival date.

Tangible Benefits:

  • As only limited data is transmitted between client and server & no presentation content is transmitted over the net, so response time over Internet is good because limited amount of bytes are transmitted through net.
  • All the types of master data such as measure units and conversion factors, currencies and conversion factors, payments types, etc. are managed by the Master Data Management
  • In this application flow of supply guarantees the integrity and homogeneity of the entire process: each document in the supply process is based on data defined in the previous document, therefore avoiding repetitive introduction of data and human errors.
  • Warehouse management process allows the inventory in the specified organization to be always up to date and correctly valued, because of item quantities availabilities in warehouses is always up to date, according to warehouse movements.
  • In this application it is possible to quickly show day appointment by selecting a day of the month and per several filters criteria, such as: employee, from date, activity type, and subject involved in the activity.
  • This application provides features to minimize manual data input on behalf of the user which indeed frees the user from tedious, routine tasks and avoiding human errors.
  • This application also allows storing documents that are linked to one or more hierarchy of documents. Documents can also be retrieved and showed in the user machine through search panel.

Intangible Benefits:

  • Avoiding duplications by maintaining exclusive coding
  • Sharing the relevant information among all areas of the organization
  • Facilitating the rapid and easy flow of information between all areas implicated in the different company processes
  • It will increase the productivity of the employees who are using the application.
  • As this application will decrease the man-power required, so overall it will decrease the cost.
  • Everything in the application is automated so there will be very minimal amount of paper work.
  • As this is a web based application so everything in it will be up-to-date and can be accessed from anywhere and anytime. There is no time constraint.
  • This automated application will increase the efficiency & productivity of the organization or the enterprises using it.
  • This application will reduce the chance of human errors so there cannot be any type of fake results in front of the top level managements.

Objectives of system Development

Project goals and objectives

The main objectives of the system are:

  • Provide Common Platform: A fair and competitive platform for organizations to enable sale, purchase, warehouse, accounting, etc.
  • Demand Aggregation: The capacity to aggregate different departments (modules) of an organization.
  • To provide a powerful layer including support of MDI (Multiple Document Interface)
  • Facilitating the rapid and easy flow of information between all areas implicated in the different company processes
  • Minimize Resource Costs: Improved planning and management to reduce the cost of resources traditionally required.
  • Sharing the relevant information among all areas of the organization
  • Accurate database design and re-usage of code in several applications.

Scope and function of the project:

Functions to be implemented

Core Functionalities: -

  • Sales: - Sale process is integrated with accounting and payment dues to guarantee an up to date and reliable data for the finance department. Sale document allows to define customer discounts and item discounts. In this module several types of sale documents are also available such as sale orders, sale contracts and offers/estimates, etc.
  • Warehouse Management: - Warehouse management process allows the inventory in the specified organization to be always up to date and correctly valued, because of item quantities availabilities in warehouses is always up to date, according to warehouse movements. The warehouse structure of the organization can be defined at the unit level, in a hierarchical way which facilitates the exact localization of stocks at any time. A report is also available to print the delivery note.
  • Production Management: - In it Bill of Material List allows to define the product in terms of manufacture code and components list and related quantities. Bill of Material can also be printed. In it a report is available that describes all products in the production order and for each product the required components and required manufactures.

Enhanced Functionalities: -

  • Accounting: - It provides main features of any accounting system, such as maintain all the transactions logs, all the account information of each and every employees, customers, suppliers, etc. All these features are designed to minimize manual data input on behalf of the user, therefore freeing the user from tedious, routine tasks and avoiding human errors. It also prints several reports.
  • Document Management: - In this application document management is one of the enhanced functions. It will store all the different types of reports generated within the organization, such as all the transaction logs related to finance, all the sales orders, purchase orders, invoices, etc.
  • Administration: - administrator has all the privileges of the application. Administrator can
  • Change functions description
  • Users definition and user-roles association
  • Parameters definition, per application, company and user
  • Database Management

Special Functionalities: -

Customer Relationship Management: -

  • Each employee can graphically manage appointments
  • In Call-out types functionality it is possible to define the hierarchy of a specific call-out type
  • Contacts management is also one of the feature in CRM
  • Customer’s management
  • In CRM, a user can define activities and search them through a filter panel.

Report Generation: - this application generates automatic report for various modules of different fields. User also has an option of customization of reports which is also provided within this application. It prompts the user to upload new standard report template or edit the previous one. So a user can easily customize standard report templates.

Major Deliverables of the project

  • Project Proposal Form
  • Project Specification Form
  • Fully Working System
  • Documentation
  • User Manual
  • Screen Shots of the application

Challenges involved in the project

  • Domain research about Customer Relation Management. How to track and organize its contacts with its customers. How to improve the services provided to customers, and to use customer contact information.
  • Research about the Enterprise Resource Planning. Implementation of ERP in an organization, core requirements of it, synchronizing multiple systems in it.
  • The inventory management in the warehouse. Regularly updating the inventory data, managing the stock of different items, etc.
  • Choosing the best front-end in which the application can be built on. The platform in which all the modules of the ERP can be built easily without any type of technical platform hindrance. The back-end should also be compatible with the front-end and it should be a heavy one. The database which can store lot of data, can handle network traffic easily (or which can answer multiple queries at the same time), etc.
  • Multiple report generation in different modules.
  • Providing option of report customization in report generation.

Project Planning

Project Management

As the competition in software industry in increasing rampantly vendor are look to increase their profits not by increasing the cost of software but by reducing the cost and time requirements of project development. One of the tools to efficiently supervise the software development process is though care full Project Management. It is imperative that projects are managed to win the confidence of stake holders, realize efficiency and effectiveness in all phases of the projects and to improve the life cycle utility of the projects.

Project management in broader sense can be assumed as the framework within which a project lives its life cycle. It involves effective management of time, cost, resources and the partners of the project to achieve superior quality, higher productivity, perfect delivery performance, overall customer satisfaction and enterprise excellence all with lower cost.

http://www.iitb.ac.in/~cep/brochures/2005/asb-prmgt-bro.htm

The entire project management can be divided into following parts namely:-

  • Proposal writing
  • Project planning and scheduling
  • Project costing
  • Project monitoring and reviews
  • Personnel selection and evaluation

Project Development Plan:

Project Idea Generation and Planning

Tasks:

  1. Idea Generation
  2. Project Proposal Form
  3. Project Specification form
  4. Gantt chart

Research:

Tasks:

  • Project Background
  • Primary Research
  • Secondary Research
  • Selection of Methodology
  • Selection of Programming Language
  • Selection of Database
  • Identification of Core Requirements of module

1ST Increment (Personal Assistant):

Duration: 5 Weeks

2nd Increment (Project Management)

Duration: 5 Weeks

3rd Increment (Customer Management)

Duration: 4 Weeks

4th Increment (Accounting)

Duration: 2 Weeks

5th Increment (Report Generation)

Duration: 5 Weeks

Tasks during each increment:

Requirement Analysis

  • Creating Prototypes
  • Evaluate Prototypes feedback

Design

Tasks:

  • Context flow diagram
  • Data Flow Diagram
  • Data Dictionary
  • Sequence diagram
  • ER diagram
  • Screen layout
  • Database design
  • Content Design

Implementation

Tasks:

Code generation

Testing and evaluation

Tasks:

  • Test Plans
  • Unit testing
  • Integration Testing
  • System Testing
  • White Box Testing
  • Black Box Testing
  • Regression Testing
  • Configuration Testing

Critical Evaluation:

Duration: 2 Weeks

Tasks:

Limitations

Future Enhancements

Project Submission:

Duration: 2 Weeks

Tasks:

Documentation Preparation

Time Management

Gantt Chart

Quality Management

Test Plan

Introduction to Testing

Testing is a process of technical investigation which helps in indentifying the integrity, correctness, logicality, security and quality of the developed applications on behalf of the individuals which specifies to disclose the quality related information about the product.

http://www.testingbrain.com/

The difficulty in testing generates from the complexity of the software/application. Testing is generally more than just debugging the code.

Test Plan and Strategies

  • Each and every web page, function, module will be tested individually under Unit Testing, again unit testing may be based upon Functional Testing, Structural Testing or Mutation Testing based upon conditions and requirements.
  • Then there will be Integration Testing whenever the modules will be inter-related after successful completion of unit testing of these modules. Integration testing would be in Bottom-Up Approach. Ex. - Navigational Designs and Architectural Designs would be an important aspect to be tested inside this testing.
  • There will be System Testing too; it can be in form of White Box Testing, Black Box Testing. As it will serve a chance to test the entire system at once checking almost everything right from small functions up to entire integration, from environment to platforms, etc.
  • White Box Testing will be done for the core functionalities and Black Box Testing will be done for the enhanced and special functions.
  • Regression Testing will also be done for the all the module to check whether the application works as specified even after the changes/additions/modification were made to it.
  • Configuration Testing will also be done to check whether the system is supported by each of the configuration of software and hardware.

Three Layers of the System and Success Criteria

Detailed Test Plan & Evaluation of Success Criteria will be judged by following steps -

  1. Type of Testing
  2. Features to be tested
  3. Approach for the Testing
  4. Deliverables
  5. Pass / Fail Criteria.

Evaluation on Success Criteria

The project would be considered successful if it meets the following criteria:

  • Successful execution of test cases for Black Box Testing: All the test cases designed for black box testing should show expected results. Successful execution of test cases shows that system meets functional requirements.
  • Proper Integration of unit modules: When modules are integrated, it should show expected results. Passing of parameters and return of results should be in expected manner. Successful Integration testing will prove the criteria
  • A good user interface: User interface of ERP should follow HCI guidelines.
  • Meeting of deadlines: The entire deadline set in the PSF should be met successfully. A good project management is one of criteria of a successful project.
  • A normalized Database: In a ERP, database is of very crucial importance. A database should be designed in such a way so that there is minimum repetition of information. Moreover all the queries should be executed efficiently. Database should be designed up to maximum possible normal form
  • Well Documented Report: A well done documentation helps in maintenance of system. It should be well formatted. Level of English should be good. No grammatical mistakes are accepted. Standard structure and font size would be appreciable.
  • Follow of coding standards: The coding standards like proper commenting, proper indentation, proper naming of variables helps in easy maintenance of system. Future enhancements are always required. Without coding standards maintenance cost would be too high.
  • Follow of SDLC: Generally while developing a system people do not follow SDLC. Literally following model chosen increase probability of successful system
  • Consistency across phases: Generally Design does not says as said by research and analysis phase. Similarly Implementation does not say as said by Design phase. In a successful project all the phases of SDLC should speak same language.

Chapter 2: Problem Description

Introduction to problem Area

In today’s period there are a lot of functionalities which goes under an organization and the native method generally involves a lot of paperwork, consumes time and has many geographical limitations. Current ERP’s and CRM’s don’t have standardized application which can manage all the modules within an organization. Different systems implements different type of functionality within it, but it does not consider all of it together.

Suppose some existing systems in the market and which are currently used by most of the industries have some of the missing functions in each and every module of the system. For example accounts module consists of many functions such as debits, credits, etc. and the sales module consists of invoice, payments, pricelist, discounts, etc. but only some of these functions are only included in this modules and the rest of the things are done manually. And for maintaining relationship with the customers different system is used.

Proposed Solution

This Integrated ERP and CRM will have an impact on two most important parts of an organization, basically the core modules and the customer relationship management. The core modules such as:

  • Sales: this system allows to manage whole selling process. Each document in the process is based on data defined in the previous document, therefore avoiding repetitive introduction of data and human errors. It is also integrated with accounting to guarantee an up to date and reliable data for the finance department.
  • Purchase: the flow of supply of this system guarantees the integrity and homogeneity of the entire process. It is possible to create different documents related to the same flow (purchase order, entry inward, invoice, payments) and manages them according to their document state (opened, confirmed, closed, etc).
  • Warehouse Management: it allows the inventory in the specified organization to always be up to date and correctly valued, because of item quantities availabilities in warehouses are always up to date, according to warehouse movements (managed in several ways: manually, by delivery notes, etc).
  • Accounting: this system provides the main features of any accounting system such as the transaction logs between the organization, suppliers and the customers, debits & credits, etc. All these features are designed to minimize manual data input on behalf of the user, therefore freeing the user from tedious, routine tasks and avoiding human errors.
  • Documents Management: this application provides document management as one of the main functions. It will store all the different types of reports generated within the organization, such as all the transaction logs related to finance, all the sales orders, purchase orders, invoices, etc.
  • Report Generation and Customization: it generates multiple reports of different above mentioned modules and also customization of reports provided within the application, through a customization functionality that prompts the user to upload a new report file to use instead of the standard report template or editing one of them. In this way an organization can easily customize standard report templates, e.g. by adding an own logo.
  • Customer Relationship Management: it allows the definition of services and resources and the control of all activities. It is possible to quickly show day appointment by selecting a day of the month and per several filters criteria, such as: employee, from date.

Benefits of the System

As this system is an integration of ERP and CRM, ERP related to sales, purchase, warehouse management, accounts, report generation, etc and Customer Relationship Management, which is a rare combination. This system takes care of all the above mentioned modules with total integration and relating to each other. Many existing system which have the features of sales, purchase, accounts, etc. does not have Customer Relationship Management in it and vice versa. This indeed makes the enterprises to purchase two different kinds of system which is difficult to maintain and both the systems has no relationship within themselves. This way a lot of time is wasted and the user have to put a lot of extra efforts to maintain both the systems simultaneously.

Relevancy of Title of Project

This system consists of many modules which are integrated into a single system and the Customer Relationship Management is also built in it as well, which is infact a different large module and generally made in separate system. And generally an ERP system has many components in it including hardware and software. So, as all this are included in this distinct system so I have named it as Integrated ERP and CRM Solution.

Chapter 3: Literature Review

Domain Research

Academic Research

Books:

  • Hanson, J.J, 2004 "Successful ERP Implementations Go Far Beyond Software" San Diego Business Journal
  • Bligh, Philip; Douglas Turk (2004). CRM unplugged - releasing CRM's strategic value. Hoboken: John Wiley & Sons
  • Dyche, Jill, The CRM Handbook: A Business Guide to Customer Relationship Management (Addison-Wesley Information Technology) , August 2001, Addison-Wesley Professional
  • Swift, Ronald S, Accelerating Customer Relationships: Using CRM and Relationship Technologies, September 2000, Prentice Hall PTR
  • Merlin Stone, Neil Woodcock, Liz Machtynger, Customer Relationship Management, April 2000, Paperback publishing.
  • Michael Gentle, CRM Project Management, October 2002, paperback publishing.
  • Bligh, Philip, Enterprise CRM, April 2004, John Wiley & Sons
  • Blokdijk, Gerard, CRM 100 Success Secrets - 100 Most Asked Questions on Customer Relationship Management Software, Solutions, Systems, Applications and Services, February 2008, Emereo Pty Ltd
  • Brian Larson, Microsoft SQL Server 2000 Reporting Services, 2004, McGraw Hill.
  • Matthew MacDonald, ASP.NET: The Complete Reference, 2002, McGraw Hill.
  • Luke Welling, Laura Thomson, PHP and MySQL web development, September 2004, Sams; 3rd Edition
  • Hugh E. Williams, David Lane, Web Database Applications with PHP and MySQL, March 2002
  • RamaKrishnan, R & Gehrke, J 2000, Database Management Systems, Tata McGraw Hill, Singapore.
  • Dix, A, Finlay, J, Abowd, GD, Beale, R 2005, Human-Computer Interaction, Dorling Kindserley, New Delhi.

White Papers:

  • Russell S. Winer, Customer Relationship Management: A Framework, Research Directions, and the Future, April 2001, Haas School of Business, University of California at Berkeley.
  • David Lowenthal, Pioneering Stewardship: New Challenges for CRM, CRM Journal Fall 2003

Research on Development Methodology

Software development is a highly unorganized and diverse field. To manage the complicacies of software development organizations use standard steps called the System development methodology to develop and support their SDLC (Software development life cycle). This is very similar to any other commercial product’s life cycle. Like they are created, tested, introduced in the market and finally removed and replaced with something else, so do software’s go through their life cycle.

Various development methodologies are available for the process modelling. The most common of them are Prototype model, Spiral model, evolutionary model, waterfall model and RAD model. Selection of process methodology should be such that it responses to all the milestones to be performed, analyzed for completeness and consistently & documented in a requirement document, then the development team can go on to system development activities.

Why not Waterfall Model: -

  • In waterfall model a module cannot be undertaken until and unless all previous modules are completed.
  • Freezing the requirements usually requires choosing the hardware. A large project might take a few years to complete
  • Technology evolves rapidly, thereby making earlier choices less effective or even obsolete.
  • There is no opportunity for design re-direction based upon user experience and revised requirements.
  • It is a sequential flow of model. The waterfall model accommodates iteration indirectly, so as a result, change can cause confusion as the project team proceeds.
  • It also has difficulty in accommodating the natural uncertainty that exists at the beginning of a project.
  • In my project as requirements are not very clear in the beginning. Exact requirements would be gathered by launching prototypes and getting user feedback. So waterfall model cannot be used for development.

Why not Hybrid Model: -

The common approach in this model is to use a structured method for the requirements analysis and specification stages and then shift to a more RAD-based approach, using prototyping for the incremental delivery of software.

Why not Spiral Model: -

  • The essence of the spiral model is first to establish a baseline plan and an overall vision of the architecture; and then to deploy the product incrementally by successive iterations through design, build, test, and next-phase planning.
  • Final solution can be inadequately documented and poorly structured
  • Requires expertise in risk evaluation and reduction
  • If system requirement are straightforward it will not be appropriate as iterations will not deliver any real benefits and will take up valuable time
  • Complex, relatively difficult to followstrictly
  • Risk assessment could cost more than development
  • Applied differently for each application

Why not Rapid Application Development model?

Rapid application development (RAD) is an incremental software development process model that emphasizes an extremely short development cycle. The RAD model is a “high-speed” adaptation of the linear sequential model in which rapid development is achieved by using component-based construction. If requirements are well understood and project scope is constrained, the RAD process enables a development team to create a “fully functional system” within very short time periods.

  • It is difficult for many important users to commit the time required for success of the RAD process
  • Reduced scalability occurs in RAD because developed application starts as a prototype and evolves into a finished application and reduced features occur due to time boxing, where features are pushed to later versions in order to finish a release in a short amount of time.

RAD Methodhology

Reason for Selecting Model

Why Prototype model?

Prototyping of information systems is a worthwhile technique for quickly gathering specific information about user’s information requirements. As this system is a complex one and has unstructured or semi-structured problems so prototyping model will be the perfect candidate between all the methodologies. Prototype model will also elicit feedback about the proposed system and about how readily it is fulfilling the information needs of its users. The main advantage of prototyping model are the potential for changing the system early in its development and the possibility of developing a system that are more closely addresses users needs and expectation. As involvement of user is very much important for building this system, so prototyping model makes users secure enough to give an open reaction part of the relationship between the developer and users.

  • Reduced time and costs
  • Improved and increased user involvement
  • users get to actually use the system and give you real feedback
  • It involves creating the system with a subset of requirements/functionality, and refining it over time as requirements become more clear

http://qastation.files.wordpress.com/2008/04/prototype_model.jpg

Research Outcome Conclusion

From the above research on development methodology and selecting model I have came to the conclusion that Prototyping model will be the perfect candidate for developing this system.

Technical Research

Programming Environment Research

In this section the various programming languages that can be used to make this project are being discussed. The various languages that can be used in this web based project are JAVA, C# and ASP.NET. Research on the various languages is being performed so as to choose the best suited language for the proposed system. The various languages will be discussed below.

JAVA

The most important property of java is its platform independency due to which the system will be easily deployed on any system.

Advantages of java: -

SIMPLE: -

Java is one of the simplest languages as this automatically allocates the memory and for garbage collection. Simple and easy syntax makes it easy to learn.

PORTABLE

Platform independency is one of the most important features which make it famous among other languages. It can run on any platform e.g. Windows 95 or Xp or NT, Macintosh, LINUX etc.

MULTITHREADING

In an application many tasks can be performed simultaneously. This feature is needed in any application related to network and visual. This system requires multithreading and java is easily providing it.

DISTRIBUTED

This property of java helps the various computers to interact with each other as these clients are on distributed network. Through help of java interaction between various clients is possible.

ROBUSTNESS

Error detection at early stage make java robust in nature as possibility of errors at later stage is minimized.

Why not C#?

This language could also have been used in order to make network monitoring tool. This language too provides libraries and API as this language comes from .NET package. Features of C# are:-

INDEXERS

C# provides indexers allow objects to be treated like arrays, except that like properties, each element is exposed with a get and/or set method.

GARBAGE COLLECTION

Proper management of any project is only possible if the garbage is managed properly. Handling memory management, garbage collection is added as a great feature to C# uses during runtime.

EVENTS

C# provides direct support for events. Although event handling has been a fundamental part of programming since programming began, there has been surprisingly little effort made by most languages to formalize this concept.

TYPE UNIFICATION

Most languages have primitive types (int, long, etc), and higher level types which are ultimately composed of primitive types. It is often useful to be able to treat primitive types and higher level types in the same way. For instance, it is useful to have collections which can take both ints as well as strings. Smalltalk achieves this by sacrificing some efficiency and treating ints and longs as types like String or Form. Java tries to avoid sacrificing this efficiency, and treats primitive types like in C or C++, but provides corresponding wrapper classes for each primitive - int is wrapped by Integer, double is wrapped by Double. C++'s templates allow code to be written which takes any type, so long as the operations done on that type are provided by that type.

OPERATOR OVERLOADING

Operator overloading allows programmers to build types which feel as natural to use as simple types (int, long, etc.). C# implements a stricter version of operator overloading in C++, but it allows classes such as the quintessential example of operator-overloading, the complex number class, to work well.