1. INTRODUCTION
1.1 INTRODUCTION TO SYSTEM
In our Application to upload material by teachers for his allocated subject. He/She edit or remove material from the system all this work done in PHP and store data in MYSQL Server the student can able to download the material or view the material in android phone using this application.
1.2 AIM AND OBJECTIVES
• This application is develop for any educational campus for easily material download through mobile with the purpose of reduce the time and give the facility to inform the all student get easily material.
• Now a day, every person is using android OS. We have made one app named “Cloud Material App”. Student can download material. Teacher can upload material like assignment, Notes etc.
• If students have already installed, then they will have notification about new material uploaded related to his current semester. Student can log in from his/her ID & Password. Then they can able to download.
• User-Friendly
• Easy to access
• Time saving
• Sharing of study material
• Provide better efficiency for accessing material subject wise.
1.3 LITERATURE REVIEW
Cloud material app development using PHP program has lots of codes, Using Internet in gathering information partially contributed to the success of this project. Due to the fact that PHP is an open source program, development of hostel management system was not too difficult. However, thanks to the cyber world (Internet) that makes it possible to study and make comparison in needs of some code function.
PHP
PHP is a scripting language originally developed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in standalone graphical applications. While PHP was originally created by Rasmus Lerdorf in 1995, the main implementation of PHP is now produced by The PHP Group and serves as the de facto standard for PHP as there is no formal specification. PHP is free software released under the PHP License; however it is incompatible with the GNU General Public License (GPL), due to restrictions on the usage of the term PHP. It is a widely-used general-purpose scripting language that is especially suited fo1r web development and can be embedded into HTML. It generally runs on a web server, taking PHP code as its input and creating web pages as output. It can be deployed on most web servers and on almost every operating system and platform free of charge. PHP is installed on more than 20 million websites and 1 million web servers.
In 2008, PHP 5 became the only stable version under development. Late static binding has been missing from PHP and will be added in version 5.3. PHP 6 is under development alongside PHP 5. Major changes include the removal of register global, magic quotes, and safe mode. The reason for the removals was because register global had given way to security holes, and magic quotes had an unpredictable nature, and was best avoided. Instead, to escape characters, Magic quotes may be substituted with the addslashes() function, or more appropriately an escape mechanism specific to the database vendor itself like mysql_real_escape_string() for MySQL.
PHP does not have complete native support for Unicode or multibyte strings; Unicode support will be included in PHP 6. Many high profile open source projects ceased to support PHP 4 in new code as of February 5, 2008, due to the GoPHP5 initiative, provided by a consortium of PHP developers promoting the transition from PHP 4 to PHP 5. It runs in both 32-bit and 64-bit environments, but on Windows the only official distribution is 32-bit, requiring Windows 32-bit compatibility mode to be enabled while using IIS in a 64-bit Windows environment. There is a third-party distribution available for 64-bit Windows.
Security
The National Vulnerability Database stores all vulnerabilities found in computer software. The overall proportion of PHP-related vulnerabilities on the database amounted to: 12% in 2003, 20% in 2004, 28% in 2005, 43% in 2006, 36% in 2007, and 35% in 2008. Most of these PHP-related vulnerabilities can be exploited remotely: they allow hackers to steal or destroy data from data sources linked to the web server (such as an SQL database), send spam or contribute to DOS attacks using malware, which itself can be installed on the vulnerable servers.
These vulnerabilities are caused mostly by not following best practice programming rules: technical security flaws of the language itself or of its core libraries are not frequent. Recognizing that programmers cannot be trusted, some languages include taint checking to detect automatically the lack of input validation which induces many issues. However, such a feature is being developed for PHP Hosting PHP applications on a server require a careful and constant attention to deal with these security risks. There are advanced protection patches such as Suhosin and Hardening-Patch, especially designed for web hosting environments. Installing PHP as a CGI binary rather than as an Apache module is the preferred method for added security. With respect to securing the code itself, PHP code can be obfuscated to make it difficult to read while remaining functional.
MY SQL
What is a database? Quite simply, it’s an organized collection of data. A database management system (DBMS) such as Access, FileMaker Pro, Oracle or SQL Server provides you with the software tools you need to organize that data in a flexible manner. It includes facilities to add, modify or delete data from the database, ask questions (or queries) about the data stored in the database and produce reports summarizing selected contents.
MySQL is a multi-threaded, multi-user SQL database management system(DBMS). The basic program runs as a server providing multi-user access to a number of databases. Originally financed in a similar fashion to the J Boss model, My SQL was owned and sponsored by a single for-profit firm, the Swedish company My SQLAB now a subsidiary of Sun Micro system, which holds the copyright to most of the code base. The project’s source code is available under terms of the GNU General Public License, as well as under a variety of proprietary agreements.
MySQL is a database. The data in MySQL is stored in database objects called tables. A table is a collection of related data entries and it consists of columns and rows. Databases are useful when storing information categorically. A company may have a database with the following tables: “Employees”, “Products”, “Customers” and “Orders”.
1.4 PLAN OF WORK
A project plan is "A formal, approved document used to guide both project execution and project control. The primary uses of the project plan are to document planning assumptions and decisions, facilitate communication among stakeholders, and document approved scope, cost, and schedule baselines. A project plan may be summary or detailed."
Project development approach
I develop a website gives facility to manage information dynamically through web browser. Actually this website includes three modules one for user side , one for admin side and one for end user side. In our application we set planning and scheduling as per requirement of our application first phase as collect demographic data. We perform or create our logic and algorithm of our application. Phase we create database and finding quality and assurance set for development have is we represent a time line of our application.
1.4.1 PROJECT PLAN
A project plan is "A formal, approved document used to guide both project execution and project control. The primary uses of the project plan are to document planning assumptions and decisions, facilitate communication among stakeholders, and document approved scope, cost, and schedule baselines. A project plan may be summary or detailed."
Project Plan can also be defined more precisely as:
"A statement of how and when a project's objectives are to be achieved, by showing the major products, milestones, activities and resources required on the project."
At a minimum, a project plan answers basic questions about the project:
Why? – What is the problem or value proposition addressed by the project? Why is it being sponsored?
What? – What is the work that will be performed on the project? What are the major products/deliverables?
Who? – Who will be involved and what will be their responsibilities within the project? How will they be organized?
When? – What is the project timeline and when will particularly meaningful points, referred to as milestones, be complete?
The topics which we have covered in Project Planning are: Project planning process starts with an assessment of the constraints affecting the project. “Identify objectives”, “Determine information requirement”, “Analyze System Needs”, “Designing”, “Documentation”, “Development”, “Testing”, & “Deployment”.
SPIRAL MODEL
We need spiral model because we work and deploy application and deployment like social media application or phase base.
Speed our work spirally work as a team mate. We create three of our module parallel and binary work performs in all modules our admin role tiny little then other so we perform approval and verification model in our module.
In user side we perform two or three functionality in our user side like create to do list, habit, note etc. That’s the first phase of application. Second phase we display user and admin area and third end user.
1.4.2 SCHEDULE REPESENTATION
This will involve the amount of information, the manpower equipment space and other resources used for the information storage.
In the schedule representation phase in the showing flow, the schedule of a project flow with this type of schedule, we can decide first of all the project profile, after we can get our real time of an our project, then we started to project analysis, after completed some phase of analysis we can go in to logical design, and database design. About the database or logical design we can get records of project analysis or objectives of this project. Then we create a basic database. We can trial on this database, after we satisfied that designs we can start to create the entire database.
After the completing Database work and Designing phase, we can doing coding implementing in this real system, then we find out something new about our project, after Completing some phases of coding, we doing testing of our project (web-site). After completing our totally testing phase we making our project documentation.
The project schedule provides a road map for a software project manager.
• The team members have to check the progress of work of each other at times.
• The team members have to divide the responsibility of solving the problems if persisted in the programming.
• The time limitation should not be over looked.
• Determine whether formal project milestone have been accomplished by the schedule date.
1.5 ADVANTAGES AND LIMITATION
• Students can get the material easily
• Cloud material application is more time consuming.
• Cannot do more net surfing.
• It will contain over all study material.
• Download the material in any fomentation like PDF, .TXT, or doc file also there.
• This application is used to anywhere.
2. DESIGN: ANALYSIS, DESIGN METHODOLOGY AND IMPLEMENTATION STRATEGY
2.1. Design Analysis
Design is meaningful activity needed to develop a quality product. Design is the only way by which we can accurately translate the customer’s requirements into a finished software product or system. Thus design serves as the basis for all the software engineering steps. Design allows creating a model of the system or product that is to be built. This is useful to access quality improvements.
2.2 AEIOU Framework
AEIOU Canvas:-
ACTIVITIES:-
Visiting people
Comments
Managing
Downloading
Writing
Designing
Communication
Sharing
Reading
ENVIRONMENT:-
Area Measurement
Electricity problem
Communication
INTERACTION:-
Student Communicate with teachers
Teachers interact with each others
Teachers can add/remove students
Admin can manage visitor
Teachers give the material to student
OBJECTS:-
Laptop
Mobile
Documents
Software
Electricity
Hard Material
USERS:-
Visitors
Students
Teachers
Admin
Head
2.3 EMPTHY MAPPING CANVAS:-
USERS:-
Visitors
Students
Teachers
Admin
Head
ACTIVITY:-
Visiting people
Comments
Managing
Downloading
Writing
Designing
Communication
Sharing
Reading
STACKHOLDERS:-
Visitors
Students
Teachers
Admin
Head
Principles
HAPPY STORY:-
• One of my friend doing part time job along with external studies, so she couldn’t attend the college and lectures, she find difficulties to study related things and the exam was on due, she got the information about the cloud material application and with the help of material available on application and she prepared for the examination and she got passed.
• One of my cousin Riddhi who`s economical condition is not well she was not having any technical devices and due to that she did not get and updates related to study material as soon as I know about her difficulties, I downloaded material from this application and give it to her.
SAD STORY:-
• Many students who wants material for ant competitive exam and if he could not fine each and every material on the site or application he would phase problems and they need more not surfing for the required material.
• One of my friend who`s economical condition is not well enough so, there he can got updated material from cloud material from this application as he doesn’t have android phone or computer, and many of his friends didn`t know about his condition so that couldn`t help him, so he find difficulties during exam time.
2.4 IDEATION CANVAS
PEOPLE:-
Teachers
Students
Developers
Head
Engineers
Principles
Designer
Visitors
ACTIVITY:-
Designing plan
Comments
Communication
Give Feedback
Sharing
Downloading
Visiting people
Reading
Planning
Writing
SITUATION/CONTEXT/LOCATION:-
College
Services
Office
Application
PROPS/POSSIBLE/SOLUTIONS:-
Mobile
Laptop
Internet
Office
Broadband Connection
Bluetooth
2.5 PRODUCT DEVLOPMENT CANVAS
PURPOSE:-
Time saving
Cost effective
Best performance
PRODUCT EXPERIENCE:-
Security
Easy to read
Easy to Maintain
Easy to learn
PRODUCT FUNCTION:-
Save time
Download material
View application
Learn
Read
PRODUCT FEATURES:-
Easy learning
More security
Searching
Sharing
Better guidance
PEOPLE:-
Teachers
Students
Developers
Head
Engineers
Principles
Designer
Visitors
COMPONENTS:-
Laptop
Mobile
Apache service
Broadband connection
Office
Operating System
Internet
CUSTOMER REVALIDATION:-
Easy to access
Free visit
Easy to use
Easy to download
REJECT/REDESIGN/RETAIN:-
Designing issues
Downloading issues
Installing issues
Wrong Material
2.6 BUSINESS MODEL CANVAS
KEY PARTNERS:
• Institute
• Student
• Professors
KEY ACTIVITIES:
• Searching Material
• Download
• Upload
• Updates
KEY RESOURCES:
• Project data
• Information of all subjects
VALUE PROPOSITION:
• Ready material
• Easy download
CUSTOMER RELATIONSHIP:
• Email notification
• Personal Services
• App notification
CHANNELS:
• Seminar
• Advertisement
• Application
• Social Media Sharing.
CUSTOMER SEGMENTS:
• Student
• Faculties
• Professors
• Project manager
COST STRUCTURE:
• Domain.
• Marketing
• App Designing
REVENUE STREAM:
• Events
• Recruitments
3. IMPLEMENTATION
3.1. Implementation Environment
The implementation view of software requirement presents the real world manifestation of processing functions and information structures. This computerized system is specified in a manner that dictates accommodation of certain implementation details.
The implementation environment of the developed system facilitates multiple users to use this system simultaneously. The user interfaces are designed keeping in mind that the users of this system are familiar to using GUI-based systems. Thus, we restricted ourselves to developing a GUI-based system so that it becomes easier for the end user to get acquainted to the developed system.
Android studio
Android Studio is the official integrated development environment (IDE)
for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and
designed specifically for Android development It is available for download
on Windows, macOS and Linux based operating system. It is a replacement for the Eclipse Android Development Tools (ADT) as primary IDE for native Android application development.
The following features are provided in the current stable version:
Gradle-based build support
Android-specific refactoring and quick fixes
Lint tools to catch performance, usability, version compatibility and other problems ProGuard integration and app-signing capabilities
Template-based wizards to create common Android designs and components Support for building Android Wear app
3.2. System flow Diagrams
3.2.1 Context Flow Diagram
Material and other information Registration
Manage Profile Download Material
Give Feedback Other Content
Add
Teacher Allow to
Manage Profile
3.3 DATA DICTIONARY
Registration:-
Field Name Data Type Size Constraints
User_Name VarChar 40 Not Null
Address Varchar 50 Not Null
Gender Varchar 10 Not Null
Contact NO Number 10 UNIQUE KEY
Email ID Varchar 20 UNIQUE KEY
ADMIN:-
Field Name Data Type Size Constraints
Id Number 40 PRIMARY KEY
Name Varchar 50 Not Null
Password Varchar 10 Not Null
Address Varchar 10 Not Null
Contact NO
Number 20 UNIQUE KEY
Email ID Varchar 20 UNQUIE KEY
FACULTY / TEACHERS
Field Name Data Type Size Constraints
T_Id Number 40 PRIMARY KEY
T-name Varchar 50 Not Null
T_Address Varchar 10 Not Null
T_ContactNO Number 10 UNIQUE KEY
T_Branch Varchar 20 Not Null
T_Email Varchar 20 UNQUIE KEY
LOG IN
Field Name Data Type Size Constraints
Username Varchar 40 Not Null
Password Varchar 50 Not Null
MATERIAL
Field Name Data Type Size Constraints
M_id Number 40 PRIMARY KEY
M_Name Varchar 50 Not Null
M_Detail Varchar 500 Not Null
BRANCH
Field Name Data Type Size Constraints
B_id Number 40 PRIMARY KEY
B_Name Varchar 50 Not Null
B_Detail Varchar 500 Not Null
FEEDBACK
Field Name Data Type Size Constraints
F_id Number 40 PRIMARY KEY
F_Details Varchar 50 Not Null
Give_Feedback Varchar 500 Not Null
3.4 UML DIAGRAM
List of Diagrams in System Design
1. Use Case Diagram
2. Activities Diagram
3. Sequence Diagram
4. Collaboration Diagram
3.4.1.. USE-CASE DIAGRAM
• The purposes of use case diagrams can be said to be as follows: Used to gather the requirements of a system.
Used to get an outside view of a system.
Identify the external and internal factors influencing the system. Show the interaction among the requirements are actors.
• Use case diagrams can be used for:
Requirement analysis and high level design. Model the context of a system.
Reverse engineering. Forward engineering.
BASIC NOTATION FOR USE CASE DIAGRAM
System
Draw your system's boundaries using a rectangle that contains use cases. Place actors outside the system's boundaries.
Use Case
Draw use cases using ovals. Label the ovals with verbs that represent the system's functions.
Actors
Actors are the users of a system. When one system is the actor of another system, label the actor system with the actor stereotype.
Relationships
Illustrate relationships between an actor and a use case with a simple line. For relationships among use cases, use arrows labelled either "uses" or "extends." A "uses" relationship indicates that one use case is needed by another in order to perform a task. An "extends" relationship indicates alternative options under a certain use case
3.4.2 ACTIVITY DIAGRAM
Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be sequential, branched or concurrent. Activity diagrams deals with all type of flow control by using different elements like fork, join etc.
It does not show any message flow from one activity to another. Activity diagram is some time considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It shows different flow like parallel, branched, concurrent and single.
ADMIN ACTIVITY:-
NO
yes
STUDENT ACTIVITY:-
[Student has already registered] [Student has not Register]
Invalid valid
[Form is valid] [Form is invalid]
TEACHER ACTIVITY:-
[Student has already registered] {Student has not Register]
Invalid valid
[Form is valid] {Not Valid]
3.4.3 3 SEQUENCE DIAGRAM
A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams are typically associated with use case realizations in the Logical View of the system under development. Sequence diagrams are sometimes called event diagrams or event scenarios.
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.
BASIC NOTATIONS FOR SEQUENCE DIAGRAM
Class Roles or Participants
Class roles describe the way an object will behave in context. Use the UML object symbol to illustrate class roles, but don't list object attributes.
Activation or Execution Occurrence
Activation boxes represent the time an object needs to complete a task. When an object is busy executing a process or waiting for a reply message, use a thin gray rectangle placed vertically on its lifeline.
Messages
Messages are arrows that represent communication between objects. Use half-arrowed lines to represent asynchronous messages. Asynchronous messages are sent from an
object that will not wait for a response from the receiver before continuing its tasks. For message types, see below.
Manage Profile
Give Material
Add Teachers
Arrange Material and allocate subject
View Material
Download Material
3.5 snap shots
3.6 Testing
3.8.1 TESTING PLAN
The main objective of doing testing is to identify all defects existing in software. Basically the testing of web application consists of providing the program with a set of test inputs (test case) and observing that whether the application behaves as expected.
Testing is the process of executing a program with the explicit intention of finding errors, which makes the program fail. The tester is actually trying to make the program fail. A successful test is the one that finds errors.
Regardless of which strategies the analysts follow, there are preferred practices to ensure that the testing is useful. The levels of tests and types of test data, combined with testing libraries are important aspects of the actual test process. Among the various testing practices or strategies that are followed by analysts, the two important ones are unit testing and system testing.
3.8.2 TESTING METHODS
• Unit Testing – Module Testing
• In this testing individual components and modules are tested to ensure that they operate correctly. We had tested each and every module such as login details, user details, like students, tenants. For this we have checked the database for particular entry for validation and the verification.
• Integration Testing
• This testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. All the modules testing in the unit testing are integrated and are tested for their inter-dependency. This system mainly works on the integration of all the departments. So we have checked when user logs into the system participator details is fetched or not. When user rate it is checked that the values are showed in Operator or not.
• Validation Testing – Alpha Testing
• Alpha Testing is conducted for various validations. The participator enters his test the system by entering live data. If any error occurs in the system they directly contact us. 'During this testing they have uncovered error such as if he is the participator of any event but in system it is not getting and showing no event in participator than this validation is used.
• Security Testing
• This testing is done to confirm that the software allow only authorized users to access and use the system. There are two types of users in this system one is participators and other is visitor so without signing in no one can upload photo. We have tested entering the user name and password for all the security levels to show them the information pertaining to their work only.
• Acceptance Testing
• This type of testing is done when the system is being deployed. The testing data are supplied by the system procurer. The acceptance testing was carried out in the company main office. If they think it capable and only after a series of thorough testing the system will be ready to use by the company.
3.8.3 TESTING STRATEGIES
• Black-Box Testing
Test cases are designed using only functional specification of the software without any knowledge of the internal structure of it. For this reason, black-box testing is also known as functional testing.
There are essentially two main approaches to design black box test cases:
▪ Equivalence class partitioning
▪ Boundary value analysis
• White-Box Testing
• Designing white-box test cases requires knowledge about the internal structure of software. Hence, white-box testing is also called structural testing.
• There exist several popular white-box testing methodologies:
▪ Condition coverage
▪ Mutation testing
▪ Data flow-based testing
▪ Statement coverage
▪ Branch coverage
▪ Path coverage
3.8.4 Test cases
A test case is a set of conditions particular goal or objective to be capabilities or features.
or variables and inputs that are developed for a achieved on a certain application to judge its
It might take more than one test case to determine the true functionality of the application being tested. Every requirement or objective to be achieved needs at least one test case. Some software development methodologies like Rational Unified Process (RUP) recommend creating at least two test cases for each requirement or objective; one for performing testing through positive perspective and the other through negative perspective.
Test Case Structure
A formal written test case comprises of three parts –
Information
• Information consists of general information about the test case. Information incorporates Identifier, test case creator, test case version, name of the test case, purpose or brief description and test case dependencies.
Activity
• Activity consists of the actual test case activities. Activity contains information about the test case environment, activities to be done at test case initialization, activities to be done after test case is performed, and step by step actions to be done while testing and the input data that is to be supplied for testing.
Results
• Results are outcomes of a performed test case. Results data consist of information about expected results and the actual results
4. SUMMARY
4.1 CONCLUSION
It is evident that almost an uninterrupted process of multicultural synthesis has been one of the most cardinal features underlining the progression of the Indian civilization. As one of its prominent outcomes, Sanskrit and Tamil developed in the north and south India, respectively, as the classical languages of India. Sanskrit, subsequently, paved the way for its simpler and more popular variants in the form of the Prakrit, Apbhramsha, and eventually the Indo-Aryan (Indic) languages. Subsequently, all these Indian vernacular languages began to produce their own distinct literature The process of proliferation continues unabated. The existence of a number of vernacular languages in India lends her a distinct multilingual character, which in turn, is an important ingredient to her multiculturalism.
4.2 PROJECT BENCHMARK/UNIQUENESS
Personal expense Group expense Reminder
4.3 FUTURE ENHANSMENT
• It will contain over all study material, including competitive examination too.
• It provides study material in many languages.
• Also contain many useful reference books in any format life PDF or word file.
• Will contains video conference with many others knowledgably faculties or head.
• Distance learning also there.
• Having scope of teacher’s recruitment too.
• We get information related to college campuses.
• It will try to best assignment tutorials, uploaded in my application.
REFERENCE
https://www.tutorialspoint.com
http://androidtutorialspoint.blogspot.in
http://www.w3school.in/w3schools/android-tutorial/android-tutorial