[go: up one dir, main page]

0% found this document useful (0 votes)
90 views13 pages

Project Implementation and Coding: 6.1 Overview of Project Modules

The document discusses different types and methods of software testing. It describes manual testing as testing without automated tools where testers take the role of end users. Automation testing involves writing scripts to rerun tests quickly. Black-box testing tests the system interface without knowledge of internal workings, while white-box testing investigates internal logic and structure by examining source code. Grey-box testing tests with limited knowledge of internal workings.

Uploaded by

vishalmate10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views13 pages

Project Implementation and Coding: 6.1 Overview of Project Modules

The document discusses different types and methods of software testing. It describes manual testing as testing without automated tools where testers take the role of end users. Automation testing involves writing scripts to rerun tests quickly. Black-box testing tests the system interface without knowledge of internal workings, while white-box testing investigates internal logic and structure by examining source code. Grey-box testing tests with limited knowledge of internal workings.

Uploaded by

vishalmate10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Chapter 6

Project Implementation and Coding


6.1 Overview of Project Modules
Vuforia is software development equipment for mobile devices by Qualcomm to create AR
applications. Developers can easily add advanced computer vision functionality to any
application that allows them to recognize images and objects or reconfigure real-world
environments. Vuforia SDK supports types of 2D and 3D objects including multiple target
configurations, images with some symbols and frame.

 Vuforia SDK: Vuforia is software development equipment for mobile devices by


Qualcomm to create AR applications. Developers can easily add advanced computer
vision functionality to any application that allows them to recognize images and objects
or reconfigure real-world environments. Vuforia SDK supports types of 2D and 3D
objects including multiple target configurations, images with some symbols and frame
tags.

 UNITY 3D GAME ENGINE PLATFORM: Unity 3D game engine is a cross-platform


developed by Unity Technologies for creating video games and simulations for
computers, consoles, and mobile devices. Games with Unity 3D engine can be operated
via a web browser without any installation process thanks to the Unity Web Player plug-
in. Another convenience Unity offers to the game makers is that a game developed with
Unity can be compiled in accordance with different platforms (PC, Mac, Web, IOS,
Android, and Windows Phone) without any infrastructure changes. Unity 3D platform
allows the Vuforia SDK plug-in to develop AR applications and games.

The principle of Unity deals with visual composition in design. Composition means the
relationship between the visual elements. ... Unity therefore deals with the arrangement of
building materials and building parts (floor, wall, roof, column, beam, etc) to create a good
composition.
6.2 Tools and Technologies Used
 C# Language - C# is a general-purpose, modern and object-oriented programming
language pronounced as “C Sharp”. It was developed by Microsoft led by Anders
Hejlsberg and his team within the .NET initiative and was approved by the European
Computer Manufacturers Association (ECMA) and International Standards Organization
(ISO). C# is among the languages for Common Language Infrastructure. C# is a lot
similar to Java syntactically and is easy for users who have knowledge of C, C++ or Java.

 Vuforia Studio - Vuforia Studio delivers augmented reality (AR) technology that
enhances physical work spaces with digital information. Users can rapidly author AR
experiences that can be viewed across a wide range of devices through the Vuforia View
app. Vuforia Studio enables the rapid creation of impactful AR experiences from existing
assets. For example, users can leverage existing 3D CAD and animated sequences, in
addition to Internet of Things (IoT) data from Thing Worx, to build AR experiences.
Vuforia Studio enables users to:
o Provide in-context, step-by-step work instructions
o Overlay 3D digital content on real-world equipment to provide contextual
knowledge
o Visualize real-time IoT data about operating conditions and equipment
performance
o Increase productivity, accuracy, and safety for manufacturing and service
technicians.
6.3 Project Code

Project Code - 1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Rotator : MonoBehaviour


{
//Rotational Speed
public float speed = 0f;

//Forward Direction
public bool ForwardX = false;
public bool ForwardY = false;
public bool ForwardZ = false;

//Reverse Direction
public bool ReverseX = false;
public bool ReverseY = false;
public bool ReverseZ = false;

void Update ()
{
//Forward Direction
if(ForwardX == true)
{
transform.Rotate(Time.deltaTime * speed, 0, 0, Space.Self);
}
if(ForwardY == true)
{
transform.Rotate(0, Time.deltaTime * speed, 0, Space.Self);
}
if(ForwardZ == true)
{
transform.Rotate(0, 0, Time.deltaTime * speed, Space.Self);
}
//Reverse Direction
if(ReverseX == true)
{
transform.Rotate(-Time.deltaTime * speed, 0, 0, Space.Self);
}
if(ReverseY == true)
{
transform.Rotate(0, -Time.deltaTime * speed, 0, Space.Self);
}
if(ReverseZ == true)
{
transform.Rotate(0, 0, -Time.deltaTime * speed, Space.Self);
}
}
}
Project Code - 2
using UnityEngine;

public class Rotator : MonoBehaviour


{
[Range(-1.0f, 1.0f)]
public float xForceDirection = 0.0f;
[Range(-1.0f, 1.0f)]
public float yForceDirection = 0.0f;
[Range(-1.0f, 1.0f)]
public float zForceDirection = 0.0f;

public float speedMultiplier = 1;

public bool worldPivote = false;

private Space spacePivot = Space.Self;

void Start()
{
if (worldPivote) spacePivot = Space.World;
}

void Update()
{
this.transform.Rotate(xForceDirection * speedMultiplier
, yForceDirection * speedMultiplier
, zForceDirection * speedMultiplier
, spacePivot);
}

}
Project Code - 3

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour


{
void Update()
{
// Move the object forward along its z axis 1 unit/second.
transform.Translate(Vector3.forward * Time.deltaTime);

// Move the object upward in world space 1 unit/second.


transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
}

Project Code - 4

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Example : MonoBehaviour


{
private GameObject sphere;
private Vector3 scaleChange, positionChange;

void Awake()
{
Camera.main.clearFlags = CameraClearFlags.SolidColor;

// Create a sphere at the origin.


sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.position = new Vector3(0, 0, 0);

// Create a plane and move down by 0.5.


GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
plane.transform.position = new Vector3(0, -0.5f, 0);

// Change the floor color to blue.


// The blue material is present in Resources and not created in this
script.
Renderer rend = plane.GetComponent<Renderer>();
rend.material = Resources.Load<Material>("blue");
scaleChange = new Vector3(-0.01f, -0.01f, -0.01f);
positionChange = new Vector3(0.0f, -0.005f, 0.0f);
}

void Update()
{
sphere.transform.localScale += scaleChange;
sphere.transform.position += positionChange;

// Move upwards when the sphere hits the floor or downwards


// when the sphere scale extends 1.0f.
if (sphere.transform.localScale.y < 0.1f ||
sphere.transform.localScale.y > 1.0f)
{
scaleChange = -scaleChange;
positionChange = -positionChange;
}
}
}
Chapter 7
Software Testing
6.1 Types of Testing
Testing is the process of evaluating a system or its component(s) with the intent to find whether
it satisfies the specified requirements or not. Testing is executing a system in order to identify
any gaps, errors, or missing requirements in contrary to the actual requirements.

6.1.1 Manual Testing


Manual testing includes testing a software manually, i.e., without using any automated tool or
any script. In this type, the tester takes over the role of an end-user and tests the software to
identify any unexpected behavior or bug. There are different stages for manual testing such as
unit testing, integration testing, system testing, and user acceptance testing. Testers use test
plans, test cases, or test scenarios to test a software to ensure the completeness of testing. Manual
testing also includes exploratory testing, as testers explore the software to identify errors in it.

6.1.2 Automation Testing


Automation testing, which is also known as Test Automation, is when the tester writes scripts
and uses another software to test the product. This process involves automation of a manual
process. Automation Testing is used to re-run the test scenarios that were performed manually,
quickly, and repeatedly.
6.2 Methods of Software Testing
There are different methods that can be used for software testing. This chapter briefly describes
the methods available.
6.2.1 Black-Box Testing
The technique of testing without having any knowledge of the interior workings of the
application is called black-box testing. The tester is oblivious to the system architecture and does
not have access to the source code. Typically, while performing a black-box test, a tester will
interact with the system's user interface by providing inputs and examining outputs without
knowing how and where the inputs are worked upon.

6.2.2 White-Box Testing


White-box testing is the detailed investigation of internal logic and structure of the code. White-
box testing is also called glass testing or open-box testing. In order to perform white box testing
on an application, a tester needs to know the internal workings of the code. The tester needs to
have a look inside the source code and find out which unit/chunk of the code is behaving
inappropriately.

6.2.3 Grey-Box Testing


Grey-box testing is a technique to test the application with having a limited knowledge of the
internal workings of an application. In software testing, the phrase the more you know, the better
carries a lot of weight while testing an application.

Mastering the domain of a system always gives the tester an edge over someone with limited
domain knowledge. Unlike black-box testing, where the tester only tests the application's user
interface; in grey-box testing, the tester has access to design documents and the database. Having
this knowledge, a tester can prepare better test data and test scenarios while making a test plan.

6.3 Test Cases

6.3.1 Test Cases for Application


No. Module Expected Result Actual Result Status
1. Open Application Application should be Application is running Success
open without lagging without lagging.

2. Scanning Object Camera should open Camera opens Success


automatically when user automatically after
open a AR application. scanning object.

3. Displaying 3D Object After successfully User can view all the Success
scanning object or QR data from dashboard.
code or thing mark 3D
object should be
display.
4. Animation of 3D object After successfully Animation starts after Success
scanning object or QR scanning object.
code or thing mark 3D
object 3D object should
be animate if animation
used.

5. Playing Video After successfully After scanning object Success


scanning object or QR video starts playing
code or thing mark without any lagging.
video should be played.

6. Playing Audio After successfully After scanning object Success


scanning object or QR audio starts playing
code or thing mark successfully.
background audio
should be played.

Chapter 8
Result
8.1 Outcomes and Results
Chapter 9
Conclusion
9.1 Conclusion
In this study, the principle of fun learning of Students is discussed and an Augmented Reality
application about various topics has been developed for school and college students. For this
purpose, Unity 3D game engine platform and Vuforia SDK have been utilized. The three-
dimensional models used are simulated by the means of Unity 3D platform. By using Vuforia
SDK, 3D models with the voices are shown on the detected animal cards. In tests the developed
AR application, the application was installed on a phone as an Android Application and it was
tried with students. In future works, AR based games and applications can be developed for
students.

9.2 Future enhancement


 We will implement location based and projection based Augmented reality in our
application.
 We also integrate hardware modules, sensors to receive real-time environment value to
improve user experience.
 We will also include gesture controlling in our application.

9.3 Applications and advantages


 Improve user experience.
 Increased student motivation.
 Increase student participation in classes
 Improved and increased memory
 Less expensive
 Enriched ways of telling a story
 Increased learning activity
 Visiting the past, present, and future
 Save on budget which would otherwise limit students’ ability to make these observations
and analyses in the classroom.

You might also like