Scheduling Management
Scheduling Management
Scheduling Management
Chapter 1 Introduction
1.1 Preface
During the past decade, increasing attention has been focused on the Technology of Computer software. As manual Computing system becomes more numerous, Complex the need for systematic approaches to software development becomes increasingly apparent. The Objective of the project, Work - Process Management in Designing a Calendar & Scheduler for a work center. A primary goal of this project is to develop good software to overcome the existing problem. This project is written for the company where the employ can easily get through over view of project with little training. The employ who having the computer knowledge will get more advantage from software. Although every care has been taken to check mistake through verifications and validations, yet it is difficult to claim absolute perfection.
1.2 Objectives:
This point describes you how to overcome the problem that arisen in general for any person or organization scheduling the appointments, activities or daily work is
somewhat legitimate and a bit of burden apart from other works being on hand. The task of scheduling and fixing appointments as well as other activities whether they may be official or personal is time consuming and also may lead to confusion if not properly scheduled. Calendar and Scheduler (package) is such a tool with which this process of scheduling will be easy and even online in the organisation where it is installed. Scheduling becomes such an easy task that it reduces much time when compared to previous methods. This enables for the employee to check any other tasks waiting, postponed and so on. The extra features in these packages make the higher level management in the organisation to schedule the tasks of the employees and even check their activities.
1.3 Scopes:
The main objective of the Calendar / Scheduler package is to display a Calendar for the current month & the preceding month, and allow the employee to select a date from the displayed calendar to schedule & view his appointments. This package is divided into three sub-modules. 1. Supervisor 2. Employee
3. Read Only The first sub module is authenticated only to supervisor (who belongs activities. The second sub module is authenticated only to existing employees and a new employees working under top level management of the organization. This module allows any employee to register himself into the scheduler who is new for the organization. It also enables the employee to view scheduled work assigned to him and also allows him to schedule his own activities. The third sub module enables all the employees who are working in the organization enable them only to view the schedules/appointments for a selected employee. to top level management). A supervisor can schedule / view / postpone / cancel a particular employees
1.4 Conclusion
supervisor (who belongs to top level management). A supervisor can schedule / view / postpone / cancel a particular employees activities. any employee to register himself into the scheduler who is new for the organization. It also enables the employee to view scheduled work assigned to him and also allows him to schedule his own activities. all the employees who are working in the organization enable them only to view the schedules/appointments
Chapter 2
LITERATURE REVIEW
schedule the tasks of the employees and even check their activities.
Draw backs
As seen clearly a lot time is spent and much afford is made for only fixing a schedule. In a firm, which is, growing this task should be minimum and should be fast. But the
present system does not support this. And if the appointment is postponed or cancelled the task is much more hectic. As the process is not online and computerized it takes much time in contacting the employee only and done manually.
2.3 Extension of this project Due to unavailability of the time during this semester, this project is limited to scheduling system of offline only and due course the project is extended to online, so, this project can connect more people across district, states, country, continent and so on and it can be implemented any office of any hierarchy.
10
The first sub module is authenticated only to supervisor (who belongs activities. The second sub module is authenticated only to existing employees and a new employees working under top level management of the organization. This module allows any employee to register himself into the scheduler who is new for the organization. It also enables the employee to view scheduled work assigned to him and also allows him to schedule his own activities. The third sub module enables all the employees who are working in the organization enable them only to view the schedules/appointments for a selected employee. to top level management). A supervisor can schedule / view / postpone / cancel a particular employees
11
Chapter 3
Research Methodology
12
13
3.1.1 Stage 1: Awareness of problem The awareness of the problem including the diversity and complex of the problem, information, the architecture of the system, security of the system, maintenances of the system, scope of the research which is related to the Railway Reservation System that necessarily to be solved and gives the motivation to this study are identified. 3.1.2 Stage 2: Suggestion To help our customers optimize their investments in Information Technology, to become more competitive in there market place, in apprehending their perspective of the current system and their commendation and suggestion on the new proposed. The interview included understands the The
14
different categories of railway reservation system and the concessions and the train codes and train timings , what is the current to measuring website traffic and as well as other responsibilities. Besides that, previous studies related to the government online site of reservation management environment would be gathered. Furthermore, the results of the previous studies such as Airline College website gain much satisfaction among the respondents on the reservation ticket by Abdualromae Hawor (2004), MyBus prediction system is better suited to web users such as bus riders by Maclean and Dailey (2001) would be analyzed in ensure the proposed system would be perform better in building a logical model by suitable technique.
3.1.3 Stage 3: Development All the requirements and suggestion from Pentasoft executives and previous studies are translated into a more detailed design to execute well the objective of this study. Railway Reservation System uses c programming.
3.1.4 Stage 4: Evaluation After developing the proposed system, the implementation for this proposed system would be completed with a formal
15
evaluation. The proposed prototype would be evaluated by expert-walk via E-mail 3.1.5 Stage 5: Conclusion This is the last stage of a research effort. The proposed prototype of Employee work-progress management would be hoped to achieve the user expectations, user needs and suggestion.
3.2 Summary The general methodology method has been selected carefully for developing the proposed system to this study. The five stages of the general methodology to carry out the Employee work-progress management are explained. The implementation and results of the proposed system would be discussed in the next chapter.
Chapter 4
16
SYSTEM ANALYSIS
System Analysis is a detailed study of the various operations performed by a system and their relationships within and outside of the system. A key question is what must
17
be done to solve the problem? One aspect of analysis is defining the boundaries of the system and determining whether or not the proposed system should consider other related systems. During analysis, data are collected from the available files, decision points, and transactions handled by the present system. The logical system models and tools that are used in the analysis are Data Flow Diagrams (DFD s), data-dictionaries & Flow Charts The analysis part in the following pages cover Existing System Proposed System
18
Draw backs
As seen clearly a lot time is spent and much afford is made for only fixing a schedule. In a firm, which is, growing this task should be minimum and should be fast. But the present system does not support this. And if the appointment is postponed or cancelled the task is much more hectic. As the process is not online and computerized it takes much time in contacting the employee only and done manually.
19
under him. No other employee of the same designation or same level of hierarchy can do this.
External
design
of
software
involves
conceiving
and
specifying the externally observable characteristics of a software product, which includes user, displays functional characteristics and performance requirements of the product. External design begins during the analysis phase and continues into the design phase.
Internal design involves conceiving and specifying the internal structure and processing details of the software product. Architectural design is concerned with refining the conceptual view of the system identifying internal
20
processing
functions
decomposing
them
into
sub-
functions and establishing interconnections among them. Structured design is a method to design a system. It is a data-flow based methodology that identifies inputs and outputs and describes the functional aspects of the system. It partitions a program into a hierarchy of modules organized in top-down manner with the details at the bottom. Structured design tools includes structured charts, HIPO charts etc. SYSTEM DEVELOPMENT LIFE CYCLE The smaller, systems more development managed life cycle is a or project phases. management technique that divides complex projects into easily segments Segmenting projects allows managers to verify the successful completion of project phases before allocating resources to subsequent phases. Software development projects typically include initiation, planning, design, development, testing, implementation, and maintenance phases. However, the phases may be divided differently depending on the organization involved. For example, initial project activities might be designated as request, requirements-definition, and planning phases, or initiation, concept-development, and planning phases. End users of the system under development should be involved in reviewing the output of each phase to ensure the system is being built to deliver the needed functionality. 4.3.1 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
21
Initiation Phase The Initiation Phase begins when a business sponsor identifies a need or an opportunity. The purpose of the Initiation Phase is to: Identify and validate an opportunity to improve business accomplishments of the organization or a deficiency related to a business need. Identify significant assumptions and constraints on solutions to that need. Recommend the exploration of alternative concepts and methods to satisfy the need including questioning the need for technology, i.e., will a change in the business process offer a solution? Assure executive business and executive technical sponsorship. The Sponsor designates a Project Manager and the business need is documented in a Concept Proposal. The Concept Proposal includes information about the business process and the relationship to the Agency/Organization Infrastructure and the Strategic Plan. A successful Concept Proposal results in a Project Management Charter which outlines the authority of the project manager to begin the project. Careful oversight is required to ensure projects support strategic business objectives and resources are effectively implemented into an organization's enterprise architecture. The initiation phase begins when an opportunity to add, improve, or correct a system is identified and formally requested through the presentation of a business case. The business case should, at a minimum, describe a
22
proposals purpose, identify expected benefits, and explain how the proposed system supports one of the organizations business strategies. The business case should also identify alternative solutions and detail as many informational, functional, and network requirements as possible. 4.3.2 System Concept Development Phase The System Concept Development Phase begins after a business need or opportunity Program is validated by and the the Agency/Organization Leadership
Agency/Organization CIO. The purpose of the System Concept Development Phase is to: Determine the feasibility and appropriateness of the alternatives. Identify system interfaces. Identify basic functional and data requirements to satisfy the business need. Establish system boundaries, identify goals, objectives, critical success factors, and performance measures. Evaluate costs and benefits of alternative approaches to satisfy the basic functional requirements Assess project risks Identify and initiate risk mitigation actions, and Develop high-level technical architecture,
23
process models, data models, and a concept of operations. This phase explores potential technical solutions within the context of the business need. It may include several trade-off decisions such as the decision to use COTS software products as opposed to developing custom software or reusing software components, or the decision to use an incremental delivery versus a complete, onetime deployment. Construction of executable prototypes is encouraged to evaluate technology to support the business process. The System Boundary Document serves as an important reference document to support the Information Technology Project Request (ITPR) process. The ITPR must be approved by the State CIO before the project can move forward.
24
25
The level 0 DFD or a context model represents the entire software element as a single bubble with input and output data indicated by incoming and outgoing arrows, respectively. In level 0 diagram shown below, the passenger fills either the viewing or editing the schedule for any employee.
supervisor
MAIN
Employee
26
Level 1:
Schedule2 Table Schedule View Empd Table Name, password Registration Login
Regs Table
SUPERVISOR
Conformation
27
Level : 3
Empd Table
View Schedule
28
many options like he can directly go to the scheduling the time in the calendar or can first check any scheduling are there before for him by the supervisor and then he can go to the schedule and he can confirm.
View Schedule
29
Level : 4
Todays Activites
Monthly Activities
View Schedule
Schedule2 Table
30
The program flowchart shows how the system proceeds from the input form to the output form of the system. It explains how the system is actually processed step by step .It represents the flow of control as the system is processed.
31
32
33
34
35
36
37
38
39
40
41
42
43
TABLES EMPD FIELD NAME Idno Name Desg REGS FIELD NAME Idno Name Pwd Rpwd F-name L-name Age D-Name D-No Sex DD MM YY Addr DATA TYPE Integer Varchar Varchar Varchar Varchar Varchar Integer Varchar Varchar Varchar Integer Integer Integer Long DATA TYPE Integer Varchar varchar
44
Schedule1
FIELD NAME Idno Name Pwd DATA TYPE integer Varcahr Varchar
DATA TYPE Integer Integer Integer Integer Date Date Varchar Integer Varchar Varchar Long
45
FIGURE 4.18- Table relation and attibutes Entity relationship diagram expresses the overall logical structure of a database graphically. It shows the relationship between different entities. The entities can have composite, multivolume or derived attributes. The entities and their attributes are: -
46
l_NAME PWD RPWD F_NAME LAST_NAME AGE D_NAME D_NO SEX DD MM 3.SCHEDULE1 IDNO NAME PWD 4. SCHEDULE2 IDNO DD MM YY STIME ETIME PREFERNCE DESCNO DESCR FBACK DETAILS
47
frequently used method for evaluating the effectiveness of the proposed system. This is an on going effort that improves in accuracy at each phase of the system life cycle. As the necessary software and hardware is available in the organization, the initial investment for the proposed system is NIL. The proposed system minimizes the time and effort right from scheduling. The supervisor sitting at his desk can schedule the events without directly meeting the employee. He can postpone/cancel or changes the events. Thus, the proposed system is economically feasible. Technical Feasibility: It centers around the existing
computer system (hardware, software, etc.) and to what extent it can support the proposed system. and the software recommended supports The necessary the system hardware and software tools are available in the organization objectives. Thus it is technically feasible to design and
develop the proposed system. Operational Feasibility: People are inherently resistant to change, and computers have been known to facilitate change. An estimate should be made of how strong a reaction the user is likely to have towards the development of a new system. As the proposed system is a user-friendly package with all the visual aids, the effort that goes into educating and training the
48
Chapter 5
49
5.1 Requirements
HARDWARE & SOFTWARE SPECIFICATIONS HARDWARE: This system has been developed on the following hardware configuration. Minimum Pentium Min. 233 MHz. Minimum 32 MB Ram Minimum 512 KB Cache Memory Minimum Hard disk 4.3 GB Microsoft Compatible 101 or more Key Board SOFTWARE REQUIREMENTS: This system is developed using the following software. Operating System : Back End FrontEnd : : Windows 95/98/NT/xp/vista/7/8 MS-Access 97 JDK 1.2 JDBC, Microsoft ODBC Driver for MS-Access
Database Connectivity:
50
5.2 Screens
51
52
53
54
55
56
57
58
59
60
61
5.3 Testing
SYSTEM TESTING SECURITY& IMPLEMENTATION Coding:
Coding is the process that transforms design into a programming language, which can be understood by the computer. Coding is viewed as a natural source code is based on internal documentation, methods for data declaration procedures for statement constructions and input output coding techniques. Source Code is intelligible if it is simple and clear.
Testing: Testing the newly developed or modified systems is one of the most important activities in the system development methodology the goal of testing is to verify the logical and physical operation of the design blocks to determine that they operate as intended . During testing the program to be tested is executed with a set of test cases, and the output of the program for the test cases is evaluated to determined if the program Is performing as it is expected to do so. There are a number of rules that can serve well as testing objectives. Testing is a process of executing a program with the intent of finding Errors.
62
Good test case is alone that has a high Probability of finding as yet undiscovered errors. A successful test is a one that uncovers as yet undiscovered errors. testing and Acceptance testing. These different levels of testing attempt to detect different types of faults. The basic levels are unit testing, integration
5.3.1 Unit testing: During the implementation of the system each module of the system was tested separately to uncover errors with is its boundaries. User inter-faces was used as a guide in this process.
5.3.2 Integration testing: The objective of integration testing is to take the unit tested modules and build a program structure that has been defined in the design. We have done a top down integration, which is an incremental approach, which is constructing and testing small segments where errors are easier to isolate and corrected. The Integration process was performed in three steps 1.The main control was used as test driver.
63
2 integrated
2.Tests were conducted as each module was 3. Regression testing (Conducting all or some of the previous tests) to ensure that new errors have not been introduced.
5.3.3 System Testing: Here the entire software system is tested. The references document for this process is the requirements document and the goal is to see if the system meets its requirements. 5.3.4 Boundary Conditions test: Boundary conditions as in case of generating sequences were tested to ensure that the module operates properly at boundaries established to limit or restrict processing. 5.3.5 Acceptance Testing: This is normally performed with realistic data of the client to Demonstrate that the software is working satisfactory. Testing here focus on external behavior of the system. 5.4 SECURITY: Security is one of the main concept we have to provide in the project, so that unauthorized users can not access or violate valuable information. In the present system we
64
provided a logon screen which monitors the users. Which helps the only authorized users can access the data. 5.5 IMPLEMENTATION: The implementations phase in the period during which the system is used. The major activities of this are 1. Complete conversion 2. Operate system 3. Evaluate system performance 4. Maintain system and manage charges The implementation phase follows the development phase. Usually it is the longest of all life cycle phases and is characterized by four distinct stages. Initially the new system must be introduced into business activity mainstream. This state is called changeover. The changeover transaction period may take weeks or even months. After it is completed the system enters the operation and routine maintenance state. Early in this stage an evaluation should be made based on performance measurements that determine whether the specific benefits claimed for the system have been achieved. Finally the new system has all operational systems must be able to accommodate change. Change is perhaps the most important state in the life of a computer based business system. Whether or not change can be managed is the final measure of success or failure of the entire system effort. The principal activities and documents that characterize the stages of the implementation phase are SYSTEM CHANGE OVER:
i . exe
65
Normally a period of transition is required to change from an old system to new one. If all the development phase implementation activities have been performed adequately the necessary manuals and documentation for the new system are available. There is a nucleus of trained personnel to assume responsibility for the new system. However it is critically important for the project team to remain heavily involved and in control during changeover. Changeover usually is one way process it must result in a planned, numerous unforeseen incidents and problems will arise. System changeover is the most critical period in the entire life cycle of the computer-based system. Positive support by all user organization is essential.
ROUTINE OPERATION: At the conclusion of the changeover process the system has been operational for a reasonable period, its performance is formally evaluated. The result of the evaluation is documented in an evaluation report, which should be presented to a management review board. The principle user of the system should head the board. SYSTEM CHANGE: The modern system environment is
dynamic subject to many internal and external influences. The business environment may trigger a change request, which is then reviewed by management. This process may form a brief analysis of the requested change to an extensive
66
investigation. This investigation could cause a return to the study phase, in which case the resulting new design and development activities might yield a greatly modified system. At the conclusion of the review and analysis of the requested changed the responsible management organization issues a change action notice. The actual action is then taken.
Chapter 6 Conclusion
67
68
Organizing is the collecting the things needed to achieve the goal. Executing is the plan execution. Controlling is the getting feedback to check the quality. Planning is starts with scheduling the task Without planning the time will be wasted Time management also stresses the need for the scheduling In business activities, three important activities are needed, time management, Finance management, Effective specking. So, scheduling is very important task in the organization. In this software, scheduling can be done by the employee, and it can be viewed and altered by the supervisor of the organization(manager). So, it avoids the need for the meeting for scheduling. So, time will be saved and Bringing all executives at the same place by setting aside the other works (may be important) is pure overhead. This software helps to schedule remotely.
69
The system even has the option for only viewing the employees activities or appointments. This feature avoids direct contact to the respective employees database and activities. There is an option where only the supervisor (the top-level manager) can have direct access to the employees activities, he can change the appointments of the employees working under him. No other employee of the same designation or same level of hierarchy can do this.
70
was names Green and the programming language called OAK. Later the language was renamed Java, as OAK was already registered. Meanwhile in 1993, the development of MOSAIC (Browser) led to the widespread use of WWW. Gosling realized by chance that Java was well suited
71
for the Web because it was secure and most importantly architecture neutral. In September 1994 a browser called Hot Java was developed entirely in Java on May 23 rd 1995 Java was formally released. Seeing the immense potential software companies began to license the technology to develop their products in Java. The Java Development Kit 1.0 was released on January 23rd 1996. Suns game plan is to popularize Java. Java is freely distributed on the Internet. Java is loosely based on C++ syntax, and is meant to be Object Oriented. It however differs from C++ in many ways. Structure of Java is midway between an Java programs are These byte interpreted and a compiled language.
compiled by the Java compiler into Byte codes, which are secure and portable across different platforms. codes are essentially instructions encapsulated in a single byte, to what is known as a Java Virtual machine (JVM) which resides in a standard browser. For that matter any application can have JVM built in, JVM verifies these byte codes when down loaded by the browser for integrity. JVMs are available for almost all operating systems now. JVM converts these byte codes into machine specific instructions at runtime. What Java is all about? Java is Object Oriented Java is truly an Object Oriented language, since technology is best suited for distributed client/server systems on the Net. It fully incorporates the concept of reusable component software. With the exception of primitive data
72
types can be encapsulated within objects of necessary. Four fundamental aspects of object oriented technology are well supported in JAVA. Encapsulation Instance variables and methods for a class are packaged together, thus providing modularity and information hiding. Inheritance Subclasses depicting newer behavior of existing classes is allowed. available. Polymorphism Same message sent to different object results in a behavior dependent on the nature of the object receiving that message. For example, if you send a move message to an animal object you would not want to concerned about the nature of the animal you are referring to. If it is a rabbit it should hop and a Snake should respond by wriggling. Dynamic binding As explained the programmed doesnt need to worry about the object type at coding time, the type of the object is resolved only at runtime and this is especially important for Java because Java objects can come from any one and may have come from any where. Like in C++, Java supports public and protected variables. Java has a constructor method to initialize when an object instance is created from a class. Java supports most of the concepts of classes that a standard object oriented language provides. There is no need for an explicit destructor. Java supports the concept of abstract class and abstract methods. Abstract classes define a generic class. They are at the highest level of class hierarchy. But multiple inheritance is not
73
Features of Java: Java is out and out an OOP language. Unlike C++, it enforces the programmers top adheres to OOP. Java is portable and architecture neutral Write once and run anywhere is the slogan for Java. That is Java programs once compiled can be executed on any machine that is Java enabled. Java is distributed Java is for the Internet, which is distributed in its approach. Of all the transformations that Java promises pivotal to the infotech industry as this distributed nature of Java. Its aim is to phase shift the way computing is being done today. The software packages that have just-in-case features crammed in will become redundant. Just as Java supports distributed and tiny specific applications called applets which will spawn the Web of computer, the post Java user simply would download an applet of his choice and have it on his system for the duration till the applet completes its job it is expected to do. Java has set of classes grouped together for explicit support for network programming. The language supports creation and addressing of network servers, clients and the works, which form a part of the distributed computed model. Robust Java based applications/applets are well behaved and will not let system crash. different platforms. They also behave uniformly across
74
Security The Java environment protects against intentional attacks such as worms viruses. Dynamic As Java is object oriented, it allows for runtime
extensibility. Java is high performing It supports multi threading, just-in-time compiling and native code usage. Multi threaded Java supports threads. Therefore different parts of an Java is simple
application can be in execution at the same time. Java can be used to build stand-alone applications. compared to C++ or VC++. Java Architecture Java architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which are then interpreted on each platform by the run-time environment. Java also provides stringent compile and run-time checking, and automatic memory management in order to ensure solid code. Strong security features protect system against ill-behaved programs. same room or across the planet. Java is a dynamic system, able to load code when needed from a machine in the
75
Compilation of code When you compile the code, the Java compiler creates machine code (called byte-code) for a hypothetical machine called Java Virtual Machine (JVM). bytecode. The JVM is supposed to execute the byte-code. The JVM is supposed to execute the The JVM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all other machines. This machine is called Java Virtual Machine. This bytecode is then run through an interpreter on the actual hardware that converts this bytecode into machine code required for that particular hardware and executes it. By compiling the program to the JVM, all code is guaranteed to run on any computer that has the interpreted ported to it. This solved many of the portability issues. During run-time the Java interpreter tricks the bytecode file into thinking that it is running on a Java Virtual Machine. Lets see in detail how this happens. The responsibility of running the code compiled for JVM falls to the interpreter. The interpreter process can be divided into three steps: verification of the code, loading and execution. checks the code does not have Forged pointers Access restriction violations Object mismatching Operand stack over-or underflows Incorrect bytecode parameters Illegal data conversion After this, the Class Loader loads code. This section of interpreter loads the Java file that is reference and any The bytecode Verifier
76
inherited or referenced classes that code will need. After the loading is complete, all the code is sent through to the runtime system for execution on hardware. happen in two ways: 1. The interpreter can compile native code at run-time, then run this native code at full speed. Here the conversion overhead is performed at the beginning of execution. 2. The interpreter will convert the code to the platform specific configuration a piece at a time. Here the conversion overhead is performed as a background thread during execution. Note that the Java compiler is machine dependent and so is the interpreter. It is only the bytecodes that are machine independent. Java interpreters. The bytecodes can be ported to any browsers have in built In fact almost all-latest versions of software products are Java aware i.e., they have a Java interpreter in built into them. ABOUT JDBC What is ODBC? ODBC or Open Database Connectivity is a way to connect any front-end tool to any backend database engine. Now it is important to see what is a front-end tool and what is a backend database engine. A front-end tool is a one, Which is used to provide user interface Using which the user will be able to manipulate the data. A back-end is responsible for the actual manipulation of the data based on the request of the information. Often a back-end is also called as a server and a front-end as a client. Execution can
77
Every back-end has a designated front-end. For example Oracle has front-end as forms 4.5, which is not suitable as a front-end, but, visual basic is. In some other situations it is possible that you would want to consistently maintain same user interface but change the database engine. To get around these kinds of problems ODBC is introduced. ODBC specifies some guidelines to the server side database engines. If the server database engine follows all the guidelines provided by the ODBC any client can be connected to it, by following the guidelines specified for clients, However, every client and server do not offer seam lines integration because of differences in internal implementations. Hence every server database software overrides at ODBC driver which follows all the specifications to be ODBC compliant. It is this ODBC driver that converts the request to match the implementations specific at the server side. Another important feature of ODBC is that it provides client an opportunity to connect to multiple databases simultaneously, which could be residing at different physical locations. All these advantages that ODBC offers take their own toll also. Since ODBC is a software layer that is introduced between client and server, Overall performance suffers considerably. However, advantages of ODBC outweigh this drawback of reduced performance, Since performance levels can be improved by fine tuning the software and also by employing faster processors, speedier disk drives and efficient networking hardware.
78
ODBC Architecture The diagram given below will give a basic understanding of the ODBC architecture. In ODBC you will find six major components namely. Front end tool Backend database engine Database ODBC Driver ODBC data source ODBC Manager The role of the each component is as follows: 1.Front end Tool: As explained earlier a front-end provides an interface to access the database residing on back-end server, and also to present the information to the user in the format specified. Also it can be connected to any number of ODBC Data sources, where each data source connects the front-end to a specific. Database residing on a specific server, If the front-end needs information from two databases it needs a connection to two data sources, or some times even. 2.Backend Database Engine: A back-end database engine is responsible for storing, retrieving, and maintenance of data. The actual storage and retrieval is based on the request on the front-end, through the ODBC DRIVER. However for a front-end a database engine is transparent and apparent environment is created as if it is operating directly on the database.
79
3.Database: Database is a set of data items that are logically related. A single database engine may manipulate more than a one Database as just a storage scheme of data, which can be manipulated only through the corresponding database engine. 4.ODBCDriver: As explained in the section 3.1, every database engine will have only one ODBC driver. Even though you can have multiple databases, since they are all managed by the same back end driver is sufficient .The driver is usually supplied by the database vendor. 5.ODBCDataSource: ODBC Data source provides the way for a front-end to connect to a database, Every Data-Source will have a designated ODBC driver i.e. a ODBC data source will have a corresponding ODBC driver which recognizes the database format. Hence to connect to a database it must have at least one data source defined for it. 6.ODBC Manager: To manage the ODBC Drivers and ODBC data sources a program is upped along with the database or some times even with the OS. This program is called the ODBC Manager. This can be used to install new ODBC Drivers or create new Data sources based on the available drivers and databases. ODBC manager and some sample ODBC Drivers can be found at Microsofts web site, which are distributed free of cost. Situations occur that no database engine is available, ODBC driver itself is responsible for the storage and retrieval of the data. For example, in file management systems like Dbase, text drivers provided by the ODBC Manager by default. Why JDBC ?
80
JDBC Java Database Connectivity is a front-end tool for connecting to a server and similar to ODBC in that respect. However, JDBC can connect only Java clients and it uses ODBC for the connectivity. JDBC is essentially a low-level API. It is called a low level API since any data manipulation, storage and retrieval has to be done by the program itself. Some tools, which provide a higher level abstraction, are expected shortly. The next Question that needs to be answered is why we need JDBC, once we have ODBC on hand. We can use the same ODBC to connect to all the databases and ODBC is a proven technology. Problem for doing this is ODBC gives a C language API that uses pointers extensively. Since Java does not have pointers and is object oriented, Sun Micro Systems, Inventor of Java Developed JDBC to suit its needs. JDBC Driver Types: There are four types of JDBC Drivers each having its own functionality. Please note that they do not substitute one another. Each has their own suitability aspects. They are classified based on how they access data from the database. 1.Native JDBC Driver: A JDBC Driver, which is partly written in Java and most of it, is implemented using Native methods to access the database. This is useful in case of a Java application that can run only on some specific platforms. Writing this type of drivers is easier compared to writing other drivers. 2.All-JavaNet Drivers: A JDBC Net Driver which uses a common network protocol to connect to an intermediate server, which in turn employs native calls to connect to the database. This approach is suited for applets where the requests must go through the intermediate server.
81
3.JDBC-ODBC Bridge Driver: A bridge driver provided with JDBC can convert the JDBC calls into equivalent ODBC calls using the native methods. Since ODBC provides for the connection to any type of database that is ODBC compliant, to connect to a number of databases simultaneously, it is a very simple matter. This approach is a recommended once since using ODBC drivers, who are industry standard as of now would make an application truly portable across databases. 4.Native Protocol all Java Driver: This type of JDBC driver is written completely in Java and can access the databases by making use of the native protocols of the database. This method of data access is suitable in case of Intranets, where every thing can run as an application, instead of an applet. The vendor of the database generally provides this driver. JDBC Architecture: JDBC architecture is shown below. Components of JDBC are. 1) ODBC Driver Manager. 2) JDBC Driver. 3) JDBC-ODBC Bridge. 4) Application. JDBC Driver Manager: Function of the driver manager is to find out available drivers in the system and connect the application to the appropriate database, wherever a connection is requested. However to help the driver manager identify different types of drivers should be registered with the driver manager. JDBC Driver: Function of the JDBC Driver is to accept the SQL calls from the application and convert them into native calls to the database. However, in this process it may take some help
82
of some other drivers or even servers. Which depend son the type of JDBC driver we are using. Also it is possible that the total functionality of the database-server could be built into driver itself. JDBC-ODBC Bridge: Sun soft provides a special JDBC driver called JDBCODBC Bridge driver, which can be used to connect any existing databases, which is ODBC complaint. Application: Application is the Java program that needs the information to be modified in some database or wants to retrieve the information.
Application
JDBCODBC Bridge
JDBC Driver
Net
Uses to
special access
83
ODBC Source
Data
ODBC Source
Data
ODBC Driver
ODBC Driver
84
About AWT AWT means Abstract Window Toolkit, It contains numerous classes & methods that allow you to create & manage windows. Although the main purpose of AWT is to create stand alone windows, It can also be used to support applet windows. AWT examines the standard controls & Layout managers defined by Java. It also discusses menus & menu bar. AWT controls are components that allow a user to interact with your application in various ways for example, a commonly used control is a push button. A Layout manager automatically positions components within a container. Thus, the appearance of the window is determined by a combination of controls that it contains and the layout manager used to position them. In addition to the controls, a frame window can also include a standard style menu bar. Each entry in a menu bar
85
activates a drop down menu of options from which the user can choose. A menu bar is always positioned at the top of a window. Although different in appearance, menu bars are handled in much the same way, as are the other controls. While it is possible to manually position components within a window, doing so is quite tedious. The default layout manager automates this task. Which displays the components in a container using left-to-right, top-to-bottom organization. Control Fundamentals Labels Push Buttons Check Boxes Choice Lists Scroll bars Text Editing These controls are subclasses of Component. Adding & Removing Controls To include a control in a window, you must add it to the window. To do this, you must first create an instance of the desired control and then add it to a window by calling add( ), which is defined by Container. The add( ) method has several forms. Component add (Component comp object) Here, comp object is an instance of the control that you want to add. A reference to comp object is returned. Once a control has been added, it will automatically be visible whenever its parent window is displayed. Sometimes you will want to remove a control from a window when the control is no longer needed. To do this, call
86
remove( ). this method is also defined by Container. It has this general form. void remove(Component object) Here, object is a reference to the control you want to remove. You can remove all controls by calling removeAll(). Responding to Controls Except for Labels, which are passive controls, all controls
Class when they are accessed Description generate events by the user. For
example, when user clicks a push button, an event is sent that AWT Event Encapsulates AWT events. identifies the push button. In general, your program simply implements the appropriate interface andlayout thenmanager registers an Border Layout The border event listener for each control that you need to monitor. Once Button Creates a push button control. a listener has been installed, events are automatically sent to it. AWT Classes
Check Box Creates a Check Box
control. The awt classes are contained in the java.awt package . It is Color Manages Color in a portable, it is one of Javas largest packages. Fortunately, because platform- independent fashion. logically organized in a top-down, hierarchical fashion, it is An abstract superbelieve. class for Table easierComponent to understand and than you might at first various AWT components. lists some of the AWT classes. Container A subclass of component that can hold other components. Dialog
Event
Flow Layout
The flow layout manager. Flow Layout positions components left to right, top to bottom. Encapsulates type font.
Font
87
Frame
Creates a standard window that has a title bar, resize corners ,& a menu bar. The grid layout manager. Grid layout displays components in a twodimensional grid. Encapsulates graphical images. Creates a label that displays a string. Creates a list from which a user can choose . Similar to
Grid Layout
88
standard windows list box. Panel Popup Menu Scroll Bar Scroll Pane The simplest concrete subclass of Container. Encapsulates a pop-up menu. Creates a scrollbar control. A container that provides a horizontal and or vertical scroll bars for another component. Creates a multi-line edit control. Creates a single-line edit control.
SWING
The Swing components, which are part of the Java Foundation Classes (JFC), can be used with either JDK 1.1 or the Java 2 platform. About the JFC and Swing What Are the JFC and Swing? JFC is short for JavaTM Foundation Classes, which encompass a group of features to help people build graphical user interfaces (GUIs). The JFC was first announced at the 1997
89
JavaOne developer conference and is defined as containing the following features: The Swing Components Include everything from buttons to split panes to tables. Pluggable Look & Feel Support Gives any program that uses Swing components a choice of looks and feels. For example, the same program can use either the JavaTM Look & Feel or the Windows Look & Feel. We expect many more look-and-feel packages including some that use sound instead of a visual "look" -- to become available from various sources. Accessibility API Enables assertive technologies such as screen readers and Braille and in applets. Displays to get information from the user interface. applets. Enables developers to easily incorporate highquality 2D graphics, text and images in applications and in
Drag and Drops Support (JDK 1.2 only): Provides the ability to drag and drop between a Java application and native applications. The first three JFC features were implemented without any native code, relying only on the API defined in JDK 1.1. This extension was released as JFC 1.1, which is sometimes called "the Swing release. The API in
90
JFC 1.1 is often called "the Swing API."Note: "Swing" was the codename of the project that developed the new components. Although it's an unofficial name, it's frequently used to refer to the new components and related API. Its frequently used to refer to the new components and related API, which begin with javax.swing. How Are Swing Components Different from AWT Components? The AWT components are those provided by the JDK 1.0 and 1.1 platforms. Although JDK 1.2 still supports the AWT components. We strongly encourage you to use Swing components instead. You can identify Swing Components because their names start with J. the AWT button class, for example, is named Button, while the Swing button class is named JButton. Additionally, the AWT components Are in the java.awt package, while the Swing components are in the javax.swing package. The biggest difference between the AWT components and Swing components is that the Swing components are implemented with absolutely no native code. Since Swing components aren't restricted to the least common denominator -- the features that are present on every platform -- they can have more functionality that AWT Components. Because the Swing components have no more functionality that AWT components.
91
Because the Swing components have no native code. They can be shipped as an add on to JDK 1.1 in addition to being part of JDK 1.2. Even the simplest Swing components have capabilities far beyond what the AWT components offer: Swing buttons and labels can display images instead of, or in addition to, text. You can easily add or change the borders drawn around most Swing components. For example, it's easy to put a box around the outside of a container or label. You can easily change the behavior or appearance of a Swing component by either invoking methods on it or creating a subclass of it. Swing components don't have to be rectangular. Buttons, for example, can be round. Assistive technologies such as screen readers can easily get information from Swing components. For example, a tool can easily get the text that's displayed on a button or label. Swing lets you specify which look and feel your program's GUI uses. By contrast, AWT components always have the look and feel of the native platform. Another interesting feature is that Swing components with state use models to keep the state. A JSlider, for instance, uses a BoundedRangeModel object to hold its current value and range of legal values. Models are set up automatically, so you dont have to deal with them unless you want to take advantage of the power they can give you.
92
If you're used to using AWT components, you need to be aware of a few gotchas. When using Swing components: Programs should not, as a rule, use "heavyweight" components alongside Swing Components. Heavyweight components include all the ready-to-use AWT Components (such as Menu and ScrollPane) and all components that inherit from The AWT Canvas and Panel classes. This restriction exists because then Swing Components, the heavy weight components is always painted on top. Swing components aren't thread safe. If you modify a visible Swing component Invoking its setText method, for example -- from anywhere but an event handler, Then you need to take special steps to make the modification execute on the Event-dispatching thread. This isn't an issue for many Swing programs, since Component modifying code is typically in event handlers. The containment hierarchy for window or applet that contains Swing Components must have a Swing top-level container at the root of the hierarchy. For example, a main window should be implemented as a JFrame instance Rather than as Frame instance. You don't add components directly to a top-level container such as a JFrame instead. You components to a container (called the content pane) that is itself contained by the JFrame.
93
Bibliography
1. Java Complete Reference - Patrick Naughton & Herbert Schildt 2. Java 1.2 Unleashed 3. JFC SWING Tech-media 4. Software Engineering - Richard.E.Fairley 5. SCHEDULING GUIDE FOR PROGRAM MANAGERS PUBLISHED BY THE DEFENSE SYSTEMS MANAGEMENT COLLEGE PRESS FORT BELVOIR, VA 22060-5565 6. Schedule Management Plan Office of the Systems Integration Serving California 7. Project Management: Planning, Scheduling, and Control http://exed.wisc.edu/courses/projectmanagement-planning-scheduling-and-control 8.planning, scheduling & project control - Dale R. Labitzke, http://www.born2process.com/Management/Projec t%20Control.pdf 9. Project Schedule Development Planning the Timing and Sequence of Project Activities
94
http://www.mindtools.com/pages/article/newPPM_71.ht m 10. Planning and Scheduling www.mosaicprojects.com.au/Planning.html 11. Planning & Scheduling Management - ASTAD PROJECT http://www.astad.qa/services/project-planningscheduling/ 12. MANAGING WORK IN PROGRESS (WIP) LegalBestPractice
http://www.legalbestpractice.com/newsletters_pdf/Financial %20management%201.%20Jul%20-%20Aug%202004.pdf
13. Works-in-Progress Associates: Project Management for Nonprofits 14. How You Can Benefit From Job and Work-InProgress Management
http://www.smallbusinesshq.com.au/factsheet/11993how-you-can-benefit-from-job-and-work-in-progressmanagement.htm http://www.wpa-works.com/
16. Ramco OnDemand ERP Demo - Work-In-Progress Management http://www.youtube.com/watch?v=V0AWlaKN6bw 17. The Key to Successful Execution Starts With Sound Planning and Scheduling http://www.boozallen.com/media/file/programplanning-scheduling.pdf 18. Project Planning & Scheduling
95
http://www.projectauditors.com/Consulting/Planning.ht ml 19. Optimal Staffing and Scheduling Management Premier Inc. https://www.premierinc.com/consulting/successstories/Budget_white_paper.pdf -Thanks in advance for suggestions if any.