
- •Основи програмної інженерії Тема 1. Поняття програмної інженерії. Вступ
- •Процес створення програмного забезпечення
- •Моделі технологічного процесу створення пз
- •Моделі процесу розробки по
- •Характеристики якісного пз
- •Тема 2. Види моделей систем. Поняття і класифікація вимог до програмної системи.
- •Способи запису специфікацій вимог.
- •Види моделей систем.
- •Мова моделювання uml.
- •Об'єктні моделі
- •Інструментальні case-засоби.
- •Тема 3. Поняття архітектурного проектування. Архітектурні моделі.
- •Архітектурний шаблон mvc.
- •Особливості шаблону mvc.
- •Модель проблемної сфери.
- •Тема 4. Важливі функціональні засоби мови c#. Автоматично реалізовані властивості.
- •Ініціалізатори об'єктів та колекцій.
- •Автоматичне виведення типу.
- •Анонімні типи.
- •Використання методів розширення Методи розширення
- •Застосування методів розширення до інтерфейсу
- •Створення фільтруючих методів розширення
- •Тема 5. Лямбда-вирази. Мова linq. Лямбда-вирази.
- •Мова linq.
- •Методи розширення linq.
- •Відкладені запити linq.
- •Тема 6. Створення слабо зв'язаних компонентів. Впровадження залежності.
- •Контейнери впровадження залежності.
- •Бібліотека Ninject.
- •Порядок роботи з Ninject.
- •Тема 7. Засоби доступу до даних. Технологія ado.Net.
- •Реалізація доступу до даних.
- •Робота з даними.
- •Тема 8. Тестування пз. Розробка через тестування. Автоматизоване тестування пз та його види.
- •Розробка через тестування. Робочий потік "червоний-зелений-рефакторинг".
- •Модель "організація.Дія.Твердження".
- •Використання бібліотеки Moq
- •Тема 9. Проектування інтерфейсу користувача. Інтерфейс користувача.
- •Переваги графічного інтерфейсу.
- •Процес проектування графічного інтерфейсу.
- •Принципи проектування інтерфейсів користувача.
- •Шаблони.
- •Тема 10. Основи інженерії вимог. Розробка вимог.
- •Формування і аналіз вимог.
- •Опорні точки зору.
- •Сценарії.
- •Атестація вимог.
- •Тема 11. Прототипування програмних систем. Поняття прототипування.
- •Переваги прототипування.
- •Види прототипування.
- •Технології швидкого прототипування.
- •Тема 12. Покомпонентна розробка. Компоненти і класи об'єктів.
- •Компоненти як постачальники послуг.
- •Рівні абстракції компонентів.
- •Вимоги до компонентів.
- •Тема 13. Шаблони проектування. Структурні шаблони.
- •Поняття шаблону проектування.
- •Основні елементи шаблону.
- •Механізми повторного використання.
- •Структурні шаблони проектування.
Тема 3. Поняття архітектурного проектування. Архітектурні моделі.
Великі системи завжди можна розбити на підсистеми, що мають пов'язані набори сервісів. Архітектурним проектуванням називають перший етап процесу проектування, на якому визначаються підсистеми, а також структура управління і взаємодії підсистем.
Метою архітектурного проектування є опис архітектури програмного забезпечення.
Підсистема – це система, операції (методи ) якої не залежать від сервісів, що надаються іншими підсистемами. Підсистеми складаються з модулів і мають певні інтерфейси, за допомогою яких вони взаємодіють з іншими підсистемами.
Модуль – це зазвичай компонент системи, який надає один або кілька сервісів для інших модулів. Модуль може використовувати сервіси, що підтримуються іншими модулями.
Як правило, модуль ніколи не розглядається як незалежна система. Модулі зазвичай складаються з низки інших, більш простих компонентів.
Результатом процесу архітектурного проектування є документ , що відображає архітектуру системи. Ом складається з набору графічних схем представлень моделей системи з відповідним описом. В описі повинно бути зазначено, з яких підсистем складається система і з яких модулів складається кожна підсистема.
Графічні схеми моделей системи дозволяють поглянути на архітектуру з різних сторін.
Зазвичай, розробляється чотири архітектурні моделі:
статична структурна модель, в якій представлені підсистеми або компоненти, що розробляються в подальшому незалежно;
динамічна модель процесів, в якій представлена організація процесів під час роботи системи;
інтерфейсна модель, яка визначає сервіси, що надаються кожній підсистемою через загальний інтерфейс;
моделі відношень, в яких показані взаємовідношення між частинами системи, наприклад потік даних між підсистемами .
Архітектурний шаблон mvc.
Архітектурний шаблон Модель-Вид-Контролер (або Модель-вигляд-контролер, англ. Model-view-controller, MVC) поділяє програму на три частини: модель даних, вигляд даних та керування. Застосовується для відокремлення даних (модель) від інтерфейсу користувача (вигляду) так, щоб зміни інтерфейсу користувача мінімально впливали на роботу з даними, а зміни в моделі даних могли здійснюватися без змін інтерфейсу користувача.
До обов'язків компонента Модель (Model) входить зберігання даних і забезпечення інтерфейсу до них. Вигляд (View) відповідає за представлення цих даних користувачеві. Контролер (Controller) керує компонентами, отримує сигнали у вигляді реакції на дії користувача, і повідомляє про зміни компонент Модель..
Мета шаблону — гнучкий дизайн програмного забезпечення, який повинен полегшувати подальші зміни чи розширення програм, а також надавати можливість повторного використання окремих компонент програми.
Крім того використання цього шаблону у великих системах призводить до певної впорядкованості їх структури і робить їх зрозумілішими завдяки зменшенню складності.
Концепція MVC вперше застосувалася при проектуванні мови програмування Smalltalk в 1978 р. як метод проектування графічних інтерфейсів користувача, який підтримує різні представлення об'єкта і розрізняє взаємодії з кожним з цих представлень
У мові програмування Java концепція MVC підтримується на рівні стандартних класів-бібліотек. В результаті використання парадигми MVC програміст отримує в своє розпорядження потужну структуру об'єктів-компонентів, функції яких чітко розмежовані, що гарантує надійність і розширюваність системи, яка розробляється.
На даний час модель MVC завоювала величезну популярність в якості архітектури для веб- додатків. Це обумовлено наступними причинами.
Взаємодія користувача з додатком MVC здійснюється відповідно з природним циклом: користувач робить дію, у відповідь на яку додаток змінює свою модель даних і доставляє оновлене представлення користувачеві. Потім цикл повторюється. Це дуже зручно вкладається в схему веб-додатків, що надаються у вигляді послідовностей запитів і відповідей HTTP .
Веб-додатки, які потребують об'єднання декількох технологій (наприклад, баз даних, HTML і виконуваного коду), зазвичай розділяються на ряд шарів або рівнів, і отриманий в результаті шаблон природним чином вписується в концепції MVC .
Платформа ASP.NET MVC, яка розроблена фірмою Microsoft, являє собою платформу для створення веб-додатків, що реалізує модель MVC і при цьому забезпечує значно поліпшений поділ відповідальності.
Робота над новою платформою була розпочата в 2007 році , а в 2009 році з'явилася перша версія . У підсумку до поточного моменту (2012 рік ) вже було випущено 4 версії платформи.