Как запустить маткад 15 на windows 10



DASKALOS разработка примера интернет-магазина

1 Разработка DASKALOS примера интернет-магазина Разработчик: Martin Papík, Прага, 2007 г.

2 Содержание 1. Пример интернет-магазина Daskalos 1.2 Описание задачи 1.3 Предложение возможного решения 2. Создание модели данных интернет-магазина Daskalos 2.2 Запуск среды Daskalos 2.3 Создание нового проекта 2.4 Создание классов 2.5 Создание атрибутов 2.6 Создание экземпляров 2.7 Создание скриптов 2.8 Ввод запрос 3. Daskalos автоматически генерирует выходные данные 3.2 Диаграмма классов 3.3 Документация в формате HTML 4. Приложение к документации eshop.html

3 1. Пример интернет-магазина Daskalos 1.2 Описание задачи Попробуем спроектировать простую объектную модель данных интернет-магазина (электронного магазина), ориентированного на компьютерные технологии, в среде DASKALOS. Для гибкой работы такого магазина необходима подходящая модель данных. Он должен отражать потребности как самого продавца (например, обзор товаров, поставщиков, клиентов), так и потребности покупателя (например, обзор товаров). Поэтому модель должна хранить как минимум следующую информацию: Информация о товарах. Информация о поставщиках. Информация о клиентах. Информация о жалобах. Из приведенного выше задания видно, что это школьный пример, конечно практическая модель должна была бы хранить гораздо больший объем информации. 1.3 Возможное предложение решения Мы создадим предложение решения на концептуальном уровне анализа, используя для этого классы. Во-первых, давайте назовем классы, которые мы будем использовать в этой модели данных: Класс ТОВАРЫ ведет учет товаров (продуктов), которые мы предлагаем в нашем интернет-магазине. Он будет содержать следующие атрибуты: Серийный_номер, Название, Цена, Описание, Дата_покупки, Дата_продажи. Класс SUPPLIER хранит информацию о наших поставщиках. Он будет содержать следующие атрибуты: Name, Ico, Delivered. Класс CUSTOMER хранит информацию о наших клиентах (подписчиках). Он будет содержать следующие атрибуты:Логин_информация, Фамилия, Имя, Дата_покупки, Куплено. Класс CLAIM хранит информацию о востребованных (возвращенных) товарах. Он будет содержать следующие атрибуты: Номер_жалобы, Дата_принятия, Описание_проблемы. Кроме того, необходимо создать класс SUBJECT, который будет предшественником классов Customer и Supplier (либо эти два класса являются его потомками). Этот класс хранит информацию об адресах и контактах. Он будет содержать атрибуты: Город, Улица, Cp, Psc, Страна, , Телефон, Факс. Теперь, когда мы имеем хотя бы приблизительное представление о структуре модели данных (базы данных), приступим к работе со средой DASKALOS.

4 2. Daskalos создание модели данных электронного магазина 2.2 Запуск среды Daskalos Во-первых, нам нужно установить среду разработки VisualWork, предназначенную для объектного языка SmallTalk. Данную среду (или отдельную программу Daskalos, отделенную от среды разработки) можно скачать с сайта для учебных целей: Среду разработки запускаем файлом new74.im, путь к нему обычно UNIT\vw7.4nc\image\ новый74.им. Если у вас есть отдельная программа, запустите ее из файла Daskalos.exe. После запуска VisualWorks используйте меню для запуска DASKALOS (Tools Daskalos, учебник по объектному моделированию), см. картинка ниже. Примечание. Среда DASKALOS также доступна как отдельное приложение, ее можно бесплатно загрузить с веб-сайта: Создание нового проекта Появится основной экран среды DASKALOS (это первая вкладка Project). Здесь мы создаем новый проект, который мы называем eshop, и заполняем соответствующие данные (это важная часть каждого проекта, потому что без документации любой подобный проект бесполезен) см. изображение ниже.

5 Существует также возможность сохранить проект — Сохранить в файл (рекомендую делать это постоянно) и, возможно, позже возможность открыть проект Загрузить из файла и удалитьпроект Удалить проект. 2.4 Создание классов Переключаемся на вторую вкладку Классы. Здесь мы будем постепенно создавать классы, которые мы уже спроектировали в начале (см. заголовок 1.3). С помощью кнопки «Создать новый класс» мы создаем класс «Тема» (этот класс является предшественником классов «Клиент» и «Поставщик»). Далее мы создадим класс Supplier, так как этот класс является дочерним по отношению к классу Subject, класс Subject должен оставаться синим во время создания этого класса (иначе вновь созданный класс не будет дочерним), см. изображение ниже.

