Programming

Разработка программного обеспечения

Этапы:

  • Описание потребностей и их анализ
  • Дизайн программного продукта
  • Разработка
  • Проверка
  • Выпуск и внедрение продукта
  • Обслуживание продукта

Модели жизненного цикла ПО:

  • Waterfall (каскадная модель)
  • Интерационная, спиральная и инкрементная модели
  • Agile

Проверка/тестирование

  • Белый ящик- люди получают готовый продукт/ модули, и люди тестируют
  • Черный ящик – Тоже самое, что и бета тест готового продукта
  • Серый ящик – это метод тестирования программного продукта или приложения с частичным знанием его внутреннего устройства.

Типы ошибок при тестировании:

  • Логические
  • Синтаксические
  • Семантические

Основные модели программирования

  • Императивное программирование – разработчик указывает конкретные шаги, которые должен выполнить компьютер для достижения результата.
  • Декларативное программирование – это парадигма программирования, в которой задаётся ожидаемый результат, а не способ его получения.
  • Структурное программирование – это методологический подход к написанию программного кода, который представляет программу в виде структуры из набора блоков, расположенных в иерархической последовательности. (Pascal)
  • Функциональное программирование – команды можно собирать в подпрограммы, но их последовательность не имеет значения.
  • Логическое программирование – парадигма программирования, основанная на математической логике — программы в ней задаются в форме логических утверждений и правил вывода.
  • Объектно-ориентрированное программирование – это парадигма программирования, набор правил и критериев, по которым пишут код. (C++)
  • Компонентно-ориентированное программирование – соединение составляющих в единое целое, для того, чтобы это была рабочая программа. (C#)
  • Прототипно-ориентированное программирование – объектно-ориентированного программирования, в отличии от объектно-ориентированного тут классы не наследуются, копируются.

Самые популярные языки:

  • JavaScript
  • Java
  • Python
  • PHP
  • C#
  • Swift
  • Obective-C

Алгоритм– это точное и понятное предписание (указание) исполнителю совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной задачи.

Свойства алгоритмов:

  1. Дискретность – возможность разбиения алгоритма
  2. Понятность (определенность) – за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие
  3. Массовость – возможность получения результата при различных исходных данных для некоторого класса сходных задач
  4. Однозначность (детерминированность) – строгое выполнение некоторого правила, инструкции
  5. Результативность (конечность) – обязательным получением некоторого результата (числа, таблицы, текста, звука, изображения и т.д.) или сигнала о том, что данный алгоритм неприменим для решения поставленной задач.

Виды алгоритмов:

  1. Линейный – все действия выполняются в строгой последовательности (приготовление пирога)
  2. Разветвляющийся – действия выполняются в зависимости от выполнения или не выполнения условия (переход улицы по светофору).
  3. Циклический – содержит повторяющиеся действия (колоть дрова).

Условия графические обозначения символов

Название блокаОбозначениеНазначение блока
ТерминаторДействиеНачало, завершение программы или подпрограммы
ПроцессДействиеОбработка данных (вычисления пересылки и т.д.)
ДанныеДанныеОперации ввода-вывода
РешениеУсловиеВетвления, выбор, интерационные и поисковые циклы

Vnreal Script