Академический Документы
Профессиональный Документы
Культура Документы
CONTENTS
1. Introduction 2. System study 2.1 Existing sys 2.2 Proposed sys 2.3 Configuration 2.4 Software requirement 2.5 Packages 2.6 System analysis 3. System design 3.1 Input design 3.2 Process design 3.3 Data flow diagram 3.4database design 4. System implementation 5. Testing 6. Conclusion 7. Bibliography 8. Appendix
Smart Campus
CHAPTER-1 INTRODUCTION
Smart Campus is an application for android based phone which will serve the students with all the basics information as their academic records, co-curricular activities, and reference search from the collage library, and college map with faculty finder. Imagine a convenience when any workshop or competition is happening in the campus so just by updating the details on the single device it will be available to all the other devices which are running the Smart Campus application. Students can query the library database to get the status of a book, and if its not available, then the names of students who have been issued that book. Furthermore this application will try to help students to utilize the college resources as much as possible i.e. academic information in personalized manner, whats happening now in campus, where my faculty is are the other feature of this mobile application to name so.
Smart Campus
1. PROBLEM DEFINITION The first step in the system study is to clearly identify the particular problem to be solved for the task to be accomplished and setting the system goals to be achieved. After determining the problems and requirements, the goals have been outlined. Initial investigation is the activity that determines whether the users requisition is valid and feasible. The first step in initial investigation is the problem definition. It includes the identification of the problem to be solved and the system goals to be achieved. The Application is developed only for the computer science students of the campus which gives it a constrains to reach out to mass but as the development path is followed this can be implemented to all the present departments with no pain system. Since the existing system is manual the data processing and certain report generation is time consuming. The information which are given by this application are either too dynamic or they cannot be implement by any manual work efficiently the benefit by this system is the resource updating in no time which means the data are distributed to all system without any significant delay.
Smart Campus
Smart Campus
Discussions
2.1 EXISTING SYSTEM Existing system is the traditional campus Environment. Although this method is appropriate for certain subjects, there are limitations. A commonly cited disadvantage of not having a smart way to communicate in campus is whenever an event is being organized or and information has to circulated on a large scale ,such as whole campus the proper platform is needed which is very old fashioned in traditional system. In the traditional system is information has to written in a printed paper and circulated , the information about the faculty is very unreachable to the new students coming to the campus, the change of contact information is not reflected to all the proper places or the given information are so insufficient . The drawbacks of existing system are:
The existing system is manual oriented. It cannot be accessed at any time according to our convenience. More steps are required just to extract a small piece of information. No centralized updated information about the academic details available for the mobile device.
Difficult for students to get information about campus events. Difficult to find a proper buyer of a selling product.
5
Smart Campus
Workshop and seminars are untouched due to lack of advertisement. No hand help map for the campus. No interaction on the mobile platform amongst the campus students.
2.2 PROPOSED SYSTEM The proposed system is the automation of the existing manual system. The information through application is accessed by the student at anywhere in the world. It is more accessible, flexible and convenient in their point of time when they are available for any cocurricular activity across the campus; the information about the faculty also contains the dynamic mechanism which means the change in main system will reflect across all the connected systems in no time.
Advantages:
Easy & user friendly. Strain of circulation the information is less. Students from any place can access the information. Information, syllabus can be easily uploaded and downloaded.
2.3 CONFIGURATION In order to implement this application on device the API level should be minimum 8 i.e. the running firmware version should be minimum 2.2 (froyo). There should be sufficient memory to store data.
Department of computer engineering, SOE 6
Smart Campus
2.3.1 Hardware Configuration The following requirements must be met in order to successfully develop and deploy the system across multiple platforms. Client Machine Operating System: Android version 2.2 (froyo) Device type: handset with GPS and Internet connectivity features. Server Machine Processor: Intel Pentium IV Processor 3.20GHz, 512K / 800MHz FSB Operating System: Microsoft Windows 2000 / XP / Linux Memory: 128MB (min) RAM Keyboard: Entry Level Quiet key Keyboard, PS/2 Mouse: PS/2, 2 button with scroll Monitor: 15 inch Monitor 2.4 Software Requirements Software used during Development Client Machine
Department of computer engineering, SOE 7
Smart Campus
Java Run Time Environment (JRE 1.5) Eclipse Indigo (3.7.2) Eclipse JDT plug-in (included in most Eclipse IDE packages) JDK 5 or JDK 6 (JRE alone is not sufficient). Server Machine Apache server on Linux Php version 5.3 Database Server-MySQL Server5.0 2.5 PACKAGES Requirements:
Smart Campus
Android Operation System Android is an operating system based on Linux with a Java programming interface. The Android Software Development Kit (Android SDK) provides all necessary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs. Android is currently primarily developed by Google. Android allows background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL libraries, access to the file system and provides an embedded SQLite database. Android applications consist of different components and can re-use components of other applications, if these applications declare their components as available. This leads to the concept of a task in Android; an application can re-use other Android components to archive a task.
LINUX Linux is an operating system that evolved from a kernel created by Linux Torvalds. To say that Linux is an operating system
Department of computer engineering, SOE 9
Smart Campus
means that its meant to be used as an alternative to other operating systems like MS-DOS. JAVA The primary motivation was the need for a platformindependent language that could be used to create software to be embedded in various consumer electronic devices, such as microwave ovens and remote controls. Java can be used to create two types of programs: applications and applets. The key that allows Java to solve both the security and the portability problems just described is that the output of a Java compiler is not executable code. MYSQL MYSQL is a data base management system. A database is a structured collection of data .It may be anything from a simple shopping list to picture gallery or the vast amount of s of information in a corporate network. To add access and process data stored in a computer data base, you need a data base management system such as MySQL Server.
MYSQL software is open source The MYSQL Database Server is very fast, reliable, and easy to use. Written in C and C++ MYSQL works in client/server or embedded system
Smart Campus
Apache Tomcat is a web container, or application server developed at the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the Java Server Pages (JSP) specifications from Sun Microsystems, providing an environment for Java code to run in cooperation with a web server. It adds tools for configuration and management but can also be configured by editing configuration files that are normally XML-formatted. Tomcat includes its own internal HTTP server.
Smart Campus
1. Common for all the batches. 1. Faculty. 2. Workshop & Seminar. 3. Co-curricular. 4. Library. 5. Syllabus.
Smart Campus
representation of the system showing the overall flow of control in processing at the job level; specifies what activities must be done to convert from a physical to logical model. 3.2.1. Data Flow Diagrams (DFD) Data Flow Diagram is the logical representation of the data flow of the project .In this section we explain in detail the class diagram, user case diagram and activity diagram. It also explains the block diagram of the different components of the project and how they are interrelated with each other. The block diagram was developed from top level to bottom level. The DFD is drawn using various symbols. It has a source and a destination. The process is represented using circles and source and destination are represented using squares. The data flow is represented using arrows. One reader can easily get the idea about the project through Data Flow Diagram. SYMBOLS USED IN DATA FLOW DIAGRAM 1) -Rectangle, which defines source / destination
2)
13
Smart Campus
3)
-Circle, which represent a process that transforms incoming data into outgoing flow.
4)
login
User
LOGIN
success
Academics
Help me College map Co-curricular Faculty Library Department of computer engineering, SOE 14
Smart Campus
Registration
Student
Student_reg
Password
Registration
Mobile
15
Smart Campus
details
Online
Academics
Exam_score
Smart Campus home
Help me
Data
Faculty info
Map
App frame
16
Smart Campus
Smart Campus
In this project the database approach is applied in two ways one is the application database which is kept on the device which keep track of the user login and other is the server database which keeps all the rest of the information about the project, right from the messages to the faculty and student information everything is stored on the server. In the following tables, there will be a primary key set to each table, which can be utilized for referring to that table. For example, in Table 3.3.1, id is the primary key... In most of the tables we have used the concept of foreign key, i.e., a field in one table will correspond to a field in another table such that any delete or update operation in one table will affect the other table also. For example, in Table3.3.7, login (of Login table),semid (of semester table) and subid (of subject table) are used as foreign key. Thus it is easy to get the exam details of a student of particular student of particular semester and for a subject. This way of organizing the table makes it easier to access data and also organized with uniqueness to its data. For some tables, we have used a master table which will help in retrieving data of similar type.
Smart Campus
Type
Description
int(9) faculty id varchar(30) First name of teacher varchar (200) Middle name of Teacher Department varchar (2) Teachers designation Qualification varchar (255) Teachers Qualification Join date varchar (15) Date of joining. DOB varchar (13) Date of birth Address varchar (255) address of faculty Phone int (20) Contact Number Email varchar (50) E-mail id
19
Smart Campus
Field Id Iemi Regno Name Password DOB Dept_code Year_join Sex Blood_gr Perm_addr Temp_addr Parname Locadd Email Mob_stu
Type smallint (6) int (15) varchar (20) varchar (30) varchar (10) varchar (10) varchar (5) varchar (5) enum (m,f) varchar(5) varchar(256) varchar (256) varchar (50) varchar (50) varchar (50) varchar (15)
Description User id Iemi number Registration no name password Date of birth Department code Year of admission gender Blood group Permanent Address local Address Parent name Local Address E-mail id Phone number
20
Smart Campus
Type varchar (15) varchar (15) varchar (75) varchar (500) varchar (20) tinyint (1) int (11)
Description Iemi Type of Meg Subject of post Description Time of post flag of mgs unique id of mgs
Table 3.3.5: Table Marks internal Field Id Subid Marks Tag Type int (11) varchar (15) int (11) varchar (5) Description id of student subject Marks scored -
21
Smart Campus
Table 3.3.5: Table Marks External Field Id Subid Chance no Marks Type int (11) varchar (15) tinyint (4) tinyint (4) Description id of student subject chance marks secured
Field 9:00-10:00 10:00-11:00 11:00-12:00 1:00-2:00 2:00-3:00 3:00-4:00 Day Batch Class Update
Type
Description
varchar (20) subjects timetable varchar (20) subjects timetable varchar (20) subjects timetable varchar (20) subjects timetable varchar (20) subjects timetable varchar (20) subjects timetable varchar (10) weeks day int (4) batch year enum (m,f) Class time version
22
Smart Campus
Table 3.3.7 Subject Field Subid Name Type Type int (11) int (11) int (11) Description Subject id sub full name type of subject
Table 3.3.8: Table Latest Homework Field Subject Publish date Submission date By Description of HW Type varchar varchar varchar varchar varchar (20) (30) (30) (40) (200) Description subject given date Submission date user posted Full Detail
Table 3.3.9: Table for Exam details Field Date Subject By Status Type Type varchar (20) varchar (20) int (11) int (11) varchar (20) Description Exam date Exam subject Login id Status type of exam
23
Smart Campus
24
Smart Campus
The major implementation procedures are, -Test Plans -Training -Equipment Installation 1. TEST PLANS The implementation of a mobile-based system requires that test data be prepared and that the system and its elements be tested in a planned, structured manner. The application component is a major subsystem of the mobile-based information system, and particular attention should be given to the testing of this system element as it is developed. 2. TRAINING The purpose of the training is to ensures that all the personnel who are to be associated with the mobile-based system possess the necessary knowledge skills. Operating, programming, and user personnel are trained using reference manuals as training aids. Programmer Training Programmers are assigned to the computer-based business system project at the beginning of the development phase. The programmers reference manual informs an experienced programmer, unfamiliar with the system,
Department of computer engineering, SOE 25
Smart Campus
about all of the aspects of the computer program. The manual should enable this person to (1) understand existing program components; (2) modify existing program components; and (3) write new program components. Operator Training If new equipment is to be installed, operator training is completed in conjunction with its installation and checkout. If new equipment is not required for the computer-based system, operators still must become familiar with the operational requirements of the new system. Different kinds of personnel may be involved in the operation of the system, such as computer operators, console operators, and data entry operators. Training programs for operators are scheduled to coincide with the needs of the computer-based business system as it is developed tested and approaches operational status. Users, analysts, and programmers may participate in the training of operators. User Training After the system is implemented successfully, training of the user is one of the most important subtasks of the developer. Even well designed and technically elegant systems can succeed or fail, because of the way they are operated and used. For this purpose user manuals are prepared and handled over to the user to operate the developed system. In order to put new application system into use, the following activities were taken care of:
Department of computer engineering, SOE 26
Smart Campus
Preparation of user and system documentation Conducting user training with demo and hands on Test run for some period to ensure smooth switching over the system
The users are trained to use the newly developed functions. User manuals describing the Procedures for using the functions listed on menu and circulated to all the users. It is confirmed that the system is implemented up to users need and expectations.
3. EQUIPMENT INSTALLATION Equipment vendors can provide the specifications for equipment installation. They usually work with the projects equipment installation team in planning for adequate space, power, and light, and a suitable environment. After a suitable site has been completed, the computer equipment can be installed. Although equipment normally is installed by the manufacturer, the implementation team should advice and assist. SECURITY TECHNOLOGIES AND POLICIES Any system developed should be secured and protected against possible hazards. The system may have to face the unwanted events called threats. Computer system is secure against a particular threat if counter measures have been taken to reduce an acceptability low-level amount of loss that the threat may be expected to cause over a given period of time. The
Department of computer engineering, SOE 27
Smart Campus
system security problem can be divided in to four related issues: Security, Integrity, Privacy, and Confidentiality. These problems may adversely affect the ability of the computer system to carry out its intended task. System Security System security refers to the technical innovations and procedures applied to the hardware and operating system to protect against deliberate or accidental damage from a defined threat. In contrast, data security is the protection of data from loss, disclosure, modification and destruction. The security features are considered while developing the system, so as to avoid the errors and omissions that may lead to serious problems. System Integrity System integrity refers to the proper functioning of hardware and programs, appropriate physical security, and safety against external threats. A threat to a computer system is any events that adversely affect the one or more assets or resources, which make up the system. An event can be interruption of communication, destruction of hardware, modification of software, removal of programs, disclosure of information etc. The major methods for handling threats are avoiding it by alternating the design, threat retention or threat reduction. Data integrity makes sure that the data do not differ from their original form and have not been accidentally or intentionally disclosed, altered or destroyed.
Department of computer engineering, SOE 28
Smart Campus
Privacy Privacy defines the rights of the users or organizations to determine what information they are willing to share with or accept from others and how the organization can be protected against unwelcome, unfair or excessive dissemination of information about it. Confidentiality The term confidentiality is a special status given to sensitive information in a database to minimize the possible invasion of privacy. It is an attribute of information that characterizes its need for protection. In contrast privacy is largely a procedural matter of how information is used. The above security issues were analyzed carefully and the following precautions are taken for the implementation of the system:
Physical security or protection from fire, flood and other physical damage.
Database integrity through data validation techniques. The application stores data in a RDBMS called MySQL. We can store data in a secured and easily retrievable manner into the tables. So the proposed system provides powerful security measures.
Security measures are provided to prevent unauthorized access of the system and the database at various levels. In this project the data security
Department of computer engineering, SOE 29
Smart Campus
and validation are applied using a password authentication. All the data, which is entered by the user is validated. Users should enter their username and password for the requesting access. Only after a valid login does the user get access into the system.
Smart Campus
System testing is the process of checking whether the developed system is working according to the objective and requirement. All testing is to be conducted in accordance to the test conditions specified earlier. This will ensure that the test coverage meets the requirements and that testing is done in a systematic manner.
TESTING PROCESS:
The strategy for system testing integrates system test cases and design techniques into a well-planned series of steps that result in the successful construction of software. The testing must co-operate with test planning, test case design, test execution and the resultant data collection and evaluation. A strategy for software testing must accommodate low level test and that are necessary to verify that a small code segment has correctly implemented as well as high level test that validate major system functions against user requirements. Software testing is a critical element of software quality assurance and represents the ultimate review of specification design and coding. A series of testing is performed for the proposed system before the system is ready for acceptance testing.
UNIT TESTING:
In unit testing different modules are tested against the specification produced during the design of modules. Unit testing is essential for verification during the coding phase. The aim is to test the internal logic of the modules. The tests are carried out during the programming stage itself. Unit testing makes heavy use of white-box
Department of computer engineering, SOE 31
Smart Campus
testing techniques, exercising specific paths in a modules control structure to ensure complete coverage and maximum error detection.
INTEGRATION TESTING:
Integration testing focuses on the design and the construction of the software architecture. The data can be lost across the interface or one module can pose an adverse effect on another. The sub functions when combined may not produce the major function. Integration testing is a systematic technique for the program structure, while at the same conducting test to uncover errors associated with the interface.
VALIDATION TESTING:
At the culmination of integration testing, software is completely assembled as a package; interfacing errors have been recovered and corrected and a final series of a software tests-validation tests begin. Validation testing can be defined in many ways but as simple definition is that validation succeeds when the software functions in a manner that can be reasonably expected by the customer. Validation testing provides final assurance that software meets all functional, behavioral, and performance requirements. Black-box testing techniques are used exclusively during validation.
SYSTEM TESTING
Department of computer engineering, SOE 32
Smart Campus
The last high-order testing step falls outside the boundary of software engineering and into the broader context of computer system engineering. Software, once validated, must be combined with other system elements .System testing verifies that all elements mesh properly and that overall system function/performance is achieved.
There is less overhead than with the big bang method: No drivers
This model can be presented to the user for an early test of the system.
33
Smart Campus
Test cases
Table 5.1: Test cases for Login verification (Device)
No 1 Test case Registration Number= Password= Registration Number = valid Password= 3 Registration Number = valid Password= invalid Registration Number =admin Password= acai Input Registration Number =blank Password=blank Result Display error message Registration failed Display error message Registration failed Display error message Registration failed 34
Smart Campus
4 Registration Number = invalid Password= valid Display error message Registration failed Registration failed
No 1
Result Display message Loops!! Did you miss something? Please check your details and try again. !!
Emailid=aa.com
Smart Campus
miss something? Please check your details and try again. !! 3 Click submit button with password= Password =blank Display message Ooops!! Did you miss something? Please check your details and try again. !!
Display message Ooops!! Did you miss something? Please check your details and try again. !!
Display message Hi, (name)! Congratulations, you just got a new app for your android device; Check your email for more details. SMS sent successfully
36
Smart Campus
CHAPTER-6 CONCLUSION
Thus after a design stage of the android based Smart campus project it is found that the project is feasible and can be implemented. Such application can provide relevant and rewarding experiences. Although currently it is available only to the computer science depart mint but the extension will take no time as the things are easy for extension... new technologies like this will provide more effective means of communication around campus... In terms of academy record it helps a lot by having the information right in the hands of student when they want, the faculty contact information is also available on fingertips. The future of smart campus is making it an integer part of the campus and it can be used for all kind of things such as voting etc.
FUTURE ENHANCEMENT The project is implemented keeping in mind the possible future enhancement and the modules are designed in such a way that developments are possible without any change in the basic structure of the system. In future the Smart campus application can be made more interactive by adding an additional feature of video lectures and by adding
Department of computer engineering, SOE 37
Smart Campus
lecture videos of teachers. Also more features can be included like library book availability status check etc.
BIBLIOGRAPHY
http://developer.android.com/index.html http://www.vogella.de/android.html http://www.w3schools.com/html/html_attributes.asp http://cseweb.ucsd.edu/users/elkan/134A/MySQLtutorial.pdf Roger. S. Pressman (1991), Software Engineering, McGraw-Hill, International Editions Elias. M. Award(1991), System Analysis and Design, Golgotha Publication Pvt. Ltd , Second Edition Anthony Molinari(2005), SQL Cookbook, OReilly Publishers, International Editions Lukas Jordan & Pieter Grayling Practical Android project Recto Meier Professional Android 2 Application Development
38
Smart Campus
Registration (online)
39
Smart Campus
REGISTRATION (Device)
40
Smart Campus
HOME MENU
41
Smart Campus
Help me Section
42
Smart Campus
Syllabus
43
Smart Campus
44
Smart Campus
45
Smart Campus
Co-curricular
46
Smart Campus
A General Post
47
Smart Campus
New post
48
Smart Campus
Faculty List
49
Smart Campus
Map
50
Smart Campus
51
Smart Campus
Students Registered
52
Smart Campus
APPENDIX-2 CODES
53
Smart Campus
14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47.
if($rno != null && $psd != null && $email != null && $num != null && $resp!=null) { $query = sprintf("SELECT * FROM student_profile"); $result = mysql_query($query); while($row = mysql_fetch_array($result)) { if($rno==$row[2]) { if($row[13]=='1') {echo $row[3] . " has already registered !!!";$GLOBALS['chk']=1;break;} else { $changepas = sprintf("UPDATE `a4652565_sc`.`student_profile` SET `password` = '$psd' WHERE `student_profile`.`regno` ='$rno' ;" ); $register = sprintf("UPDATE `a4652565_sc`.`student_profile` SET `status` = '1' WHERE `student_profile`.`regno` ='$rno' ; "); $inputmob = sprintf("UPDATE `a4652565_sc`.`student_profile` SET `mob_student` = '$num' WHERE `student_profile`.`regno` ='$rno' ; "); $emailid = sprintf("UPDATE `a4652565_sc`.`student_profile` SET `email_id` = '$email' WHERE `student_profile`.`regno` ='$rno' ; "); mysql_query($changepas); mysql_query($register); mysql_query($emailid); mysql_query($inputmob);
//send email $subject ="SMART CAMPUS"; $from = "mini_project"; $headers = "From:" . $from; $name= $row[3]; $message ="Congratulations ,you just got a new app for your android device , Check your email for more details ."; 48. $url="http://ratan.co.cc/android/SmartCampus.apk"; 49. 50. $message="Hi , ".$name."!. " .$message . " "; 51. mail($email,"$subject",$url,$headers); 52. echo $message; 53. echo "</br>"; 54. echo file_get_contents("http://s1.freesmsapi.com/messages/send?skey=26958f01b27e290a05059 12caa597bc5&message=".urlencode('http://ratan.co.cc/android/SmartCampus.apk')."&reci pient=".$num); 55. $GLOBALS['chk']=1; 56. $chk=1; 57. break; 58. }//else 59. } 60. else 61. {$GLOBALS['chk']=0;} 62. } 63. if($GLOBALS['chk']==0) 64. echo "Sorry , Either Record not found or you have given incorrect details .."; 65. } 66. else
54
Smart Campus
67. echo "Ooops again. !!"; 68. } !! Did you missed something ? . Please check your details and try
Application side
try{ URL url= null; url= new URL(u); URLConnection conn = url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line=""; line=reader.readLine(); Log.d("tag", line); int ch=line.charAt(0);
//whatever you want if(ch=='1') { SQLiteDatabase db = openOrCreateDatabase("login", MODE_PRIVATE, null); db.execSQL("CREATE TABLE IF NOT EXISTS User (Reg INT(8), Pass VARCHAR, Status INT(1));"); String s="INSERT INTO User VALUES ( '" + reg.getText().toString() + "' , '" + pass.getText().toString() +" ' , '1' )"; db.execSQL(s); Toast.makeText(main.this, " Registration Successful ", 5000).show(); Department of computer engineering, SOE 55
Smart Campus db.close(); NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notify = new Notification(android.R.drawable.stat_notify_more, "Congratulation", SystemClock.currentThreadTimeMillis()); Context context = main.this; CharSequence title = "Thanks for Installing SmartCamp"; CharSequence details ="Developers Rashmi & Ratan CSE Sem-VI "; Intent intent = new Intent(context, main.class); PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0); notify.setLatestEventInfo(context, title, details, pending); notify.sound = Uri.parse("android.resource://cc.co.ratan.www/" + R.raw.beep); nm.notify(0, notify); startActivity(new Intent(main.this, Menu.class)); finish(); } else Toast.makeText(main.this, " Registration Failed ", 5000).show(); }catch (Exception e1) { // TODO: handle exception
}
Smart Campus
gnation":"Sr.Lecturer","qualification":"M.Tech in Computer Engineering"},{"name":"Damodaran V.","phoneno":"9447001195","email":"damodar@cusat.ac.in","designa tion":"Sr. Lecturer","qualification":"M.Tech. in Computer EngineeringB.E. in Computer Science & Engineering.
57