0% found this document useful (0 votes)
32 views41 pages

Chapter 6 Software Environment and Tools New

Uploaded by

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

Chapter 6 Software Environment and Tools New

Uploaded by

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

Chapter 6 Tools

and
Environment
Agenda
CHAPTER 6
Software Engineering
Environment

Software Engineering Tool

API
Software
Engineering
Environment

By the end of this session


you will be able to:
understand the software development
environments
Environment (How is software born?)

Integration Stage
• Individual • QA team • Live
Developer • Collected work Environment • Load Testing Environment
of Individual
Developers

Local Testing Live


How do Environment differ?
Goal

Teams

Tools

Locati
on

Genera
lity
Local Environment
• Software Development
Goal

• You / Developer
Teams

• IDE, Version Control, Unit Testing


Tools

• your work station or a local server


Location

• Mock world
Generality
Integration Environment
• Software Integration, General Testing
Goal

• Programmers
Teams

• Automated Build tools, Integrations


Tools

• Dedicated servers
Location

• from pseudo real world to real world


Generality
Testing Environment
Goal
• Functional Testing

Teams
• Test Team

Tools
• Functional testing tools

Location
• Dedicated servers

Generality
• real will world without the “stress”
Stage Environment
Goal
• Load Testing

Teams
• Load Team

Tools
• Heavy wait simulator

Location
• Dedicated servers

Generality
• As close to the real world as possible
Live Environment
Goal
• Money
Teams
• Operators
Tools

Location
• Live servers
Generality
• REAL WORLD
Software
Engineering
Tools

By the end of this session


you will be able to:
analyze the tools that are intended to
assist the software development process.
Tool Types
IDE – Integrated
Tools for testing
Development Version Control
by simulation
Environment

Code coverage Mock Libraries Static Analysis

Debugging Profiling Compilers

Interpreters Build Tools


Choosing the Tool
Open Source

“Cheap” “Expensive”
“Un – Reliable” “Reliable”
“Support” Dedicated Support
Open Source Source Hidden
Flexible Tailored
It’s your fault Some one to blame
GUI might not be so nice Nice GUI

Proprietary
API

By the end of this session


you will be able to:
Define, Categories and know the
Importance of API
Building Blocks for Powerful Solution
Capabilities
What is API?
⚫ Application Programming Interface
⚫ Provide a hook for third-party developer
to access data and services to build
application
⚫ Facebook and twitter API are famous
examples
⚫ There are APIs opened to all developer,
opened to certain partners or only for
internal use
What is API?
⚫ Indirectly, APIs are basically contract.
⚫ Developers are enticed to use an API
because they rely on it for their apps to
work.
⚫ It increases confidence and usage.
⚫ More connection is being made from
service provider to consumer
Website vs API
Website API
Provides information on demand Has contracts and program are
build on that contract
No contract or structure when Current effect when changes
content is being used applied if its not backward-
compatible
Browser are not impacted by
change

Website and API Similarity


⚫ Available 24/7
⚫ They both change base on demand
⚫ Both must have good design
API Technical Definition
⚫ An API is a way for two computer
application to talk to each other over a
network (Internet) using a common
language that both understand
⚫ API is a software, it will change (business
or process load) and the software that uses
the API must also change
API Provider Role
⚫ What functionality will be offered
⚫ When the functionality will be available
⚫ When it might change in an incompatible
way
⚫ May outline additional technical
constraint/limitations
⚫ Outline additional legal or business
constraint
⚫ Developer must follow the rules set by the
API provider
Additional Tools
⚫ Mechanisms to access to API
⚫ Documentation to aid in understanding
the API
⚫ Resources such as example programs
⚫ Operational information about the health
of the API and how much use it is getting
Other People in API
Developer
• These people will create application that will
utilize the APIs
• Primary audience of the API
End user
• They uses an application that will be
implementing an API.
• Will be concerning on copyright and legal use
• Secondary audience of the API
API Definition

Application Programming Interfaces


(APIs) an abstraction that is defined
by the description of an interface
and the behavior of the interface
API Categories
API Category Example Timeline

Operating System API for MS Windows 1985


