Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Проектування діаграми класів.

Для створення діаграми класів, що є однією з найважливіших в системі проектуванні системи, виберемо в меню пункт View -> Diagram -> New Diagram -> Class Diagram.

 

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

 

Вводимо назву діаграми та тиснемо OK. В результаті виконання вказаних дій буде створено і автоматично відкрито для редагування нову діаграму, діаграму класів «ДіаграмаКласів_1».

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

Скористаємось Палітрою інструментів (Palette). Для створення класу клацаємо лівою клавішею миші на піктограмі у вигляді прямокутника (Class).

 

Для додавання елемента на робочу область у довільній її частині клацаємо лівою клавішею миші, в цьому місці і буде створено клас.

Для редагування новоствореного классу слід викликати контекстне меню данного елемента і в ньму вибрати пункт Properties.

Вводимо імя створенного классу.

 


Діаграма класів для інтернет магазину. Класи.

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

 


Викликавши контекстне меню класса і в ньому вибравши пункт Properties, вводимо атрибути классу.

 

Натискаємо для збереження інформації кнопку «Применить» та ОК.


Діаграма класів для інтернет магазину. Атрибути класів.

Відповідно до складеного сценарію та за результатами аналізу іменників визначено атрибут кожного класу. Атрибут кожного класу робимо закритим задля кращої кодифікованості програми та зменшення кількості помилок.

 


 

Введення визначених для класу методів.

 

Натискаємо для збереження інформації кнопку «Применить» та ОК.


Діаграма класів для інтернет магазину. Методи.

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

 


 

Розглянемо додавання на діаграму звязку між классами.

Для цього потрібно на Палітрі інструментів (Palette) вибрати зв’язок залежності ().

 

Далі утримуючи ліву клавішу миші зєднати між собою відповідні класи.

Для редагування зв’язку між класами потрібно клацнути по ньому правою кнопкою миші і в контекстному меню, що випало обрати пункт Properties.

 

В данному меню визначаємо назву звязку, вносимо коментарій до нього.

Натискаємо для збереження інформації кнопку «Применить» та ОК.

Діаграма класів для інтернет магазину. Відношеннями між класами.

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

 


Розробка програмного забезпечення в середовищі Microsoft Visual Studio 2005

На даному етапі розробки на основі аналізу умови задачі та сценарію роботи системи розроблено тестову програму (у вигляді функції main()), що реалізує сценарій моделювання роботи фізичного об’єкта.

Діаграма прецедентів побудована за сценарієм роботи інтернет магазину:

 


 

Діаграма класів відповідно до якої розроблявся код:

 


 

По черзі розглянемо кожен клас та його реалізацію.

Клас Магазин:

 

//Shop.h

#pragma once

 

#include "Catalogue.h"

#include "CustomerList.h"

#include "Basket.h"

 

class Shop

{

public:

void StartModeling();

 

private:

Catalogue s_Catalogue; //каталог продукції магазину

Basket s_Basket; //корзина покупця

CustomerList s_CustomerList; //cписок покупців

};

//Shop.cpp

#include "Shop.h"

 

#include <iostream>

 

using namespace std;

 

//функція початку моделювання

void Shop::StartModeling()

{

//

}


 

Клас Каталог:

 

//Catalogue.h

#pragma once

 

#include "Product.h"

#include <fstream>

using namespace std;

 

class Catalogue

{

public:

void addPr(); //додавання продукту до каталогу

void cangePr(); //редагування даних про продукт

void delPr(); //видалення продукту з каталогу

 

private:

fstream listPr; //каталог продукції

};

 

//Catalogue.cpp

#include "Catalogue.h"

 

#include <iostream>

using namespace std;

 

//додавання продукту до каталогу

void Catalogue::addPr()

{

//

}

 

//редагування даних про продукт

void Catalogue::cangePr()

{

//

}

 

//видалення продукту з каталогу

void Catalogue::delPr()

{

//

}


 

Клас Корзина:

 

//Basket.h

#pragma once

 

#include "Product.h"

#include <vector>

using namespace std;

 

class Basket

