azeem paper
TRANSCRIPT
Real Estate Website
Submitted in partial fulfillment of the requirementsfor the award of the degree of
Master of Computer Applications (MCA)
Guru Gobind Singh Indraprastha University, Delhi
Guide: Submitted by:
Preeti Guide: Nikhil Aggarwal En. NO. 05111804409
nikhil@aradhyatechnologies
Tripti Garg
Lecture, CDAC Noida
Centre for Development of Advanced Computing, Noida
1
2011-2012
Certificate
I, Mr. MOHD AZEEM, Enroll No. 0321184408 certify that the Project Report entitled “SCHEDULAR” is done by me and it is an authentic work carried out by me at Vedic Info Systems pvt. ltd.. The matter embodied in this project work has not been submitted earlier for the award of any degree or diploma to the best of my knowledge and belief.
Signature of the Students
Date:
Certified that the Project Report entitled “SCHEDULAR” done by Mr. MOHD AZEEM Enroll No. 0321184408 is completed under my guidance.
Signature of the Guide
Date:
Name of the Guide:
Mr. Prashant
Designation:
Project Manager
2
Certificate
I, Mr. MOHD AZEEM, Enroll No. 0321184408 certify that the Project Report entitled “SCHEDULAR” is done by me and it is an authentic work carried out by me at Vedic Info Systems pvt. ltd.. The matter embodied in this project work has not been submitted earlier for the award of any degree or diploma to the best of my knowledge and belief.
Signature of the Students
Date:
Certified that the Project Report entitled “SCHEDULAR” done by Mr. MOHD AZEEM Enroll No. 0321184408 is completed under my guidance.
Signature of the Guide
Date:
Name of the Guide:
Mrs. Rekha Saraswat
Designation:
Sr. Lecturer,
CDAC Noida
3
Acknowledgements
Many persons have contributed to make this project SCHEDULAR a reality. I
would especially like to express our appreciation to Prashant Sir for his unstinted
support, encouragement and his painstaking and meticulous effort towards
developing this software.
I sincerely express my gratitude towards Rekha Saraswat ma’m my present Project
Guide at CDAC Noida, for her support and help in the final preparation of this
Report.
I will always remain indebted to ATUL Sir. His invaluable suggestions and
guidelines helped me passing through the grinding situations. His motivation helped
me reach this state.
I acknowledge the help and cooperation received from all the staff of Vedic Info
Systems pvt. ltd. Several colleagues have contributed directly and indirectly to the
contents this software, as they had given me numerous ideas. Their criticism gave me
the much-needed hints about the areas that needed amendments.
Finally, I wish to express our sincere thanks to all my family members, especially my
Parents for their constant moral support and encouragement.
I would welcome Constructive Suggestions to improve this software, which can be
implemented in my further attempts.
Thanking you!
MOHD AZEEM
Enrollment No
0321184408
4
SYNOPSIS
Problem Definition:
This project is mainly intended to easily keep track of and maintain your individual
or co-workers' schedules. You can quickly view and schedule meetings,
appointments or company resources.
With Scheduler, you can keep track of your meetings and events, or view other
people's calendars. You can add one-time meetings, recurring meetings, or all
day events on your calendar, someone else's, or a group calendar. You can also
reserve a corporate facility or any equipment you will need, such as a projector,
conference room or TV.
Objective-
This project aims at creating event scheduler software, especially for the official
people, which can have official meetings, events to remember.
5
Description-
Here are some features of this project:
Handy online calendar
View your calendar on your personal Home Page. Switch from yearly/monthly/weekly/daily views of your personal schedule,
depending on your preference.
View month-by-month calendars for years to come.
View daily or weekly group schedules. With the "My Group" feature, select specific members' schedules to be displayed.
Choose your preferred format for times/dates.
Individual or group scheduling Input appointments on your personal calendar, either as public or private. Schedule all day events, or block out days or weeks at a time.
Schedule recurring times for individual appointments or group meetings.
Re-use existing appointments for commonly scheduled meetings.
Add anniversaries, such as birthdays or anniversaries, to your calendar. Import/export these annual occasions via CSV file.
Attach documents to meetings, such as agendas, maps, or meeting notes.
Find Available Time tool allows you to view the calendars of all Facilities and Attendees while you are scheduling a meeting to help avoid conflicts.
Meeting invitations
Invite members to an event - members can immediately decline the meeting. Meetings will automatically show up on invitees' calendars until the meeting
is declined.
Easily re-schedule meetings until all members accept.
Personal calendar options Create "private" events where time is blocked out in your schedule, but the
event itself is not visible to other users with access to your calendar. Create "hidden" events where only you can see the time or the event.
Export your calendar information.
Pop-up reminders Set up meeting reminders to pop-up X minutes before your meeting. Set up meeting reminders through email instead of in the pop-up format.
6
Rooms and resources View all facilities' schedules at a glance to see what's happening in each
room. View facilities from a weekly, daily or monthly view.
Review and reserve resources online for coordinated scheduling.
Reserve facilities for multiple days or for recurring dates months in advance.
Track white boards, monitors, TVs, VCRs, speaker phones, parking spots, etc. as well as conference rooms.
Group facilities by categories you define - appliances, rooms, off site properties, etc.
Import/export facilities information.
Administrator options Set up access permissions for individual calendar access for viewing, editing
or adding events. View all users' time sheets at a glance.
Sort time sheets by group.
Export group or individual time sheets.
Print or download time sheets of select users.
Convenient online time sheet
Keep track of your Time Sheet with an easy punch-in system. If you prefer, manually enter times in your time sheet.
View your time sheet at a glance.
Print your time sheet for easy reference.
Punch in or out with Share360 login/log out.
At-a-glance task tracking
Eliminate sticky notes and scribbled messages to yourself. Add and keep track of tasks with an easy-to-use online form.
Assign priorities to every task to highlight the urgent items.
Assign tasks in categories you set up.
Assign tasks with or without a deadline date.
Sort your tasks by priority, deadline date or category.
7
View all your completed tasks for easy reference.
Set deadlines with a handy clickable calendar.
View your tasks on your calendar.
If you decide a completed task is not really complete, move it back to incomplete whenever you want.
Web mail
Send and receive email in an easy web-based email system. WebMail
complies with SMTP Internet standards, so it is simple to set up and use.
Sort and organize emails along with your memos and notes in multi-level
personal folders.
Search past emails with our fast, comprehensive search system. Search using
to, from, cc, subject or message text.
Send and receive attachments.
Set up multiple personal signatures to be included with all outgoing emails.
Set up email rules, directing certain emails to particular folders when they
arrive in your inbox.
Put unwanted emails in the trash folder, so you can delete trash once you're
sure of your actions.
Set up the system to auto retrieve your emails every 10-60 minutes.
Hardware requirements-
1. CPU- A Pentium IV/Pentium IV- equivalent or later processor at 600 MHz
or more.
8
2. Memory- 128 MB of RAM or more.
3. Hard Disk- At least 2 GB hard disk space should be available.
4. A Display Monitor
Software Requirements-
1. Operating system- Microsoft windows 2000/XP/Vista/7.
2. Java 1.5
3. Oracle 9i/Mysql
Tools Used-
1. Eclipse helios IDE
.
9
CONTENTS
S. No. Topic Page No.
1. Certificate
2. Acknowledgements
3. Synopsis
4. List of Figures
5. List of Symbols
6. Chapter-1: Introduction 12
7. Chapter-2: Systems Requirement Analysis 19
8. Chapter-3: Systems Design 26
9. Chapter-4: Systems Development 37
10. Chapter-5: Systems Implementation 48
11. Summary and Conclusions 52
10
12. References/Bibliography 53
LIST OF FIGURES
S. No. Figure Page No.
1.Context-Level Data Flow Diagram
28
2. Level-1 Data Flow Diagram 29
3. Program Development Process 39
4. Systems Implementation Process 51
11
LIST OF SYMBOLS
S. No. Symbol Nomenclature & Meaning
1 Mr Mister
2 CDAC Centre for Development of Advanced Computing
3 Dr. Doctor
4 CPU Central Processing Unit
5 MHz Megahertz
6 MB Megabytes
7 RAM Random Access Memory
8 GB Gigabytes
9 R&D Research and Development
10 eg. for example
11 DFD Data Flow Diagram
12
CHAPTER-1
INTRODUCTION
13
Brief Description of the Organisation
Vedic Info Systems is an IT Consulting and Software Development company
specializing in Software Development, Project Management, Contract Programming,
and IT Staffing. Vedic Info System’s consultants possess extensive technical and
project experience resulting in our ability to understand client requirements, supply
the needed consulting resources and deliver the right kind of product.
We fulfil our promises with speed, quality and value to both our Consultants and our
Clients. Vedic Info Systems strives for a mutually beneficial relationship, delivering
to needs requirements, by which the Customer is in complete control of outcomes.
They offer specialized services in Software Testing and have developed a number of
tools to improve test coverage and test performance. Their experience in Software
Testing spans across various application domains such as Telecom, ERP and
Government Services.
Vedic Info Systems provides high quality Offshore IT Outsourcing and Global IT
Consulting Services. Their Offshore IT Outsourcing Services can provide you up to
65% of cost savings on your IT Application Development and Maintenance. With a
small on-site team to ensure knowledge continuity and proactive delivery to the
business, offshore teams are leveraged to deliver a variety of application
development and maintenance services.
14
1. General Description of the System under Study
Schedule generally refers to a timetable. It is a list of operations (actions) ordered by
time, performed by a set of transactions that are executed together in the system
But here I am talking about scheduling the office events and appointments.
The project SCHEDULER eliminates the problem comes from scheduling and saves
you a lot of time and energy when you’re trying to find a time to bring a number of
people together. Instead of using just one option, you can propose several dates and
times and the participants can indicate their availability online. With one look, you’ll
be able to see what the best time is for the meeting, and this works with any calendar
system that is being used.
Business partners and friends want to meet with you. Show them when you’re busy
and available and let them submit meeting requests to get on your calendar. Meet Me
is your central hub for scheduling.
As a professional scheduling solution, this project is integrated where you need it the
most. You can use it in your home and while working with your team at office.
15
2. User Requirements
Some of the software which is available in the market is not fulfilling all the user
requirements and their interfaces are not as good as common user needs.
For a person, it is very difficult to navigate through the system and organise their
events in a single click. User needs a complete system which has all such facility and
fulfils all their requirements in a single application.
3. Need of The New System
Scheduler is a events calendar and event handler that provides a rich and intuitive
scheduling solution similar to Microsoft Outlook Calendar, Apple's iCal, or Google
Calendar but has more features. The events can be displayed in Day, Week, Month,
Year, or Agenda views. Advanced drag-and-drop functionality allows users to
change date and time of an event by easily moving or resizing event boxes. Very
lightweight i.e there is no complexity in executing the software, no deadlock and
fast-performing, the scheduler uses oracle database to smoothly update and display
the events schedule.
Scheduler has mailing features which was not available in the above listed software.
16
User can easily send or receive mail via web mail facility and if meeting has been
cancelled then user can send cancellation mail to all employees in one click.
Scheduler also has administrator account which can access account of all user.
Administrator can add events to other employees, delete events and can modify to
other user’s events.
4. Objectives of the Project
The major objectives of the project are given as follows-
1. The main objective of this project is to aid the people who work in an
organization and have personal secretory to schedule their events, meetings,
appointments.
2. To help them easily navigate through this application and manage their
events.
3. And to help the official peoples by sending automatic appointment confirmation e-mail to client ,by Viewing appointments for multiple staff members at the same time, by Sending automatic appointment reminder e-mail to client
17
Methodology
6.1Introduction
A software life cycle is the series of identifiable stages that a software product
undergoes during its lifetime. The first stage in the life cycle of any software
product is usually the feasibility study stage. The subsequent stages are:
Requirement analysis and specification, design, coding, testing and maintenance.
Each of these stages is called a life cycle phase. A life cycle model represents all
the activities required to make a software product transit through its life cycle
phases. It also captures the order in which these activities are to be undertaken.
The most strict life cycle model used is the Classical Life Cycle Model.
6.2 Methodology Used
The classical waterfall model has been used in developing this project for the
following reasons:
1. The requirements are well defined and can be frozen in the initial stages of
the development process.
18
2. Hardware required is easily available at minimum cost.
3. The risk involved is not very high.
This methodology involves sequential execution of Feasibility study,
Analysis, Design, Construction, Testing and Maintenance phases.
5. Data Required & Data Collection Method
Data collection is an important aspect of software development. The more precise is
the data, the better will be the understanding of the project and the more precise will
be the resulting software.
In this project the data has been collected through interviews asking the users about
the difficulties faced by the visually impaired in using a computer system with the
Microsoft Windows operating system installed and by document analysis which
helped a lot in the implementation phase.
19
CHAPTER-2
SYSTEMS REQUIREMENT ANALYSIS
20
1. Introduction
Requirements analysis is a software engineering task that bridges the gap between
system level requirements engineering and software design. Requirements
engineering activities result in the specification of software’s operational
characteristics (function, data and behaviour), indicate software’s interface with other
system elements, and establish constraints that software must meet. The most
commonly used requirements technique is to conduct a meeting or interview. The
first meeting between a software engineer (the analyst) and the customer can be
likened to the awkwardness of a first date between two adolescents. Neither person
knows what to say or ask; both are worried that they do say will be misinterpreted;
both are thinking about where it might lead (both likely have radically different
expectations here); both want to get the thing over with, but at the same time, both
want it to be a success.
Gause and Weinberg suggest that the analyst start by asking context-free questions.
That is, a set of questions that will lead to a basic understanding of the problem, the
people who want a solution, the nature of the solution that is desired, and the
effectiveness of the first encounter itself.
The goal of the requirements gathering activity is to collect all relevant information
from the customer regarding the product to be developed with a view to clearly
21
understanding the customer requirements and weeding out the incompleteness and
inconsistencies in these requirements. The requirements analysis activity is begun by
collecting all relevant data regarding the product to be developed from the users of
the product and from the customer through interviews and discussions.
2. The Process
2.1 Topic Understanding
It is vital to understand each and every aspect of the project. So, as soon as the
project was allocated, the requirement of project is understanded by searching on
internet, by watching into offices, by the management of meetings, events and by
discussing friends.
2.2 Feasibility Analysis
Feasibility study is conducted to select the best system that meets the performance
requirements. This entails an identification, description, and evaluation of the
candidate system, and the section of the best system for the job.
Many feasibility studies are disillusioning for both the user and the analyst. First, the
study often pre-supposes that when feasibility of the documents is being prepared,
the analysis is in position to evaluate solutions. Second, most studies tend to
overlook the confusion inherent in the system development- the constraints and the
22
assumed attitudes. If the feasibility study is to serve as decision document, it must
answer three key questions:
Is there new and better way to do a job that will benefit the user?
What are the cost and saving of the alternatives?
What is recommended?
The most successful system projects are not necessarily the most visible in business
but rather those that truly fulfil the user expectations. Most projects fail because of
inflated expectations than for any other reasons.
Following are the main considerations involved in feasibility analysis:
2.21Technical Analysis
Technical feasibility centres on the current system and to what extent it can support
the proposed system, it includes current computer system specifications such as
hardware, software etc. it also involves financial considerations to accommodate the
technical enhancements. If the budget is serious constraint then the project is
adjudged as not feasible.
Though the system is developed in the generalized form, which covers all the
windows controls, the language used in development is Microsoft Visual C++ and
the text-to-speech engine used is the text-to-speech engine of Microsoft Speech
Application Programming Interface.
23
The hardware requirements of the system are much lower than the currently available
technology. So, the software is feasible from hardware point of view. The hardware
requirements are as follows-
1. CPU- A Pentium IV/Pentium IV- equivalent or later processor at 600 MHz
or more.
2. Memory- 128 MB of RAM or more.
3. Hard Disk- At least 2 GB hard disk space should be available.
The software requirements are also easily achievable. The software requirements are
as follows-
1. Operating system- Microsoft windows 2000/XP/Vista/7.
2. Jdk 1.5
3. Oracle 9i/Mysql
Hence, it is a technically feasible project.
2.22 Cost Analysis
The cost to conduct investigation was negligible, as our project guide and faculty
provided most of the information.
The cost of essential hardware and software requirement is not very expensive.
24
Hardware like Pentium IV PC and software like java development kit 1.5 are easily
available in the market. Moreover oracle or mysql can be downloaded free of cost
from the internet.
2.23 Benefits And Savings
Cost of the maintenance of the proposed system is negligible.
Makes navigation through the system really easy for a common person.
The proposed system is fully automated and hence easy to use.
Since benefits out base the cost, hence our project is economically feasible.
2.24 Operational Feasibility
In this, we determine what change will be brought in the system, new skills required
and other human organization and political aspects.
Every common user can easily use our software. However it is desirable that the user
should be able to power on the system and login.
Without making any changes in the rules and regulations of the existing system, the
proposed system can be easily adopted.
25
2.3 Functional Requirements
Scheduler has many unique features like web mail, pop up reminder, administrator
option, personal calendar option, reservation of rooms, projector, TV.
A common user need all these features and can use this software at home also for
managing their daily schedule. Any birthdays, shopping schedule, home budget
schedule can be saved in this software and any one can use reminder option to
remind on particular date, time.
Pop up reminder is a good option for those people who is not able to remember
events, so a pop up window is displayed after a fixed time limit on user’s screen
repeatedly.
2.4 Input Requirements
The data which is taken input by user is according to user’s selected option, like if
user wants to add meeting then he has to enter date in dd/mm/yyyy format and
information about events in string format.
Similarly while deleting events user has to just enter the events date then in a
specified format then event of that date will be deleted.
If user wants to send mail then he has to just enter email id of one or multiple
employee and select send button to send the mail.
2.5 Output Requirements
26
As the software outputs displays data so a monitor is needed for displaying the
information.
CHAPTER-3
SYSTEMS DESIGN
27
Introduction
System design phase starts after the software requirements have been analysed and
specified. System design is the first of the three technical activities: Design, code
and test that is required to build and verify the software.
A design methodology is a systematic approach to create a design by application of a
set of techniques and guidelines. Some desirable properties for a software system
design are as follows:
Verifiability
Completeness
Consistency
Efficiency
Traceability
Simplicity/Understandability
The system design considerations are:
The design objective that include practicality, efficiency etc.
28
The constraints, which include the hardware, software, budget, time, scale
and the interface with all other systems.
The processing techniques, which include batch processing, real time
processing and on-line processing.
There are two methodologies for designing which are as follows:
1.1 Top – down:
The top – down approach starts from the highest-level component of the hierarchy
and proceeds through to lower levels. It starts by identifying the major components
of the system, decomposing them into lower level components and iterating until
desired level of details is achieved.
This approach of designing the system might be best if the designer has a detailed
idea about the whole project to be developed. In this methodology, designer starts
with an overall view of the project and works branching off from there.
The advantages of the top-down approach are-
Your organization realizes a focused use of resources.
The first implementation becomes a showcase for the application.
When the phases are completed, you have implemented a deeper, more
mature implementation of the system.
Operation and maintenance resources are not initially impacted very much
severely.
29
1.2 Bottom-up:
A bottom-up approach starts from the lowest level of component hierarchy and
proceeds through progressively higher levels to top level components. This design
approach starts with designing the most basic or primitive components and proceed
to higher-level components that use these lower level components.
This approach is adopted when the designer doesn’t have a good idea about the
layout of final project, but knows how specific modules work. It might be that
working from these specific modules to the top modules is the way to proceed. This
is particularly true if there are, already, existing modules as a result of development
of some other project made by someone having the same concept.
If there are no modules from which the designer has to start, then he can begin by
designing modules that accomplish specific objectives and then linking them
together.
The advantages of this design are
Benefits are realized in the early phases.
You can replace many manual processes with early automation.
It is closer to practicality.
1. Data Flow Diagrams
30
Fig:-Flow Graph of Schedular
A data flow diagram (DFD) is a graphical representation of the "flow" of data
through an information system. DFDs can also be used for
the visualization of data processing (structured design).
On a DFD, data items flow from an external data source or an internal data store
to an internal data store or an external data sink, via an internal process.
A DFD provides no information about the timing of processes, or about whether
processes will operate in sequence or in parallel. It is therefore quite different
from a flowchart, which shows the flow of control through an algorithm,
allowing a reader to determine what operations will be performed, in what order,
and under what circumstances, but not what kinds of data will be input to and
output from the system, nor where the data will come from and go to, nor where
the data will be stored (all of which are shown on a DFD).
1.1 Context-level DFD
31
On the context diagram (also known as the 'Level 0 DFD') the system's
interactions with the outside world are modelled purely in terms of data flows
across the system boundary. The context diagram shows the entire system as a
single process, and gives no clues as to its internal organization.
The following figure shows the context-level data flow diagram of the system-
Figure No-1: Context-Level Data Flow Diagram
1.2 Level 1 DFD
The context-level DFD is next "exploded", to produce a Level 1 DFD that shows
some of the detail of the system being modelled. The Level 1 DFD shows how
the system is divided into sub-systems (processes), each of which deals with one
or more of the data flows to or from an external agent, and which together
provide all of the functionality of the system as a whole. It also identifies internal
data stores that must be present in order for the system to do its job, and shows
the flow of data between the various parts of the system.
The following figure shows the level 1 data flow diagram of the system-
32
Schedular SoftwareUser
Input
InformationUser
Scheduled
Events
UserChose Desired Option
Choose Desired
Option
Press submit button to execute
query
Receive acknowledge
ment for success
scheduling
Opens
Application
Insert or delete
Their data
Query executed
Figure No-2: Level-1 Data Flow Diagram
2. Process Logic
Add an Event
1. Click Scheduler from the main navigation.
2. Click the new: Event tab. Or, click on the date cell you in which you want to
add an event.
3. Enter Date, Time, Event, and Note.
5. Click Add Event.
Repeating Events
1. Go to the Add Event screen.
2. Click on Repeating Events above the date field.
3. Enter Repeating Info, Date, Time, Event, and Note.
4. Click Add Event.
All Day Events
1. To add an all-day event goes to the Add Event screen
33
Database update
User
Updated database
Success
Report
Table’s properties
2. Click All Day Events.
3. Enter Date, Event, and Note.
4. Click Add.
Invite Users and Groups/Reserve Facilities
1. Click Scheduler from the main navigation.
2. Click new: Event.
3. Enter Date, Time, Event, and Note.
4. Click Invitations/Reservations.
5. Select users you want to invite to the meeting, and add them to the attendee’s
box. If you do not see the members you want listed, change the group pull down to
view users in a different group. Click Add to find free time for all invitees, Use the Find Available Time - the Calendars of all invited users and selected Facilities will be displayed.
6. To register the event on a group schedule, choose the group as an attendee. If you'd like the event to show up on individual group member's schedules, you must add each group member individually.
7. Select facilities you want to reserve for the meeting, and add to the facilities box. If you do not see the facilities you want listed, change the facility group pull down to view facilities in a different group. Click Add.
Event Notifications
When you invite members to events, the event will automatically appear on the invitees' calendars. Invitees will receive notification of the event in the Notification Box on his or her Home Page, with the option to immediately decline your invitation.
If the invitee declines the event, the event will be removed from his or her calendar, and a notification will be sent to the event organizer.
If an invitee does not decline the event, the event will remain on his or her calendar.
Decline Events
1. Click Scheduler from the main navigation.
2. Click on the event you want to decline.
3. Click Decline.
4. Enter reason and click Decline Event.
34
When you decline a meeting, it will be automatically removed from your calendar, and the event organizer will receive a notification that you have declined the event.
If the meeting organizer wants to reschedule the meeting, invitees will again be notified of the change and will again be able to decline the meeting.
Edit/Delete an Event
1. Go to the Scheduler.
2. Click on the event you want to edit/delete.
3. To edit, click Edit. After editing the schedule, click Save Changes.
4. To delete, click Delete button. Click Delete to confirm.
Members invited to the edited/deleted event will be notified of the changes.
Note: Any user can edit/delete events with Browse/Edit/Add/Delete permissions. Permissions can be set up by the admin at
Tool>Admin Tools > Applications > Scheduler > Access Permission to Specific Schedules.
Add/Edit/Delete a Facility
The admin has permission to add/edit/delete facilities at Admin Tools > Applications > Scheduler > - Facilities - Add/Edit/Delete Facilities and Add/Edit/Delete Facility Groups.
set up View Settings, Anniversaries
See tool>My Options > Applications > Scheduler for personal Scheduler options.
Anniversaries
Users can set up personal anniversaries to be viewed yearly on their calendars. These are private to the user, and independent of the holidays set up by the admin in Admin Tools > Applications > Scheduler > Holidays.
35
3. Screen Shots
User Interface
Adding new events:
36
Message after successful adding events:
Deletion:
37
CHAPTER-4
SYSTEMS DEVELOPMENT
38
1. Program Development
First, there is a need for a computer based solution to a problem. The need may be
expressed in a few sentences as a problem specification. The progression from
understanding a problem specification to achieving a working computer-based
solution is known as “program development”.
39
Figure No-4: Program Development Process
1.1 Language used
Java is a programming language originally developed by James Gosling at
Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in
1995 as a core component of Sun Microsystems' Java platform. The language derives
much of its syntax from C and C++ but has a simpler object model and fewer
low-level facilities. Java applications are typically compiled to byte code (class file)
40
that can run on any Java Virtual Machine (JVM) regardless of computer architecture.
Java is a general-purpose, concurrent, class-based, object-oriented language that is
Specifically designed to have as few implementation dependencies as possible. It is
intended to let application developers "write once, run anywhere". Java is currently
one of the most popular programming languages in use, and is widely used from
application software to web applications.
One characteristic of Java is portability, which means that computer programs
written in the Java language must run similarly on any supported
hardware/operating-system platform. This is achieved by compiling the Java
language code to an intermediate representation called Java byte code, instead of
directly to platform-specific machine code. Java byte code instructions are analogous
to machine code, but are intended to be interpreted by a virtual machine (VM)
written specifically for the host hardware. End-users commonly use a
Java Runtime Environment (JRE) installed on their own machine for standalone Java
applications, or in a Web browser for Java applets.
2. Testing
2.1 Testing Methodology
Software testing is critical element of software quality assurance and represents the
ultimate review of specification, design and coding. It is used to detect errors.
Testing is a dynamic method for verification and validation, where the system to be
tested is executed and the behaviour of the system is observed.
41
2.2 Testing Objectives
Testing is a process of executing a program with the intent of finding an
error.
A good test case is one that has a high probability of finding an as-yet-
undiscovered error.
A successful test is one that uncovers an as-yet-undiscovered error.
The above objectives imply a dramatic change in viewpoint. They move counter to
the commonly held view that a successful test is one in which no errors are found.
Our objective is to design tests that systematically uncover different classes of errors
and do so with a minimum amount of time and effort.
If testing is conducted successfully (according to the objectives stated above), it will
uncover errors in the software.
Testing cannot show the absence of defects, it can only show that software errors are
present.
2.3 Testing Technique
The techniques followed throughout the testing of the system are as under-
2.31 Black-Box Testing
Black box testing focuses on the functional requirements of the software. That is,
Black Box testing enables the software engineer to derive sets of input conditions
that will fully exercise all functional requirements for a program. Black Box Testing
42
is not an alternative to white-box techniques. Rather, it is a complementary approach
that is likely to uncover a different class of errors than white-box methods.
Black-Box Testing attempts to find errors in the following categories:
Incorrect or missing functions.
Interface errors.
Errors in data structures or external data base access.
Performance errors.
Initialization and termination errors.
Unlike White Box Testing, which is performed early in the testing process, Black
Box Testing tends to be applied during later stages of testing. Because Black Box
Testing purposely disregards control structure, attention is focused on the
information domain. Tests are designed to answer the following questions:
How is functional validity tested?
What classes of input will make good test cases?
Is the system particularly sensitive to certain input values?
How are the boundaries of a data class isolated?
What data rates and data volume can the system tolerate?
What effect will specific combinations of data have on system operation?
By applying black box techniques, we derive a set of test cases that satisfy the
following criteria:
43
Test cases that reduce, by a count that is greater than one, the number of
additional test cases that must be designed to achieve reasonable testing.
Test cases that tell us something about the presence or absence of classes of
errors, rather than errors associated only with the specific test at hand.
2.32 White-Box Testing
White Box Testing, knowing the internal workings of a product, can be conducted to
ensure that internal operations are performed according to specifications and all
internal components have been adequately exercised.
Using white box testing methods, the test cases that can be derived are:
All independent paths with in a module have been exercised at least once.
Exercise all logical decisions on their true and false sides.
Execute all loops at their boundaries and within their operational bounds.
Exercise internal data structures to ensure their validity.
1.321 Control Structure Testing
Condition Testing
Condition testing is a test case design method that exercises the logical conditions
contained in a program module. Types of errors in a condition include the following.
Boolean operator error
Boolean variable error
44
Boolean parenthesis error
Relational operator error
Arithmetic expression error
Loop Testing
Loops are the corner stone for the vast majority of all algorithms implemented in
software. Loop testing is a white-box testing technique that focuses exclusively on
the validity of loop constructs. Four different classes of loops:
Simple Loops
Nested Loops
Concatenated Loops
Unstructured Loops
Dataflow Testing
The dataflow testing method selects test paths of a program according to the location
of definitions and uses of variables in the program. In this testing approach, assume
that each statement in a program is assigned a unique statement number and that each
function does not modify its parameters or global variables.
It is useful for selecting test paths of a program containing nested if and loop
statements. This approach is effective for error detection. However, the problems of
45
measuring test coverage and selecting test paths for data flow testing are more
difficult than the corresponding problems for condition testing.
2.4 Testing Strategies
A strategy for software testing integrates software test case design methods into a
well-planned series of steps that result in the successful construction of software. A
software testing strategy should be flexible enough to promote a customized testing
approach.
2.41 Unit Testing
Unit testing focuses verification efforts on the smallest unit of software design. It is
white box oriented. Unit testing is essentially for verification of the code produced
during the coding phase and hence the goal is to test the internal logic of the module.
Others consider a module for integration and use only after it has been unit tested
satisfactorily.
The module interface is tested to ensure that information properly flows in
and out of program.
Local data structure is examined to ensure that data stored temporarily
maintain its integrity.
Boundary conditions are tested to ensure that modules operate properly at
boundary limits of processing.
All independent paths are exercised to ensure all statements in a module have
been executed at least once.
All error-handling paths are tested.
46
We performed unit testing by building the different components of the software
separately and testing them. To test whether the program fetches the properties of the
windows controls or not, we created a graphical interface displaying the fetched
properties and then checking them for correctness.
2.42 Integration Testing
Integration testing focuses on design and construction of the software architecture.
For example: - We followed a systematic technique for constructing the program
structure that is “putting them together”- interfacing at the same time conducting
tests to uncover errors. We took unit tested components and built a program that has
been dictated by design and tested it for interface errors.
2.43 Validation Testing
It is achieved through a series of Black Box tests. An important element of validation
process is configuration review. It is intended for all the elements that they are
properly configured and catalogued. It is also called AUDIT.
2.44 System Testing
The last high-order testing step falls outside the boundary of software engineering
and into tile broader context of computer system engineering. Software, once
validated, must be combined with other system elements (e.g., hardware, people, and
database).
47
System testing verifies that all elements mesh properly and that overall system
function/performance is achieved.
It is a series of different tests whose primary purpose is to fully exercise the
computer-based system. Although each test has a different purpose, all work to
verify that the system elements have been properly integrated and perform allocated
functions.
It was performed by testing the program under various conditions. It was tested by
running it on desktop, windows explorer, notepad, Microsoft word etc.
2.5 Test Review
Test review is the process that ensures that testing is carried out as planned. Test
review decides whether or not the program is ready to be shipped out for
implementation
Scheduler is tested through all these phases but during coding unit testing is done
which reduces no. of expected errors from the system.
Many test cases and different methodologies is taken to test the software i.e white
box as well as black box.
2. Validation
Validation checks the system with real-time data for input, output, computational
processing & controls. The software has been checked to be operating with different
types of the various windows controls and has been found to be working well with
them.
48
CHAPTER-5
SYSTEMS IMPLEMENTATION
49
1. System Implementation
It refers to putting a planned system into action. The stages of systems development
in which hardware and software are acquired, developed and installed, the system is
tested and documented, people are trained to operate and use the system, and an
organization converts to the use of a newly developed system.
To ensure that a system's implementation takes place as efficiently and with as little
disruption as possible, a number of tasks are necessary. These include ordering and
installing new equipment, ordering new stationery and storage media, training
personnel, converting data files into new formats, drawing up an overall
implementation plan, and preparing for a period of either parallel running.
50
The resources that are applied to a system implementation depend on the scope and
complexity of the system. During implementation, all necessary software and
hardware is obtained and the system is staged where the components are configured
according to the System Design Specification and tested.
Systems can be staged at our facility or at the customer’s site if required. If staged at
the developer site, they are shipped to the client site once the configuration is
complete. A final test is performed on all components and system training is
commenced. Once the system training is complete, the system is rolled out into
implementation. On-site support can also be provided to handle post-implementation
issues and questions.
The process of planning, designing, and implementing computer system is called a
project. It is directed by a project manager who uses available resources to produce
system for the organization. It takes an effective manager resource, schedule the
events, establish standards, and complete the project on time, within budget, and with
successful results.
With parallel running, the new system is introduced alongside the existing system.
With parallel running both systems (manual and computer, or old computer and new
computer system) will be in operation at the same time. This has the advantage that
the results from the new system can be compared with those of the old system.
51
Figure No-5: Systems Implementation Process
The implementation of Scheduler software is quite same as above.
First part was planning that how to develop the system for which the agenda is gather
the requirement and implement according to module. If any requirement occurs later
then add this feature.
For this all the related requirement is gathered and collected and the part which was
going to develop initially is main window of Scheduler then its features like add,
delete event, web mail, administrator option etc.
4. Training
There is not much requirement for training as the software does not have a wrong or
difficult interface to understand, where a user can required help ,there a label is
given in next to input text area to understand to input data and a help menu is also
given to understand the system.
52
Summary & Conclusions
Scheduler helps those who had difficulty in scheduling their meetings and events
organised at offices. In fact, some people were rendered helpless by their meetings
because they have lots of meetings in a month or week.
Although Scheduler can make accomplishing tasks easier, technology alone cannot
mitigate all the difficulties that a person have.
Scheduler is a big boon for the corporate people and its use should be popularized
and widened in scope to assist and help them, not only to be independent at office,
but also at home to organise their daily schedules.
References/Bibliography
Books:
1. Herbert Schildt “JAVA COMPLETE REFERENCE” Tata MCGraw-Hill
Seventh edition 2007
Internet
1. About vedic info system “http://www.vedicinfosys.com”
2. gathering information “http://www.book-appointment.com/features.html”
3. System understanding
“ http://www.share360.com/products/s360v2/Applications ”
53
4. Schedule Adjustments “ http://dus.psu.edu/handbook/dropadd.html ”
Dhtmlx Scheduler
5. “ http://dhtmlx.com/docs/products/dhtmlxScheduler/index.shtml ”
Scheduling (computing)
7. ‘“ http://en.wikipedia.org/wiki/Scheduling_%28computing%29 ”
Java (programming language)
13.“http://en.wikipedia.org/wiki/Java_%28programming_language%29”
54