Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:System analyses and control. Учебное пособие
.pdf
Unit 6. Software Development Tools and Technologies
101
2. If you _____ (be) the type who tends to identify issues and figure out
the best way to approach a solution, you may be a perfect fit for a software development career.
3. If we decide to go further into web development, we _____ (discuss)
individual web development technologies and tools used to create websites.
4. If a request for a page on your site _____ (come) in, it is sent to the
server for the code to be generated.
5. If cached requests hadn’t been invented, websites _____ (not perform)
effectively.
SPECIALIST READING
TEXT A
WEB DEVELOPMENT TOOLS AND TECHNOLOGIES
15. Scan the text and write out the definitions for the following:
Web technology, CSS, protocols, an API, SOAP, REST, GraphQL
Web technology is the establishment and use of mechanisms that make it
possible for different computers and devices to communicate and share resources. Web technologies are infrastructural building blocks of any effective
computer network. Since computers can’t communicate with each other the way
people do, they require codes instead. Web technologies are the markup languages and multimedia packages computers use to communicate. Let's look at
some examples of web technology.
Browsers request information and then they show us in the way we can
understand. They are the interpreters of the web. Thanks to HTML (Hyper Text
Mark-up Language), the web browsers know what to show once they receive the
request. CSS stands for Cascading Style Sheets and it describes how HTML elements are to be displayed on the screen. Web development frameworks are used
to avoid doing the simple or mundane tasks, and instead get right to work. The
instructions for how to pass information back and forth between computers and
devices are commonly known as protocols. Thanks to HTTPT, each website can
get to the browser.
An API is a set of definitions and protocols for building and integrating
application software. API stands for application programming interface.

System analyses and control
102
APIs let your product or service communicate with other products and
services without having to know how they’re implemented.
Web APIs typically use HTTP for request messages and provide a definition of the structure of response messages. These response messages usually take
the form of an XML or JSON file. Both XML and JSON are preferred formats
because they present data in a way that’s easy for other apps to manipulate.
As APIs have developed into the now-ubiquitous web API, several efforts have been made to make their design a little easier and their implementation more useful.
As web APIs have spread, a protocol specification was developed to help
standardize information exchange: Simple Object Access Protocol, more casually known as SOAP, was introduced. APIs designed with SOAP use XML for
their message format and receive requests through HTTP or SMTP. SOAP makes
it easier for apps running in different environments or written in different languages to share information.
Another specification is Representational State Transfer (REST). Web
APIs that adhere to the REST architectural constraints are called RESTful APIs.
REST differs from SOAP in a fundamental way: SOAP is a protocol, whereas
REST is an architectural style. This means that there’s no official standard for
RESTful web APIs. APIs are RESTful as long as they comply with the 6 guiding
constraints of a RESTful system:
1. Client-server architecture: REST architecture is composed of clients,
servers, and resources, and it handles requests through HTTP.
2. Statelessness: No client content is stored on the server between requests.
Information about the session state is, instead, held with the client.
3. Cacheability: Caching can eliminate the need for some client-server in-
teractions.
4. Layered system: Client-server interactions can be mediated by addi-
tional layers. These layers could offer additional features like load balancing,
shared caches, or security.
5. Code on demand (optional): Servers can extend the functionality of a
client by transferring executable code.
6. Uniform interface: This constraint is core to the design of RESTful APIs
and includes 4 facets:

Unit 6. Software Development Tools and Technologies
103
1) Resource identification in requests: Resources are identified in
requests and are separate from the representations returned to the client.
2) Resource manipulation through representations: Clients re-
ceive files that represent resources. These representations must have
enough information to allow modification or deletion.
3) Self-descriptive messages: Each message returned to a client
contains enough information to describe how the client should process the
information.
4) Hypermedia as the engine of application state: After accessing
a resource, the REST client should be able to discover through hyperlinks
all other actions that are currently available.
These constraints may seem like a lot but they’re much simpler than a
prescribed protocol. For this reason RESTful APIs are becoming more prevalent
than SOAP.
In recent years, the OpenAPI specification has emerged as a common
standard for defining REST APIs. OpenAPI establishes a language-agnostic way
for developers to build REST API interfaces so that users can understand them
with minimal guesswork.
Another API standard to emerge is GraphQL, a query language and
server-side runtime that’s an alternative to REST. GraphQL prioritizes giving
clients exactly the data they request and no more. As an alternative to REST,
GraphQL lets developers construct requests that pull data from multiple data
sources in a single API call [14, 15].
VOCABULARY IN USE
16. Match A and B to make word combinations.
A
B
1. web
2. adhere to
3. share
4. building
5. computer
6. application
7. a request
8. manipulate
9. make
a. network
b. resources
c. message
d. technology
e. efforts
f. constraints
g. data
h. software
i. blocks

