Campus Selection Procedure Android App Project Report
Campus Selection Procedure Android App Project Report
Campus Selection Procedure Android App Project Report
Table of Contents
ABSTRACT
I. LIST OF FIGURES
1. INTRODUCTION
1.1 Motivation
1.2 Problem Definition
1.3 Scope of Project
1.4 User Classes and Characteristics
2. LITERATURE SURVEY
2.1 Introduction
2.2 Existing System
2.3 Proposed System
2.4 Modules
3. ANALYSIS
3.1 Introduction
3.2 Software Requirement Specification
3.3 User Interfaces
3.4 External Interface Requirements
3.4.1 Software Requirements
3.4.2 Hardware Requirements
3.5 Feasibility Study
3.5.1 Economic Feasibility
3.5.2 Operational Feasibility
3.5.3 Technical Feasibility
3.6 Java
3.7 Project Perspective
3.8 Android
3.8.1 About Native code
3.9 User Documentation
3.9.1 Creating an android project
3.9.2 To create an AVD with the AVD manager
3.9.3 To Create or Modify a Launch Configuration
3.10 SQLite
3.10.1 Design
3.10.2 Features
4. DESIGN
4.1 Introduction
4.2 Architecture Diagram
4.3 Unified Modeling Language (UML)
4.4 Building Blocks of UML
4.4.1 Things in the UML
4.4.2 Relational in the UML
4.4.3 Sequence Diagrams
4.5 UML diagrams
5. IMPLEMENTATION
5.1 Introduction
5.2 Design and Implementation Constraints
5.3 Screen Shots
6. TESTING AND VALIDATION
6.1 Software Testing
6.2 Testing Phases
6.3 Testing Activities
6.3.1 Unit Testing
6.3.2 Equivalence Testing
6.3.3 Integration Testing
6.4 Test Case Design
6.4.1 White-Box Testing
6.4.2 Black-Box Testing
7. CONCLUSIONS
8. REFERENCES
ABSTRACT
This project is aimed at developing an online application for the Placement Dept. of the
college. The system is an online application that can be accessed throughout the organization and
outside as well with proper login provided. This system can be used as an application for the PO
(Placement Officer) of the college to manage the student information with regards to placement.
Students logging should be able to upload their information in the form of a CV. Visitors/Company
representatives logging in may also access/search any information put up by Students
1. INTRODUCTION
1.1. MOTIVATION
The major objective is to identify the talented and qualified students before they
complete their education. It provides employment opportunities to the students who are
perusing or in the final stage of completing the course. This process reduces the time for an
industry to pick the candidates according to their need.
This project is mainly developed to provide easy way of selecting students. This
allows admin to view the number of students and companies registered. The students can
send the report to the companies regarding information.
In this students and companies get registered. It helps to know student details and
company vacancies to each other. The procedure can be availed only after register and
login of particular user.
2. LITERATURE SURVEY
2.1 INTRODUCTION
In literature survey we look into the details about the existing system and we try to reduce
the disadvantages of the existing system. We try to improve the performance and the efficiency
of the new system.
In developed system users can view the status of their vacancies in companies and
they can also view the status of the student details. Once the need for any purpose arises
then the admin can be availed. This is the way people can be benefited and especially
when they are in urge.
2.4 MODULES
1. Student
2. Company Details
3. Job Search
4. Administrator
5. Reports
Module I: Student
This module contains details about students like name, id, email, skill details etc.
Students can upload their CV’s.
They can update their personal details, skill details and CV
This module allows us to search for the jobs based on the registered companies in this
system.
The administrator module having all the privileges about this entire project.
He can delete, and modify the details about student, company etc.
Module V: Reports
3.1 INTRODUCTION
In this phase the requirements are gathered and analyzed. Users requirements are
gathered in this phase. This phase is the main focus of the administrators and registered
accounts. Meetings with users and registered people are held in order to determine the
requirements like: Who is going to use the system? How will they use the system? What
data should be input into the system? What data should be output by the system? These
are general questions that get answered during a requirements gathering phase. After
requirement gathering these requirements are analyzed for their validity and the
possibility of incorporating the requirements in the system to be development is also
studied.
Android SDK
2. RAM : 1GB
3. Hard Disk : 20 GB
3.5 FEASIBILITYSTUDY
The three major areas consider while determining the feasibility of the project are
1. Economic Feasibility
2. Operational Feasibility
3. Technical Feasibility
A simple economic analysis which gives the actual comparison of costs and
benefits are much more meaningful in this case. These could include increased customer
satisfaction, improvement in product quality better decision making timeliness of
information, expediting activities, improved accuracy of operations, better documentation
and record keeping, faster retrieval of information, better employee morale.
Proposed projects are beneficial only if they can be turned into information
systems that will meet the organizations operating requirements. Simply stated, this test
of feasibility asks if the system will work when it is developed and installed. Are there
major barriers to Implementation? Here are questions that will help test the operational
feasibility of a project:
Is there sufficient support for the project from management from users? If the
current system is well liked and used to the extent that persons will not be able to see
reasons for change, there may be resistance.
Are the current business methods acceptable to the user? If they are not, Users
may welcome a change that will bring about a more operational and useful systems.
Have the user been involved in the planning and development of the project?
Early involvement reduces the chances of resistance to the system and in general
and increases the likelihood of successful project. Since the proposed system was to help
reduce the hardships encountered. In the existing manual system, the new system was
considered to be operational feasible.
3.5.3TECHNICAL FEASIBILITY
Evaluating the technical feasibility is the trickiest part of a feasibility study. This
is because, at this point in time, not too many-detailed design of the system, making it
difficult to access issues like performance, costs on (on account of the kind of technology
to be deployed) etc.
Before commencing the project, we have to be very clear about what are
the technologies that are to be required for the development of the new system.
ii) Find out whether the organization currently possesses the required technologies:
For instance -
“Will the current printer be able to handle the new reports and
forms required for the new system?”
3.6 JAVA
1. PLATFORM INDEPENDENT
The programs written on one platform can run on any platform provided the platform
must have the JVM.
2. PORTABLE
3. SIMPLE
Programs are easy to write and debug because java does not use the pointers
explicitly. It also has the automatic memory allocation and deallocation system.
4. MULTITHREADED
5. ROBUST
Java has the strong memory allocation and automatic garbage collection mechanism.
It provides the powerful exception handling and type checking mechanism as compare to
other programming languages.
6. OBJECT ORIENTED
To be an Object Oriented language, any language must follow at least the four
characteristics.
Inheritance
Encapsulation
Polymorphism
Dynamic binding
7. DISTRIBUTED
The widely used protocols like HTTP and FTP are developed in java. Internet
programmers can call functions on these protocols and can get access to the files from
any remote machine on the internet rather than writing codes on their local system.
8. SECURE
All the programs in java run under an area known as the sand box. Security
manager determines the accessibility options of a class like reading and writing a file to
the local disk.
9. HIGH PERFORMANCE
10.INTEGRATED
Java is an interpreted language as well. Programs run directly from the source
code.
3.7. PROJECT PERSPECTIVE
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. The Android SDK provides the tools and APIs
necessary to begin developing applications on the Android platform using the Java
programming language.
3.8. ANDROID
In this user manual we are going to keep the information regarding our
product, which can be understandable by a new person who is going to use it. If a new
person is using it, online help will be provided in that. We are going to explain each and
every step clearly about our product so that any user can easily understand it.
The ADT plug-in provides a New Project Wizard that you can use to quickly
create a new Android project (or a project from existing code). To create a new project:
Enter a Project Name. This will be the name of the folder where your project is
created.
Under Contents, select Create new project in workspace. Select your project
workspace location.
Under Target, select an Android target to be used as the project's Build Target.
The Build Target specifies which Android platform you'd like your application
built against.
Unless you know that you'll be using new APIs introduced in the latest SDK,
you should select a target with the lowest platform version possible, such as
Android 1.1.
ii. Select Create Activity (optional, of course, but common) and enter a
name for your main Activity class.
iii. Enter a minimum SDK Version. This is an integer that indicates the
minimum API Level required to properly run your application. Entering
this here automatically sets the minimum SDK Version attribute in the
<uses-sdk> of your Android Manifest file. If you're unsure of the
appropriate API Level to use, copy the API Level listed for the Build
Target you selected in the Target tab.
In the Virtual Devices panel, you'll see a list of existing AVDs. Click New to
create a new AVD.
When you first run a project as an Android Application, ADT will automatically
create a run configuration. The default run configuration will launch the default project
Activity and use automatic target mode for device selection (with no preferred AVD).
3.10. SQLITE
3.10.2. FEATURES
SQLite implements most of the SQL-92 standard for SQL but it lacks some
features. A standalone program called sqlite3 is provided which can be used to create a
database, define tables within it, insert and change rows, run queries and manage a
SQLite database file. SQLite is a popular choice for local/client SQL storage within a
web browser and within a rich internet application framework. This may be because
SQLite's dynamically typed storage matches the web browser's core languages of
JavaScript and XML. SQLite uses an unusual type system for an SQL-compatible
DBMS. Instead of assigning a type to a column as in most SQL database systems, types
are assigned to individual values; in language terms it is dynamically typed.
4.DESIGN
4.1. INTRODUCTION
A SMS user for who the application looks like an user interface actually
consists of a database called as SQLite that comes along with Android SDK and need no
other installation. This is the database that is used to store and retrieve information. This
is an application that is developed in java and hence all its features apply here as well
such as platform independence, data hiding,
1. STUCTURALTHINGS: are the nouns of UML models. The structural things used in
the project design are:
First, a class is a description of a set of objects that share the same attributes,
operations, relationships and semantics.
Window
Origin
Size
open()
close()
move()
display()
Fig: Classes
Fig: Nodes
2. BEHAVIORAL THINGS: are the dynamic parts of UML models. The behavioral
thing used is:
INTERACTION:
Fig: Messages
Dependency
Association
Generalization
Realization
A dependency is a semantic relationship between two things in which a change to
one thing may affect the semantics of the other thing (the dependent thing).
Fig: Dependencies
Fig: Generalization
Fig: Realization
UML sequence diagrams are used to represent the flow of messages, events and
actions between the objects or components of a system. Time is represented in the
vertical direction showing the sequence of interactions of the header elements, which are
displayed horizontally at the top of the diagram.
Sequence Diagrams are used primarily to design, document and validate the
architecture, interfaces and logic of the system by describing the sequence of actions that
need to be performed to complete a task or scenario. UML sequence diagrams are useful
design tools because they provide a dynamic view of the system behavior which can be
difficult to extract from static diagrams or specifications.
ACTOR
OBJECT
UNIT
SEPERATOR
GROUP
ACTION
ASYNCHRONUS MESSAGE
BLOCK
CALL MESSAGE
DIAGRAM LINK
MESSAGE
RETURN MESSAGE
Register
Login
Upload cv Company
View placements,
search and report
companies
View students
details
Logout
SEQUENCE DIAGRAM
Sequence Diagram
5.IMPLEMENTATION
5.1. INTRODUCTION
Implementation is the most crucial stage in achieving a successful system
and giving the user’s confidence that the new system is workable and effective.
Implementation of the modified application to replace an existing one. This type of
conversation is relatively easy to handle, provide there are no major changes in the
system.
2. The test is conducted and test results are compared with the expected results.
The specific candidates for unit testing are chosen from the object model
and the system decomposition of the system. In principle, all the objects developed
during the development process should be tested. Which is often not feasible because of
time and budget?
1. COVERAGE:
Every possible input belongs to one of the equivalent classes.
2. DISJOINTEDNESS:
No input belongs to one of the equivalent classes.
3. REPRESENTATION:
If the execution demonstrates an error when a particular member of
an equivalence class is used as input, then the same error can be detected by
using any other member of the class as input.
The path testing technique was developed for imperative languages. Object
oriented language introduce several difficulties when using path testing.
POLYMORPHISM:
Polymorphism enables messages to be bound to different methods bases
on the class of the target. Although this enables developers to reuse code across a large
number of classes, it is also introduce more cases to test.
1. SHORTER METHODS:
Methods in object oriented language have the tendency to be
shorter then procedures and functions in imperative languages. This decreases
the likelihood of control flow faults, which can be uncovered using the path
testing technique.
The design of tests for software and other engineering products can be as
challenging as the initial design of the product. Test case methods provide the developer
with a systematic approach to testing. Moreover, these methods provide a mechanism that
can help to ensure the completeness of tests and provide the highest like hood for
uncovering errors in software.
1. Knowing the specified function that a product has been designed to perform, tests
can be conducted. These tests demonstrate whether each function is full
operational and at the same time searches for errors in each function.
2. Knowing the internal workings of a product, tests can be conducted to ensure that
internal operations are performed according to specifications and all internal
components hence been adequately exercised.
Test case design methods are divided into two types:
1. White-box testing
2. Black-box testing
www.android.com http://developer.android.com/index.html
www.google.com http://en.wikipedia.org/wiki/SQLite