Напрям підготовки 6.050103 «Програмна інженерія»
Студенти отримують необхідні знання для здійснення інженерної діяльності, пов’язаної зі всіма аспектами виробництва програмного продукту від початкових стадій створення специфікації до супроводу системи після здачі в експлуатацію. Відповідність кваліфікації фахівців з програмної інженерії визначається переліком знань та умінь вирішувати задачі діяльності у межах таких виробничих функцій: проектувальна, організаційна, управлінська, технологічна. Вони володіють необхідними знаннями в області консультування з питань інформатизації, розроблення стандартного програмного забезпечення та інших видів діяльності у сфері розроблення програмного забезпечення. Узагальненим об’єктом діяльності фахівців з програмної інженерії є програмне забезпечення систем. В процесі навчання студенти освоюють сучасні технології та програмні засоби для їх застосування у всіх етапах життєвого циклу програмних систем.
Загальний обсяг навчальної програми — 240 кредитів ЄКТС, в т.ч.: модулі соціально-гуманітарного блоку — 24 кр., модулі фундаментальної, природничо-наукової та загальноекономічної підготовки — 23 кр., модулі професійної та практичної підготовки — 193 кр.
- Загальнонаукові знання, вміння та навички:
- базові уявлення про основи філософії, психології, педагогіки, що сприяють розвитку загальної культури й соціалізації особистості, схильності до естетичних цінностей,
- знання вітчизняної історії, економіки й права, розуміння причинно — наслідкових зв’язків розвитку суспільства й уміння їх використовувати в професійній і соціальній діяльності;
- базові знання фундаментальних розділів математики, в обсязі, необхідному для володіння математичним апаратом відповідної галузі знань, здатність використовувати математичні методи в обраній професії;
- базові знання в галузі інформатики й сучасних інформаційних технологій;
- володіння основами методів та технологій системного аналізу;
- здатність розв’язувати математичні, фізичні та економічні задачі шляхом створення відповідних застосувань;
- здатність застосовувати знання в галузі математичної статистики;
- здатність використовувати можливості апаратного та програмного забезпечень для вирішення науково-технічних та практичних задач.
- Знання з предметної області:
- сучасні уявлення про основи інженерії вимог до програмного забезпечення;
- базові уявлення про основи моделювання програмного забезпечення, типи моделей , основні концепції уніфікованої мови моделювання UML;
- сучасні уявлення про структуру та архітектуру програмного забезпечення, методи проектування програмного забезпечення;
- базові уявлення про сучасні психологічні принципи людино-машинної взаємодій, засоби розробки людино-машинного інтерфейсу;
- сучасні уявлення про інформаційні моделі та системи , реляційні та розподілені бази даних , мови запитів до баз даних;
- типові процеси програмної інженерії, здатність їх впровадження і управління ними;
- базові уявлення про сучасні стандарти та процеси управління якістю програмного забезпечення.
- Когнітивні уміння та навички з предметної області:
- здатність здійснювати аналіз вимог, розробляти специфікацію програмних вимог, виконувати їхню верифікацію та атестацію;
- здатність моделювати різні аспекти системи, для якої створюється програмне забезпечення;
- здатність розробляти алгоритми та структури даних для програмних продуктів;
- здатність проектувати компоненти архітектури програмного продукту;
- здатність аналізувати, проектувати та прототипувати людино-машинний інтерфейс;
- володіння основами конструювання програмного забезпечення;
- володіння основами методів та технологій об’єктно-орієнтованого програмування;
- здатність приймати участь у проектуванні та реалізації баз даних;
- здатність застосовувати та створювати компоненти багаторазового використання;
- здатність забезпечувати захищеність програм і даних від несанкціонованих дій;
- здатність застосовувати професійно профільовані знання в галузі загальноосвітніх дисциплін у процесі розв’язання професійних задач, побудови математичних моделей;
- здатність проведення ділових перемов з бізнес-партнерами;
- використовувати інтернет — ресурси для рішення експериментальних і практичних завдань у галузі професійної діяльності;
- здатність аргументовано переконувати колег у правильності пропонованого рішення, вміти донести до інших свою позицію;
- дотримання професійної етики програмної інженерії.
Типовими задачами діяльності фахівця програмної інженерії є
- Виявлення потреб користувачів і визначення бажаних параметрів системи
- Витяг і формулювання вимог, їх переклад у функціональні специфікації
- Аналіз і проектування
- Здійснення реалізації програмного рішення
- Розробка документації
- Ефективна експлуатація наявного програмного та апаратного забезпечення
- Регулювання взаємовідносин з членами проектної команди, ефективна комунікація
- Управління проектом
Професійний профіль — менеджер проекту зі створення програмного забезпечення
Відповідальний за розроблення проекту на основі вимог, проектних рішень і планів робіт та їх реалізацію. Керує виконанням проектних угод і стежить за фінансовими і технічними ресурсами проекту.
Професійний профіль — аналітик
Будує концептуальну модель предметної області та визначає на основі цього специфікацію системи на верхньому рівні. Проводить узгодження вимог і визначення області дії проекту на спільних переговорах із замовником.
Професійний профіль — архітектор програмної системи
Визначає архітектуру, набір компонентів, їхніх інтерфейсів, інших характеристик системи і кінцевого складу програмного продукту. Представляє проектні рішення у структурних та поведінкових нотаціях. Визначає технології, методи та засоби, які необхідні для реалізації проектних рішень.
Професійний профіль — програміст
Реалізує проектні рішення стосовно системи у вигляді програм, документів і інших вихідних результатів тощо. Створює чітку, стислу та точну технічну документацію у відповідності до діючих стандартів.
Професійний профіль — фахівець з тестування програмного забезпечення
Здійснює процес перевірки готової програми в статиці (перегляди, інспекції, налагодження вихідного коду) і в динаміці шляхом прогону кінцевого набору тестових даних, що перевіряють різні шляхи виконання програми і порівняння отриманих результатів із заздалегідь заданими.