API for Apple Mac OS 2001
Programming Java API 1995
Languages
Application API for SAP (BAPI) 1990s
Services
Infrastructure Amazon Web Services 2002
Services API
Web Services Twitter API 2006
API Value Chain
In order to understand what is happening when an
API is being used to advance a business, it helps
to ask the following questions:
⚫ Who is the API provider? How will the API be
published and promoted? Are the owner of the business
assets and the API provider members of the same
organization? For example, a mapping provider like
Yahoo! may license mapping data from another
provider.
⚫ Who is the target audience for the API? What is the size
of that audience? What is their motivation to consume
the API? How will they benefit from it? For example,
the API may target mobile app developers building
location-based applications.
API Value Chain
⚫ What business assets are going to be provided through the
API? What information, services, and products will be
available? Of what potential value could these assets be to
others? How will the owner of the business assets benefit
from the API? For a mapping API, the assets are the mapping
data and the points of interest.
⚫ What types of apps will the API support? What features and
functions will these apps have? For example, mobile apps on
the iOS and Android platforms may provide GPS
functionality that can be used to get the most out of mapping
data.
⚫ Who will use the apps created using the API? What benefit
will they gain from using the apps? What benefits will the
developers, the API provider, and the owner of the business
assets get from their use? In our example, using the app, end
users can perform local searches wherever they are.
API Value Chain
Type of APIs
⚫ There public and private APIs
⚫ There are more private APIs than public.
⚫ Private APIs are being within a company
or partners
Creating a Private API Value Chain
Here are the elements of a private API value chain:
⚫ The business assets
◦ In private APIs, a company may have no interest or right in
having these business assets used outside of their
organization or outside of a tightly controlled domain. The
apps created by private use of APIs may or may not be
used in public. For example, a company might want to
make operational data more easily available to decision
makers, or might want to reach a partner’s customer base.
⚫ The API provider
◦ The API provider is often the same party as the owner of
the business assets. A private API is private because it is
available only to an authorized population of developers.
Within a company, this might be a specific group or IT.
Creating a Private API Value Chain
⚫ Developers
◦ Developers using a private API are often employees of the
organization that owns the business assets and publishes
the API or partners with a close relationship with the
business. Developers within a company might be other
employees within other development groups or developers
within a known business partner.
⚫ Applications
◦ The apps created by a private API can be used internally,
by partners, publicly, or all of the above. Depending on the
way that the apps are going to be used, attention to
promotion and distribution varies widely.
Ways to Use a Private API
⚫ Private APIs can be used to create apps to
release to the public.
⚫ Private APIs can be used by partners to
create apps or to implement integration
services.
⚫ Private APIs can be used as a way to more
efficiently build apps for internal use in an
organization.
Benefits of Private APIs
Examples of how private APIs might be used include:
⚫ Private APIs can enable rapid and scalable development
for mobile strategies, allowing each mobile product
team to build apps quickly without worrying about how
to populate them with content.
⚫ There is often a pent-up demand for access to the
business assets that are exposed in an API that leads to a
quick return on any investment. Private APIs can help
simplify an IT infrastructure to meet that demand.
⚫ Private APIs can improve business development as they
make it much easier and faster for partners to integrate
(with the added benefit of making your service more
sticky), requiring relatively little oversight and time
from your own internal resources.
Creating a Public API Value Chain
Here are the basic elements of a public API value chain:
⚫ The business assets
◦ The owner of the business assets is usually seeking a wider
audience for those assets. Public APIs are frequently used to
extend a successful product into new arenas and niches that
cannot be reached efficiently in other ways.
⚫ The API provider
◦ The provider must create some sort of incentive to encourage
developers to use the API. The provider then must promote the
API to developers and also promote use of the apps the
developers create. The large-scale app marketplaces serve both
of these purposes.
Creating a Public API Value Chain
Here are the basic elements of a public API value chain:
⚫ Developers
◦ Motivations are wide and varied for using an API. Some
developers are motivated to experiment with interesting
technology. Some developers are interested in public
service or activism. Others are motivated by the challenge
of innovating. Of course, there is always the prospect for
developers to make money from a successful app.
⚫ Applications
◦ The apps created using a public API must have a
distribution channel to find an audience. Public APIs have
been used to create millions of apps for diverse audiences
with different needs.
Ways to Use a Public API
Public APIs are providing value to the API
provider, the following patterns are quite common
(adavantages):
⚫ Enhancing value and extending the brand
⚫ Reaching niche markets
⚫ Expanding reach across platforms and devices
⚫ Fostering innovation
Risks Related to Public APIs

Some other possible pitfalls of public APIs


include:
⚫ Attacks against the API systems
⚫ Attacks against the content
⚫ Potential cannibalization of your core business
⚫ Overexposing your business assets to your competitors
⚫ Conflicts in expectations between public developers and
potential partners
⚫ Resource allocation out of line with the value
proposition
API Business Models
API business models categories
⚫ Free
◦ API provider does not consider that the API has a significant
business benefit
⚫ Developer pays
◦ the developer uses the API to create something they or their
organization wants
⚫ Developer get paid
◦ developers receive some sort of revenue share or direct
payment as an incentive to use the API
⚫ Indirect
◦ the use of the API achieves some goal that drives the core
business model, provides value such as increasing awareness
of specific content, or drives sales of existing products
API Business Models
API Business Models
⚫ Extended API business models categories:
Current API Trend
End of C6 ☺

You might also like