0% found this document useful (0 votes)
69 views

Vocational 12th Class Part Notes by Tariq Sir

Uploaded by

tariqmaqs
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Vocational 12th Class Part Notes by Tariq Sir

Uploaded by

tariqmaqs
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

“Part – B”

Vocational Skills---------------------------------------------------------------------- (40 Marks)

Unit – III Software Engineering (12 Marks)

Q1) Concept of software

Software is a collection of computer programs, procedure, rules and associative documentation and
data. Program is generally used the developer of a specific program to make a particular software. Some
characteristics of software includes:-

1) Software is developed or engineer.


2) Most of software is custom build rather than assemble from existing component.
3) Computer program and associated documentation.
4) Easy to modified.
5) Easy to reproduce.
6) Software product may be developed for a particular customer or for the general market.

Q2: Definition of software Engineering: - It is systematic approach to the development, operation,


maintenance and retirement of software. It is the application of computer science along with
mathematics and ergative science. In the current scenario the S.E has a specific importance for making
particular software. Some characteristics of software engineering includes:-
1) Higher productivity.
2) To acquire skills to develop large programs.
3) Ability to solve complex programming problems.
4) Learn techniques of specification design.
5) Better quality programmers.

Q3: Application of software:-


1) System software.
2) Application software.
3) Engineering/scientific software.
4) Embedded software.
5) Product line software.
6) Web application software.
7) Artificial intelligence software (AI).

Q4: Need for Software Engineering Concept Analysis:-


In the S.E the analysis phase helps to determine from the starting of the project to the end of the
project. It has some specific phase. We can make particular software for real time use. The term analysis
define the corresponding phase or stage by which the software developer can make a successful

1
software. In the S.E the analyst has some specific job which is involved for making software. In a
overview we can say that the software analysis is a main term through we can developed, operate and
maintain a particular software. In the view of software developer as well as the user. The software
analysis we can determine by the view of two Sides.
a) For the software developer.
b) For the customer (client).

Q5: System development life cycle (SDLC):-

SDLC is a process followed for a software project, within a software organization. It consists of a detailed
plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle
defines a methodology for improving the quality of software and the overall development process.

The following figure is a graphical representation of the various stages of a typical SDLC.

A typical Software Development Life Cycle consists


of the following stages –

SDLC Phases

• Phase 1: Requirement collection and analysis

• Phase 2: Feasibility study

• Phase 3: Design

• Phase 4: Coding

• Phase 5: Testing

• Phase 6: Installation/Deployment

• Phase 7: Maintenance

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the
senior members of the team with inputs from the customer, the sales department, market surveys and
domain experts in the industry.

Stage 2: Defining Requirements

Once the requirement analysis is done the next step is to clearly define and document the product
requirements and get them approved from the customer or the market analysts. This is done through
an SRS (Software Requirement Specification) document which consists of all the product requirements
to be designed and developed during the project life cycle.

Stage 3: Designing the Product Architecture

2
Based on the requirements specified in SRS, usually more than one design approach for the product
architecture is proposed and documented in a DDS - Design Document Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk
assessment, product robustness, design modularity, budget and time constraints, the best design
approach is selected for the product.

Stage 4: Building or Developing the Product

In this stage of SDLC the actual development starts and the product is built. The programming code is
generated as per DDS during this stage. If the design is performed in a detailed and organized manner,
code generation can be accomplished without much hassle.

Developers must follow the coding guidelines defined by their organization and programming tools like
compilers, interpreters, debuggers, etc. are used to generate the code. Different high level
programming languages such as C, C++, Pascal, Java and PHP are used for coding.

Stage 5: Testing the Product

This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are
mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the
product where product defects are reported, tracked, fixed and retested, until the product reaches the
quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance

Once the system is deployed, and customers start using the developed system, following 3 activities
occur

• Bug fixing – bugs are reported because of some scenarios which are not tested at all

• Upgrade – Upgrading the application to the newer versions of the Software

• Enhancement – Adding some new features into the existing software

The main focus of this SDLC phase is to ensure that needs continue to be met and that the system
continues to perform as per the specification mentioned in the first phase.

Q6. Concept of Software Testing

Software Testing is a process of evaluating the functionality of a software application to find any
software bugs. It checks whether the developed software met the specified requirements and identifies
any defect in the software in order to produce a quality product. It is basically executing a system in
order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

3
It is also stated as the process of verifying and validating a software product. It checks whether
the software product:

o Meets the business and technical requirements that guided its design and development
o Works as per the requirement
o Can be implemented with the same characteristics

Q7. Why do we need Software Testing?


The software application’s success rate controls the growth of our business. It plays an important role
for the development of software applications and products.

 Cost-Effective: It is one of the essential positives of software testing. Testing any IT sample on
time helps us to save our money in the long term. In case the bugs caught in the first or second
stage of software testing, it costs less to fix.
 Security: It is the most sensitive and vulnerable benefit of software testing. People are looking
for trusted and dependable products. It helps in removing risks earlier.
 Product quality: It is an essential requirement for any software related product. Testing/QA
