You are on page 1of 19

Acropolis Institute of Technology and Research Page 1

CHAPTER 1
INTRODUCTION

This chapter gives an overview about the aim, objectives and background of the Application.

1.1 Overview:
Development of android-based Movie Trailer application for watching movie trailers of six
different languages directly through smart phones and tablets in hands. TRAILER is a 'One
Stop Shop' for watching movie trailers of 6 different languages. Hollywood movie trailers,
Hindi movie trailers, Kannada movie trailers, Malayalam movie trailers, Tamil movie
trailers and Telugu movie trailers shall be served. No ads are displayed during the playback.
Its a never ending movie trailer list. Learn more about your favorite movies, browse movie
trailers and read info about latest and upcoming movies..You can look up currently running
and featured movies. More information regarding any movie can be looked up with one tap
in Trailers now. Our team constantly updates the movie database so that you won't miss any
popular trailers.

1.2. Issues and Challenges:

a. Compatibility:

This application is not compatible with every Mobile-Phone. It is only for Android and not
for IOS and Windows.

b. Unsupportive for Web:

The Application is not supportive on Web.

c. No Server:

As the app is for self learning, so there is no server to store the data.

1.3. Objectives:

• TRAILER‘s very first objective is to make people know all the latest movie trailer
update.

Acropolis Institute of Technology and Research Page 2


• TRAILER app is probably not the best-designed app out there, but it does still show
you trailers for some upcoming movies. Which is the whole point of the app.
• The app will automatically show you the best quality.
• If you want to know about the newest movies, this application will be the right
choice for you.
• The purpose of the project is to build and application program to reduce the work for
watching the trailers.

1.4. Scope:

Our goal at TRAILER is to provide an application that is fully functional on a global scale.
This involves countless hours of testing and troubleshooting that ensure that the app offers a
quality experience to all of the users. Here at TRAILER we will bring awareness of this
opportunity to as many viewers as possible in order for them to benefit from this app.
We will take the time to develop an app that is easy to use. TRAILER is fantastic idea. The
expense of this application is negligible.We will serve you trailers without any annoying ads.
In future we are planning to give expert reviews about the latest movies, so that you can
figure out whether you want to watch movie or not.

1.5. Platform Specifications:

1.5.1. Hardware:
For best and most effective working of our software we suggest the following system
requirements

Processors DUAL CORE

RAM 1GB

Space 20MB

OS ANDROID 6.0 AND ABOVE

Supporting Software ANDROID STUDIO

Acropolis Institute of Technology and Research Page 3


1.5.2. Software:

a. Operating system:Android6.0 and above is used as operating system as it is best mobile


OS and supports the more features and is more user-friendly.
b. Database: SQLite is used as database as it is globally renowned for being the most used
and reliable database for android like Fire-Base.
c. Development tools and Programming language: Android-Studio is used for coding. All
the activities are coded in Java Programming language and the layout are designed in XML.

1.5.3. Tools and Technologies Used:

Whole system uses XML and Java at front end with Java as back end language, which is used
for coding, connectivity with database and for storing data we have used SQLite database.

1.6. Organization of Report:

1. INTRODUCTION

2. SYSTEM ANALYSIS

3. SYSTEM TESTING

4. CONCLUSION

Acropolis Institute of Technology and Research Page 4


CHAPTER 2
SYSTEM ANALYSIS

System analysis is a process of gathering and interpreting facts, diagnosing problems and
using the facts to improve system. System specifications specify what system has to do. A
system is a set of components that interact to accomplish some purpose:
a. Identify drawbacks of existing system.
b. Characteristics of Proposed system.
c. Functional and Non-functional requirements.

2.1. Identification of the Need:

The need for this system aroused as some of our friends personally experienced the
inconvenience while watching movie trailers. They faced difficulties in searching different
trailers for different movies namely. Things get easier when it comes to using a simple app
where different categories of trailer can be viewed at the same time. So to fulfill all these
needs, this system has been introduced.

2.2. Characteristics of Proposed system:

1. Having mobilized system reduces the paper work to great extent.


2. To develop an android application for watching trailer.
3. To develop an android application in which people of all fields can watch trailers.
4. To develop an android application in which the Administrator can modify the database
according to user needs.
5. To develop an android application in which users will be able to get the desired services.
6. To develop an android application to take timed trailers.
7. To develop an android application with single device multiple accounts feature.
8. To develop an android application with analysis of result.