System analyses and control
104
A
B
1. architectural
2. response
3. executable
4. handle
5. access
6. comply with
7. standardize
8. message
9. client-server
a. code
b. requests
c. information exchange
d. messages
e. format
f. standards
g. constraints
h. interaction
i. a resource
17. Fill in the blanks with the word combinations from 16.
1. The user uses _____ _____ for a specific purposes and it can either be
installed or accessed online.
2. The _____ _____ was designed to work unambiguously with a broad
range of computer architectures.
3. In the next section, it is described how the HHS is built so that it can
_____ _____ from different kinds of user profiles and only give access to relevant and permitted data areas.
4. _____ _____ is a general term referring to the many languages and mul-
timedia packages that are used in conjunction with one another, to produce dynamic web sites.
5. The _____ _____ is modified on the level of processor commands and
after that it is converted into byte code executed by the virtual machine.
6. All countries and organizations must _____ _____ to help integrate de-
veloping countries into the world economy.
7. The objective of the model is to minimize cost while _____ _____ re-
garding infrastructure usage, demand coverage, and engine availability.
8. These three systems are coming together, allowing people to _____
_____ without sacrificing their lifestyles, or their personal freedoms.
9. The phase I analysis identified basic “_____ _____” from which mis-
sions are constructed.
10. Frequently developers have task to create useful and functional user in-
terface applications to _____ _____.
COMPREHENSION CHECK
18. Answer the questions.

Unit 6. Software Development Tools and Technologies
105
1. What do computers need to communicate with each other?
2. What do web browsers need HTML for?
3. What forms of response messages are preferred for HTTP requests and
why?
4. What is the main task of CSS?
5. What are web development frameworks used for?
6. How do APIs work?
7. What is the main difference between REST and SOAP?
8. Why are RESTful APIs more prevalent than SOAP?
9. What constraints should APIs comply with to be RESTful?
10. Why is cacheability important?
11. What features does layered system offer?
12. What constraint is core to the design of RESTful APIs? What facets
does it include?
13. What is the alternative to REST?
14. What does GraphQL give priority to?
19. Decide whether the following statements are true or false (T/F) by
referring to the information in the text. Then make the necessary changes
so that the false statements become true.
1. HTTP and HTML do the same task.
2. Web technologies enable the communication between computers and
other electronic devices.
3. Browsers are known as interpreters of the web because they represent
the information we requested in an intelligible way.
4. An API provides definitions and protocols for building and integrating
operating systems.
5. Web APIs use SMTP for request messages and provide a definition of
the structure of response messages.
6. As Web APIs are now widely used, developers try to make their design
easier and their implementation more useful.
7. There are no protocol specifications for web APIs to help standardize
information exchange.
8. There are six constraints that do not allow APIs to be RESTful.
9. RESTful APIs are becoming more common than SOAP.

System analyses and control
106
10. Thanks to OpenAPI developers build REST API interfaces that are more
comprehensive for the users.
SPECIALIST READING
TEXT B
CROSSPLATFORM DEVELOPMENT TOOLS AND TECHNOLOGIES
20. Read the text, make up a plan of the main content and write out
key words for every point of your plan.
points
keywords
Cross-platform development is a software engineering process that produces a mobile application that works on various mobile OSs and platforms without recoding for each native platform. This decreased coding requirement lowers
the timeframe, overhead, and money needed to develop the same app if it was
engineered specifically for each native platform and Operating System.
There are a variety of different mobile application types that also must be
understood to truly ascertain the power and relevance of cross-platform development tools:
Native Mobile Applications: Native mobile apps are developed to be specific to a single platform or mobile OS.
Cross-Platform Mobile Applications: Cross-platform mobile apps are designed to run on various mobile platforms and Operating Systems without developers needing to recode for specific, native platforms.
Hybrid Mobile Applications: Applications that look and feel like a native
app but operate with web app technologies are hybrid mobile apps.
Web/Mobile App: Seemingly “native” mobile apps that are opened from
a mobile platform but execute in a web browser - while requiring an internet
connection – encompass mobile web applications.
There are various best practices and toolkits, SDKs, platforms, and frameworks that can be utilized in the process of engineering powerful cross-platform
mobile applications. This list of recommended tools includes known mobile development hybrid app frameworks such as Adobe PhoneGap and other typical
mobile app frameworks such as Xamarin.

