Лекция: Всіх форм навчання

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Запорізький національний технічний університет

 

МЕТОДИЧНІ ВКАЗІВКИ

До лабораторних робіт з дисципліни

«Методи та засоби комп’ютерних інформаційних технологій»

Для студентів спеціальності

«Програмне забезпечення систем»

напряму 6.050103 «Програмна інженерія»

всіх форм навчання

 

 


Методичні вказівки до лабораторних робіт з дисципліни «Методи та засоби комп’ютерних інформаційних технологій» для студентів спеціальності «Програмне забезпечення систем» напряму 6.050103 «Програмна інженерія» /Укл.: І.В. Левада, Л.Ю. Дейнега – Запоріжжя: ЗНТУ, 2011. – с.

 

 

Укладачі: ст… викладач І. В. Левада

ас. Л.Ю. Дейнега

 

Рецензент: доц., к. т.н. Г.В. Табунщик

 

Відповідальний за випуск: ст… викладач І. В. Левада

 

 

Затверджено

на засіданні кафедри

 

Протокол № 1 від 29 серпня

2011 р.


ЗМІСТ

ПЕРЕДМОВА… 4

ЛАБОРАТОРНА РОБОТА № 1. 5

МОДУЛЬНЕ ПРОЕКТУВАННЯ СИСТЕМ СТРУКТУРНИМ МЕТОДОМ 5

1 Мета роботи. 5

2 Порядок виконання лабораторної роботи. 5

3 Опис середовища функціонування DESIGN/IDEF. 6

4 Методичні вказівки до виконання лабораторної роботи. 6

5 Зміст звіту. 6

6 Контрольні запитання для самоперевірки. 6

ЗАВДАННЯ ДО ЛАБОРАТОРНИХ РОБІТ №1-6. 7

ТЕМА: МОДУЛЬНЕ ПРОГРАМУВАННЯ МЕТОДАМИ ЛОГІЧНОГО ПРОГРАМУВАННЯ 7

ЛАБОРАТОРНА РОБОТА № 2. 15

МОДУЛЬНЕ ПРОГРАМУВАННЯ НА VISUAL PROLOG… 15

1 Мета роботи. 15

2 Порядок виконання лабораторної роботи. 15

3 Опис середовища функціонування DESIGN/IDEF. 15

4 Методичні вказівки до виконання лабораторної роботи. 15

5 Зміст звіту. 15

6 Контрольні запитання для самоперевірки. 16

Додаток А… 17

ЗАСТОСУВАННЯ ФУНКЦІОНАЛЬНИХ МОДЕЛЕЙ IDEF0 ДО СТВОРЕННЯ ФУНКЦІОНАЛЬНОЇ СТРУКТУРИ ПРОГРАМИ… 17

А.1 Роль функціонального модулювання при розробці функціональної структури системи 17

А.2 Основні поняття моделі IDEF0. 17

А.3 Розробка функціональної моделі 24

Додаток Б. 27

РЕАЛІЗАЦІЯ МОДЕЛЕЙ ЗАСОБАМИ ІНСТРУМЕНТАЛЬНОГО ЗАСОБУ DESIGN/IDEF 27

Б.1 Створити Модель IDEF0. 27

Б.2 Додати назву функції до блоку. 28

Б.3 Створити дугу блоку. 28

Б.4 Створити мітку для дуги. 29

Б.5 Прикріпити мітку до дуги. 29

Б.6 Деталізувати функціональний блок. 30

Б.7 Розмістити на діаграмі декомпозиції один чи кілька блоків. 30

Б.8 Створити відгалуження від дуги. 30

Б.9 Створити нову дугу і злити зі старою… 31

Б.10 Створити тунель. 31

Б.11 Рухатися по моделі 31

Додаток В… 32

МОДУЛЬНЕ ПРОГРАМУВАННЯ НА VISUAL PROLOG… 32

В.1 Структура модульної програми на Visual Prolog. 32

В.2 Глобальні описи предикатів. 33

В.3 Приклад модульної програми. 33

В.4 Створення модульної програми експертом застосування. 36

В.5 Команди компіляції та побудови програми. 37


ПЕРЕДМОВА

 

Методичні вказівки вміщують у стислому вигляді матеріал з дисципліни «Компонентні технології в САПР», необхідний при виконанні лабораторних робіт, а також методичні вказівки по виконанню цих робіт.