Читайте также:  Как посмотреть все рабочие группы windows

6 Аналогично поступим при создании других (оставшихся) классов. 2.5 Создание атрибутов Когда мы уже создали (определили) все необходимые классы, пришло время наполнить их атрибутами, которые мы также определили вначале (см. заголовок 1.3). Сначала приступим к заполнению атрибутов класса Subject. Отмечаем класс Subject (синий) и нажимаем кнопку Add inst.var., в строке пишем City и нажимаем OK, после чего появится всплывающий диалог, в котором выбираем, что данный атрибут имеет тип String и нажимаем OK. Так мы будем работать с другими атрибутами во всех классах. Важно, чтобы два атрибута Delivered и Purchased в классах Supplier и Customer имели тип Set (позже мы увидим, почему). Процесс создания атрибутов показан на следующем рисунке.

7 2.6 Создание экземпляров Теперь мы создали необходимые классы и их атрибуты. Итак, мы можем начать создавать конкретные объекты (экземпляры) конкретных классов. Мы по-прежнему на второй вкладке Классы. Отмечаем (синим цветом) класс Товары и нажимаем кнопку Новый экземпляр, откроется новое окно (экземпляр класса Товары). Теперь мы можем редактировать отдельные атрибуты этого экземпляра. Опять же, мы указываем атрибут, значение которого мы хотим изменить с начальной установки nil на какое-то конкретное значение, определенное нами. Например, мы меняемзначение атрибута серьезное_число, а именно. следующее изображение.

8 Мы также рекомендуем изменить значения (nil) других атрибутов, чтобы они действительно работали с конкретными объектами. Нам достаточно создать (аналогично) порядка 2-3 объектов для каждого класса (кроме класса Subject, атрибуты которого наследуются классами Supplier и Customer). Безусловно, при постепенном наполнении объектов (экземпляров) данными мы встретим поставляемый атрибут (типа Набор) в классе Поставщик и приобретаемый атрибут (Набор) в классе Заказчик. Эти два атрибута хранят в качестве значений набор других объектов, в нашем случае конкретных объектов (экземпляров) класса Goods. Сейчас мы продемонстрируем, как заполнить значения этих атрибутов другими объектами. Подготовим окна с экземплярами объектов Товар и Покупатель. В экземпляре клиента мы отмечаем (становимся синим) купленный атрибут и теперь, используя перетаскивание, нажимаем : Мы удерживаем элемент и перетаскиваем его в купленный атрибут в экземпляре клиента. Результат действия показан на следующем рисунке. Теперь у нас есть экземпляр клиента, который приобрел конкретный экземпляр класса Product. Процесс создания экземпляров и заполнения их данными, который мы только что обсудили, можно осуществить еще одним альтернативным и, возможно, более приятным для многих способом, который мы покажем в следующем разделе. 2.7 Создание скриптов Переключаемся на вкладку Script. Эта часть среды DASKALOS используется для создания пользовательских сценариев, можно сказать, что это своего рода командная строка.

9 Давайте теперь покажем тот же процесс, который мы выполнили в предыдущем разделе (см. заголовок 2.6). Мы создадим экземпляры классов интернет-магазина, используя наш собственный скрипт. Созданный нами скрипт будет выглядеть, например, так (можно также использовать блокнот и т.п.): Начало скрипта. Zboziset:= Установить новый. Supplierset:= Установить новый. Отключить:= Установить новый. Набор утверждений: = Установить новый. R_1:= Жалобановый. R_1 номер_жалобы: ‘112’; date_received:’ ‘ asdate; жалоба_описание: «неисправный жесткий диск». Жалоба набор добавить: R_1. V_1:=Товар новый. V_1 серьезный_номер:’374897’ asnumber; имя: ‘hppc5100’; цена: «15000» как номер; описание: ‘ПК’; Дата_покупки:’ ‘ asdate; sale_date:’ ‘ asdate. Zboziset добавить: V_1. V_2:=Товар новый. V_2 серьёзный_номер:’998797’ asnumber; имя: ‘asusxlt9050’; цена: «30000» как номер; описание: ‘ноутбук’; Дата_покупки:’ ‘ asdate; sale_date:’ ‘ asdate. Zboziset добавить: V_2. D_1:=Поставщик новый. Имя D_1: ‘alzasoft’; ico:’ ‘номер; город Прага’; улица: ‘голесовицкая’; cp: ’66’ как номер; psc:’16000′ как номер; страна: ‘cz’; телефон:» asnumber. D_1 добавил add:v_1. Добавление поставщика: D_1. Z_1:=Клиент новый. Z_1 логин_информация: ‘1a66’; фамилия: ‘папик’; имя: ‘мартин’; Purchase_date:’ ‘ asdate;

