Professional Documents
Culture Documents
Acknowledgement
Our successful completion of this project, Vibgyor Cyber Caf Management System, was more than just our desire to earn a valued degree. Many others, without whose help this project would not have seen the light of the day, must be acknowledged here for their immense contribution and assistance. We are very much thankful to Expert Cyber Caf and Computers for giving us this project and the necessary information in the analysis phase of the project. We express thanks and gratitude to our internal guide Ms. Pradyna Agaskar for her valuable guidance at every stage of the project. We are also thankful to our external guide Mr. Narendra Maurya for their guidance and help for the conception of the idea of the project and co-operative support during the project. We would also like to thank our colleagues for giving their helping hand. Last but not the least, we express our thanks to our parents for their support.
Synopsis
Introduction
The Cyber Caf management is a system in which we collect and save the record of customers like their internet surfing duration, how many pages they have print and other print related information. The major objective of this project is to handle the entire caf by keeping its day to day record for both internet and printing. The Project is Cyber Caf Management System given by Expert Computers and Cyber cafe. The Project Cyber Caf Management System is generalized client-server software that steps forward towards computerizing the routine work of the cyber cafe. Team Members: Omkar R. Vishwakarma. [IT-9097] Vikas G. Dalvi. [IT-9102]
The D. G. Ruparel College (IT) Report generation tools are not provided so data analysis for future enhancements becomes difficult task. Required to maintain number of registers with unique identification, this is very tedious task to perform.
Proposed System
To automate process involved in Cyber Cafe management. Maintain record of clients. i.e. login details, login duration, browsing history, computing printing charges and other relative processes. Maintain record of permanent members. Maintain all details of PCs used. i.e. maintaining the status of each client. Viewing clients information securely and rapidly. Prepare bill of the customer for their orders (print, purchase of products, etc) with total charges. Make the legacy process more efficient and fast.
Application calculates number of pages as well as the amount whenever a print command is given by any client.
Scope of Project
This Vibgyor Cyber Caf Management Software is designed to provide a solution for cyber caf owner to keep the records of their customers, members and also the session assigned to customers. This software is based on client-server architecture. These two modules run simultaneously on two different machines, customer uses client machine to access the session and server machine is used by an admin to assign session to customers, to control all the clients and to auto generate the bill as well. Server also provides the features of report of generation.
Report Generation: This module of software prepares the report automatically on periodic bases or as per the admins requirement. The reports generated by the module are as follows:
Policy Management: The application allows the admin to change the rate plans for the session as per his wish, the application also provides the feature of membership plan management.
The D. G. Ruparel College (IT) Session Control: This module enables the admin to control the session at customers side. This module provides the feature of giving time extension to customer session, restart and shutdown the client machines, etc.
Bill generation: This module generates bill for customer session automatically according to the rate plans and duration of session.
Gantt Chart
System Analysis
Analysis is a detailed study of the various operations performed by a system and their relationships within and outside of the system. Detailed investigation should be conducted with personnel closely involved with the area under investigation, according to the precise terms of reference arising out of the initial study reports. The tasks to be carried out should be clearly defined like: Examine and document the relevant aspects of the existing system, its shortcomings and problems.
Analyze the findings and record the results. Define and document in outline a proposed system. Test the proposed design against the known facts. Produce a detailed report to support the proposals. Estimate the resources required to design and implement the system.
The objectives at this stage are to provide solutions to stated problems, usually in form of specifications to meet the users requirements and to make recommendations for a new computer-based system. Analysis is an iterative and progressive process, examining information flows and evaluating in various alternative design solutions until a preferred solution is available. This is documented as system proposal.
System Analysis Using this system user can save the customer information, update, delete and retrieve a particular customer detail.
Using this system user can save the Session information, and retrieve a particular Session detail.
Using this system user can set Rate plans, update and delete.
Using this system user can view the daily/weekly/monthly income report.
Using this system user can save the Worker information, update, delete and retrieve a particular Worker detail.
Using this system user can search any record by selecting search button on the form.
After clicking the ADD button the entry will directly reflect in the report table. Using this system user can calculate and generate bills faster and more efficiently. 8
System Design
Software design is a representation of an object being created. A design information base that describes aspects of this object and the design process can be viewed as successive elaboration of representations, such as adding more information or even back tracking and exploring alternatives. Design is the most creative and challenging phase of the system development life cycle. The term design describes the final system and process by which it is developed. This phase is the most important phase of the life cycle. This is a creative as well as technical activity including the following tasks: Appraising the terms of reference Appraising the analysis of the existing system, particularly regarding problem areas Defining precisely the required system output Determining data required to produce the output Deciding the medium and open the files Devising processing methods and use of software to handle files and to produce output Determining methods of data capture and data input Designing the output forms Defining detailed critical procedures Calculating timings of processing and data movements Documenting all aspects of design
DESIGN OBJECTIVES:
The various desirable properties or objectives of software design are:
Correctness: The design of a system is correct if a system built precisely according to the design satisfies the requirements of that system. The goal during the design phase is to produce correct designs. Correctness is not the sole criterion during the design phase, as there can be many correct designs The goal of the design process is not simply to produce a design for the system. Instead, the goal is to find the best possible deign within the limitations imposed by the requirements and the physical and social environment in which the system will operate.
Verifiability: Design should be correct and it should be verified for correctness. Verifiability is concerned with how easily the correctness of the design can be checked. Various verification techniques should be easily applied to design.
Completeness: Completeness requires that all the different components of the design should be verified i.e. all the relevant data structure; modules, external interfaces and module interconnections are specified.
Traceability: Traceability is an important property that can get design verification. It requires that the entire design element must be traceable to the requirements.
10
Efficiency: Efficiency of any system is concerned with the proper use of scarce resources by the system. The need for efficiency arises due to cost considerations. if some resources are scarce and expensive, it is desirable that those resources be used efficiently. In computer systems, the resources that are most often considered for efficiency are processor time and memory. Two of the important such resources are processor time and memory. An efficient system consumes less processor time and memory.
Simplicity: Simplicity is the most important quality criteria for software systems. Maintenance of software system is usually quite expensive.
11
It is important to define a life cycle model for software system. Since the model decide the step to be followed to develop and maintain the system. To develop this system Spiral model is used. The Spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model, it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping and the waterfall model. The spiral model is intended for large, expensive and complicated projects.
12
Plan: In this phase, the objectives, alternatives and constraints of the project are determined and are documented. The objectives and other specifications are fixed in order to decide which strategies/approaches to follow during the project life cycle.
Risk Analysis: This phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analysed and strategies are decided to use them. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements.
Engineering: In this phase, the actual development of the project is carried out. The output of this phase is passed through all the phases iteratively in order to obtain improvements in the same.
Customer Evaluation: In this phase, developed product is passed on to the customer in order to receive customers comments and suggestions which can help in identifying and resolving potential problems/errors in the software developed. This phase is very much similar to TESTING phase. The process progresses in spiral sense to indicate iterative path followed, progressively more complete software is built as we go on iterating through all four phases.
13
Feasibility Study
Once the problem is clearly understood, the next step is to conduct feasibility study, which is high-level capsule version of the entered systems and design process. The objective is to determine whether or not the proposed system is feasible. Feasibility study is totally dependent upon the preliminary investigations and requirements of the system. The data collection done at preliminary stage examines that the system which is developed will be beneficial to test. Feasibility study could be used to test a new working system because the current system may no longer suit its purpose and technological advancement may have rendered the current system. The three tests of feasibility that have been carried out are as follows: Technical Feasibility
Economical Feasibility
Operational Feasibility
Technical Feasibility: It involves questions such as whether the technology needed for the system exists, how difficult it will be to build and whether the firm has enough experience using that technology. The assessment is based on an outline design of the system requirements in terms of inputs, outputs, fields, programs and procedures. This can be qualified in terms of volumes of data trends, frequency of updating etc. in order to give introduction to the technical system. The proposed system is technically feasible as it does not incur any changes in the configuration of the existing computer system for being compatible with the system developed. It does not require additional paid professional or cost of training for working on the system as no professional knowledge is required to work on this system. Hence, the Solution is technically feasible.
14
Economical Feasibility : The cost of hardware and software is feasible as it does not require any preinvestments because the company already has all the required tools along with the computer system. Hence the solution is economically and financially feasible.
Operation Feasibility: It is a standard that ensures interoperability. The proposed project is beneficial only if they can be turned into system that will make the company operating requirements. The stifling competition and innovation among user is beneficial to the public both in terms of cost and service quality. The proposed system is acceptable to users. This system will produce better results in any aspects of area and users will have control over accessibility of information and results in any area. So the proposed system is operationally feasible.
15
Event Table
No. 1. Event Login Trigger Admin wants to login Source Admin Activity a) Enter admin name & password b) Check for authentication Enter details of new admin a) Edit admin details b)Update admin table Change in rate plans Change in Membership plans Enter details of walkin customer Check details and make decision of adding customer If admin gives permission then entry of session time is required If permission is not given reenter details Enter details of member Check details and make decision of adding member If member is active and valid grant access If member is not valid 10. Edit Customer Change in customer details Admin Edit Customer details Response Access to Server Destination Admin
2. 3.
Admin Admin
New admin added Admin details changed Rate Plan updated Membership plan updated
Admin Admin
4.
Set Rate plans Set Members hip plan Sign up as Walkin Customer
5.
6.
Admin wants to change rate plans Admin wants to change membership plan Entry of walkin customer
Admin
Admin
7.
Walkin Customer
Admin
Session not granted Details of Member Decision taken by admin Session Granted
Admin
8.
Sign up as Member
Entry of Member
Customer Admin
Admin Member
9.
Login as Member
Member
Walkin customer
16
11.
Delete Customer
Admin
Delete customer
Admin
12.
Ask for extension or logout message If extension is taken Logout Admin Shutdown/Restar t clients Produce a) Customer Report b) Session Report c) Income Report
Admin
13.
14.
Admin
Reports
Admin
17
Class Diagram
The class diagram is the main building block of object oriented modeling. It is used both for general conceptual modeling of the systematic of the application, and for detailed modeling translating the models into programming code. UML provides mechanisms to represent class members, such as attributes and methods, and additional information about them. Visibility To specify the visibility of a class member (i.e., any attribute or method) there are the following notations that must be placed before the member's name.
+ # ~ / underline
Instance Level Relationships A Link is the basic relationship among objects. It is represented as a line connecting two or more object boxes. It can be shown on an object diagram or class diagram. A link is an instance of an association. In other words, it creates a relationship between two classes.
18
Class Diagram
19
20
2. Add/Edit Admin
21
22
23
24
25
7. Sign up as Member
26
8. Login as Member
27
9. Edit Customer
28
29
System
Admin
<<include>>
Displays Report
30
Object Diagram
An object diagram in the Unified Modeling Language (UML) is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time. An Object diagram focuses on some particular set of object instances and attributes, and the links between the instances.
31
Collaboration Diagram
Collaboration diagrams are a technique for defining external object behavior. They include the same information as Sequence Diagrams (or message trace diagrams) but are better able to show asynchronous message passing. Collaboration diagrams show how objects collaborate by representing objects by icons and their message passing as labeled arrows.
1. Admin Login
2. New Admin
3. Edit Admin
32
33
7. Login as Walkin
9. Member Login
34
35
36
Sequence Diagram
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner.
1. Admin Login
37
2. New Admin
3. Edit Admin
38
39
:tblRegCustomers
WalkinCust
System
Admin
Enter CustId & Pwd: Login as Walkin Verify CustId & Pwd: Verify Cust Responce to Customer Ask for Session Timing: If Cust Exits
:tblCustomers :tblMembers Member Customer Details: New Member Verify cust details & update table: Add New Member Register New Member Admin
Assign Member Id
40
8. Member Login
41
42
43
It is not a normal state, because objects in this state do not yet exist. State The state of an object is always determined by its attributes and associations. States in state chart diagrams represent a set of those value combinations, in which an object behaves the same in response to events:
Therefore, not every modification of an attribute leads to a new state. Transition A transition represents the change from one state to another:
Final State The final state represents the end of an objects existence:
A final state is not a real state, because objects in this state do not exist anymore.
Vibgyor Cyber Caf Management System 44
Server Side
45
Client Side
46
Activity Diagram
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-bystep workflows of components in a system. An activity diagram shows the overall flow of control. Construction Activity diagrams are constructed from a limited number of shapes, connected with arrows. The most important shape types:
rounded rectangles represent activities; diamonds represent decisions; bars represent the start (split) or end (join) of concurrent activities; a black circle represents the start (initial state) of the workflow; An encircled black circle represents the end (final state).
Arrows run from the start towards the end and represent the order in which activities happen. Hence they can be regarded as a form of flowchart. Typical flowchart techniques lack constructs for expressing concurrency. However, the join and split symbols in activity diagrams only resolve this for simple cases; the meaning of the model is not clear when they are arbitrarily combined with decisions or loops.
47
Server Side
48
49
Component Diagram
In the Unified Modeling Language, a component diagram depicts how components are wired together to form larger components and or software systems. They are used to illustrate the structure of arbitrarily complex systems. Components are wired together by using an assembly connector to connect the required interface of one component with the provided interface of another component. An assembly connector is a "connector between two components that defines that one component provides the services that another component requires. An assembly connector is a connector that is defined from a required interface or port to a provided interface or port. Client Side
50
Server Side
51
Deployment Diagram
A "deployment diagram" in the Unified Modeling Language models the physical deployment of artifacts on nodes. To describe a web site, for example, a deployment diagram would show what hardware components ("nodes") exist (e.g., a web server, an application server, and a database server), what software components ("artifacts") run on each node (e.g., web application, database), and how the different pieces are connected (e.g. JDBC, REST, RMI).
52
Menu Hierarchy
Customer
o Add a record o Update a record o Delete a record
Reports
o Session o Customer
View
o Monitoring o Plans Rate Plan Membership Plan
Search
o Customer o Session
Help
o Change Password o About
Exit
53
Database Design
DBMS Used:
Relational Database: Microsoft SQL Server.
Database Diagram:
54
FieldName CustomerID Name Customer Type Gender Address ContactNo Email-ID IDProof UniqID
Data Type Varchar Varchar Varchar Varchar Varchar Numeric Varchar Varchar
D escription Holds Customers ID Holds Customers name Holds Customers Type Holds Customers gender Holds Customers address Holds Customers Contact number Holds customers Email id Holds customers ID card type Holds Customers unique ID of customer Holds customers card if not present in Card types
Attributes Primary Key Field Size:15 Field Size:100 Field Size:20 Field Size:7 Field Size:300 Field Size:12 Field Size:100 Field Size:100 Field Size:30
Varchar Varchar
Others
Field Size:50
55
2. tblMembers This table stores information about the customers who are registered as a member.
FieldName MemberID
Description Holds members unique User-ID Holds members login password Holds members status Holds membership
Password
Varchar
Status
Varchar
Field Size:20
Membership Plan
Varchar
Field Size:50
Numeric Numeric
Holds used time Holds remaining tim e Holds registration date of member Holds expiry date of members plan
Registration Date
Datetime
End Date
Datetime
56
3. tblRegCustomers This table stores information about the customers who have registered with the cyber caf.
FieldName R egID
Description Holds members unique User-ID Holds members login password Holds registration date of member
Varchar Datetime
4. tblSession
This table stores information about the session allocated to any customer.
FieldName SessionID
Datetime Money
Description Holds Session number of each session Holds terminal name of the session Holds the date of session Holds the Session duration Holds the time when session was started Holds the time when session ended Holds the total cost
Currency value
57
5. tblMembershi pPlan This table stores information about the membership plans which contains the validity of the plan and its price.
Access Time
Numeric
Price
Money
Description Holds the name of the plan Holds the period of months the plan is valid Holds the time allowed for that plan in minutes Holds the price of the membership plan
Attributes Field Size:50 Primary key Integer values holding number of months
Currency value
6. tblRatePlan This table stores information about the rate to be charged for a particular duration of time.
Description Holds the duration to be charged Holds the usage cost for particular duration
Attributes
Currency value
58
7. tblTermi nals This table stores information about the terminals connected to the server
FieldName TerminalName
Description Holds the name of terminals connected to the server Holds the IP address of the terminal connected
IPAddress
Varchar
59
Splash Screen
This is the splash screen of Vibgyor Cyber Caf management system used to indicate the user that the application has started running and all the required files by this software are loading.
60
This form is used by the Client machine to connect to the server by using Server machine name. The user enters the server name and connects to the server and a Login screen occupies the whole client machines screen.
61
This is the server side form, it provides the quick search of customer details and also enables admin to edit it if required, here the admin can easily access all the customer records, can set rate plans or membership plans, can view the reports, can view all the session details, etc.
62
This form allows the Cyber Caf admin to add/edit/delete the rate plans or membership plans.
63
Session Form
This form allows admin to keep the track of ongoing sessions and allows controlling it. The admin can see the status of the machine connected to it and also the time duration allocated to the customer.
64
Search Form
This form allows to search the customer details quickly based on his/her name, email id or User id.
This form allows admin to allocate session time for the customer.
65
Login Screen
This form is displayed on every client machine before the session is allocated. Using these form new customers (Walkin/Member) can create new account and it is also used for the registered customers to login using the UserID and password. As soon as the allocated time is over or the customer logs out this from is again displayed.
66
67
68
Customer Verification Form This form is used to accept the details of the customer and to verify it and the admin enters the ID details of the customer and allows the registration of the customer. If the customer details are found to be wrong or invalid the registration is denied and the customer has to fill the details again.
Timer Form This form indicates the time remaining for session termination.
69
Customer Report This form is used to display the reports of the customers, the admin can view the records of all the customers or he can view records only of the walkin customer or only members.
70
Session Report This form is used to display the session reports, i.e. daily session reports or weekly session reports, who accessed the session, when the session was accessed, the session income, etc.
71
Testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Testing Methods
Software testing methods are traditionally divided into white- and black-box testing. These two approaches are used to describe the point of view that a test engineer takes when designing test cases. White-box testing White-box testing is when the tester has access to the internal data structures and algorithms including the code that implement these.
Black-box testing Black-box testing treats the software as a "black box"without any knowledge of internal implementation. Black-box testing methods include: equivalence
partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and specification-based testing.
Testing Levels
The main levels during the development process are unit-, integration-, and system testing. Unit testing, also known as component testing refers to tests that verify the functionality of a specific section of code, usually at the function level. In an object-
72
The D. G. Ruparel College (IT) oriented environment, this is usually at the class level, and the minimal unit tests include the constructors and destructors. Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. Software components may be integrated in an iterative way or all together System testing tests a completely integrated system to verify that it meets its requirements.
73
Implementation
Implementation is one of the phases of project development life cycle, once the software development and testing is completed then we can say that the software is ready to implement. Before implementing the application on the machine we need to check the hardware and software platform whether it is supports the application software or not. If the hardware and system platform supports the application software then we can directly install it on the machines but if it is not compatible with the platform then some changes are required in the software. Since this software is based on the client-server architecture we need to see that there is a physical connection between the client machines and the server machine and the server needs to run all the time.
Technical Requirements:
Minimum Server Side Requirement: 1. Pentium4 (P4) or higher version. 2. 512 RAM or more. 3. 500MB free space in Hard Disk. 4. Windows XP.
Software Development Tools: 1. Frontend: Java. 2. Backend: Microsoft SQL Server. 3. Netbeans 6.9 IDE.
74
The D. G. Ruparel College (IT) Once the successful implementation of software is done, customer or user training must be done.
JAVA as Front End The system is developed using as front end for the following reasons. JAVA provides the best graphical user interface. Since the software is going to be used by many customers the user friendliness of the system is of prime importance.
The form oriented approach of JAVA helps in making the system easy to understand.
JAVA is an object oriented language. The programs do not follow a sequential logic. That is the programmer does not determine the sequence of execution, instead the user decide the sequence of execution.
This is because each user action causes as event to occur & the code written for the event gets executed. Thus a single click from a user causes the event to fire, which in turn causes the corresponding code to be executed. Thus the user has the freedom to choose the action to be taken in particular situation.
Netbeans 6.9 provides the MDI form facility. The MDI form acts as the parent to other forms so that the child forms are displayed within the MDI form and the user can virtually access all the forms and the design elements from this MDI form. Thus traversing between different forms is very easy and efficient.
Netbeans 6.9 provides a large number of built in function and events, which provides an excellent means of input data validation.
JAVA provides various ways of displaying meaningful message to the users and also of tracking there response to this message through function like showMessageDialog and showConfirmationDialog methods.
75
Microsoft SQL Server 2000 is full featured Relational Database Management System (RDBMS) that is used by millions of people around the world. Database management programs are designed to store, manipulate and report large volume of information(or data).
Maintenance
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
Types of Maintenance:
Adaptive maintenance Over time, the original environment for which the software was developed is likely to change. Adaptive maintenance results in modification to the software to accommodate changes to its external environment
Perfective maintenance As software is used, through the feedback the user will recognize additional functions that will provide benefit. Perfective maintenance extends the software beyond its original functional requirements.
Security:
Only an authorized user can access this system. When user logs on the system, it allows the user to access the required data. But an unauthorized cannot access this system without log on. The password of system is only known to the authorized user not any others.
76
Future Enhancement
Vibgyor Cyber Caf management system can be enhanced by adding some new and innovative features: Admin can record the session of a customer if found doing something illegal. Session can be transferred from one client to another. Finger print recognition of customers.
77
Bibliography
Books Referred JAVA Primer 3rd Edition by E. Balagurusamy. How JAVA Works by Marshall Brain Pressman-Software Engineering SQL Complete Reference
Website
http://docs.oracle.com http://java.about.com http://www.exampledepot.com http://www.roseindia.net/ http://www.google.co.in/
78