Матеріал розміщується у додатках до лабораторних робіт.

В процесі виконання лабораторних робіт студенти повинні:

— одержати навички роботи по створенню структурних моделей програмних систем засобами підтримки концептуального моделювання IDEF0 та навички об’єктна-орієнтованого аналізу предметної області задачі за методологією IDEF4;

— навчитися розробляти модульні програми на основі структурних моделей засобами мови VISUAL PROLOG;

— навчитися розробляти модульні програми на основі об’єктна-орієнтованих моделей засобами мови VISUAL PROLOG;

— навчитися створювати графічний інтерфейс та малювати рисунки геометричних фігур засобами мови VISUAL PROLOG;

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

Знання та вміння з цієї дисципліни, використовуються при розробці складних САПР і можуть бути застосовані при розробці дипломних проектів.


ЛАБОРАТОРНА РОБОТА № 1

МОДУЛЬНЕ ПРОЕКТУВАННЯ СИСТЕМ СТРУКТУРНИМ МЕТОДОМ

1 Мета роботи

Мета лабораторної роботи:

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

— навчитися створювати функціональну модель програмної системи, що складається з декількох модулів;

— навчитись використовувати можливості середовища DESIGN/IDEF для розробки функціональних моделей програмних систем.

2 Порядок виконання лабораторної роботи

2.1 Розглянути матеріал «Застосування функціональних моделей IDEF0 до створення функціональної структури програми» додаток А.

2.2 Вивчити матеріал «Реалізація моделей засобами інструментального засобу DESIGN/IDEF» додаток Б.

2.3 Створити засобами DESIGN/IDEF функціональну модель «Облік наукової роботи студентів» з додатку А.

2.4 Розробити функціональну модель системи подану за варіантами у завданні на лабораторну роботу.

2.5 Аналізувати створену модель системи за критеріями якості моделі. Корегувати модель, якщо необхідно, надрукувати вашу модель та зберегти.


3 Опис середовища функціонування DESIGN/IDEF

Система DESIGN версія 3.1 функціонує в ОС WINDOWS 98/XP/NT на IBM та IBM сумісних комп’ютерах.

4 Методичні вказівки до виконання лабораторної роботи

4.1 Завдання 2.1-2.3 виконуються з метою познайомити студента з прикладом подаванням функціональної структури систем на базі методології IDEF0 та навчити створювати модель засобом підтримки методології DESIGN/IDEF.

4.2 У пункті 2.4 треба ознайомитися з завданням до лабораторної роботи. Складне завдання можна виконувати 2 студентам. Складність залежить не від завдання, а від його реалізації. Одержати додатковий матеріал у викладача для докладнішого опису предметної області. На реалізацію моделі відводиться 2 тижні.

4.3 Виконати аналіз створеної моделі за критеріями якості моделі: сполучення та зв’язність модулів системи, що розглядаються на лекції..

5 Зміст звіту

Звіт містить наступні матеріали:

5.1 Мету роботи

5.2 Сторінки моделі

5.3 Аналіз моделі за критеріями контролю якості моделі.

6 Контрольні запитання для самоперевірки

6.1 Як створюють назву функції на діаграмі А0?

6.2 Чому на функціональних діаграмах реалізується потокова організація?

6.3 Чому кожен функціональний блок повинен мати керуючу дугу?

ЗАВДАННЯ ДО ЛАБОРАТОРНИХ РОБІТ №1-6

ТЕМА: МОДУЛЬНЕ ПРОГРАМУВАННЯ МЕТОДАМИ ЛОГІЧНОГО ПРОГРАМУВАННЯ

1)Скласти програму, що перевіряє знання студента про групу стандартних предикатів Прологу, які оброблюють рядки. Програма виводить на екран контрольне питання і відповідні відповіді — одну вірну і декілька невірних. Студент вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Обсяг предметної області студент обирає сам.

2)Скласти програму, що перевіряє знання студента про історичні факти з життя України. Програма виводить на екран контрольне питання і відповідні відповіді — одну вірну і декілька невірних. Студент вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Предметну область і обсяг предметної області студент обирає сам.

3)Скласти програму, що перевіряє знання студента про групу стандартних функцій мови Lisp, які оброблюють списки. Програма виводить на екран контрольне питання і відповідні відповіді — одну вірну і декілька невірних. Студент вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання. Програма повинна мати модульну структуру. Обсяг предметної області студент обирає сам.