Acropolis Institute of Technology and Research Page 5


2.3 Characteristics of Existing system

No. Existing software Features Limitation


1. IMDb Watch the latest trailers It is paid . So
and clips from movies many ads and
and TV shows, check gimmicks
movie and TV show
rating
2. TrailersAddict TrailerAddict is not It is limited to
limited to featured only movie
trailers, but other trailers only
previews also

2.4. Functional and Non-Functional Requirements:


2.4.1. Functional Requirements:
1. A result must be generated on completion of test.
2. A User profile must be created upon Sign Up.
3. Completion or submission of a test must effect the grouped test.

2.4.2. Non Functional Requirements:


1. Results must be Generated Dynamically.
2. Questions can be inserted without any memory problem. Thus resolving scalability.
3. Application must be supported on all android versions above Android 6.0.

2.5. Technology Requirement:


2.5.1. XML:
XML stands for Extensible Markup Language. XML is a markup language much
like HTML used to describe data. It is widely used to create front end for the android. It is
scalable and simple to develop. In Android we use xml for designing our layouts because xml
is lightweight language so it doesn’t make our layout heavy.

2.5.2. Java:
Java is a general-purpose computer-programming language that is concurrent, class-based,
object-oriented, and specifically designed to have as few implementation dependencies as

Acropolis Institute of Technology and Research Page 6


possible. It is intended to let application developers "write once, run anywhere" (WORA),
meaning that compiled Java code can run on all platforms that support Java without the need
for recompilation. Java applications are typically compiled to byte code that can run on any
Java virtual machine (JVM) regardless of computer architecture.
Java is the most used language for Android Platform. It is used for the backend coding and
the working and interconnection between the activities.

2.5.3. SQLite:
SQLite is a relational database management system contained in a C programming library. In
contrast to many other database management systems, SQLite is not a client–server database
engine. Rather, it is embedded into the end program. SQLite is ACID-compliant and
implements most of the SQL standard, using a dynamically and weakly typed SQL syntax
that does not guarantee the domain integrity. SQLite is a popular choice as embedded
database software for local/client storage in application software such as web browsers. It is
arguably the most widely deployed database engine, as it is used today by several widespread
browsers, operating systems, and embedded systems (such as mobile phones), among others.
SQLite has bindings to many programming languages.

2.6. Software Requirement:


Cloud Store: Play-Store
Platform: Android Studio
Database: SQLite
Operating System: Android

2.7. Design Representation (Modeling using standard tools)


Designing an object oriented system is aided by a high-level, graphical representation of
classes, objects and their relationships. The graphical nature of the representation allows easy
visualization of the structural aspects of the system. The design is represented at a high level
in that only the essential elements of the design are present independent of lexical details or
the specifics of the implementation.

2.7.1. Entity Relationship diagram

Acropolis Institute of Technology and Research Page 7


2.7.2. Data-Flow Diagrams

YouTube

Filtering

Sorting

Recycler View

User

2.8. User-Interface:

Acropolis Institute of Technology and Research Page 8


In our project we have implemented Graphical User Interface. It is a point of contact between
the system and its user, and which employs graphic elements instead of text characters to let
the user give commands to the computer or to manipulate what is on the screen. GUI use a
consistent set of graphical elements so that once the user learns a particular interface, he or
she can use all programs without learning additional or new commands.

2.8.1. Optimisation of Code:

The Home Page

Acropolis Institute of Technology and Research Page 9


Second Page

Acropolis Institute of Technology and Research Page 10


Acropolis Institute of Technology and Research Page 11
CHAPTER 3

TESTING
3.1. Testing:

3.1.1. Testing methods and strategies used:

Testing methods:

Software testing methods used are

1. Unit Testing
2. Integrated Testing
3. Black Box
4. White Box

Unit Testing:
UNIT TESTING is a level of software testing where individual units/ components of a
software are tested. The purpose is to validate that each unit of the software performs as
designed. A unit is the smallest testable part of any software. It usually has one or a few
inputs and usually a single output. In procedural programming, a unit may be an individual
program, function, procedure, etc. In object-oriented programming, the smallest unit is a
method, which may belong to a base/ super class, abstract class or derived/ child class. (Some
treat a module of an application as a unit. This is to be discouraged as there will probably be
many individual units within that module.) Unit testing frameworks, drivers, stubs, and
mock/ fake objects are used to assist in unit testing.

 unit testing: See component testing


 component testing: The testing of individual software components.

