Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

System analyses and control. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
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 de­velopment 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 re­sources. 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 lan­guages 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 el­ements 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 defini­tion 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 ef­forts have been made to make their design a little easier and their implementa­tion more useful.
As web APIs have spread, a protocol specification was developed to help standardize information exchange: Simple Object Access Protocol, more casu­ally 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 lan­guages 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 rele­vant 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 dy­namic 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 pro­duces a mobile application that works on various mobile OSs and platforms with­out 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 develop­ment tools:
Native Mobile Applications: Native mobile apps are developed to be spe­cific to a single platform or mobile OS.
Cross-Platform Mobile Applications: Cross-platform mobile apps are de­signed to run on various mobile platforms and Operating Systems without devel­opers 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 frame­works that can be utilized in the process of engineering powerful cross-platform mobile applications. This list of recommended tools includes known mobile de­velopment 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 cross­platform development project is to decrease the developmental workload and re­source requirements. These cross-platform tools allow engineers to radically re­duce 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-plat­form tool must deliver a positive User Experience, and be equipped with all as­pects 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 de­mands 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 func­tional 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 sys­tems 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 suc­cessful 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 sys­tems 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 organiza­tional systems. Often this process involves developing or acquiring application software and training employees to use it. Application software, also called a sys­tem, is designed to support a specific organizational function or process, such as inventory management, payroll, or market analysis. The goal of application soft­ware 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, in­cluding 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, pre­paring 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 peo­ple 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