You are on page 1of 14

Виконав:студент факультету

інформаційних технологій
4 курсу 6 групи
Гонтарь Микола Сергійович

1. Розробка технічного завдання:

Назва проекту: Додаток для управління ІТ аутсорсингом

Завдання: Розробити веб-додаток для управління проектами ІТ-


аутсорсингу та комунікації між клієнтами та аутсорсинговою компанією.

Функціонал:

Управління користувачами: Додаток повинен надавати функціональність


для управління користувачами (клієнтами, менеджерами та
розробниками), включаючи реєстрацію користувачів, вхід, скидання
паролів та управління профілями.

Управління проектами: Додаток повинен надавати функціональність для


управління проектами ІТ-аутсорсингу, включаючи створення проектів,
розподіл проектів та відстеження прогресу проекту.

Комунікація: Додаток повинен надавати систему чату для полегшення


комунікації між клієнтами та підприємством, що надає послуги ІТ-
аутсорсингу.

Білінг: Додаток повинен надавати функціонал для генерації та


відстеження рахунків за завершені проекти.
1
Звітність: Додаток повинен надавати функціонал для створення звітів про
хід виконання проекту, відгуки клієнтів та інформацію для виставлення
рахунків.

Інтеграція: Додаток повинен бути інтегрований з популярними


інструментами управління проектами та комунікації, такими як Jira, Asana
та Slack.

Технологічний стек:

Фронтенд: ReactJS, Redux, HTML, CSS, Bootstrap

Back-end: NodeJS, ExpressJS, MongoDB

Аутентифікація та авторизація: PassportJS, JWT

Система чату: Socket.io

Платіжний шлюз: Stripe

Інтеграція управління проектами та комунікації: API інтеграція з Jira,


Asana та Slack

Результати:

Дизайн та архітектура: Детальні діаграми дизайну та архітектури додатку.

Вихідний код: Чистий, добре задокументований вихідний код, який легко


підтримувати.
2
Посібник користувача: Вичерпний посібник користувача з інструкціями
про те, як користуватися додатком.

Розгортання: Повністю розгорнутий і функціональний веб-додаток.

Тестування: Комплексний план тестування та звіт про тестування.

Обслуговування та підтримка: План обслуговування та підтримка


протягом 6 місяців після розгортання.

Часові рамки:

Проект триватиме 6 місяців, з наступними етапами:

Збір та аналіз вимог (2 тижні)


Дизайн та архітектура (2 тижні)
Розробка та тестування (16 тижнів)
Розгортання та підтримка (6 тижнів)
Бюджет:

Бюджет проекту складає $150,000, що включає всі витрати на розробку,


тестування, розгортання та підтримку. Будь-які додаткові витрати
потребують схвалення від спонсора проекту.

Це все! Сподіваюся, це технічне завдання допоможе вам у розробці веб-


орієнтованого додатку для вашого підприємства, що займається ІТ-
аутсорсингом.

3
2. Обгрунтування вибору мови, середовища, інструментарію..
Стек інтерфейсних технологій:

ReactJS: ReactJS - це широко використовувана бібліотека JavaScript для


створення користувацьких інтерфейсів. Вона дозволяє розробляти
багаторазові компоненти інтерфейсу і відома своєю високою продуктивністю
та масштабованістю.

Redux: Redux - це бібліотека управління станом для JavaScript-додатків. Вона


дозволяє керувати станом програми у передбачуваний та послідовний спосіб.

HTML, CSS та Bootstrap: HTML та CSS - це стандартні мови, що


використовуються для створення структури та стилю веб-сторінок. Bootstrap
- це широко використовуваний фреймворк CSS, який забезпечує узгоджений
набір стилів і компонентів верстки.

Обґрунтування: Використання ReactJS, Redux, HTML, CSS та Bootstrap


забезпечує міцну основу для створення веб-орієнтованого додатку, який є
масштабованим, підтримуваним та адаптивним.

Стек внутрішніх технологій:

NodeJS: NodeJS - це популярне середовище виконання JavaScript, яке


дозволяє розробляти серверні додатки. Воно відоме своєю масштабованістю,
продуктивністю та гнучкістю.

