Главная » Просмотр файлов » Software Engineering Body of Knowledge (v3) (2014)

Software Engineering Body of Knowledge (v3) (2014) (811503), страница 69

Файл №811503 Software Engineering Body of Knowledge (v3) (2014) (Software Engineering Body of Knowledge (v3) (2014).pdf) 69 страницаSoftware Engineering Body of Knowledge (v3) (2014) (811503) страница 692020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 69)

In the public domainaccess to the internet is through organizationsknown as internet service providers (ISP). TheISP maintains one or more switching centerscalled a point of presence, which actually connects the users to the Internet.13.5. Internet of ThingsThe Internet of Things refers to the networkingof everyday objects—such as cars, cell phones,PDAs, TVs, refrigerators, and even buildings—using wired or wireless networking technologies.The function and purpose of Internet of Thingsis to interconnect all things to facilitate autonomous and better living. Technologies used in theInternet of Things include RFID, wireless andwired networking, sensor technology, and muchsoftware of course. As the paradigm of Internetof Things is still taking shape, much work isneeded for Internet of Things to gain wide spreadacceptance.Computing Foundations  13-2113.6. Virtual Private Network (VPN)A virtual private network is a preplanned virtualconnection between nodes in a LAN/WAN or onthe internet.

It allows the network administratorto separate network traffic into user groups thathave a common affinity for each other such asall users in the same organization, or workgroup.This circuit type may improve performanceand security between nodes and allows for easier maintenance of circuits when troubleshooting. 14. Parallel and Distributed Computing[8*, c9]Parallel computing is a computing paradigm thatemerges with the development of multi-functional units within a computer.

The main objective of parallel computing is to execute severaltasks simultaneously on different functional unitsand thus improve throughput or response or both.Distributed computing, on the other hand, is acomputing paradigm that emerges with the development of computer networks. Its main objectiveis to either make use of multiple computers in thenetwork to accomplish things otherwise not possible within a single computer or improve computation efficiency by harnessing the power ofmultiple computers.14.1. Parallel and Distributed ComputingOverviewTraditionally, parallel computing investigatesways to maximize concurrency (the simultaneousexecution of multiple tasks) within the boundary of a computer. Distributed computing studiesdistributed systems, which consists of multipleautonomous computers that communicate througha computer network.

Alternatively, distributedcomputing can also refer to the use of distributedsystems to solve computational or transactionalproblems. In the former definition, distributedcomputing investigates the protocols, mechanisms, and strategies that provide the foundationfor distributed computation; in the latter definition,distributed computing studies the ways of dividinga problem into many tasks and assigning such tasksto various computers involved in the computation.Fundamentally, distributed computing isanother form of parallel computing, albeit on agrander scale. In distributed computing, the functional units are not ALU, FPU, or separate cores,but individual computers.

For this reason, somepeople regard distributed computing as being thesame as parallel computing. Because both distributed and parallel computing involve some formof concurrency, they are both also called concurrent computing.14.2. Difference between Parallel and Distributed ComputingThough parallel and distributed computing resemble each other on the surface, there is a subtle butreal distinction between them: parallel computing does not necessarily refer to the execution ofprograms on different computers— instead, theycan be run on different processors within a singlecomputer.

In fact, consensus among computingprofessionals limits the scope of parallel computing to the case where a shared memory is used byall processors involved in the computing, whiledistributed computing refers to computationswhere private memory exists for each processorinvolved in the computations.Another subtle difference between parallel anddistributed computing is that parallel computingnecessitates concurrent execution of several taskswhile distributed computing does not have thisnecessity.Based on the above discussion, it is possibleto classify concurrent systems as being “parallel”or “distributed” based on the existence or nonexistence of shared memory among all the processor: parallel computing deals with computationswithin a single computer; distributed computingdeals with computations within a set of computers. According to this view, multicore computingis a form of parallel computing.14.3. Parallel and Distributed ComputingModelsSince multiple computers/processors/cores areinvolved in distributed/parallel computing, somecoordination among the involved parties is necessary to ensure correct behavior of the system.13-22  SWEBOK® Guide V3.0Different ways of coordination give rise to different computing models.

The most common models in this regard are the shared memory (parallel) model and the message-passing (distributed)model.In a shared memory (parallel) model, all computers have access to a shared central memorywhere local caches are used to speed up theprocessing power. These caches use a protocolto insure the localized data is fresh and up todate, typically the MESI protocol. The algorithmdesigner chooses the program for execution byeach computer. Access to the central memory canbe synchronous or asynchronous, and must becoordinated such that coherency is maintained.Different access models have been invented forsuch a purpose.In a message-passing (distributed) model, allcomputers run some programs that collectivelyachieve some purpose.

The system must workcorrectly regardless of the structure of the network. This model can be further classified intoclient-server (C/S), browser-server (B/S), andn-tier models. In the C/S model, the server provides services and the client requests servicesfrom the server. In the B/S model, the server provides services and the client is the browser. In then-tier model, each tier (i.e.

layer) provides services to the tier immediately above it and requestsservices from the tier immediately below it. Infact, the n-tier model can be seen as a chain ofclient-server models. Often, the tiers between thebottommost tier and the topmost tier are calledmiddleware, which is a distinct subject of studyin its own right.14.4. Main Issues in Distributed ComputingCoordination among all the components in a distributed computing environment is often complexand time-consuming.

As the number of cores/CPUs/computers increases, the complexity ofdistributed computing also increases. Amongthe many issues faced, memory coherency andconsensus among all computers are the most difficult ones. Many computation paradigms havebeen invented to solve these problems and arethe main discussion issues in distributed/parallelcomputing.15. Basic User Human Factors[3*, c8] [9*, c5]Software is developed to meet human desires orneeds. Thus, all software design and development must take into consideration human-userfactors such as how people use software, howpeople view software, and what humans expectfrom software. There are numerous factors in thehuman-machine interaction, and ISO 9241 document series define all the detailed standards ofsuch interactions.[10] But the basic human-userfactors considered here include input/output, thehandling of error messages, and the robustness ofthe software in general.15.1. Input and OutputInput and output are the interfaces between usersand software.

Software is useless without inputand output. Humans design software to processsome input and produce desirable output. Allsoftware engineers must consider input and output as an integral part of the software productthey engineer or develop. Issues considered forinput include (but are not limited to):•  What input is required?•  How is the input passed from users tocomputers?•  What is the most convenient way for users toenter input?•  What format does the computer require ofthe input data?The designer should request the minimumdata from human input, only when the data is notalready stored in the system.

The designer shouldformat and edit the data at the time of entry toreduce errors arising from incorrect or maliciousdata entry. For output, we need to consider what the userswish to see:•  In what format would users like to seeoutput?•  What is the most pleasing way to displayoutput?Computing Foundations  13-23If the party interacting with the software isn’thuman but another software or computer or control system, then we need to consider the input/output type and format that the software shouldproduce to ensure proper data exchange betweensystems.There are many rules of thumb for developersto follow to produce good input/output for a software. These rules of thumb include simple andnatural dialogue, speaking users’ language, minimizing user memory load, consistency, minimalsurprise, conformance to standards (whetheragreed to or not: e.g., automobiles have a standard interface for accelerator, brake, steering).15.2. Error MessagesIt is understandable that most software contains faults and fails from time to time.

Характеристики

Тип файла
PDF-файл
Размер
6,58 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее