-
Notifications
You must be signed in to change notification settings - Fork 2
exam16
- Понятия телеобработки данных и вычислительной сети. Глобальные и локальные вычислительные сети.
- Применение методов оценки сложности разработки программных средств в веб-программировании.
Выполнили: Кузьмин Антон ИДМ-22-04, Модин Кирилл ИДМ-22-05, Александров Михаил ИДМ-22-01
ТЕКСТ РЕФЕРАТА
Вычислительная система, включающая в свой состав аппаратуру передачи данных, называется системой телеобработки данных, или просто системой телеобработки.
Основным предназначением системы телеобработки является предоставление большому числу территориальных распределенных пользователей доступа к общим вычислительным ресурсам. Кроме того, являясь многопользовательской, система телеобработки позволяет своим абонентам осуществлять эффективный обмен информацией между собой. Все это определяет ряд дополнительных преимуществ систем телеобработки по сравнению с однопользовательскими системами:
• вычислительные мощности системы телеобработки концентрируются в едином вычислительном центре, где могут быть созданы наиболее комфортные условия для эксплуатации суперкомпьютеров; • концентрация вычислительных мощностей позволяет избежать распыления дорогостоящего оборудования, снизить затраты на эксплуатацию и повысить качество обслуживания вычислительной техники. В зависимости от режимов работы различают следующие системы телеобработки:
• системы сбора данных, которые являются самыми простыми системами телеобработки и обеспечивают передачу информации в одном направлении, то есть от абонентских пунктов к компьютеру. Примером подобных систем являются системы диспетчерской службы, собирающие информацию от абонентских систем, обрабатывающие и передающие ее затем на центральный диспетчерский пункт; • информационно-справочные системы, предоставляющие пользователю доступ к централизованному источнику информации. Характерной чертой данных систем являются наличие достаточно большого банка данных, обеспечивающего пользователей необходимой информацией, и двухсторонняя передача информации, хотя все еще органического характера и фиксированной структуры; • информационно-управляющие системы, основным назначением которых является сбор оперативной информации с последующим принятием решений по управлению объектом или процессом. В этих системах наряду с передачей данных большое внимание уделяется информации, которая во многих случаях занимает основную часть ресурсов системы; • системы реального времени - информационно-управляющие системы, обеспечивающие передачу и обработку данных со скоростью, соответствующие скорости протекания управляемого или контролируемого процесса. Как и все предыдущие, данные системы относятся к проблемно-ориентированным системам; • системы коллективного пользования, которые являются более универсальными от перечисленных выше систем и ориентированы на интерактивный режим работы удаленных пользователей. Класс решаемых при этом задач различен и ограничивается только аппаратными и функциональными возможностями самой системы телеобработки. Независимо от режима обработки любая из систем телеобработки выполняет следующие функции;
• ввод-вывод информации с удаленных абонентских пунктов; • преобразование информации к виду, удобному для передачи по каналам связи; • собственно передачу информации по каналам связи; • преобразование информации, получаемой по каналам связи, к виду, удобному для представления ее в компьютере; • ввод информации в компьютер; • обработку информации; • обратный цикл преобразования информации для ее передачи пользователю. Как правило, каждая из этих функций выполняется с помощью специальных программ, составляющих «процедуру теледоступа», к которым относятся:
• передача файлов; • удаленный ввод заданий; • дистанционное управление вычислительным процессом. Процедура передачи файлов представляет собой совокупность функций, обеспечивающих надежную передачу файлов между абонентскими системами и компьютером. Файл представляет собой блок данных, оформленный некоторым стандартным образом и сопровождаемый необходимой управляющей информацией. Процедура передачи файлов реализуется средствами системы телеобработки практически без участия пользователя.
Процедура удаленного ввода заданий осуществляется при непосредственном участии пользователя, которому предоставляется возможность оперативного управления вводом информации в вычислительную систему. При этом пользователь может проверять правильность ввода данных, осуществлять необходимую корректировку и изменять сам процесс ввода информации.
Процедура дистанционного управления вычислительным процессом предоставляет пользователю возможность отслеживать и оказывать оперативное воздействие на процесс выполнения его задания. Управление осуществляется с помощью специального языка управления заданиями.
Естественно, что реализация этих функций должна обеспечиваться взаимосвязанным комплексом технических и программных средств, совокупность которых образует систему телеобработки.
Технические средства системы телеобработки включают:
• компьютер; • каналы передачи данных; • устройства сопряжения каналов (аппаратуры) передачи данных с компьютером; • абонентские пункты. Компьютер является основным источником вычислительных ресурсов для пользователей системы телеобработки.
Каналы передачи данных предназначены для передачи данных между абонентскими пунктами и компьютером системы телеобработки.
Устройства сопряжения аппаратуры (каналов) передачи данных с компьютером обеспечивают согласование каналов передачи данных с соответствующими устройствами компьютера и, как правило, позволяют подключать к нему достаточно большое число абонентских пунктов.
Абонентские пункты представляют собой устройства ввода-вывода, оснащенные дополнительной аппаратурой для подключения к каналам передачи данных.
Программные средства поддерживают работу технических средств, обеспечивая «интерфейс» (взаимодействие) пользователя с системой телеобработки.
К наиболее существенным результатам в разработке систем телеобработки следует отнести формирование новой тенденции в развитии вычислительной техники, которая характеризуется переходом к так называемым «открытым вычислительным системам».
Открытая вычислительная система - это такая система, которая при соблюдении определенных требований (правил открытости) может быть без каких-то дополнений и изменений подключена к другой открытой системе.
Локальные вычислительные сети (ЛВС) характеризуются тем, что объединяют между собой несколько компьютеров, которые расположены на небольшой территории. Как правило, такой формат соединения используется в рамках одного предприятия, учебного заведения или государственной структуры.
Основная задача ЛВС – обеспечение быстрого и качественного доступа к информации всем работникам, предоставление возможности пользоваться всеми сервисами для обработки и передачи данных.
Распределение данных. Принцип действия ЛВС построен на раздаче информации на все ПК от главного ПК (сервера), потому накапливать и хранить данные на каждой машине не нужно;
-
Распределение ресурсов технического и информационного характера;
-
Распределение программ. Всем пользователям сети доступны программы, установленные в сети;
-
Обмен электронными сообщениями. Коммуникация между сотрудниками осуществляется посредством электронной почты, которая может передавать не только текстовые сообщения, но и файлы разного формата.
Все ПК в сети объединяются между собой посредством проводного или беспроводного соединения. Доступ через проводные среды обеспечивают витые пары медных проводников или оптические кабели, а беспроводные – через радиоканал, который устанавливается посредством Wi-Fi, GPRS или Bluetooth.
Настройка оперативной и качественной передачи данных между всеми абонентами сети зависит от способов взаимодействия между машинами.
В зависимости от требований и размеров предприятий, на которых устанавливаются локальные вычислительные сети, можно выбрать централизованную архитектуру, в которой связь будет распределяться между машинами в режиме «клиент-сервер», или одногранную, в которой каждый ПК может выступать и в роли сервера и в роли клиента.
Локальные и глобальные вычислительные сети имеют некоторую схожесть, поскольку они созданы специально для объединения группы пользователей в одну сеть с целью поиска, передачи и обработки информации.
Глобальная вычислительная сеть охватывает очень большие территории и объединяет огромное количество компьютеров, также в ее состав могут входить и централизованные или локальные выделенные сети.
Чаще всего данные сети используются для связи выход в Интернет, где неограниченное количество абонентов может одновременно выполнять различные операции.
Работают такие соединения в основном на выделенных линиях, в них со стороны ЛВС располагается маршрутизатор, а с другой стороны – коммутатор, который обеспечивает подключение к другим частям глобальным вычислительным сетям.
- TCP/IP;
- SONET/SDH;
- MPLS;
- ATM;
- Frame relay.
Наибольшим различием между сетями является то, что ЛВС рассчитана на определенное количество абонентов и охватывает сравнительно небольшие территории, а ГВС дает доступ к информации неограниченному числу потребителей в любых уголках планеты.
Принцип организации передачи данных и доступа к сетями значительно отличается, потому между этими сетями проводится четкая грань.
Стоит отметить, что все ЛВС включены в глобальную сеть, что в некоторой степени делает их схожими, но все же не объединяет в одну категорию.
Вопрос №2: "Применение методов оценки сложности разработки программных средств в веб-программировании"
Для оценки сложности разработки программных средств выступают алгоритмические методы. Одним из наиболее эффективных и наиболее распространенных алгоритмических методов оценки затрат на разработку программного обеспечения (ПО) является модель COCOMO (COnstructive COst MOdel — модель издержек разработки).
COCOMO — алгоритмическая модель определения стоимости разработки программного обеспечения.
Необходимые характеристики продукта, проекта, персонала и аппаратного обеспечения для оценки сложности разработки программных средств в веб-программировании.
Характеристики продукта:
-
Требуемая надежность ПО.
-
Размер БД приложения.
-
Сложность продукта.
Характеристики аппаратного обеспечения:
-
Ограничения быстродействия при выполнении программы.
-
Ограничения памяти.
-
Неустойчивость окружения виртуальной машины.
-
Требуемое время восстановления.
Характеристики персонала:
-
Аналитические способности.
-
Способности к разработке ПО.
-
Опыт разработки.
-
Опыт использования виртуальных машин.
-
Опыт разработки на языках программирования.
Характеристики проекта:
-
Использование инструментария разработки ПО.
-
Применение методов разработки ПО.
-
Требования соблюдения графика разработки.
Также необходимо определить тип проекта для определения коэффициентов:
Тип проекта | a | е |
---|---|---|
Органический | 3.2 | 1.05 |
Полуразделенный | 3.0 | 1.12 |
Встроенный | 2.8 | 1.20 |
Чтобы рассчитать фактор корректировки затрат (EAF) нужно перемножить значения всех характеристик.
При помощи фактора корректировки затрат EAF мы можем рассчитать трудозатраты на разработку программных средств в веб-программировании в соответствии с формулой оценки трудозатрат в модели COCOMO.
PM=a*(KLoC)^(e)*EAF
KLoC - количество тысяч строк кода при разработке веб-сервиса.
Язык программирования | KLOC |
---|---|
Java | 21 |
Python | 15 |
Ruby | 17 |
С целью проведения более точного расчета трудозатрат в модель COCOMO следует ввести новый коэффициент – сложность разработки (SPED). Для этого рассмотрим относительные коэффициенты.
Язык | относительный коэффициент |
---|---|
Php | 1 |
Java | 1,4 |
Python | 1,2 |
Ruby | 1 |
За единицу сложности программирования примем язык PHP. Отметим, что при увеличении коэффициента сложности программирования увеличивается необходимое время на программирование одной тысячи строк кода.
В этом случае формула расчета трудозатрат будет выглядеть следующим образом:
PM=a*(KLoC)^(e)EAFSPED
Предложенная модификация модели помимо всего прочего позволяет на этапе планирования проекта обосновать выбранный язык программирования. Таким образом, наряду с очевидными преимуществами и недостатками языков программирования есть возможность более точно сравнить затраты
Детальная оценка – это трудозатратный процесс, в котором участвуют эксперты из разных направлений. Например, это может быть группа из 5 специалистов – разработчиков, аналитика, дизайнера. Возглавляет группу модератор, который следит за тем, чтобы оценка была корректной и соответствовала потребностям заказчика. Задачи модератора:
-
созваниваться с клиентом для уточнения требований, согласования вариантов решения и стека технологий;
-
курировать процесс оценки;
-
предлагать варианты реализации;
-
оценивать и закладывать риски;
-
определять состав команды разработки;
-
составлять предварительный роадмап проекта.
Подробная оценка занимает в среднем 3-5 рабочих дней. За это время определяются возможные ограничения и риски, стек технологий, состав команды, ориентировочные сроки работы и ее стоимость. После этого переходим к обсуждению оценки с клиентом. На этом этапе могут происходить различные уточнения по следующим причинам:
-
требования клиента изменились, например, он подготовил более детальное ТЗ и макеты;
-
была выявлена необходимость реализовать продукт поэтапно, начиная с MVP, с учетом бюджета или дедлайнов;
-
иногда нужно изменить технологический стек, если клиент сообщает новые бизнес-задачи или особенности инфраструктуры.
При оценке нужно учитывать трудозатраты на управление проектом (Project Management – или PM), в том числе:
-
распределение и контроль выполнения задач
-
проведение митингов;
-
коммуникации с заказчиком продукта и устранение препятствий;
-
ретроспективы с командой;
-
демо с заказчиком;
-
работа с метриками и оценка рисков.
Проектный менеджер при реализации проекта отслеживает любые риски, которые могут повлиять на сроки и стоимость выполнения работ. При этом некоторые риски можно выявить уже на ранних этапах, например:
-
команда часто перерабатывает, причем больше, чем на 10-15%;
-
ТЗ постоянно меняется, а тестовая документация при этом не обновляется;
-
фактическое время выполнения задачи сильно превышает планируемое.
При разработке тех или иных новых модулей команде предстоит выполнить различные виды работ, в зависимости от типа проекта:
-
Приемка приложения
-
Аналитика и дизайн
-
Непосредственная разработка и интеграция с другими IT-системами
-
Тестирование и обеспечение качества (QA)
Ниже представлено, как в среднем распределяются трудозатраты по фазам разработки. Для этого была проанализирована выборка веб MVP-проектов, разработанных в 2020 году. Трудозатраты на их реализацию составили от 2000 до 4500 часов.
Было посчитано, в каком соотношении в этих проектах распределялись трудозатраты по разным видам работ (в процентах):
-
Аналитика – 7%
-
Backend – 30%
-
Frontend – 24,6%
-
Тестирование – 15%
-
Управление – 22%
Как показывает практика, разработка занимает около 50-60% от общих сроков реализации веб-приложения.
Таким образом, можно очень приблизительно посчитать часы непосредственно на разработку и умножить их на 2, чтобы в первом приближении оценить, сколько времени вам понадобится. При этом, конечно, каждый проект желательно оценивать индивидуально, с учетом его технологического стека, уровня сложности и других особенностей.
ИСТОЧНИКИ
- Понятие о системах телеобработки данных
- Локальные и глобальные вычислительные сети
- 📑 Методы оценки размера программного обеспечения при управлении программными проектами
- 📑 Особенности оценки стоимости разработки и формирования цены арендуемых веб-сервисов
- 📃 Оценка трудозатрат в веб- и мобильных проектах / Хабр