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 – Направление последовательности действий
Пример


