Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практична робота 2 КПЗ

.doc
Скачиваний:
11
Добавлен:
23.02.2016
Размер:
65.54 Кб
Скачать

Практична робота №2. Застосування проектної процедури на конкретних прикладах.

Мета: Отримати навички застосування проектної процедури до конкретних прикладів.

Теоретичні відомості: ПРОЕКТНА ПРОЦЕДУРА ПОСТАНОВКИ ЗАВДАННЯ РОЗРОБКИ ПРОГРАМИ

Проектна процедура базується на володінні системним подходом стосовно аналізу програмних систем. Спочатку розглядається система - людина (люди), ЕОМ, програма, інші об'єкти, наприклад технічні, як ланка, що виконує весь комплекс обробки інформації. Далі ці елементи возглядаються окремо для уточнення вимог. Програма має тільки інформаційний вхід і інформаційний вихід.

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

Середовище: фінанси, виробництво, стан науки і т.д.

Матерія

В И X

І

Д

Матерія

Енергія

В

X

І

Д

Наперед невідомий

Енергія

обєкт

Інформація

Інформація

Рис. 2.2. Модель «чорного ящика»

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

Суть проектної процедури. В якості прикладу наведемо такі кроки:

Крок 1. Проаналізуйте вихід системи, визначте склад і форму вихідних даних.

Крок 2. Проаналізуйте вхід системи, визначте склад і форму вхідних даних.

Крок 3. Визначте критерії якості перетворення вхідної інформації у вихідну інформацію.

Крок 4. Визначте обмеження.

Крок 5. Визначте основні алгоритми обробки інформації і розрахуйте час їх виконання.

Крок 6. Довизначте обмеження.

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

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

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

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

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

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

Загальна тенденція розвитку, тобто еволюція об'єкта на шляху до досконалості, має свої внутрішні закономірності і може бути зрозуміла на основі цих закономірностей. Які ж ці закономірності?

Закономірність 1. З точки зору споживчих функцій: «Чим ширше склад споживчих функцій, чим інтенсивніше кількісна сторона їх прояву, тим досконаліша система».

Приклад. З двох дівчат одного віку, однакової освіти, що проживали з дитинства до теперішнього моменту пліч-о-пліч в одному місті, за умови, що вони однаково улюблені, неможливо вибрати кращу в жінки. Якщо ввести додатковий критерій, то завдання спрощується. Наприклад, наявність посагу. Однак багатокритеріальна задача вибору може "стати важкою і її легше вирішувати лише з використанням спеціальних методик.

Спробуйте самостійно вирішити завдання: «Яка з відомих вам програм редактора текстів більш досконала?»

Закономірність 2. З точки зору впливу факторів зовнішнього середовища комп'ютера: «Чим ширше інтервал умов зовнішнього середовища, всередині якого здатні реалізовуватися споживчі властивості конкретної системи, тим система досконаліша».

Приклад. З двох дівчат - кандидаток у дружини - набагато переважає більш невибаглива - це вже зовсім банальна істина.

Чи згодні ви, що з двох програм редактора текстів перевагу має та, яка може виконуватися на ЕОМ з меншою пам'яттю?

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

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

Який редактор текстів переважніше: 1) з вбудованим орфографічним контролем; 2) із зовнішньою програмою орфографічного контролю, розробленою іншим виробником?

Приклад. Проведемо системний аналіз електронного архіву (ЕА), що забезпечує доступ до документів та їх зберігання в електронному вигляді. Мета створення ЕА полягає в забезпеченні оперативного і повноцінного доступу до всіх документів, що зберігаються і надходять. Для цього треба вирішити два основні завдання: ввести масив наявних в архіві документів і забезпечити можливість оперативного повнотекстового доступу до електронних документів.

Крок 1. Перелічимо основні функції ЕА: сканування; розпізнавання і корегування помилок; створення і міграція електронних документів і образів; індексування документів; оперативний пошук і відображення документів.

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

У розглянутій системі можна виявити наступний ряд обмежень на реалізацію споживчих функцій:

- Недосконалість зберігання образу документів з використанням магнітних дискових носіїв внаслідок їх невисокої надійності без багатократного резервування;

- Непридатність використовуваних нині офісних сканерів (не дозволяють вводити документи на паперових носіях низької якості: рукописні, злиплі, вицвілі, порвані, різних розмірів і щільності, погано протягнуті в пресі, забруднені і т. д.);

- СУБД, особливо реляційного типу, не орієнтовані на інтенсивну обробку надвеликого обсягу інформації.

Крок 2. Завдання проектування:

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

2) використання сканерів і відповідних програмних засобів для введення документів з паперових носіїв низької якості;

