26.11.24
Arenduse etapid
1. Eelanalüüs. Описание потребностей и их анализ
2. Tehniline ja visuaalne disain. Дизайн программного продукта
3. Arendus. Разработка
4. Testmine. Проверка
5. Juurutamine. Выпуск и внедрение продукта
6. Hooldus. Обслуживание продукта
Tarkvara elutsüki mudelid
Waterfall (kaskaad)
Iteratiivsed
Spiraalsed
inkrementaalsed
Agile (agiilne)
Testimine
Valge kast — Белый ящик. Тестировщик знает, как работает программа и какие функции выполняет каждый ее блок.
Must kast — Черный ящик. Проверка, при которой тестировщик не имеет доступа к коду. Он, как реальный клиент или пользователь, оценивает функции и работу программы, ориентируясь исключительно на интерфейс взаимодействия.
Hall kast — Серый ящик. Тестировщик может видеть часть кода или иметь доступ к внутренним настройкам продукта, недоступным обычному пользователю.
Vead ja erandid
Loogikavead — Логические.
Возникают из-за синтаксических погрешностей кода
Süntaksivead — Ситаксические.
Проявляются вследствие логических неточностей в алгоритме
Erindid — Исключения.
Вызваны некорректными действиями пользователя или системы
Vigade liigitamine programmi töötlemise etappide kaupa
Kompileerimisvead (Ошибки компиляции)
Paigutusvead (Ошибки компоновки)
Toimimisvead (Ошибки выполнения)
Põilised programmeerimismudelid
- Императивное программирование
Это способ написания программ, где описываются конкретные шаги, как добиться результата. - Декларативное программирование
В этом подходе указывается, что нужно сделать, а не как это делать - Структурное программирование.
Этот метод организует код в чёткие блоки для упрощения понимания и
исправления ошибок. - Функциональное программирование.
В нём главную роль играют функции, которые могут возвращать другие функции и не изменяют состояние программы. - Логическое программирование.
В этом подходе программы описываются через логические выражения и правила, на основе которых делаются выводы. - Обьективно-ориентированное программирование.
Это способ программирования, где данные и действия с ними объединяются в объекты. - Компонентно-ориентированное программирование.
Программы создаются как набор взаимозаменяемых и независимых компонентов. - Прототипно-ориентированное программирование.
В этом подходе новые объекты создаются через копирование и изменение существующих.
Algoritm
Programmeerimises keskendume kohustavatele eeskirjadele – neile, mis kirjeldavad tegevusi, mida peab tegema.
Tavaliselt on elus mingi ülesande lahendamiseks vaja teha mitu sammu järjest – sel juhul saame rääkida lahenduseeskirjast ehk algoritmist.
Algoritm on mingi hulk kindlas järjekorras kohustavaid eeskirju
Algoritmide põhiomadused
1. diskreetsus — osadeks jagatud;
2. selgus(kindlus) — lõplik sammude kogus;
3. ühesus — ühesuguste lähteandmete korral peab algoritmi täitmine viima ühesugustele lõpptulemustele. Algoritmi täitmise tulemus ei tohi sõltuda täitjast;
4. universaalsus — algoritm peab olema mõeldud kõikide antud;
5. lõplikkus — lõpliku arvu sammude järel peab algoritm viima lõpptulemusele; 6. korrektsus
Tõlgimine
diskreetsus — дискретность: разделённость на части
selgus (kindlus) — ясность (определённость): конечное количество шагов
ühesus — единообразие: при одинаковых исходных данных выполнение алгоритма должно приводить к одинаковым конечным результатам. Результат выполнения алгоритма не должен зависеть от исполнителя
universaalsus — универсальность: алгоритм должен быть предназначен для всех заданных случаев
lõplikkus — конечность: после конечного числа шагов алгоритм должен привести к конечному результату
korrektsus — корректность: (следует продолжить, если имеется дополнительный контекст).
Algoritmide tüübid
Lineaarne algoritm — algoritmi sammude täitmise järjekord ei sõltu vahetulemustest
Hargnev algoritm — sammude täitmise järjekord sõltub mingist tingimusest või vahetulemusest
Tsükliline algoritm — algoritmi mingit osa täidetakse korduvalt
Tõlgimine
Lineaarne algoritm — Линейный алгоритм: порядок выполнения шагов алгоритма не зависит от промежуточных результатов.
Hargnev algoritm — Разветвляющийся алгоритм: порядок выполнения шагов зависит от какого-либо условия или промежуточного результата.
Tsükliline algoritm — Циклический алгоритм: какая-то часть алгоритма выполняется несколько раз.
Plokkskeem
Plokkskeem — algoritmi graafiline kujutamine plokkide ja neid ühendavate noolte abil.

Algus või lõpp — Начало или конец
Protsess, tegevused — Процесс, действия
Sisend või väljund — Ввод или вывод
Otsustus — Решение
Tegevuste järgnevuse suund — Направление последовательности действий
Пример


