Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_3.doc
Скачиваний:
14
Добавлен:
12.02.2016
Размер:
1.48 Mб
Скачать

2. Приклад реалізації етапу проектування Етап проектування

На етапі проектування розробляється детальний проекту системи тестування та опитування думки - “COCtrial”, a саме здійснюється специфікація результатів аналізу, проводиться оптимізація системи та проектування компонентів, які не належать до області проблеми процесу тестування та опитування, виконується підлаштування моделі до обмежень і варіантів програмного середовища. Також на цьому етапі визначаєьтся фізична структура системи.

Use case діаграма

Рис. 1. Use Case діаграма системи.

На Use Case діаграмі (рис. 1.) зображені варіанти використання системи різними класами користувачів. Для доступу до функцій Клієнта 1 чи Клієнта 2 користувачі мають пройти процедуру логування. Адміністратор після входу в систему в Клєнті 1 може редагувати базу даних, змінювати користувацькі інтерфейси і переглядати звіти.

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

Студенти не використовують даний клієнт.

В Клієнті 2 всі користувачі, пройшовши процедуру логування, можуть проходити тестування та опитування думки.

Модулі системи

Cистема складається з двох незалежних базових модулів , які реалізують роботу Клієнта 1 і Клієнта 2.

Клієнт 1

Рис. 2. Підмодулі Клієнта 1.

Клієнт 1 складається з п’яти підмодулів: FmMain, AccountManagerDAL, ReportBuilderDAL, SurveyBuilderDAL і DataModule.

FmMain. Це модуль який відповідає за інтерфейс клієнта 1.

Класи TMain, TAMFrame, TPassDlg, TRBFrame, TSBFrame, що він в себе включає, є класами інтерфейсу тобто класами-формами, які містять методи обробки стандартних подій та методи необхідні для функціонування інтерфейсу.

AccountManagerDAL: Модуль, який відповідає за логування користувачів та адміністрування системи. Він включає в себе два класи: TUsersDAL, TGroupsDAL.

  • TUsersDAL – клас, що містить методи для роботи з користувацькими записами системи:

    • GetRoleId – метод для отримання ролі користувача;

    • GetFreeUserId – метод для отримання вільного IDкористувача;

    • IsInLogin – метод для перевірки, за логіном, наявності запису користувача в базі;

    • IsInUserId – метод для перевірки, за ID, наявності запису користувача в базі;

    • AddUser – метод для добавлення користувача в базу;

    • UpdateUser – метод для обновлення запису користувача;

    • DeleteUser – метод для видалення запису користувача з бази;

    • GetUsers – метод для отримання списку користувачів;

    • GetUsersById – метод для фільтрації списку користувачів заID;

    • GetUsersByName – метод для фільтрації списку користувачів за іменем;

    • GetUsersByLogin – метод для фільтрації списку користувачів за логіном;

    • GetUsersByPassword – метод для фільтрації списку користувачів за паролем;

    • GetUsersByRoleId – метод для фільтрації списку користувачів за роллю;

    • GetUsersByGroupId – метод для фільтрації списку користувачів за IDгрупи.

  1. TGroupsDAL– клас, методи якого необхідні для роботи з групами користувачів системи:

    • GetFreeGroupId – метод для отримання вільного IDгрупи;

    • IsInGroupId – метод для перевірки, за ID, наявності групи в базі;

    • IsInName – метод для перевірки, за назвою, наявності групи в базі;

    • AddGroup – метод для добавлення груп в базу;

    • UpdateGroup – метод для обновлення інформації про групу;

    • DeleteGroup – метод для видалення групи;

    • AddUserToGroup – метод для добавлення студента в групу;

    • DeleteUserFromGroup – метод для видалення студента з групи;

    • GetGroupsByName – метод для фільтрації груп за назвою;

    • GetGroupsByUserId – метод для фільтрації груп за IDстудента;

    • GetGroupsById – метод для фільтрації груп за IDгрупи.

ReportBuilderDAL: Модуль, призначений для створення звітів успішності студентів, а також результатів опитувань. Він включає в себе клас TReportDAL.

  • TReportDAL– клас, методи якого необхідні для роботи зі звітами системи:

    • CreateSurveyReport– метод для створення звіту за іменем опитування;

    • CreateTestReport– метод для створення звіту за іменем тестування;

    • GetUserTestResults– метод для отримання результатів тесту окремого користувача.

SurveyBuilderDAL: Модуль, який відповідає за створення тестувань та опитувань. Даний модуль включає в себе два класи: TSurveyDAL, TSurvey.

  • TSurveyDAL– клас, методи якого призначені для завантаження, видалення та відтворення списків тестувань та опитувань:

    • IsInName – метод для перевірки, за назвою, наявності тестування / опитування в базі даних;

    • LoadSurvey – метод для завантаження тестування / опитування з бази;

    • SaveSurvey – метод для забереження тестування / опитування в базу;

    • UpdateSurvey– метод для обновлення тестування / опитування;

    • DeleteSurvey– метод для видалення тестування / опитування;

    • GetSurveysByUserId– метод для отримання списку тестувань / опитувань доступних конкретному користувачу;

    • GetSurveysByGroupId– метод для отримання списку тестувань / опитувань доступних конкретній групі.

  1. TSurvey– клас для створення тестувань та опитувань та їх збереження у вигляді об’єкта (екземпляра даного класу):

    • CreateSurvey– метод для створення тестування / опитування;

    • AddQuestion– метод для додавання запинання до тестування / опитування;

    • GetQuestions– метод для відтворення запинань тестування / опитування;

    • DeleteQuestion– метод для видалення запинання з тестування / опитування.

DataModule. Цей модуль призначений для організації зв’язку з базою даних, включає в себе клас TDataModule.

  • TDataModule– клас, що включє в себе набір стандартних компонент (TADOConnection, TdataSource та TADOStoredProc) необхідних для взаємодії з базою даних.

    • Connection – компонента типу TADOConnection призначена для встановлення зв’язку з базою даних;

    • UsersDataSource – компонента типу TDataSource, яка виконує роль джерела даних про користувачів;

    • GroupsDataSource – компонента типу TDataSource, яка виконує роль джерела даних про групи користувачів;

    • SurveysDataSource – компонента типу TDataSource, яка виконує роль джерела даних тестувань та опитувань думки;

    • ResultsDataSource – компонента типу TDataSource, яка виконує роль джерела даних результатів тестувань та опитувань;

    • UsersStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на завантаження даних про користувачів з бази;

    • GroupsStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на завантаження даних про групи користувачів з бази;

    • SurveysStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на завантаження тестувань та опитувань з бази;

    • ResultsStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на завантаження результатів тестувань та опитувань з бази;

    • ActionStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на додавання, редагування та видалення даних з бази.

Класи вище описаних модулів взаємодіють між собою наступним чином:

  • Класи TAMFrame і TPassDlg з модуля FmMain використовують методи класів TUserDAL та TGroupsDAL з модуля AccountManagerDAL.

  • Клас TRBFrame з модуля FmMain використовує методи класу TReportDAL з модуля ReportManagerDAL.

  • Клас TSBFrame з модуля FmMain використовує методи класу TSurveyDAL і клас TSurvey.

  • Класи TUsersDAL і TGroupsDAL (AccountManagerDAL), TReportDAL (ReportBuilderDAL), TSurveyDAL (SurveyBuilderDAL) використовують компоненти класу TDataModule (DataModule) для взаємодії (через збережувані процедури) з базою даних.

Клієнт 2

Рис. 3. Підмодулі Клієнта 2.

Клієнт 2 складається з трьох підмодулів: FmMain, SurveyDAL і DataModule.

FmMain. Це модуль який відповідає за інтерфейс клієнта 2.

Класи TMain, TPassDlg, TTestProc, що він в себе включає, є класами інтерфейсу тобто класами-формами, які містять методи обробки стандартних подій та методи необхідні для функціонування інтерфейсу.

SurveyDAL: Цей модуль забезпечує проходження тестувань та опитувань думки. Він включає в себе наступні класи: TSurveyDAL, TSurvey, TSurveyAnswers.

  • TSurveyDAL– клас, методи якого призначені для завантаження та відтворення списків тестувань та опитувань:

    • LoadSurvey – метод для завантаження тестування / опитування з бази;

    • SaveSurveyAnswers – метод для збереження відповідей на тестування / опитування в базу;

    • GetSurveysByUserId – метод для отримання списку тестувань / опитувань доступних конкретному користувачу;

    • GetSurveysByGroupId – метод для отримання списку тестувань / опитувань доступних конкретній групі.

  1. TSurvey– клас для збереження тестувань та опитувань у вигляді об’єкта (екземпляра даного класу):

    • CreateSurvey– метод для створення тестування / опитування;

    • AddQuestion– метод для додавання запинання до тестування / опитування;

    • GetQuestions– метод для відтворення запинань тестування / опитування;

    • DeleteQuestion– метод для видалення запинання з тестування / опитування.

  1. TSurveyAnswers– клас для збереження відповідей на питання тестувань та опитувань у вигляді об’єкта (екземпляра даного класу):

    • CreateSurveyAnswers– метод для створення об’єкта відповідей на тестування / опитування;

    • AddAnswer– метод для додавання відповіді на запинання до об’єкта відповідей на тестування / опитування.

DataModule. Цей модуль призначений для організації зв’язку з базою даних, включає в себе клас TDataModule.

  • TDataModule– клас, що включє в себе набір стандартних компонент (TADOConnection, TdataSource та TADOStoredProc) необхідних для взаємодії з базою даних.

    • Connection – компонента типу TADOConnection призначена для встановлення зв’язку з базою даних;

    • SurveysDataSource – компонента типу TDataSource, яка виконує роль джерела даних тестувань та опитувань думки;

    • SurveysStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на завантаження тестувань та опитувань з бази;

    • ActionStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на додавання, редагування та видалення даних з бази.

Взаємодія між модулями відбувається наступним чином:

  • Класи TMain і TPassDlg (FmMain) використовують методи класу TSurveyDAL (SurveyDAL).

  • Клас TTestProc (FmMain) використовує класи TSurvey та TSurveyAnswers (SurveyDAL).

  • Клас TSurveyDAL (SurveyDAL) використовує компоненти класу TDataModule (DataModule) для взаємодії (через збережувані процедури) з базою даних.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]