3) забезпечення ефективного індексування і повнотекстового пошуку неструктурованої інформації великого обсягу.

Крок 3. Можливість технічної реалізації розглянутої системи:

- можна використовувати дешеві носії - компактні диски; різко знизився показник вартість / продуктивність для високошвидкісних обчислювальних систем, мереж і пристроїв;

- Одержали розвиток апаратно-програмні системи, що реалізують паралельну обробку запитів; підвищився рівень інтерфейсу роботи з СУБД;

- З'явилися нові інформаційні технології індексування надвеликих масивів даних;

- Розроблені і розвиваються вітчизняні технології і програмні продукти розпізнавання й аналізу україномовних текстів;

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

Крок 4. В якості пріоритетних завдань вдосконалення системи можна виділити наступні:

1) використання комбінації різних технологій індексування і пошуку. Намітилося кілька напрямків побудови електронних архівів в залежності від використовуваних в них методів пошуку (використання атрибутного пошуку структурованих даних і повнотекстового індексування неструктурованих даних);

2) використання спеціалізованих промислових сканерів, орієнтованих на потоковий ввід архівних документів. Відмінна риса таких сканерів - ротаційний механізм переміщення документів, що дозволяє вводити дані з паперових носіїв поганої якості;

3) через високі вимоги до швидкості доступу до пошуковому образу документа та його цілісності, здійснення його зберігання в високошвидкісних відмовостійких системах зберігання, наприклад RAID-масивах. Найбільш відповідними носіями можуть бути і оптичні (CD, CD-R) диски. Для автоматизації пошуку інформації, розміщеної на цих дисках, її витягу і роботі власне з дисками використовуються автоматичні бібліотеки;

4) використання тільки потужних масштабованих RISC-платформ, орієнтованих на паралельні обчислення.

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

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

Ознака 1. Порівняння по максимально рівню досягання розвитку споживчих властивостей.

Ознака 2. Порівняння систем і пошук рішення на основі максимального резерву розвитку.

Нижче наведено приклад опису проектної процедури «Редактор текстів». У прикладі наводиться спочатку зовнішня функціональна специфікація, а потім внутрішня специфікація.

Програма «Редактор текстів» призначена для створення нових і коректування існуючих текстових файлів MS DOS в діалоговому (користувач-ЕОМ) режимі роботи. ЕОМ формує екран з вікном, в якому відображено ділянку тексту з текстового файлу (макет екрану відповідає внутрішньому редактору програми Norton Commander). Користувачеві забезпечується можливість вставки в текст у вікні екрану будь-якого символу клавіатури за символом, зазначеним на екрані курсором. Виняток становить ряд символів, які є ознаками команд управління або незадіяними символами (наводиться список символів). Після подачі користувачем команди запису всі зміни тексту, здійснені користувачем, записуються в файл.

Основний принцип роботи редактора текстів полягає в перенесенні рядків тексту з необхідних ділянок файлу спочатку в буферний масив пам'яті довжиною в 65535 байт (символів) з подальшим копіюванням необхідних рядків з буферного масиву у вікно екрану.

Запуск програми здійснюється командою із зазначенням имені редагованого файлу. Далі, поки не буде вказано коректне ім'я файлу, може почати багаторазово виконуватися алгоритм «Запит користувача на введення або коригування імені файлу».

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

Після здійснюється очищення буферного масиву редактора рядкових змінних з 5 • 23 = 115 рядків довжиною по 225 символів.

Далі при параметрі «Перший рядок файлу» виконується алгоритм «Завантаження рядків файлу, починаючи з зазначеного рядка в буферний масив редактора». Потім до подачі користувачем однієї з команд завершення редагування із збереженням інформації (або без збереження) виконується головний цикл програми. Накінець, якщо була дана команда завершення із збереженням інформації, то інформація з буферного масиву переписується в файл. Виконання програми завершується очищенням екрану.

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

Усередині головного циклу програми виконується ряд з трьох послідовних дій. «Алгоритм відображення» відображає на екрані 23 рядки тексту з буферного масиву, починаючи з заданого рядка. Далі встановлюється курсор дисплея на задану позицію екрану. Здійснюється введення коду натиснутої клавіші. Якщо код натиснутою клавіші відповідає керуючої клавіші, то виконується одна з альтернативних дій по виконанню команди, яка відповідає даній клавіші. В іншому випадку здійснюється вставка символу в текст.

ЗАВДАННЯ практичної роботи:

Застосувати проектну процедуру до конкретного прикладу.

  1. Розв’язання квадратного рівняння.

  2. Розв’язання системи рівнянь методом Крамера.

  3. Пошук мінімального елемента масиву.

  4. Організація роботи диспетчера автовокзалу.

  5. Власна тема.