Читайте также:  Как сделать обновление на windows phone

10 город: «решения»; улица: Боривойова; cp:’1789′ как номер; psc:’26200′ asnumber; страна: ‘cz’; Z_1 приобрел дополнение:v_1. Отключить добавление: Z_1. Z_2:=Клиент новый. Z_2 логин_информация: ‘1b7a66′; фамилия:’шаги’; имя: ‘матей’; Дата_покупки:’ ‘ asdate; город: «решения»; улица: Боривойова; cp:’1789′ как номер; psc:’26200’ asnumber; страна: ‘cz’; Отключить добавление: Z_2. Конец сценария. Мы запустим этот скрипт с помощью кнопки «Выполнить скрипт» (см. изображение). Теперь переходим на вкладку «Объекты». Здесь мы можем видеть созданные нами экземпляры. Если отметить (синим цветом) в списке Рабочие переменные в правой верхней части, например, экземпляр Z_1 (экземпляр клиента), а затем отметить запись с ее атрибутами в нижней части и нажать кнопку Обзор элементов, появится окно с

появится снова

11 экземпляров объекта, к которому мы привыкли из предыдущего текста (см. следующее изображение). 2.8 Ввод запроса Переключаемся на вкладку Объекты. Мы хотим создавать пользовательские запросы к существующим экземплярам (данным нашей модели). Мы будемсделать с помощью Рабочего пространства (верхняя левая часть окна). Давайте составим запрос, чтобы узнать, что купил клиент с определенной фамилией. Мы пишем запрос в Workspace, и он будет выглядеть так: ((Customer select: [:x x prijmeni=’papik’ ]) collect: [:x x Purchased]) flatten collect: [:x x серьезное_число]. Отмечаем запрос (становим его синим цветом) и нажимаем кнопку Do it, после чего получаем правильный результат внизу окна (см. изображение ниже). В случае других вопросов поступаем аналогично. Другим запросом узнаем цену (сумму) всех товаров, купленных в магазине: (Zboziset collect:[:x x price]) inject: 0 into: [:sum :int sum+int]. С помощью последнего простого запроса мы ищем всех клиентов по имени Мартин : (Клиенты выбирают:[:x x имя = ‘Мартин’ ]).

12 3. Daskalos автоматически генерирует выходные данные 3.2 Диаграмма классов Если мы перейдем на вкладку Диаграмма, мы увидим диаграмму классов. Это автоматически сгенерированная диаграмма, которая создается постепенно по мере прохождения всех предыдущих шагов. В нашем примере интернет-магазина, конечно же, также была создана диграмма класса, мы можем настроить ее по желанию с помощью перетаскивания (ссылки перерисовываются автоматически). Мы можем увидеть схему нашего примера ниже.

13 3.3 Документация в формате HTML Если мы перейдем на вкладку Проект и сохраним проект, нажав кнопку Сохранить в файл, документация в формате HTML будет автоматически создаваться при каждом сохранении. Мы найдем каталог, в котором сохранили проект, и увидим четыре файла (eshop.gif, ehop.st, eshop.xml, shop.html). Документация скрыта под po eshop.html. Затем вы будете использовать эту документацию в качестве основы для своего семестрового проекта (документация является частью приложения к этой статье).

14 4. Приложение к документации eshop.html автор(ы) интернет-магазина: Martin Papik Objetový datavýмодель интернет-магазина (eshop), ориентированного на компьютерную технику. Хранит следующую информацию: «Информация о продукте» Информация о поставщике. » Информация о клиентах. » Информация о рекламациях. Мы будем использовать классы в этой модели данных: «В классе ТОВАРЫ хранятся записи о товарах (продуктах), которые мы предлагаем в нашем интернет-магазине. Он будет содержать следующие атрибуты: Серийный_номер, Название, Цена, Описание, Дата_покупки, Дата_продажи. » Класс SUPPLIER хранит информацию о наших поставщиках. Он будет содержать следующие атрибуты: Name, Ico, Delivered. » Класс CUSTOMER хранит информацию о наших покупателях (подписчиках). Он будет содержать следующие атрибуты: Login_information, Surname, First_name, Purchase_date, Purchased. » Класс CLAIM хранит информацию о востребованных (возвращенных) товарах. Он будет содержать следующие атрибуты: Номер_жалобы, Дата_принятия, Описание_проблемы. Кроме того, необходимо создать класс SUBJECT, который будет предшественником классов Customer и Supplier (или эти два класса являются его потомками). Этот класс хранит информацию об адресах и контактах. Он будет содержать атрибуты: Город, Улица, Cp, Psc, Страна, , Телефон, Факс. [:x x цена]) ввести: 0 в: [:sum :int sum+int] (Пользовательский выбор: [:x x name = ‘Мартин’ ]).