ExpressJS: ExpressJS - це швидкий і мінімалістичний фреймворк для веб-


додатків для NodeJS. Він дозволяє розробляти масштабовані та модульні веб-
додатки.

4
MongoDB: MongoDB - це широко використовувана база даних NoSQL, яка
забезпечує високу продуктивність, масштабованість та гнучкість. Вона
ідеально підходить для зберігання та швидкого пошуку великих обсягів
даних.

Обґрунтування: Використання NodeJS, ExpressJS та MongoDB забезпечує


надійну та гнучку внутрішню архітектуру, яка дозволяє розробляти
масштабовані та підтримувані веб-орієнтовані додатки.

Аутентифікація та авторизація:

PassportJS: PassportJS - це широко використовуване проміжне програмне


забезпечення для автентифікації для додатків NodeJS. Він надає гнучкий та
модульний спосіб реалізації автентифікації та авторизації.

JWT: JSON Web Tokens (JWT) - широко використовуваний механізм для


безпечної передачі інформації між сторонами у вигляді JSON-об'єктів.

Обґрунтування: Використання PassportJS та JWT забезпечує безпечний та


гнучкий механізм аутентифікації та авторизації для веб-орієнтованого
додатку.

Система чату:

Socket.io: Socket.io - це широко використовувана бібліотека для побудови


двонаправленого та заснованого на подіях зв'язку між клієнтом та сервером в
режимі реального часу.
Обґрунтування: Використання Socket.io забезпечує механізм комунікації в
реальному часі для веб-орієнтованого додатку, що швидко реагує на запити.
5
Платіжний шлюз:

Stripe: Stripe - це широко використовуваний платіжний шлюз, який


забезпечує безпечний і простий у використанні механізм обробки онлайн-
платежів.
Обґрунтування: Використання Stripe забезпечує безпечний та гнучкий
платіжний шлюз для веб-орієнтованого додатку.

Інтеграція:

API інтеграція з Jira, Asana та Slack: Jira, Asana та Slack є широко


використовуваними інструментами для управління проектами та комунікації.
Інтеграція цих інструментів з веб-орієнтованим додатком забезпечує
безперебійний та ефективний робочий процес для управління проектами та
комунікації.
Обґрунтування: Інтеграція Jira, Asana та Slack з веб-орієнтованим додатком
забезпечує безперебійний та ефективний процес управління проектами.

3. Опис предметної області:

Предметною областю для веб-додатку компанії, що займається


корпоративним ІТ-аутсорсингом, є управління проектами та комунікація.
Додаток покликаний допомогти компанії в управлінні проектами ІТ-
аутсорсингу та покращити комунікацію з клієнтами.

ІТ-аутсорсингова компанія надає широкий спектр послуг, включаючи


розробку програмного забезпечення, забезпечення якості та підтримку,
клієнтам з різних галузей. Клієнти компанії часто мають складні та

6
різноманітні ІТ-проекти, які вимагають ефективного управління проектами
та комунікації, щоб виконати їх вчасно та в рамках бюджету.

Веб-орієнтований додаток дозволить ІТ-аутсорсинговій компанії більш


ефективно управляти своїми проектами та ефективніше спілкуватися зі
своїми клієнтами. Додаток дозволить клієнтам створювати та відстежувати
свої проекти, розподіляти завдання між розробниками ІТ-аутсорсингової
компанії та контролювати хід виконання проектів. Менеджери компанії
також зможуть відстежувати хід виконання проектів, спілкуватися з
клієнтами та виставляти рахунки за виконані проекти.

Функціонал веб-орієнтованого додатку включає в себе наступні


можливості:

Управління користувачами: Додаток дозволить керувати


користувачами, включаючи клієнтів, менеджерів та розробників, реєструвати
їх, входити в систему, скидати пароль та керувати їхніми профілями.

Управління проектами: Додаток дозволить створювати та управляти


проектами ІТ-аутсорсингу, включаючи створення проектів, розподіл проектів
та відстеження прогресу проекту.

Спілкування: Додаток забезпечить систему чату для полегшення


комунікації між клієнтами та менеджерами і розробниками ІТ-аутсорсингової
компанії.