{

public:

void add(); //додавання продукту в корзину

void remove(); //видалення продукту з корзини

void clean(); //очищення корзини

 

private:

vector< Product > BuskList; //список проудктів

};

//Basket.cpp

#include <iostream>

#include "Basket.h"

 

using namespace std;

 

//додавання продукту в корзину

void Basket::add()

{

//

}

 

//видалення продукту з корзини

void Basket::remove()

{

//

}

 

//очищення корзини

void Basket::clean()

{

//

}


 

Клас СписокПокупців:

 

//CustomerList.h

#pragma once

 

#include "Customer.h"

#include <vector>

 

using namespace std;

 

class CustomerList

{

public:

void addCust(); //додавання покупця до списку

void changeCust(); //редагування даних про покупця в списку

 

private:

vector< Customer > listCust;

};

 

//CustomerList.cpp

#include "CustomerList.h"

 

#include <iostream>

#include <vector>

 

using namespace std;

 

//додавання покупця до списку

void CustomerList::addCust()

{

//

}

 

//редагування даних про покупця в списку

void CustomerList::changeCust()

{

//

}


 

Клас Годинник:

 

 

//Timer.h

#pragma once

 

class Timer

{

public:

 

void printTime(); //виведення поточного часу системи моделювання

void changeTime();//зміна часу в системі

 

private:

int time; //час системи

};

//Timer.cpp

#include "Timer.h"

 

#include <iostream>

using namespace std;

 

//встановлення часу в системі

void Timer::changeTime()

{

//

}

 

//виведення поточного часу системи моделювання

void Timer::printTime()

{

//

}


 

Клас Покупець:

 

//Customer.h

#pragma once

#include <string>

 

using namespace std;

 

class Customer

{

public:

void viewProduct(); //переглянути товар

void orderProduct(); //замовити товар

void payProduct(); //оплатити товар

void refuseProduct(); //відмовитись від товару

private:

int rating; //рейтинг покупця магазину

string name; //ім'я покупця

string address; //адреса покупця

};

//Customer.cpp

#include "Customer.h"

#include <iostream>

#include <string>

 

using namespace std;

//переглянути товар

void Customer::viewProduct()

{

//

}

//замовити товар

void Customer::orderProduct()

{

//

}

//оплатити товар

void Customer::payProduct()

{

//

}

//відмовитись від товару

void Customer::refuseProduct()

{

//

}


 

Структура Продукт:

//Product.h

#pragma once

 

#include <string>

using namespace std;

 

struct Product

{

string name; //імя товару

float price; //ціна товару

int number; //кількість товару

int rating; //рейтинг товару

};

 

Функція main.cpp:

//main.cpp

/* Modeling work online store. */

 

#include "Shop.h"

#include "Customer.h"

#include "Timer.h"

 

#include <iostream>

using namespace std;

 

int main()

{

cout << "Modeling work online store." << endl;

cout << "Press Enter to start modeling..." << endl;

cin.get();

 

Timer t;

Shop store;

Customer buyer;

 

cout << "\nPres Enter to exit..." << endl;

cin.get();

return 0;

}


 

Покажемо структуру проекту:

 

Наведемо класову структуру проекту на даній стадії розробки:

 


 

Результат роботи тестової програми:


Читайте також:

  1. Active-HDL як сучасна система автоматизованого проектування ВІС.
  2. VII. Етап проектування
  3. VII. Етап проектування
  4. Автоматизація проектування напівзамовлених ВІС.
  5. Варіантне проектування будівельного виробництва.
  6. Варіантне проектування технології зведення будівель та споруд.
  7. Векторні і часові діаграми
  8. Вибір мікропроцесорного комплекту для проектування обчислювальних пристроїв і систем
  9. Вибір способу виготовлення заготовки. Попереднє проектування заготовки.
  10. Види архітектурного проектування
  11. Вимоги щодо проектування електрообладнання для пожежонебезпечних і вибухонебезпечних зон
  12. Виникнення і розвиток землевпорядного проектування




Переглядів: 2205

<== попередня сторінка | наступна сторінка ==>
Примітки. | Module 4. Maxillofacial prosthodontics. Cast fixed dentures.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.037 сек.