Анотация
Дисциплината “Софтуерни технологии” се явява логическо продължение на формираните знания и практически опит за програмиране от първия и втория семестър на обучение, допълнение към дисциплините “Синтез и анализ на алгоритми”,” Обектно ориентирано програмиране”,”Програмни езици”, WEB дизайн” и др. Основната цел на дисциплината е обединяване на получените знания в единна система за проучване, разработка и внедряване на програмно осигуряване, посредством използване на съвременни интегрирани среди за проектиране, технологичен подход на програмиране и работа в екип.
В дисциплината се поставят основи за придобиване на знания и практически умения при разработката на програмни проекти посредством обектно ориентирано програмиране, тестване, внедряване и съпровождане на програмни системи. В качеството на среда за развитие и инструментално средство се използват предоставените възможности и услуги на Visual Basic.Net. Дисциплината е свързана с “Диалогови системи”, “Програмни технологии в интернет”, курсовото и дипломно проектиране”.
Съдържание
Тема 1. Въведение. Необходимост от производствени методи. Класификация на софтуерните технологии: модулно, структурно програмиране, “отгоре-надолу”, програмиране от данни, документални технологии, бригадна организация.
Тема 2. Мениджмънт на технологичния проект. Обекти на управление и етапи. Осигуряване на производствения процес. Оценка на програмната система.
Тема 3. Средства за описание. Спецификации, видове: таблици, графи и мрежи, равенства и системи за заместване, логически средства, Приложение на спецификациите при разработка на софтуерни проекти.
Тема 4. Функционални спецификации. Разработка на техническо задание. Класификация. Анализ и синтез на функционални структури. Функционални възможности на съвременните среди за развитие. Инструментални средства и услуги.
Тема 5. Информационни спецификации. Класификация. Методика на информационното специфициране. Анализ и синтез на информационни структури.Съвременни инструментални средства за разработка и проектиране на информационни структури: данни, файлове, бази, потоци, интерфейси.
Тема 6. Програмни спецификации, видове, класификация. Концептуално проектиране. Архитектура, структура, интерфейси. Анализ и синтез на програмни структури.
Тема 7. Проектиране на потребителски интерфейс. Инструментални средства за комуникация. Форми и меню-техника за управление и настройка на програмата.
Тема 8. Програмни архитектури. Системен анализ. Оценка на програмната среда. Структура и управление на програмни системи.Програмни модули, видове, класификация. Структура на програмния модул, унификация и стандартизация. Библиотеки.
Тема 9. Тестване на програмни системи и модули. Видове грешки. Класификация на тестовете. Технология на тестване. Анализ на резултатите. Инструментални средства за трасиране и тестване. Тестване на програмни системи.. Цели. Стратегия на тестване. Планиране и организация, методика и инструментални средства
Тема 10. Външно тестване на програмни модули. Видове: еквивалентно разбиване, гранични стойности, функционални диаграми, метод Монте –Карло.Структурно тестване на програмни модули. Видове: локален, минимално покритие, пълен структурен тест. Методика на структурното тестване.
Тема 11. Проектиране на контекстно – зависима информация, програми за инсталация. Документация на програмен проект.
Тема 12. Внедряване на програмно осигуряване. Организационни, технически и програмни предпоставки. Инсталиране и обучение. Документация.
Тема 13. Съпровождане на програмно осигуряване. Регистрация и обработка на грешките. Развитие, модификации и версии.
Тема 14. Интернет технологии за разработка и проектиране на програмни системи. Структура. Анализ и разпределение на функциите клиент – сървър.Проектиране на клиентски програми. Етапи, структура, функции. Инструментални средства за програмиране. Интерфейси и защита.
Тема 15. Проектиране на сървърни програми. Система на обслужване, интерфейси и защита. Етапи и инструментални средства.