Acropolis Institute of Technology and Research Page 12


Unit Testing Method
It is performed by using the White Box Testing method.
When is it performed?
Unit Testing is the first level of software testing and is performed prior to Integration
Testing.
Who performs it?
It is normally performed by software developers themselves or their peers. In rare cases, it
may also be performed by independent software testers.
Unit Testing Tasks

 Unit Test Plan


o Prepare
o Review
o Rework
o Baseline
 Unit Test Cases/Scripts
o Prepare
o Review
o Rework
o Baseline
 Unit Test
o Perform

Unit Testing Benefits

 Unit testing increases confidence in changing/ maintaining code. If good unit tests are
written and if they are run every time any code is changed, we will be able
to promptly catch any defects introduced due to the change. Also, if codes are already

Acropolis Institute of Technology and Research Page 13


made less interdependent to make unit testing possible, the unintended impact of
changes to any code is less.
 Codes are more reusable. In order to make unit testing possible, codes need to be
modular. This means that codes are easier to reuse.
 Development is faster. How? If you do not have unit testing in place, you write your
code and perform that fuzzy ‘developer test’ (You set some breakpoints, fire up the
GUI, provide a few inputs that hopefully hit your code and hope that you are all set.)
But, if you have unit testing in place, you write the test, write the code and run the
test. Writing tests takes time but the time is compensated by the less amount of time it
takes to run the tests; You need not fire up the GUI and provide all those inputs. And,
of course, unit tests are more reliable than ‘developer tests’. Development is faster in
the long run too. How? The effort required to find and fix defects found during unit
testing is very less in comparison to the effort required to fix defects found during
system testing or acceptance testing.
 The cost of fixing a defect detected during unit testing is lesser in comparison to that
of defects detected at higher levels. Compare the cost (time, effort, destruction,
humiliation) of a defect detected during acceptance testing or when the software is
live.
 Debugging is easy. When a test fails, only the latest changes need to be debugged.
With testing at higher levels, changes made over the span of several
days/weeks/months need to be scanned.

3.1.1.2. Black box Testing:

Black box testing treats the software as a black box without the knowledge of internal
behaviour. It aims to test the functionality according to the requirements, thus the tester are
only inputs data and uses the output from the test object. This kind of testing required
through test cases to be provided to the tester who then can simply verify that for a given
input, the output value is the case as the expected value specified in the test cases.

3.1.1.3. White box Testing:

White box testing is however, is when the tester has access to the Internet and data structures
code and the algorithm. These methods include creating test to satisfy some code coverage
criteria. For example the tester designer can create test to cause all the statements in the
program to be executed at least once, other examples of white box testing are mutation
testing and fault injection method.

Test Strategies:

The approach used for designing test cases for our project is common-based approach for
each test performed we have run some commands and we got a particular output for that. If

Acropolis Institute of Technology and Research Page 14


the output we got is correct then our approach is correct or is it fails. Following are the
various testing the strategies for testing of the project

3.1.1.4. Functionality Testing:

This is used to check if your product is as per the specifications you intended for it as well as
the increased requirement you mentioned out for it in the software requirement
specifications. Following activities included-

a. Test all the links in your webpages if you are working correctly and make sure there are no
broken links.

b. Internal links

c. Outgoing links

3.1.1.5. Interface Testing:

The areas to be tested here are application, web and database server.

a. Application: test requests are sent correctly to the database and output and client side is
displayed correctly. Errors if any must be caught by the application and must be only shown
to the administrator And not the end user.

b. Database : Make sure queries sent to the database give expected results. Test system
response when connection between three layers {application, web and database} cannot be
established and appropriate message is shown to the end user.

3.1.1.6. Database Testing:

Database is one critical component of web application and stress must be laid to test it
thoroughly. Testing activities will include

a) Test if any errors are shown while executing queries.


b) Data integrity is maintained while creating, updating or deleting data in database.
c) Check your response time of queries.
d) Test data retrieved from your database is shown accurately on your web pages.

3.1.1.7. Compatibility Testing:

Acropolis Institute of Technology and Research Page 15