Білінг: Додаток надаватиме функціонал для генерації та відстеження


рахунків за завершені проекти.

7
Звітність: Додаток надаватиме функціонал для створення звітів про хід
виконання проекту, відгуки клієнтів та інформацію про виставлені рахунки.

Інтеграція: Додаток буде інтегрований з популярними інструментами


управління проектами та комунікації, такими як Jira, Asana та Slack.

Веб-орієнтований додаток стане цінним інструментом для ІТ-


аутсорсингової компанії, допомагаючи покращити управління проектами,
комунікацію та задоволеність клієнтів. Додаток дозволить компанії
забезпечити більш прозорий та ефективний процес управління проектами для
своїх клієнтів, що сприятиме підвищенню конкурентоспроможності компанії
на ринку ІТ-аутсорсингу.

4. Архітектура ПЗ:
Діаграма варіантів використання:
Діаграма варіантів використання - це візуальне представлення різних
взаємодій, які користувачі можуть мати з системою. Діаграма варіантів
використання для веб-орієнтованого додатку корпоративної ІТ-
аутсорсингової компанії включає наступні варіанти використання:
Вхід
Реєстрація
Керування профілем
Створити проект
Призначити завдання
Відстежуйте прогрес проекту
Спілкування з клієнтами
Генерувати інвойс
Створення звіту
Діаграма класів:

8
Діаграма класів - це візуальне представлення класів та їх взаємозв'язків
у системі. Діаграма класів для веб-орієнтованого додатку корпоративної ІТ-
аутсорсингової компанії включає наступні класи:
Користувач
Клієнт
Менеджер
Розробник
Проект
Завдання
Чат
Рахунок-фактура
Звіт
Діаграма послідовності:
Діаграма послідовності - це візуальне представлення взаємодій між
об'єктами в певному порядку. Діаграма послідовності для веб-орієнтованого
додатку корпоративної ІТ-аутсорсингової компанії включає наступні
взаємодії:
Користувач входить в систему і отримує доступ до свого профілю
Клієнт створює проект і розподіляє завдання розробникам
Розробник працює над завданнями та оновлює прогрес проекту
Менеджер спілкується з клієнтом та інформує про хід виконання
проекту
Клієнт затверджує виконаний проект і виставляє інвойс
Менеджер формує звіти про хід виконання проекту, відгуки клієнтів та
інформацію для виставлення рахунків
Компонентна діаграма:
Діаграма компонентів - це візуальне представлення компонентів та їх
взаємозв'язків у системі. Діаграма компонентів для веб-орієнтованого
додатку корпоративної ІТ-аутсорсингової компанії включає наступні
компоненти:
9
Компоненти на стороні клієнта: ReactJS, Redux, HTML, CSS, Bootstrap
Компоненти на стороні сервера: NodeJS, ExpressJS, MongoDB
Компоненти аутентифікації та авторизації: PassportJS, JWT
Компоненти чат-системи: Socket.io
Компонент платіжного шлюзу: Stripe
Діаграма розгортання:
Діаграма розгортання - це візуальне представлення фізичного
розгортання компонентів системи. Діаграма розгортання веб-орієнтованого
додатку корпоративної ІТ-аутсорсингової компанії включає наступні
компоненти:
Компоненти на стороні клієнта: Розгортаються у веб-браузері клієнта
Компоненти на стороні сервера: Розгортаються на сервері,
розміщеному на хмарній платформі, такій як Amazon Web Services (AWS)
або Microsoft Azure
Компоненти автентифікації та авторизації: Розгортаються на сервері
Компоненти системи чату: Розгортається на сервері
Компонент платіжного шлюзу: Інтегрований з сервером
Таким чином, архітектура програмного забезпечення для веб-
орієнтованого додатку корпоративної ІТ-аутсорсингової компанії включає
діаграму варіантів використання, діаграму класів, діаграму послідовності,
діаграму компонентів і діаграму розгортання. Ці діаграми дають повне
уявлення про функціональні можливості системи, класи, взаємодію та
компоненти, а також допомагають забезпечити добре спроектовану та
підтримувану систему.