4)Скласти програму, що перевіряє знання студента з української граматики. Програма виводить на екран контрольне питання і відповідні відповіді — одну вірну і декілька невірних. Студент вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Предметну область і обсяг предметної області студент обирає сам.

5)Скласти програму, що перевіряє знання студента з англійської мови. Програма виводить на екран слово на англійській мові. Студент вводить переклад його на українську мову. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Обсяг предметної області студент обирає сам.

6)Скласти програму, що перевіряє знання студента з української мови. Програма виводить на екран слово на російській мові. Студент вводить переклад його на українську мову. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Обсяг предметної області студент обирає сам.

7)Скласти програму, що дозволяє оцінювати характер кандидата при прийомі на роботу. Тест складається з декількох тестів, що характеризують: неуважність, працездатність, організованість людини; творчий потенціал; ступінь бути товариським; стиль товариськості. Програма повинна мати модульну структуру. Тести одержують у викладача.

8)Скласти програму, що дозволяє оцінювати характер робітника для підвищення. Тест складається з декількох тестів, що характеризують: вміння вести діла; хист вести ділове обговорювання; творчий потенціал; впевненість в собі; вміння вислуховувати і слухати підлеглих. Програма повинна мати модульну структуру. Тести одержують у викладача.

9)Скласти програму, що дозволяє тестувати вашу можливість стати бізнесменом. Тест складається з декількох тестів, що характеризують: ступінь самоконтролю, хист вести ділове обговорювання з партнерами; стиль товариськості, впевненість в собі; шанс тати міліонером. Програма повинна мати модульну структуру. Тести одержують у викладача.

10)Скласти програму, що навчає дитину змістовим зв’язкам між словами. Тест на зв’язки треба розробити самому на основі семантичних зв’язків: класи, елемент класу, частина об’єкту, інструмент об’єкту, агент дії, об’єкт дії, локалізація дії, тощо. Програма видає наступні рядки з слів типу:

1 «Дорога» 2 «Автомобіль» 3 «Руль»

«Олівець» відноситься до «Ручка», як «Мотоцикл» відноситься до…

Дитина вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Предметну область і обсяг предметної області студент обирає сам.

11)Скласти програму, яка створює частотний словник. Програма вводить текст, розбирає його на слова, сортує словник і виявляє різні форми кожного слова. Після чого для кожної групи форм одного слова підраховується частота, з якою зустрічається в тексті це слово. Частота зберігається разом з групою форм. Частотні словники застосовуються для швидкості вибору слів до тлумачних словників або тезаурусів за обсягом. Передбачається увід різних текстів за предметною областю для поповнення словника. Програма повинна мати модульну структуру.

12)Скласти програму, яка поповнює вхідний текст реченнями, що виводяться на основі псевдофізичних логік часу. Програма повинна мати модульну структуру. Для поповнення тексту програма виділяє в тексті речення або частини речення – точкові події, які мають часові характеристики. Наприклад, «Я приїхав сьогодні». Або виділяються в тексті речення, в яких є дві події, пов’язані не метричними відношеннями «раніше», «пізніше», «одночасно». Речення можуть мати інтерпретацію вказаних відношень іншими словами.

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

Застосовуючи схеми правил виводу для точкових не метричних часових відношень програма формує нове речення і поповнює ним текст. Програма повинна мати модульну структуру. (Представление знаний о пространстве в интеллектуальных системах. (Е.Ю. Кандрашина, Л.В. Литвинцева, Д.А. Поспелов с. 98-102)

13)Скласти програму, яка поповнює вхідний текст реченнями, що виводяться на основі псевдофізичних логік часу. Програма повинна мати модульну структуру. Для поповнення тексту програма виділяє в тексті речення або частини речення – точкові події, які мають часові характеристики. Наприклад, «Я приїхав о першій годині». Або виділяються в тексті речення, в яких є дві події, пов’язані метричними відношеннями «раніше на 2 години», «пізніше на 15 хвилин». Речення можуть мати інтерпретацію вказаних відношень іншими словами.

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

