Файл: Основы алгоритмизации и программирования (Особенности описания операторов управления в различных языках программирования:достоинства и недостатки).pdf
Добавлен: 24.04.2023
Просмотров: 1958
Скачиваний: 30
СОДЕРЖАНИЕ
Тема 1. Основные структуры алгоритмов: сравнительный анализ и примеры их использования.
1.2. Цели и задачи теории алгоритмов
1.3. Различные подходы к понятию "Алгоритм"
2.2. Язык программирования QBASIC
3.1. Структура программы на языке С++
3.3. Правила работы с функциями
Тема 4. Особенности и примеры использования массивов при разработке программ.
4.2. Описание массива в Паскале
Тема 5. Классификация языков программирования. Критерии выбора среды и языка разработки программ.
5.1. Классификация языков программирования
5.3. Интерпретация и компиляция.
Тема 6. История и развитие методологии объектно-ориентированного программирования. Сферы применения.
6.1. Объектно-ориентированный язык
6.4. Методологии программирования
Тема 7. Отладка и тестирование программ: основные подходы и ограничения.
Тема 8. Методы сортировки данных: эволюция и сравнительный анализ. Примеры использования.
8.2. сортировки данных в массивах
Тема 9. Методы поиска данных: эволюция и сравнительный анализ. Примеры использования.
Тема 10. Функциональное тестирование программного обеспечения на примере мобильных приложений.
10.1. Функциональное тестирование
10.2. Тестирование производительности;
10.3. Тестирование безопасности;
10.4. Тестирование удобства пользования (юзабилити-тестирование);
10.5. Тестирование совместимости;
10.6. Тестирование на восстановление.
Тема 11. Особенности алгоритмизации при разработке WEB-приложений.
Тема 12. Критерии выбора средств разработки WEB-приложений.
Тема 13. Критерии выбора средств разработки мобильных приложений.
Тема 14. Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений
14.2. Тестирование внешних сервисов
Тема 15. Тестирование производительности программ: подходы в зависимости от категорий приложений.
15.1. Тестирование производительности в инженерии программного обеспечения
15.2. Требования к производительности
Тема 16. Варианты построения интерфейса программ: особенности и эволюция.
16.1. Эволюция дизайна интерфейсов операционных систем Windows
Тема 17. Способы организации данных: пользовательский тип данных – структура.
Тема 18. Рекурсивные и итерационные алгоритмы: особенности и примеры использования
Тема 19. Классификация языков программирования высокого уровня.
19.1. Примеры языков высокого уровня
Тема 20. Сравнительный анализ операторов для различных языков программирования.
20.1. Сравнение языков программирования
Тема 21. Сравнительный анализ процедур для различных языков программирования.
Тема 22. Сравнительный анализ описания данных для различных языков программирования.
Список литературы для написания курсовой работы по дисциплине
Полное тестирование проводится перед релизом. Включает себя в себя быстрое тестирование, регресионное тестирование, monkey-тестирование на 100 устройствах и тестирование обновлений.
Регрессионное тестирование подразумевает прогон ВСЕХ тест-кейсов по проекту. Тест-кейсов не только за последнюю итерацию, но и за все предыдущие и общие тест кейсы по требованиям. Это занимает день-три на одно устройство в зависимости от проекта.
Очень важный шаг — тестирование обновлений. Почти все приложения хранят данные локально (даже если это кука логина) и важно удостовериться, что после обновления приложения все данные пользователя сохранятся. Тестировщик скачивает билд из маркета, создает сохраняемые данные (логин, плейлисты, транзации учета финансов), обновляет приложение на тестовую сборку и проверяет, что все на месте. Затем прогоняет smoke-тест. Процесс повторяется на 2-3 устройствах.
Разработчики часто забывают о миграции данных со старых версий и тестирование обновлений позволило нам выявить множество критических ошибок с падениями, удалением пользовательских данных о покупках. Это спасло не одно приложение от гневных отзывов и потери аудитории.
14.2. Тестирование внешних сервисов
Тестировать интеграцию с Google Analytics, Flurry или системой статистики заказчика непросто. Бывало, что в релиз уходили сборки с нерабочим Google Analytics и никто не обращал на это внимания.
Поэтому в обязательно порядке для внешних сервисов создается тестовый аккаунт и он проверяется при полном тестировании. Кроме того отправка статистики фиксируется в логах, которые проверяются тестировщиками. При релизе тестовый аккаунт подменяется боевым.
Тема 15. Тестирование производительности программ: подходы в зависимости от категорий приложений.
15.1. Тестирование производительности в инженерии программного обеспечения
Тестирование производительности в инженерии программного обеспечения — тестирование, которое проводится с целью определения, как быстро работает вычислительная система или её часть под определённой нагрузкой. Также может служить для проверки и подтверждения других атрибутов качества системы, таких как масштабируемость, надёжность и потребление ресурсов.
Тестирование производительности — это одна из сфер деятельности развивающейся в области информатики инженерии производительности, которая стремится учитывать производительность на стадии моделирования и проектирования системы, перед началом основной стадии кодирования.
В тестировании производительности различают следующие направления:
- нагрузочное (load)
- стресс (stress)
- тестирование стабильности (endurance or soak or stability)
- конфигурационное (configuration)
Возможны два подхода к тестированию производительности программного обеспечения[1]:
- в терминах рабочей нагрузки: программное обеспечение подвергается тестированию в ситуациях, соответствующих различным сценариям использования;
- в рамках бета-тестирования, когда система испытывается реальными конечными пользователями.
15.2. Требования к производительности
Очень важно детализировать требования к производительности и документировать их в каком-либо плане тестирования производительности. В идеальном случае это делается на стадии разработки требований при разработке системы, до проработки деталей её дизайна. См. Инженерия производительности.
Однако тестирование производительности часто не проводится согласно спецификации, так как нет зафиксированного понимания о максимальном времени ответа для заданного числа пользователей. Тестирование производительности часто используется как часть процесса профайлинга производительности. Его идея заключается в том, чтобы найти «слабое звено» — такую часть системы, соптимизировав время реакции которой, можно улучшить общую производительность системы. Определение конкретной части системы, стоящей на этом критическом пути, иногда очень непростая задача, поэтому некоторые приложения для тестирования включают в себя (или могут быть добавлены с помощью add-on’ов) инструменты, запущенные на сервере (агенты) и наблюдающие за временем выполнения транзакций, временем доступа к базе данных, оверхедами сети и другими показателями серверной части системы, которые могут быть проанализированы вместе с остальной статистикой по производительности.
Тестирование производительности может проводиться с использованием глобальной сети и даже в географически удаленных местах, если учитывать тот факт, что скорость работы сети Интернет зависит от местоположения. Оно также может проводиться и локально, но в этом случае необходимо настроить сетевые маршрутизаторы таким образом, чтобы появилась задержка, присутствующая во всех публичных сетях. Нагрузка, прилагаемая к системе, должна совпадать с реальным положением дел. Так например, если 50 % пользователей системы для доступа к системе используют сетевой канал шириной 56К, а другая половина использует оптический канал, то компьютеры, создающие тестовую нагрузку на систему должны использовать те же соединения (идеальный вариант) или эмулировать задержки вышеуказанных сетевых соединений, следуя заданным профайлам пользователей.
Тема 16. Варианты построения интерфейса программ: особенности и эволюция.
16.1. Эволюция дизайна интерфейсов операционных систем Windows
Windows 1.0x (1985)
В этом году Microsoft наконец-то подхватила всеобщую интерфейсоманию и выпустила Windows 1.0 — свою первую операционную систему основанную на GUI. Система имела 32x32 пиксельные иконки цветную графику. Однако самое интересное нововведение (правда позже исчезнувшее) была иконкаанимированных аналоговых часов (со стрелками :)).
Windows 2.0x (1987)
В этой версии было значительно улучшено управление окнами. Теперь стало возможным перекрывать, изменять размеры, разворачивать, увеличивать и уменьшать окна. 
Windows 3.0 (1990)
К этой версии разработчики из Microsoft поняли все реальные преимущества GUI и стали значительно его улучшать.
Сама операционная система стала поддерживать стандарты, и расширенный режим для 386 архитектуры, который стал требовать памяти больше чем, 640 килобайт, и больше пространства жесткого диска, в результате стали возможными разрешения, такие как Super VGA 800×600 и XGA 1024×768.
В тоже время, Microsoft пригласили художника и графического дизайнера Сьюзан Каре для разработки дизайна иконок Windows 3.0 и создания уникального образа своего GUI.
Windows 3.1 (1992)
Эта версия Windows включала в себя предустановленные TrueType шрифты. На тот момент это фактически определило использование Windows в качестве издательской платформы.
Такая функциональность была доступна ранее только в Windows 3.0 с использованием Adobe Type Manager (ATM) — системы работы со шрифтами от компании Adobe. Так же эта версия содержала цветовую схему под названием «Hotdog Stand», содержащую яркие оттенки красного, желтого и черного цветов.
Эта схема была создана для облегчения восприятия текстовой и графической информации людьми с нарушениями цветового зрения.
Windows 95 (1995)
В Windows 95 был полностью переработан пользовательский интерфейс. Это была первая версия Windows в которой в углу каждого окошка появилась кнопка с крестиком закрывающая его.
Были добавлены различные состояния иконок и элементов управления (такие как: доступно, недоступно, выбрано, отмечено и т. д.). Так же впервые появилась знаменитая кнопка «Пуск».
Для Microsoft это был огромный шаг вперед и для операционной системы, и для унификации GUI.
Windows 98 (1998)
Стиль иконок напоминал Windows 95, но система использовала уже больше 256 цветов для отображения графического интерфейса. Почти полностью изменился Windows Explorer и впервые появился «Active Desktop» 
Windows XP (2001)
Microsoft старалась полностью изменять пользовательский интерфейс с каждой новой платформой, Windows XP не стал исключением. Стало возможным менять стили для GUI, пользователи могли полностью изменить внешний вид и поведение интерфейса. По умолчанию иконки были размером 48x48 пикселей, и использовали миллионы цветовых оттенков.
Windows Vista (2007)
Это стало ответом Microsoft своим конкурентам. Также было добавлено много 3D и анимации. Начиная с Windows 98, Microsoft всегда пыталась улучшить рабочий стол. В Windows Vista появились виджеты и несколько улучшений вместе с отказом от «Active Desktop».
Windows 7
Операционная система семейства Windows, сейчас в стадии бета-тестирования. Из появившихся изменений стоит отметить поддержку мультитач дисплеев и появления нового таскбара. Подробнее например у турбомилк.
Windows 8
Операционная система Windows 8 получила полностью переработанный «плиточный» интерфейс Metro, задачей которого было привести мобильные устройства с сенсорным экраном и компьютеры к схожему пользовательскому опыту. Для удобства работы с ПК без сенсорного экрана в систему был встроен и «классический» рабочий стол. Кнопку «Пуск» убрали, заменив ее «активным углом», нажатие на который открывало стартовый экран с «плитками». Плитки на стартовом экране можно перемещать и группировать, давать группам имена и изменять размер плиток.
Windows 8 — это типичный продукт своего времени. Здесь есть магазин приложений с интерфейсом Metro, поддержка единой учетной записи Microsoft для синхронизации разных устройств между собой, интеграция облачного сервиса OneDrive и социальных сетей Facebook и Twitter.
Сегодня подавляющая часть компьютеров все еще работает под Windows XP и Windows 7, и многие еще не успели (или на захотели в силу своего консерватизма) попробовать на вкус «плиточную» Windows 8, однако уже скоро появится Windows 10.
Windows 10
Компания Microsoft была вынуждена признать, что ее попытки сделать интерфейс Metro основным пришлись не по вкусу консервативным пользователям ПК, и ей не оставалось ничего, кроме как вернуть кнопку «Пуск». Также система получит несколько рабочих столов, возможность запуска Metro-приложений в оконном режиме, а также центр уведомлений.
Тема 17. Способы организации данных: пользовательский тип данных – структура.
17.1. Тип данных
Тип данных определяет множество значений, допустимых для переменной, операции выполняемые на этих значениях, количество выделяемой памяти. То есть переменная может принимать только значения, определяемые ее типом и участвовать только в тех операциях, которые допустимы для этого типа.
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и 40 рассматривается как необходимое свойство современных алгоритмических языков высокого уровня
В языке Паскаль существует пять простых типов данных:
Integer Целочисленные данные, во внутреннем представлении занимают 2 байта
Real Вещественные данные, занимают 6 байтов
Char Символ, занимает 1 байт
String Строка символов, занимает МАХ+1 байт, где МАХ – максимальное число символов в строке
Boolean Логический тип, занимает 1 байт и имеет два значения: false (ложь) и true (истина)