5. Розробити базу даних, концептуальну базу даних, логічну та


фізичну модель бази даних веб-орієнтованого додатку ІТ-
аутсорсингового підприємства та описати все:
Концептуальна модель бази даних визначає високорівневу структуру
бази даних та взаємозв'язки між різними сутностями. Концептуальна модель

10
бази даних для веб-орієнтованого додатку ІТ-аутсорсингового підприємства
включає наступні сутності:
Користувач: Зберігає інформацію про користувачів, включаючи їх
ідентифікатор, ім'я, електронну пошту та пароль.
Клієнт: Зберігає інформацію про клієнтів, включаючи їх ідентифікатор,
ім'я, електронну пошту та контактні дані.
Менеджер: Зберігає інформацію про менеджерів, включаючи їхні
ідентифікатор, ім'я, електронну пошту та контактні дані.
Розробник: Зберігає інформацію про розробників, включаючи їхні
ідентифікатор, ім'я, електронну пошту та контактні дані.
Проект: Зберігає інформацію про проекти, включаючи їх
ідентифікатор, назву, опис, дату початку, дату завершення та статус.
Завдання: Зберігає інформацію про завдання, включаючи їх
ідентифікатор, назву, опис, дату початку, дату завершення та статус.
Чат: Зберігає інформацію про повідомлення чату, включаючи їх
ідентифікатор, відправника, одержувача, мітку часу та вміст повідомлення.
Інвойс: зберігає інформацію про інвойси, включаючи їхній ID, ID
клієнта, ID проекту, дату, суму і статус.
Звіт: Зберігає інформацію про звіти, включаючи їх ідентифікатор, тип,
дату початку, дату закінчення та зміст.
Логічна модель бази даних:
Логічна модель бази даних визначає детальну структуру бази даних,
включаючи таблиці, стовпці та зв'язки між таблицями. Логічна модель бази
даних для веб-орієнтованого додатку ІТ-аутсорсингової компанії включає
наступні таблиці:
Користувач (UserID, Ім'я, Email, Пароль)
Клієнт (ClientID, Ім'я, Email, Телефон, Адреса)
Менеджер (ManagerID, Ім'я, Email, Телефон, Адреса)
Розробник (DeveloperID, Ім'я, Email, Телефон, Адреса)

11
Проект (ProjectID, Назва, Опис, Дата початку, Дата закінчення, Статус,
ClientID, ManagerID)
Завдання (TaskID, Назва, Опис, Початок, Кінець, Статус, ProjectID,
DeveloperID)
Чат (ChatID, Відправник, Одержувач, Мітка часу, Повідомлення)
Інвойс (InvoiceID, ClientID, ProjectID, Дата, Сума, Статус)
Звіт (ReportID, Тип, Дата початку, Дата закінчення, Зміст)
Фізична модель бази даних:
Фізична модель бази даних визначає фактичну схему бази даних, яка
буде використовуватися для реалізації бази даних. Фізична модель бази
даних для веб-орієнтованого додатку ІТ-аутсорсингової компанії включає
наступні визначення таблиць:
Користувач (UserID INT PRIMARY KEY, Name VARCHAR(50), Email
VARCHAR(50), Password VARCHAR(50))
Клієнт (ClientID INT PRIMARY KEY, Name VARCHAR(50), Email
VARCHAR(50), Phone VARCHAR(50), Address VARCHAR(200))
Менеджер (ManagerID INT PRIMARY KEY, Ім'я VARCHAR(50), Email
VARCHAR(50), Телефон VARCHAR(50), Адреса VARCHAR(200))
Розробник (DeveloperID INT PRIMARY KEY, Name VARCHAR(50),
Email VARCHAR(50), Phone VARCHAR(50), Address VARCHAR(200))
Проект (ProjectID INT PRIMARY KEY, Name VARCHAR(50),
Description VARCHAR(200), StartDate DATE, EndDate DATE, Status
VARCHAR(20), ClientID INT, ManagerID INT, FOREIGN KEY (ClientID)
ПОСИЛАННЯ Client(ClientID), FOREIGN KEY (ManagerID) ПОСИЛАННЯ

12
13
14

You might also like