It is carried out to determine if an application runs as expected on a running processor that
has various combinations of hardware and software. Compatibility tests ensure that the
application displays correctly across the different devices. This would include-

a. Android 6.0

b. Android 7.0

c. Android 8.0

3.1.1.8. Performance Testing:

This will insure your site works under all loads. Testing activities will include:

a) Application response time at different connection speed.


b) Test your application to determine its behaviour under normal and peak loads.
c) Test if a crash occurs during to peak load, how the application recovers from such
events.

3.1.1.9. Security Testing:

Security testing aims to verify that the effectiveness of the overall application defences
against external access of an authorised to user, its capability to preserve system resources
from improper use, and granting authorised user access to authorised services and resources.
Security testing is vital for website that store sensitive customer information.

3.1.1.10. System Testing:

System testing of software or hardware is testing conducted, integrated systems to evaluate


the system’s compliance with its specified requirements. System testing falls within the
scope of black box testing as such should require no knowledge of the inner design of code
on logic.

3.2. Integration Testing


INTEGRATION TESTING is a level of software testing where individual units are
combined and tested as a group. The purpose of this level of testing is to expose faults in the
interaction between integrated units. Test drivers and test stubs are used to assist in
Integration Testing.

Acropolis Institute of Technology and Research Page 16


Definition by ISTQB

 Integration testing: Testing performed to expose defects in the interfaces and in the
interactions between integrated components or systems. See also component
integration
testing, system integration testing.
 Component integration testing: Testing performed to expose defects in the
interfaces and
interaction between integrated components.
 System integration testing: Testing the integration of systems and packages; testing
interfaces to external organizations (e.g. Electronic Data Interchange, Internet).

Analogy
During the process of manufacturing a ballpoint pen, the cap, the body, the tail and clip, the
ink cartridge and the ballpoint are produced separately and unit tested separately. When two
or more units are ready, they are assembled and Integration Testing is performed. For
example, whether the cap fits into the body or not.
Method
Any of Black Box Testing, White Box Testing and Gray Box Testing methods can be used.
Normally, the method depends on your definition of ‘unit’.
Tasks

 Integration Test Plan


o Prepare
o Review
o Rework
o Baseline
 Integration Test Cases/Scripts
o Prepare

Acropolis Institute of Technology and Research Page 17


o Review
o Rework
o Baseline
 Integration Test
o Perform

When is Integration Testing performed?


Integration Testing is the second level of testing performed after Unit Testing and
before System Testing.
Who performs Integration Testing?
Developers themselves or independent testers perform Integration Testing.
Approaches

 Big Bang is an approach to Integration Testing where all or most of the units are
combined together and tested at one go. This approach is taken when the testing team
receives the entire software in a bundle. So what is the difference between Big Bang
Integration Testing and System Testing? Well, the former tests only the interactions
between the units while the latter tests the entire system.
 Top Down is an approach to Integration Testing where top-level units are tested first
and lower level units are tested step by step after that. This approach is taken when
top-down development approach is followed. Test Stubs are needed to simulate lower
level units which may not be available during the initial phases.
 Bottom Up is an approach to Integration Testing where bottom level units are tested
first and upper-level units step by step after that. This approach is taken when bottom-
up development approach is followed. Test Drivers are needed to simulate higher
level units which may not be available during the initial phases.
 Sandwich/Hybrid is an approach to Integration Testing which is a combination of Top
Down and Bottom Up approaches

Acropolis Institute of Technology and Research Page 18


CHAPTER 4
CONCLUSION
In this application, people can watch the latest movie trailers without wasting time by
searching for newest trailers from different sources. Now watch movie trailers on your
android smart phone.

4.1. Limitations:

1. TRAILER is limited to android devices only.


2. You can access this application only on mobiles.
3. Does not send any text or pop up notification, user actually need to open app to see
updates.

7.2. Future enhancement and suggestions:

We are planning to keep managing the project and improving it based on user feedback. Here
is our to do list for future. We will add some more categories in our app. We’ll try to make it
more user friendly than it is now. We’ll try to improve its quality. We’ll work on another
feature in our application to add a option for review, search and movie ticket bookings.

REFERENCES

• www.wikipedia.com
• www.tutorialspoint.com
• www.stackoverflow.com
• www.google.com
• www.w3school.com
• www.materialisecss.com

Acropolis Institute of Technology and Research Page 19

You might also like