ensures a quality product is delivered to customers every time.
 Customer Satisfaction: The main aim of any software related product is to give satisfaction to
the customers. UI/UX Testing/QA ensures the best user experience for customers.

Types of Testing Concept:

Q8. Unit Testing is a software testing technique by means of which individual units of software i.e.
group of computer program modules, usage procedures, and operating procedures are tested to
determine whether they are suitable for use or not. It is a testing method using which every
independent module is tested to determine if there is an issue by the developer himself. It is
correlated with the functional correctness of the independent modules. Unit testing is defined as a
type of software testing where individual components of software are tested. Unit testing of the
software product is carried out during the development of an application. An individual component
may be either an individual function or a procedure. Unit testing is typically performed by the
developer. In SDLC, Unit testing is the first level of testing done before integration testing.

Q9. White Box testing

The term 'white box' is used because of the internal perspective of the system. The clear box or white
box, or transparent box name denotes the ability to see through the software's outer shell into its inner
workings.

It is performed by Developers, and then the software will be sent to the testing team, where
they perform black-box testing. The main objective of white-box testing is to test the application's
infrastructure. It is done at lower levels, as it includes unit testing and integration testing. It requires
programming knowledge, as it majorly focuses on code structure, paths, conditions, and branches of a
program or software. The primary goal of white-box testing is to focus on the flow of inputs and outputs

4
through the software and strengthening the security of the software. It is also known as structural
testing, clear box testing, code-based testing, and transparent testing. It is well suitable and
recommended for algorithm testing.

Q10. Black Box testing

The primary source of black-box testing is a specification of requirements that are stated by the
customer. It is another type of manual testing. It is a software testing technique that examines the
functionality of the software without knowing its internal structure or coding. It does not require
programming knowledge of the software. All test cases are designed by considering the input and
output of a particular function. In this testing, the test engineer analyzes the software against
requirements, identifies the defects or bugs, and sends it back to the development team.

Black box testing is less exhaustive than White Box testing methods. It is the least time-consuming
process among all the testing processes. The main objective of implementing black box testing is to
specify the business needs or the customer's requirements.

Q11. Differences between Black Box Testing vs White Box Testing:

Black Box Testing White Box Testing

It is a way of software testing in which the It is a way of testing the software in which the
internal structure or the program or the code tester has knowledge about the internal structure
is hidden and nothing is known about it. or the code or the program of the software.

Implementation of code is not needed for Code implementation is necessary for white box
black box testing. testing.

It is mostly done by software testers. It is mostly done by software developers.

No knowledge of implementation is needed. Knowledge of implementation is required.

It can be referred as outer or external software


testing. It is the inner or the internal software testing.

It is functional test of the software. It is structural test of the software.

This testing can be initiated on the basis of This type of testing of software is started after
requirement specifications document. detail design document.

Q12. Concept of Beta Version & Final Version:

5
Beta software refers to computer software that is undergoing testing and has not yet been officially
released. The beta phase follows the alpha phase, but precedes the final version. Some beta software is
only made available to a select number of users, while other beta programs are released to the general
public. Each beta version is typically labeled with the final version number followed by a beta version
identifier. For example, the fifth beta release of the second version of a software program may have the
version number "2.0b5." Since beta software is a pre-release version of the final application, it may be
unstable or lack features that will be included in the final release.

Final Version means the Beta Version of Publisher’s Directory that has been fully tested, modified, and
accepted by Publisher for use on the World Wide Web or in the market.

Unit – VI Mobile Application Development (08 Marks)

Q1. A BRIEF HISTORY OF MOBILE

Mobile phones have changed the way we live our lives providing voice calling, text messaging and
mobile Internet access. The very first mobile phones were two-way radios that allowed taxi drivers and
the emergency services to communicate. Motorola, on 3 April 1973 was first company to mass produce
the first handheld mobile phone.

PRE-STANDARDISATION OR “0 G”

AT&T was one of the first to commercialize mobile telecommunication in 1947. The service known
simply as―Mobile Telephone Service (MTS) spread to more than a hundred towns and highway paths
by the end of the year. The service relied on an operator to connect both incoming and outgoing calls.

The first generation of cellular networks paved the way to the networks. Use of multiple cell
tower sites, each connected through a network, allowed users to travel and even switch cell towers
during a call. It was a revolution built on existing, analog technology with the first being built in Chicago
in 1977. Known as the Analog Mobile Phone System (AMPS), it was built by AT&T.

Advancement by 2G was the introduction of SMS messaging, with the first computer generated
SMS sent in 1992 in the UK. The very first download services were also introduced using 2G technology
and enabled users to download ringtones.

3G transformed the mobile phone industry and enabled widespread mobile Internet and the
transmission services like TV and Radio for the very first time. Handset manufacturers jumped on the
bandwagon and Smartphone use took off.

IP networks, bringing mobile Internet more in-line with wired home Internet connections. Speed
is of course the big advantage. The fourth generation of mobile communication is still evolving, and
we’re bound to see new standards, speed increases and coverage benefits in the next few years.