Читайте также:  Windows server 2003 как подключиться по rdp

15 Объекты рабочей области Supplierset :Set Complaintset :Set Customerset :Set Zboziset :Set D_1 :Поставщик R_1 :Жалоба V_2 :Товар Z_1 :Клиент Z_2 :Скрипт клиента Zboziset:= Установить новый. Supplierset:= Установить новый. Отключить:= Установить новый. Набор утверждений: = Установить новый. R_1:= Жалоба новая. R_1 номер_жалобы: ‘112’; date_received:’ ‘ asdate; жалоба_описание: «неисправный жесткий диск». Жалоба набор добавить: R_1. V_1:=Товар новый. Серьезный_номер V_1: «374897»как номер; имя: ‘hppc5100’; цена: «15000» как номер; описание: ‘ПК’; Дата_покупки:’ ‘ asdate; sale_date:’ ‘ asdate. Zboziset добавить: V_1. V_2:=Товар новый. V_2 серьёзный_номер:’998797’ asnumber; имя: ‘asusxlt9050’; цена: «30000» как номер; описание: ‘ноутбук’; Дата_покупки:’ ‘ asdate; sale_date:’ ‘ asdate. Zboziset добавить: V_2. D_1:=Поставщик новый. Имя D_1: ‘alzasoft’; ico:’ ‘номер; город Прага’; улица: ‘голесовицкая’; cp: ’66’ как номер; psc:’16000′ как номер; страна:’cz’;

16 телефон:’ ‘ asnumber. D_1 добавил add:v_1. Добавление поставщика: D_1. Z_1:=Клиент новый. Z_1 логин_информация: ‘1a66’; фамилия: ‘папик’; имя: ‘мартин’; Дата_покупки:’ ‘ asdate; город: «решения»; улица: Боривойова; cp:’1789′ как номер; psc:’26200’ asnumber; страна: ‘cz’; Z_1 приобрел дополнение:v_1. Отключить добавление: Z_1. Z_2:=Клиент новый. Z_2 логин_информация: ‘1b7a66′; фамилия:’шаги’; имя: ‘матей’; Дата_покупки:’ ‘ asdate; город: «решения»; улица: Боривойова; cp:’1789′ как номер; psc:’26200’ asnumber; страна: ‘cz’; Отключить добавление: Z_2.

17 Классы диаграмм Переменные экземпляра субъекта cp :Число Строка факс :Номер город :Строка psc :Номер телефона :Номер улицы :Строка страна :Строка методы

18 cp cp: факс факс: инициализировать город город: psc psc: телефон телефон: улица улица: страна страна: код недоступного метода: инициализировать «сгенерировано Daskalos» супер инициализировать. город := ноль. улица := нет. ср := ноль. psc := ноль. земля := ноль. = ноль. телефон := нет . факс := нет. Переменные экземпляра товара price :Number Purchase_date :Date sale_date :Date name :String description :String серьёзный_номер :Number method price price: Purchase_date Purchase_date: sale_date sale_date: initialize name name: description description:

19 seriove_cislo seriove_cislo: код методов без доступа: инициализировать «сгенерировано Daskalos» суперинициализировать.серьезное_число := ноль. имя := ноль. цена := нет. описание := нет. Дата_покупки := ноль. sale_date := ноль. Переменные экземпляра жалоб cislo_reklamace :String datum_reklamace :Date description_reklamace :String методы cislo_reklamace slo_kace: datum_reklamace datum_reklace: initialize description_reklamace description_reklamace: код методов без доступа: initialize «сгенерировано Daskalos» super initialize. номер_жалобы := ноль. date_received := ноль. жалоба_описание := ноль. Добавлены переменные экземпляра поставщика :Set ico :Number name :Добавлены строковые методы ico ico: initialize name

20 название: код методов без доступа: инициализировать «сгенерировано Даскалосом» суперинициализировать. имя := ноль. ico := ноль. добавлено := Установить новое. Переменные экземпляра клиента Purchase_date :Date name :String login_information :String surname :String Purchase :Set методы Purchase_date Purchase_date: инициализировать name name: login_information login_information: surname surname: купленный код недоступных методов: инициализировать «сгенерировано Daskalos» суперинициализировать. логин_информация := ноль. фамилия := ноль. имя := ноль. Дата_покупки := ноль. купили := поставили новые. Ссылки Файл данных и источник класса. Создано Daskalos — Object Modeling Tutor (C) 2006 В. Мерунка 2 февраля 2007 г.

Поделиться с друзьями
ОС советы