Застосовуючи схеми правил виводу для точкових метричних часових відношень програма формує нове речення і поповнює ним текст. Програма повинна мати модульну структуру. (Представление знаний о пространстве в интеллектуальных системах. (Е.Ю. Кандрашина, Л.В. Литвинцева, Д.А. Поспелов с. 98-102)

14)Скласти програму, яка оцінює звучання слова(фоносемантичний ореол слова). Програму можна застосовувати для вибору ім’я дитини, назви фірми, виробу, тощо. Слово складається зі звукобукв, тому що буква може складатися з двох звуків, наприклад «я — йа». Для оцінки звучання застосовують числову вагу звукобукв за шкалами оцінки типу «світле-темне», «ніжне-грубе», і т. п., а також список букв з частотами використання в мові. Фоносемантичний ореол оцінюється за формулами:

, де

оцінка змісту звуку за шкалою;

-коефіцієнт для обліку ваги кожного звуку в слові.

Коефіцієнти обчислюються за наступними формулами.

Коефіцієнт першої букви слова: ;

Коефіцієнт букви слова під наголосом: ;

Коефіцієнт інших букв слова: .

Програма повинна мати модульну структуру. (див. А.П. Журавлев, Звук и смысл).

15)Скласти програму, що перевіряє знання студента про групу стандартних предикатів Прологу, які працюють з динамічними фактами. Програма виводить на екран контрольне питання і відповідні відповіді — одну вірну і декілька невірних. Студент вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання.

Програма повинна мати модульну структуру. Обсяг предметної області студент обирає сам.

16)Скласти програму, що перевіряє знання студента про групу стандартних керуючих конструкцій мови Lisp. Програма виводить на екран контрольне питання і відповідні відповіді — одну вірну і декілька невірних. Студент вводить номер вірної відповіді. Програма перевіряє вірність відповіді, якщо вона невірна виводить вірну відповідь. Програма запам’ятовує питання з невірними відповідями і наприкінці питань знову задає їх. Якщо відповідь на питання вірна, задається наступне питання. Програма повинна мати модульну структуру. Обсяг предметної області студент обирає сам.

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

18)Скласти програму, що веде бесіду з користувачем на тему «Програмування». Програма задає перше питання і аналізує відповідь користувача. Залежно від відповіді програма може зробити просто зауваження, або задати ще питання. Користувач вводить речення або питання. Бесіда продовжується до виходу з програми. Програма повинна передбачити різні виходи з бесіди.

Для аналізу речення користувача у програмі застосовуйте метод ключових слів. Ключові слова – це слова, які знає програма за темою. Ключове слово або декілька ключових слів(частина речення) визначають ситуацію. Кожній ситуації відповідає певне речення або питання, яке виводить програма. Кожний крок (ситуація-речення) запам’ятовується для застосування у неясній ситуації. Якщо речення користувача не містить ключове слово, то можливі варіанти відповіді програми: повернення до попередньої ситуації, яка вже була «Раніше ви згадали про …» або «Розкажіть докладніше». Програма повинна мати модульну структуру. Д. Марселлус. Программирование экспертных систем на Турбо Прологе. с.183-190.

19)Скласти програму, що веде бесіду з користувачем на тему «Музика». Програма задає перше питання і аналізує відповідь користувача. Залежно від відповіді програма може зробити просто зауваження, або задати ще питання. Користувач вводить речення або питання. Бесіда продовжується до виходу з програми. Програма повинна передбачити різні виходи з бесіди.

Для аналізу речення користувача у програмі застосовуйте метод ключових слів. Ключові слова – це слова, які знає програма за темою. Ключове слово або декілька ключових слів(частина речення) визначають ситуацію. Кожній ситуації відповідає певне речення або питання, яке виводить програма. Кожний крок (ситуація-речення) запам’ятовується для застосування у неясній ситуації. Якщо речення користувача не містить ключове слово, то можливо два варіанта відповіді програми: повернення до попередньої ситуації, яка вже була «Раніше ви згадали про …» або «Розкажіть докладніше». Програма повинна мати модульну структуру. Д. Марселлус. Программирование экспертных систем на Турбо Прологе. с.183-190.

20)Скласти програму, що за групою введених текстів створює частотний словник можливих сполучень приголосних букв, що зустрічаються в українській мові. Аналогічний словник існує в текстовому редакторі WORD. Такий словник дозволяє виявляти орфографічні помилки в словах. Сполучення букв, що мають більшу частоту, розташовуються попереду, що збільшує швидкість знаходження сполучення. У програмі треба передбачити поповнення та корегування словника при вводі нових текстів. Програма повинна мати модульну структуру.