Unit 6. Software Development Tools and Technologies
107
Several factors distinguish the best cross-platform development tools
from those recommended, but not top-tier, including:
Development Workload: Ultimately, the purpose of undergoing a crossplatform development project is to decrease the developmental workload and resource requirements. These cross-platform tools allow engineers to radically reduce workload requirements to produce the best apps, with the best value, while
spending the least amount of time in the app’s developmental phases.
Platform Compatibility: Clearly, cross-platform development tools must
support a variety of platforms – or at least the major platforms (i.e., iOS and
Android) – to qualify as top-tier development tools. While some frameworks
support more esoteric platforms, most modern platforms support Windows, iOS,
Android, macOS, etc.
Usability: On the user side, a mobile app produced by a robust cross-platform tool must deliver a positive User Experience, and be equipped with all aspects of an excellent mobile application.
Scalability: Enterprise Mobile apps that need to scale with a company –
and even consumer apps that should meet the long-term goals of a company’s
mobile strategic plan – should be developed (via cross-platform frameworks and
tools) with scalability in mind. Such mobile apps should meet the long-term demands of a company’s strategy regardless of its deployed platform.
Security: Robust cross-platform tools fill in all security vulnerabilities and
holes that may be produced within a mobile business application, regardless of
the platform it is deployed on, to protect both the consumer and the development
firm from data breaches.
Functionality/UI: The best cross-platform tools should provide a functional and enterprise-level UI for all mobile apps that they produce, regardless of
the platform used for deployment. Such tools should also allow developers to
include the best, most advanced, and necessary functions within the mobile app.
They should enable the cross-platform mobile app to take advantage of as many
native hardware functions as possible [16].
21. Answer the questions.
1. What is cross-platform development?
2. What does cross-platform development contribute to?
3. What types of mobile applications are there?

System analyses and control
108
4. What are hybrid mobile apps? In what way do they differ from native
mobile applications?
5. What hybrid mobile app frameworks do you know? Do you recommend
using hybrid applications? Why? Why not?
6. What operating systems do most modern platforms support?
7. Do cross-platform tools allow you to reduce the workload requirements
when building applications?
8. What other factors characterize the best cross-platform development
tools?
WRITING
22. Annotate text B. Use these clichés:
As the title implies the text describes ...
It is spoken in detail about…
The text gives valuable information on…
The text is of interest to …
SPEAKING
23. Describing the work on a project.
List the steps a web developer goes through while working on a project
from receiving the task to submitting of final product. What technologies are you
going to use, and what are their advantages?
SUPPLEMENTARY READING
WHAT IS INFORMATION SYSTEMS ANALYSIS AND DESIGN?
Information systems analysis and design is a method used by companies
ranging from IBM to PepsiCo to Sony to create and maintain information systems that perform basic business functions such as keeping track of customer
names and addresses, processing orders, and paying employees. The main goal
of systems analysis and design is to improve organizational systems, typically
through applying software that can help employees accomplish key business
tasks more easily and efficiently. As a systems analyst, you will be at the center
of developing this software.

Unit 6. Software Development Tools and Technologies
109
The analysis and design of information systems are based on: your under-
standing of the organization’s objectives, structure, and processes your
knowledge of how to exploit information technology for advantage to be successful in this endeavor, you should follow a structured approach. The SDLC, is
a four-phased approach to identifying, analyzing, designing, and implementing
an information system. We use the SDLC to organize our discussion of the systems development process. Before we talk about the SDLC, we first describe
what is meant by systems analysis and design.
Systems Analysis and Design: Core Concepts
The major goal of systems analysis and design is to improve organizational systems. Often this process involves developing or acquiring application
software and training employees to use it. Application software, also called a system, is designed to support a specific organizational function or process, such as
inventory management, payroll, or market analysis. The goal of application software is to turn data into information.
For example, software developed for the inventory department at a
bookstore may keep track of the number of books in stock of the latest best seller.
Software for the payroll department may keep track of the changing pay rates of
employees. A variety of off-the-shelf application software can be purchased, including WordPerfect, Excel, and PowerPoint. However, off-the-shelf software
may not fit the needs of a particular organization, and so the organization must
develop its own product.
In addition to application software, the information system includes:
The hardware and systems software on which the application software
runs. Note that the systems software helps the computer function, whereas the
application software helps the user perform tasks such as writing a paper, preparing a spreadsheet, and linking to the Internet.
Documentation and training materials, which are materials created by the
systems analyst to help employees use the software they’ve helped create.
The specific job roles associated with the overall system, such as the people who run the computers and keep the software operating.
Controls, which are parts of the software written to help prevent fraud
and theft.
The people who use the software in order to do their jobs.

System analyses and control
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