6
Q2. THE MOBILE ECO-SYSTEM
Mobile Ecosystem is a collection of
multiple devices (mobile phones,
Tablet, Phablet etc), software
(operating system, development
tools, testing tools etc),
companies(device manufacturers,
carrier, apps stores,
development/testing companies)
etc.. and the process by which data
(sms, bank-transactions etc.) is
transferred/ shared by a user from
one device to another device or by
the device itself based on some programs(Birthday, Wedding Messages, Calendar).

Data (Text, Multi-media, and VOICE) sharing can be done between devices of the same operating system
or different operating systems. Examples – Iphone (IOS) to Windows Phone, Iphone IOS to Nexus
(Android), Motorola (Android) to Nexus (Android). Data can also be shared between multiple devices
with the same operating system of the same manufacturer.
Q3. Types of mobile applications

1. Native apps are built for a specific operating system. A native app developed for iOS operating system
won’t work on Android devices and vice-versa. If an app is developed for iOS, it will remain exclusive to
that operating system. Software’s used to develop native apps generally would be Objective-C or Swift
for iOS, Java and ADT for Android operating system and .NET(C#) for Windows operating system.

2. Mobile web apps are the web applications to render/deliver pages on web browsers running in
mobile devices. Since these apps target browsers, they work on different mobile operating systems. We
can view a mobile web app on Android, iOS or Windows tablets and phone devices. They also work on
PC web browsers. Software’s used to develop these applications are generally HTML, CSS, JavaScript, etc

3. Hybrid apps are a mixture of both native and mobile web apps. This type of application has cross-
platform compatibility but can still access phone’s hardware. Software’s used to develop these apps are
generally HTML, CSS, Javascript, JQuery, Mobile Javascript frameworks, etc.

Q4. Mobile 2.0

Mobile 2.0 refers to services that integrate the social web with the core aspects of mobility – personal,
localized, always-on and ever-present. A range of sites are available for both so-called "Smartphone’s"
and for more ordinary "feature" mobile phones. Ex: Micro-blogging services - Jaiku, Twitter, Pownce,
CellSpin; Open platforms for sms services - Fortumo and Sepomo; Information providing and services -
mobeedo.

7
Q5. Mobile Web Development

Working with Code : For coding our markup, JavaScript, and CSS, we can use almost any web tool
available on the market, including Adobe Dreamweaver, Microsoft Visual Studio, Eclipse, Aptana Studio,
and of course any good text editor, such as Sublime Text, Textmate, WebStorm, or Notepad++.

Adobe Dreamweaver: Since the CS5.5 version, Dreamweaver has worked better with mobile markup
and allows us to validate against mobile web standards. When we create a new document we can
choose HTML5 as the document type.

Adobe Edge Tools: Adobe offers a group of tools under the name of Edge that help designers and
developers to create HTML5 applications such as Edge Code, Edge Reflow, Edge Inspect, and Edge.

Microsoft Visual Studio and Web Matrix: Microsoft IDEs have supported HTML5 syntax and IntelliSense
since version 2010 SP1. Web Matrix for mobile web development is available for free.

Eclipse: To use Eclipse as our development environment, there are several plug-ins you can use to
create mobile HTML5 apps. Aptana from Titanium, a free Eclipse-based IDE for HTML5 and mobile
development can be downloaded as a free version from Aptana’s website.

Native Web IDEs: To target native web or hybrid apps, some platforms offer tools and IDEs that can be
used to develop, test, and build the final packages.

Testing: Emulators are very useful and provide a simple, fast, and fairly accurate testing solution. If it
doesn’t work in the emulator, it probably will not work on the real device.

Q6. Emulators and Simulators: An emulator is a piece of software that translates compiled code from
an original architecture to the platform where it is running. An emulator is a desktop application that
emulates mobile device hardware and a mobile operating system, allowing us to test and debug our
applications and see the working. The browser, and even the operating system, is not aware that it is
running on an emulator.

A simulator is a less complex application that simulates some of the behavior of a device, but does not
emulate hardware and does not work over the real operating system. A simulator may be created by the
device manufacturer or by some other company offering a simulation environment for developers. In
mobile browsing, there are simulators with pixel-level simulation, and others that neither create a skin
over a typical desktop browser (such as Firefox, Chrome, or Safari) with real typography nor simulate
these browsers’ rendering engines.

Q7. Small Computing Device Requirements

8
There are minimum resource requirements for a small computing device to run a J2ME application. First
the device must have a minimum of 96 × 54 pixel display that can handle bitmapped graphics and have a
way for users to input information, such as a keypad, keyboard, or touch screen. At least 128 kilobytes
(KB) of nonvolatile memory is necessary to run Mobile Information Device (MID), and 8KB of nonvolatile
memory is needed for storage of persistent application data.

To run JVM, 32KB of volatile memory must be available. The device must also provide two-way
network connectivity. The native operating system must implement exception handling, process
interrupts, be able to run the JVM, and provide schedule capabilities. Furthermore, all user input to the
operating system must be forwarded to the JVM, otherwise the device cannot run a J2ME application.

Q8. HISTORY OF ANDROID

In October 2003, Android Inc was founded in Palo Alto, California and
its four founders were Rich Miner, Nick Sears, Chris White, and Andy
Rubin. In 2005, Android was acquired by Google. Rubin stayed at
Google as head of the Android team until 2013.

Versions of Android along with their names


ANDROID1.5 CUPCAKE
ANDROID1.6 DONUT
ANDROID2.0-2.1 ÉCLAIR
ANDROID2.2 FROYO
ANDROID2.3 GINGERBREAD
ANDROID3.0 HONEYCOMB
ANDROID4.0 ICECREAMSANDWICH
ANDROID4.1-4.3 JELLYBEAN
ANDROID4.4 KITKAT
ANDROID5.0 LOLLIPOP
ANDROID6.0 MARSHMALLOW
ANDROID7.0 NOUGAT
ANDROID8.0 OREO
ANDROID9.0 PIE
ANDROID10 Q

Android Q will allow users to control apps’ access to their phone’s Photos and Videos or the Audio
collections via new runtime permissions.

Q9. INTRODUCTION TO ANDROID

9
In 2007, Apple launched the first iPhone and ushered in a new era in mobile computing. In Sept. 2008,
the very first Android Smartphone was announced; the T-Mobile G1 went on sale in the U.S. Oct. of that
year.

Android 1.0 OS inside integrated a number of the company’s other products and services,
including Google Maps, YouTube, and an HTML browser (pre-Chrome) that, of course, used Google’s
search services. It also had the first version of Android Market, the app store with ―dozens of unique,
first-of-a-kind Android applications.

The first version of the OS (1.0) released in Sept. 2008 did not have a code name at all. However,
it reportedly used the internal name ―Petit four while it was in development at Google. The name
refers to a French dessert.

Android has come a long way from its humble beginnings, as the product of a small start up, all
the way to becoming the leading mobile operating system worldwide. Google’s introduction of Project
Treble in Android Oreo should make it easier for phone makers to update their devices faster.

One challenge for Android device owners that has been an issue for the OS ever since it
launched is updating it with the latest security patches, for major feature updates. Google’s supported
Nexus and
Pixel devices consistently receive regular monthly security updates, and the latest version of the OS.

Q10. OPERATING SYSTEMS

1. Microsoft Windows

Windows is a graphical operating system developed by Microsoft. It allows users to view and store files,
run the software, play games, watch videos, and provides a way to connect to the internet. It was
released for both home computing and professional works. Microsoft introduced the first version as 1.0.
There are two most common editions of Windows:

o Windows Home
o Windows Professional

Features of MS Windows

Microsoft Windows includes a lot of features to help users. Some of its excellent features are as follows:

1. Control Panel: Windows provides a Control Panel feature that includes many tools to configure
and manage the resources on their computer. For example, users can change settings for audio,
video, printers, mouse, keyboard, date and time, etc.
2. Cortana: Windows 10 introduced a feature named Cortana, which is able to accept voice
commands. It can perform various tasks such as it can answers your questions, search data on
your computer, online purchases, set reminders, and appointments, etc.
10
3. File Explorer: It is also known as Windows Explorer, which displays your files and folders on the
computer. It allows users to browse the data on the hard drive.
4. Internet browser: As the internet browser is very important to search for anything, view pages,
online shopping, play games, watch videos, etc. Windows come with a pre-installed internet
browser.
5. Microsoft Paint: Since November 1985, Microsoft Windows comes with pre-installed Microsoft
Paint. It is simple software to create, view, and edit an image.
6. Taskbar: Windows comes with a taskbar that displays currently opened programs, it also allows
users to access any specific programs
7. Start menu: Microsoft Windows contains a start menu to the left side of the taskbar. It displays
programs and utilities that are installed on the computer.
8. Task Manager: Windows includes the task manager feature that provides detail of the running
applications or programs on the computer.
9. Disk Cleanup: It is used to free up disk space with the help of deleting temporary or unnecessary
files. It also helps to enhance the performance of the computer, and boost storage space to
download the programs and documents.

2. Introduction of Apple iOS Mobile Operating System

iOS, just like Android is a popular mobile operating system. It is developed by Apple Inc. for its devices
and work only for Apple hardware. The close ecosystem works great for Apple as it ensures high stability
and portability among different Apple devices such as iPad, iPhone, and iPad touch. iOS mobile
operating system came into life in 2007 and had been growing steadily from the point. The first Apple
device that got the OS is the iPod Touch in September 2007.

Features of IOS Platform

iOS has become popular because of its prominent features. The following are the popular features of
iOS. Let’s get into details.

1. Multitasking: iPhone offers multitasking features. It started with iPhone 4, iPhone 3GS. By using
the multitasking feature on an iOS device or using a multi-finger gesture on an iPad, we can swiftly
go from one app to another at any moment.
2. Social Media: Sharing content and displaying an activity stream are just a few of the ways iOS
makes it simple to integrate social network interactions into the app.
3. iCloud: Apple’s iCloud is a service that offers Internet-based data storage. It works on all Apple
devices and has some Windows compatibility, and handles most operations in the background. It is
highly encrypted. It offers the backup option to help the user not lose any of their data.
4. In-App purchase: In-app purchases, which are available on all Apple platforms, provide users with
additional material and services.
5. Game Center: Game Center, Apple’s social gaming network, adds even more pleasure and
connection to our games.
6. Notification Center: Notification Center is a feature in iOS that shows us all of our app alerts in one
place.
11
7. GPS: To detect our location, the iPhone uses an inbuilt Assisted GPS (AGPS) chip. We don’t even
need to install this function because it’s already integrated into our iPhone. As it provides an
approximation of your location based on satellite information, this system is faster than standard
GPS etc.

3. Google’s Android Operating System

Google Android began in 2003 as a project of the American technology company Android Inc., to
develop an operating system for digital cameras. In 2004 the project changed to become an operating
system for smartphones. Android Inc., was bought by the American search engine company Google Inc.,
in 2005.

Android is an open source and Linux-based Operating


System for mobile devices such as smartphones and tablet
computers. Android was developed by the Open Handset Alliance, led
by Google, and other companies.

Android offers a unified approach to application development


for mobile devices which means developers need only develop for
Android, and their applications should be able to run on different
devices powered by Android.

The first beta version of the Android Software Development


Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was
released in September 2008.

Features of Android

Android is a powerful operating system competing with Apple 4GS and supports great features. Few of
them are listed below −

Sr.No. Feature & Description

1
Beautiful UI

Android OS basic screen provides a beautiful and intuitive user interface.

2
Connectivity

GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.

3
Storage

12
SQLite, a lightweight relational database, is used for data storage purposes.

4
Media support

H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg
Vorbis, WAV, JPEG, PNG, GIF, and BMP.

5
Messaging

SMS and MMS

6
Web browser

Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript
engine supporting HTML5 and CSS3.

7
Multi-touch

Android has native support for multi-touch which was initially made available in
handsets such as the HTC Hero.

8
Multi-tasking

User can jump from one task to another and same time various applications can run
simultaneously.

4. APPLE MAC OS

It is an operating system designed for the Apple Macintosh computer. It was


developed by Apple, who also created the Apple I and other more modern
products, including the iPod, iPhone, and iPad. The main competition to the
macOS is the Windows operating system, the most popular OS by a large margin.

Historical information
The first version of the macOS, part of the "Classic" macOS series, was originally released in the mid-
1980s. It did not possess a command line and could only run one application at a time. The first version
of the Macintosh operating system to be named "macOS" was version 7.6. The most recent version is
called macOS X, or macOS.

5. LINUX OPERATING SYSTEM

13
Linux is a community of open-source Unix like operating systems that are based on the Linux Kernel. It
was initially released by Linus Torvalds on September 17, 1991. It is a free and open-source operating
system and the source code can be modified and distributed to anyone commercially or non
commercially under the GNU General Public License.
Initially, Linux was created for personal computers and gradually it was used in other
machines like servers, mainframe computers, supercomputers, etc. Nowadays, Linux is also used in
embedded systems like routers, automation controls, televisions, digital video recorders, video game
consoles, smartwatches, etc. The biggest success of Linux is Android (operating system) it is based on
the Linux kernel that is running on smartphones and tablets. Due to android Linux has the largest
installed base of all general-purpose operating systems.

Basic Features
Following are some of the important features of Linux Operating System.

 Portable − Portability means software can works on different types of hardware in same way.
Linux kernel and application programs supports their installation on any kind of hardware
platform.
 Open Source − Linux source code is freely available and it is community based development
project. Multiple teams work in collaboration to enhance the capability of Linux operating
system and it is continuously evolving.
 Multi-User − Linux is a multiuser system means multiple users can access system resources like
memory/ ram/ application programs at same time.
 Multiprogramming − Linux is a multiprogramming system means multiple applications can run at
same time.
 Hierarchical File System − Linux provides a standard file structure in which system files/ user
files are arranged.
 Shell − Linux provides a special interpreter program which can be used to execute commands of
the operating system. It can be used to do various types of operations, call application programs.
etc.
 Security − Linux provides user security using authentication features like password protection/
controlled access to specific files/ encryption of data.

Q11. ANDROID DEVELOPMENT TOOLS


 Editors and IDEs
 Language Resources
 Libraries
 Plug-ins

Android Editors and IDEs

 Android Studio – The official IDE, based on the community-created IntelliJIDEA.


 Eclipse – Before Android Studio, this was the official Android development environment. Used
to code Java but can be expanded to other languages via plugins, it is still a powerful tool.

14
 IntelliJIDEA – Android Studio is based on this, and this IDE is not only extremely useful, but has a
massive amount of community-created plugins, making it highly customisable.
 DroidEdit – An Android text and code editor to use on Android platforms.
 Android-IDE – A complete web and Android development environment, it also allows you to edit
Java and PhoneGap apps.
 Cordova – Mobile apps with HTML, CSS and JS, it’s one of the best tools if you want to create
hybrid apps. Free and open source.

Android Language Resources

 Java – Straight to the source, if you’re developing in Android, Java is probably the language you
want to be using. Has its own development kit, but there are plenty of other SDKs out there too.
 Codeacademy – One of the premier code-learning resources online, it has been used by
thousands of people to get into Java coding, as well as other languages and frameworks. An
interactive, learn-asyou-code format.

Android Libraries

 GSon – Serialising and deserialising Java objects in JSON.


 Retrofit – Described as an ―elegant solution for organising API calls.
 Awesome Java – A list of some of the best Java frameworks and libraries.
 AndroidView Animations – Library with very simple syntax to get regular View animations
working smoothly.
 EventBus – Aimed at making communication between parts of your application as smooth and
easy as possible.

Android Plug-ins

 Plugin collection for IntelliJ – The main repository for IntelliJ plugins, an absolute treasure-trove
of handy tools for the IntelliJ IDE.
 A curated list of IntelliJ Plugins – The above repository is absolutely huge, so to help you get
started and find some gems, here’s a curated list of the best IntelliJ plugins.
 Import Drawables – For IntelliJ, allows importing of drawables at different resolutions and other
image-based functionalities.

Unit – VII Emerging Trends and Social Impact (12 Marks)

Introduction to Emerging Trends


15
Computers have been around for quite some time now. New technologies and initiatives emerge with
each passing day. In order to understand the existing technologies and have a better view of the
developments around us, we must keep an eye on the emerging trends. Many new technologies are
introduced almost every day. Some of these do not succeed and fade away over time. Some of these
new technologies prosper and persist over time, gaining attention from users. Emerging trends are the
state-of-the-art technologies, which gain popularity and set a new trend among users. In this chapter,
we will learn about some emerging trends that will make a huge impact (in the future) on digital
economy and interaction in digital societies.

Q1. Artificial Intelligence (AI)


Artificial Intelligence is comprised of two words Artificial and Intelligence, where Artificial means "man-
made," and intelligence means "thinking power", hence AI means "a man-made thinking power.“
Artificial Intelligence exists there, where a machine can have human based skills such as
learning, reasoning, and solving problems.
According to the father of Artificial Intelligence, John McCarthy, it is “The science and
engineering of making intelligent machines
Goals of AI
• To Create Expert Systems − the systems which holds intelligent behavior, learn, demonstrate,
explain, and advice its users.
• To Implement Human Intelligence in Machines − Creating systems that can understand, think,
learn, and behave like humans.
Applications of AI
AI has been dominant in various fields such as −
• Gaming
• Natural Language Processing
• Expert Systems
• Vision Systems
• Speech Recognition
• Handwriting Recognition
• Intelligent Robots

Artificial intelligence is a science and technology based on disciplines such as Computer Science, Biology,
Psychology, Linguistics, Mathematics, and Engineering.
Advantages of Artificial Intelligence
• High Accuracy with fewer errors: it takes decisions as per pre-experience or information.
• High-Speed
• High reliability: can perform the same action multiple times with high accuracy.
• Useful for risky areas: helpful in situations such as defusing a bomb, exploring the ocean floor,
where to employ a human can be risky.
• Digital Assistant: Such as used by various E-commerce websites to show the products as per
customer requirement.
• Artificial intelligence can be divided into three subfields:
• Artificial intelligence
• Machine learning
16
• Deep learning

Q2. Machine Learning

Machine Learning is a subsystem of Artificial


Intelligence, wherein computers have the
ability to learn from data using statistical
techniques, without being explicitly
programmed by a human being. It
comprises algorithms that use data to learn
on their own and make predictions. These
algorithms, called models, are first trained
and tested using a training data and testing data, respectively. After successive trainings, once these
models are able to give results to an acceptable level of accuracy, they are used to make predictions
about new and unknown data.
Applications of Machine Learning
1. Image Recognition:
2. Speech Recognition
3. Traffic prediction:
4. Product recommendations:
5. Self-driving cars:
6. Email Spam and Malware
Filtering:
7. Virtual Personal Assistant:
How machine learning works
Clustering is the most common
unsupervised learning technique. It is
used for exploratory data analysis to
find hidden patterns or groupings in
data. Applications for cluster analysis
include gene sequence analysis, market
research, and object recognition.
Classification techniques predict discrete
responses—for example, whether an email is
genuine or spam, or whether a tumor is
cancerous or benign.
Regression techniques predict continuous
responses—for example, changes in
temperature or fluctuations in power demand.

Q3. Big Data


Big Data is also data but with a huge
size/volume and yet growing exponentially

17
with time. In short such data is so large and complex that none of the traditional data management tools
are able to store it or process it efficiently. Figure shows that at the current pace, around 2.5 quintillion
bytes of data are created each day, and the pace is increasing with the continuous evolution of the
Internet of Things (IoT). This result in the generation of data sets of enormous volume and complexity
called Big Data.
Benefits of Big Data Processing
• Businesses can utilize outside intelligence while taking decisions
• Improved customer service
• Early identification of risk to the product/services, if any
• Better operational efficiency
Characteristics of Big Data
 Volume – The name Big Data itself is related to a size which is enormous
 Variety – It asserts that a data set has varied data, such as structured, semi-structured and
unstructured data. Some examples are text, images, videos, web pages and so on.
 Velocity – means speed of generation of data. How fast the data is generated and processed to
meet the demands, determines real potential in the data.
 Variability – This refers to the inconsistency which can be shown by the data at times.
 Value: Big data is not only just a big pile of data, but also possess to have hidden patterns and
useful knowledge which can be of high business value.
Q4. Internet of Things-IOT
The ‘Internet of Things’ is a network of devices that have an embedded hardware and software to
communicate (connect and exchange data)
with other devices on the same network as
shown in Figure 2.10. At present, in a typical
household, many devices have advanced
hardware (microcontrollers) and software.
These devices are used in isolation from
each other, with maximum human
intervention needed for operational
directions and input data. IoT tends to bring
together these devices to work in
collaboration and assist each other in
creating an intelligent network of things.
For example, if a microwave oven, an air
conditioner, door lock, CCTV camera or other such devices are enabled to connect to the Internet, we
can access and remotely control them on-the-go using our Smartphone.
MAJOR CHARACTERISTICS OF IOT
• Very Large Scale
• Heterogeneity
• Pervasively-Computing and Communication technologies embedded in our environments

Q5. Cloud Computing

18
Cloud computing is an emerging trend in the field of information technology, where computer-based
services are delivered over the Internet or the cloud, for the case of their accessibility form any where
using any smart device. The services comprise software, hardware (servers), databases, storage, etc.
These resources are provided by companies called cloud service providers and usually charge on pay per
use basis, like the way we pay for electricity usage. We already use cloud services while storing our
pictures and files as backup on Internet, or host a website on the Internet. Through cloud computing, a
user can run a bigger application or process a large amount of data without having the required storage
or processing power on their personal computer as long as they are connected to the Internet.

Q6. Cloud Services


A better way to understand the cloud is to
interpret everything as a service. A service
corresponds to any facility provided by the cloud.
There are three standard models to categorise
different computing services delivered through
cloud as shown in Figure 2.12. These are
Infrastructure as a Service (IaaS), Platform as a
Service (PaaS), and Software as a Service (SaaS).

(A) Infrastructure as a Service (IaaS)


The IaaS providers can offer different kinds of computing infrastructure, such as servers, virtual
machines (VM), storage and backup facility, network components, operating systems or any other
hardware or software.
(B) Platform as a Service (PaaS)
Through this service, a user can install and execute an application without worrying about the
underlying infrastructure and their setup. That is, PaaS provides a platform or environment to develop,
test, and deliver software applications.

(C) Software as a Service (SaaS)


SaaS provides on-demand access to application software, usually requiring a licensing or subscription by
the user. While using Google doc, Microsoft Office 365, Drop Box, etc., to edit a document online, we
use SaaS from cloud.

Q7. CYBER CRIME


Criminal activities or offences carried out in a digital environment can be considered as cyber crime. In
such crimes, either the computer itself is the target or the computer is used as a tool to commit a crime.
Cyber crimes are carried out against either an individual, or a group, or an organisation or even against a
country, with the intent to directly or indirectly cause physical harm, financial loss or mental
harassment. A cyber criminal attacks a computer or a network to reach other computers in order to
disable or damage data or services. Apart from this, a cyber criminal may spread viruses and other
malwares in order to steal private and confidential data for blackmailing and extortion.
Q8. Types of cybercrimes
1. Hacking

19
Hacking is the act of unauthorised access to a computer, computer network or any digital system.
Hackers usually have technical expertise of the hardware and software. They look for bugs to exploit and
break into the system. Hacking, when done with a positive intent, is called ethical hacking. Such ethical
hackers are known as white hat hackers.
A non-ethical hacker is the one who tries to gain unauthorised access to computers or networks
in order to steal sensitive data with the intent to damage or bring down systems. They are called black
hat hackers or crackers. Their primary focus is on security cracking and data stealing. Such hackers try to
break through system securities for identity theft, monetary gain, to bring a competitor or rival site
down, to leak sensitive information, etc.
2. Phishing and Fraud Emails
Phishing is an unlawful activity where fake websites or emails that look original or authentic are
presented to the user to fraudulently collect sensitive and personal details, particularly usernames,
passwords, banking and credit card details. The most common phishing method is through email
spoofing where a fake or forged email address is used and the user presumes it to be from an authentic
source. So we might get an email from an address that looks similar to our bank or educational
institution, asking for our information, but if we look carefully we will see their URL address is fake. They
will often use logo’s of the original, making them difficult to detect from the real! Phishing attempts
through phone calls or text messages are also common these days.
3. Ransomware
This is another kind of cyber crime where the attacker gains access to the computer and blocks the user
from accessing, usually by encrypting the data. The attacker blackmails the victim to pay for getting
access to the data, or sometimes threaten to publish personal and sensitive information or photographs
unless a ransom is paid.
Ransomware can get downloaded when the users visit any malicious or unsecure websites or
download software from doubtful repositories. Some ransomware are sent as email attachments in
spam mails. It can also reach our system when we click on a malicious advertisement on the Internet.

Q9. Combatting and Preventing Cyber Crime


The challenges of cyber crime can be mitigated with the twin approach of being alert and taking legal
help. Following points can be considered as safety measures to reduce the risk of cyber crime:
• Take regular backup of important data
• Use antivirus software and keep it updated always
• Avoid installing pirated software. Always download software from known and secure (HTTPS) sites
• Always update the system software which include the Internet browser and other application software
• Do not visit or download anything from untrusted websites
• Usually the browser alerts users about doubtful websites whose security certificate could not be
verified; avoid visiting such sites
• Use strong password for web login, and change it periodically. Do not use same password for all the
websites. Use different combinations of alphanumeric characters including special characters. Ignore
common words or names in password.
• While using someone else’s computer, don’t allow browser to save password or auto fill data, and try
to browse in your private browser window

20
• For an unknown site, do not agree to use cookies when asked for, through a Yes/No option.

Q10. INDIAN INFORMATION TECHNOLOGY ACT (IT ACT)


With the growth of Internet, many cases of cyber crimes, frauds, cyber attacks and cyber bullying are
reported. To deal with such menaces, The Government of India’s Information Technology Act, 2000 (also
known as IT Act), amended in 2008, provides guidelines to the user on the processing, storage and
transmission of sensitive information. The act provides legal framework for electronic governance by
giving recognition to electronic records and digital signatures. The act outlines cyber crimes and
penalties for them.
The act is needed so that people can perform transactions over the Internet through credit
cards without fear of misuse. Not only people, the act empower government departments also to accept
filing, creation and storage of official documents in the digital format.

Q11. Intellectual Property Right (IPR)


When someone owns a house or a motorcycle, we say that the person owns that property. Similarly, if
someone comes out with a new idea, this original idea is that person’s intellectual property. Intellectual
Property refers to the inventions, literary and artistic expressions, designs and symbols, names and
logos. The ownership of such concepts lies with the creator, or the holder of the intellectual property.
This enables the creator or copyright owner to earn recognition or financial benefit by using their
creation or invention. Intellectual Property is legally protected through copyrights, patents, trademarks,
etc.
(A) Copyright
Copyright grants legal rights to creators for their original works like writing, photograph, audio
recordings, video, sculptures, architectural works, computer software, and other creative works like
literary and artistic work.
Copyrights are automatically granted to creators and authors. Copyright law gives the copyright
holder a set of rights that they alone can avail legally. The rights include right to copy (reproduce) a
work, right to create derivative works based upon it, right to distribute copies of the work to the public,
and right to publicly display or perform the work. It prevents others from copying, using or selling the
work.

(B) Patent
A patent is usually granted for inventions. Unlike copyright, the inventor needs to apply (file) for
patenting the invention. When a patent is granted, the owner gets an exclusive right to prevent others
from using, selling, or distributing the protected invention.
Patent gives full control to the patentee to decide whether or how the invention can be used by
others. Thus it encourages inventors to share their scientific or technological findings with others. A
patent protects an invention for 20 years, after which it can be freely used. Recognition and/or financial
benefit foster the right environment, and provide motivation for more creativity and innovation.
(C) Trademark

21
Trademark includes any visual symbol, word, name, design, slogan, label, etc., that distinguishes the
brand or commercial enterprise, from other brands or commercial enterprises. For example, no
company other than Nike can use the Nike brand to sell shoes or clothes. It also prevents others from
using a confusingly similar mark, including words or phrases. For example, confusing brands like “Nikke”
cannot be used.

Q12. Positive and Negative effects of technology on health.


Technology has both positive and negative effects in the area of education. Excessive usage of electronic
gadgets is weakening people’s memory. Of course, the extensive development of technology has helped
the students to communicate with their teachers and learn all the essential information through the
Internet.
Besides memory problems, usage of excessive technology can lead to serious diseases. Health problems
caused by modern technology have evolved into an important problem, especially among teenagers.
Adolescents pass much of their time on social networking sites, computer games and watching
television. This addiction cause several serious health issues such as cancer, sleep deficiency, obesity,
vision problems, etc. Moreover, they turn out to be lazy. They pay less attention to walking and more to
sitting and playing indoor games.

If people do not use such devices sensibly, they can damage their lives in the near future. On the
positive side, technology improves the environment in terms of agriculture, constructing better houses,
etc. On the other hand, excessive land exploitation can decrease its fertility. Different vehicles, industrial
unit and power plants also pollute the air by emitting huge amounts of carbon dioxide, which depletes
ozone layer. All these kinds of pollution caused by the development of technology can lead to worldwide
environmental problems.

People can see numerous positive effects of technology on different aspects of human life such as
education, agriculture, personal safety and the environment. However, not everyone thinks about its
disadvantages. Though modern technology eases people’s tasks and duties, it may weaken human
bodies and ruin natural environment.

22

You might also like