21)Написати програму «Телефонний довідник». Програма повинна мати телефони підрозділів установ та квартирні телефони. Програма повинна вміти поповнювати довідник, вилучати компоненту власника та корегувати прізвище власника або назву установи, корегувати номер телефону. Програмний пошук номера телефону можна виконувати за прізвищем власника без ім’я та по батькові або з ним; за адресою власника; за назвами підрозділу та його установи, за адресою установи. Можна також виявити за номером телефону його власника. Програма повинна мати модульну структуру.

22)Розробити програму «Довідник автовласників», яка містить відомості про власників автомобілів (ПІБ власника, номер автомобіля, модель та колір автомобіля). Програма повинна надавати можливість перегляду відомостей за різними ключами та пошуку записів за різними даними. Програма повинна мати модульну структуру.

23)Розробити програму «Готель», яка веде облік наповненості номерів готелю. Програма повинна надавати можливість перегляду таких відомостей: наявність вільних номерів із зазначенням класу номеру та кількість місць в них, наявність частково вільних номерів із зазначенням класу номеру та кількість вільних місць в них, список мешканців обраних номерів. Також програма повинна надавати можливість пошуку за різними даними (ПІБ мешканця, номер номеру, клас номеру), коригування існуючих відомостей та додавання нових. Програма повинна мати модульну структуру.

24)Розробити програму „Тест з вибору професійного напрямку”. За допомогою опитування програма рекомендує професійний напрямок. Програма повинна мати модульну структуру. Тести одержують у викладача.

25) Розробити програму „Косметичний салон”. Програма повинна містити та поповнювати такі дані: відомості про процедури (назва, необхідний час, вартість); відомості про клієнта (прізвище, список обраних процедур, загальний час процедур та їх загальна вартість). Програма повинна надавати можливість перегляду, коригування, видалення та доповнення відомостей (необхідна запис обирається за даним ключем). Програма повинна мати модульну структуру.

 


ЛАБОРАТОРНА РОБОТА № 2

МОДУЛЬНЕ ПРОГРАМУВАННЯ НА VISUAL PROLOG

1 Мета роботи

Мета лабораторної роботи:

— навчити створювати модульну структуру програми за допомогою експерта застосувань;

— навчити писати та налагоджувати програми, які мають модульну структуру.

2 Порядок виконання лабораторної роботи

2.1 Розглянути матеріал «Модульне програмування на Visual Prolog» додаток В.

2.2 Розробити та налагодити програму за моделлю системи, яку ви створили у лабораторній роботі №1.

3 Опис середовища функціонування DESIGN/IDEF

Система DESIGN версія 3.1 функціонує в ОС WINDOWS 98/XP/NT на IBM та IBM сумісних комп’ютерах.

4 Методичні вказівки до виконання лабораторної роботи

4.1 Завдання 2.2 виконується точно за розробленою моделлю.

Після створення експертом коду структури програми подивіться на її структуру за опцією меню PROJECT /PROJECT TREE

На реалізацію програми відводиться 3 тижні. Якщо у групі працює 2 студента, то кожен студент розроблює свої модулі. Демонстрація роботи програми виконується на тестах.

5 Зміст звіту

Звіт містить наступні матеріали:

5.1 Мету роботи

5.2 Сторінки моделі

5.3 Працюючу програму.

5.4 Тести прогону.

6 Контрольні запитання для самоперевірки

6.1 Чому не можна виконувати програму, що виконується під керуванням утиліти Test Goal?

6.2 Для чого застосовуються глобальні предикати?

6.3 Чи бувають глобальні секції Clauses?


Додаток А

ЗАСТОСУВАННЯ ФУНКЦІОНАЛЬНИХ МОДЕЛЕЙ IDEF0 ДО СТВОРЕННЯ ФУНКЦІОНАЛЬНОЇ СТРУКТУРИ ПРОГРАМИ

А.1 Роль функціонального модулювання при розробці функціональної структури системи

Подавання системи функціональною моделлю, дозволяє розроблювати її модульну структуру. Кожний модуль подається на діаграмі, яка показує зв'язок між модулями. Подавання вмісту модулів у вигляді діаграми, дозволяє зробити функціональну структуру системи зрозумілою і дає можливість модифікувати її.

