- Introduction to the multilevel architecture of software systems
- Introduction to ASP .NET MVC technology (Which is made on the branch "MVC")
- Introduction to ASP .NET Web API technology (Which is made on the main branch)
Dishes consist of ingredients. Dishes make a price list, which indicates the price for different portions of the dish. The order may include a set of several portions of different dishes. Functional requirements: compiling dishes and menus, forming orders.
-
Спроектувати та розробити програмну систему, що складається з трьох компонентів-рівнів багаторівневої архітектури. Розробити додатково модульні тести для тестування функціоналу системи.
-
Перший компонент є рівнем доступу до даних (DAL). Джерелом даних обрати реляційну БД. Доступ до даних організувати, використовуючи Entity Framework code first. DAL організувати з викорістанням шаблону «Одиниця роботи», що поєднує декілька репозиторіїв відповідно до предметної області. Запис та читання даних виконується методами репозиторіів. Мова SQL у програмуванні DAL не використовується. Тип проекту – динамічна бібліотека.
-
Другий компонент є рівнем біднес-логіки (BLL), в якій реалізовано функціонал (бізнес-логіку) програмної системи для предметної галузі згідно з варіантом. BLL посилається на DAL, щоб отримати доступ до репозиторіїв для запису та читання даних в БД. Тип проекту – динамічна бібліотека. Для забезпечення слабкої звязанності між рівнями використовуються IoC-контейнери.
-
Третій компонент є рівнем представлення (PL) і включає інтерфейс програмної системи. В якості даного компоненту в поточній лабораторній роботі пропонується використати консольне чи графічне застосування. PL посилається на BLL, щоб отримати доступ до операцій бізнес-логіки при виконанні запита користувача: тобто методи рівня представлення, виконуючи запит, викликають певні методи сервісів рівня бізнес-логіки.
У трирівневій програмній системі, архітектуру якої було розроблено за вказівками завдання 1, реалізувати презентаційний рівень (PL) з використанням Web-застосування ASP .Net MVC:
- створити контролери для звертання до функціоналу бізнес-логіки, щоб виконати запити користувача (наприклад, додати замовлення, створити рахунок до сплати, знайти книгу за певною назвою чи автором тощо);
- створити моделі для передачі за їх допомогою даних для відображення представленню чи отримання даних з форми у представленні для передачі їх певному методові дії контролера (замовлення, рахунок, книга, тощо);
- створити представлення, що відображують зміст Web-сторінок застосування (список замовлень, вміст замовлення, вміст рахунку, список книг, дані про книгу, тощо).
У трирівневій програмній системі, архітектуру якої було розроблено за вказівками завдання 1, реалізувати презентаційний рівень (PL) з використанням Web-застосування ASP .Net Web API:
- Cтворити контролери для звертання до функціоналу бізнес-логіки, щоб виконати запити користувача (додати замовлення, створити рахунок до сплати, знайти книгу за певною назвою чи автором тощо);
- Cтворити моделі для передачі за їх допомогою даних для відображення представленню чи отримання даних з форми у представленні для передачі їх певному методові дії контролера (замовлення, рахунок, книга, тощо); дані для представлення, що повертають методи Web API, мають бути .Net-типів, сумісних з форматом JSON.
- Додати та продемонструвати вбудований засіб документації help page чи swagger для створеного WEB-застосування.