На діаграмі можна показати функціональну структуру модуля з процедур. Наочність графічного подавання процедур дозволяє аналізувати вміст модулів та одержувати якісні модулі.

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

А.2 Основні поняття моделі IDEF0

Функціональний блок і дуги

Функцією являється будь-яка дія програмної одиниці: модуля, процедури, функції, підпрограми. На діаграмі назву функції розташовують у середині блоку та записують дієсловом у інфінітиві або дієслівним зворотом.

Блок називають функціональним. Він має ідентифікатор, який розташовано в правому нижньому куту блока. Ідентифікатор блока складається з ідентифікатору діаграми, на якій його розташовано, та номеру блока на діаграмі. Ідентифікатор завжди починається з букви A(activity). Дивись рисунок А.1.

Рисунок 1.1 — Приклад функціонального блоку

Функцію зображують разом з об‘єктами, що використовуються нею у роботі, керують нею, виконують її або виробляються нею.

Процедура «Макс» викликається (керується) процедурою «Цех». Процедура «Макс» виконує функцію «Обчислити максимальну продуктивність цехів». Для роботи в процедуру «Макс» передається «список продуктивності цехів». Результатом роботи функції є «максимальна продуктивність».

Об’єкти називають обмеженнями виконання функції. Функція виконується лише при наявності необхідних об’єктів.

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

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

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

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

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

Поняття моделі IDEF0

Модель IDEF0 — це ієрархічна структура з діаграм IDEF0, які визначають що робить система, разом з пояснюючим текстом, глосарієм і діаграмами FEO. Діаграми IDEF0 створюються за правилами методології IDEF0.

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

Метою створення системи можуть бути причини за якими розроблюється система.

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

Точка зору вказує на розроблювачів моделі.

Дуги на діаграмі А-0 називають зовнішніми дугами, вони являються інтерфейсом між користувачем і системою. (Дивись рисунок А.2.)

Рисунок А.2 — Приклад діаграми А-0: Система «Облік наукової роботи студентів»

На діаграмі рівня нижче ніж діаграма А-0 розташовують функції модулів(або програм), що деталізують функцію діаграми А-0. Функція, яка деталізується, називається вузлом.

Діаграма, що деталізує вузол, називається діаграмою декомпозиції. А діаграма, що містить вузол, називається батьківською діаграмою.

Діаграма декомпозиції має ідентифікатором ідентифікатор свого вузла, а назва функції стає назвою діаграми декомпозиції. Тому діаграма, що декомпозує верхню діаграму має ідентифікатор А0.

На діаграмі декомпозиції можна розмістити від 3 до 6 блоків. Щоб розмістити на діаграмі більше блоків треба в опції меню IDEF0/Attributes вказати максимальну кількість блоків.

Кожен блок має свій ідентифікатор, який складається з ідентифікатору діаграми та номера блоку на діаграмі. Виняток — ідентифікатори блоків на діаграмі А0, вони записуються без 0.

Наприклад, А15 – блок номер 5 на діаграмі А1, але блок А2 на діаграмі А0.

Діаграма А0 показує докладніше діаграму А-0. На діаграмі А0 показана функціональна структура системи з модулів.

У мові VISUAL PROLOG 5.2 кількість об’явлених предикатів(глобальних і локальних) у кожному модулю обмежена. В той же час головний модуль програми повинен містити всі глобальні об’яви.

Щоб розмістити у головному модулю більшу кількість глобальних предикатів, створюють модуль RUN. Модуль RUN містить тільки глобальні об’яви доменів та предикатів з усіх модулів і ціль з глобальним предикатом RUN, що ініціює модуль організації роботи системи.

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

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

Після закінчення роботи модуль повертає керування в модуль організації роботи. Приклад діаграми декомпозиції А0 дивися на рисунку А.3.

Рисунок А.3 — Приклад діаграми декомпозиції А0: Вести облік наукової роботи

Функції діаграми декомпозиції можуть також деталізуватися на нижчому рівні на функції процедур модуля. Такі діаграми можна застосовувати для розробки функціональної структури модулів.

Зв’язок діаграм моделі за ідентифікаторами вузлів та іменами функцій діаграми дозволяє розглядати функціональну модель, як єдине ціле, не тільки за змістом, а й формально.

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

еще рефераты
Еще работы по информатике