визначення зовнішніх специфікацій рівнянь

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Лабораторна робота № 1
ВИЗНАЧЕННЯ ЗОВНІШНІХ СПЕЦИФІКАЦІЙ ПРОГРАМ
З ДОПОМОГОЮ HIPO-ТЕХНОЛОГІЇ
Мета роботи: ознайомитися з методикою розробки зовнішніх специфікацій програм, заснованої на використанні HIPO-технології проектування програм; придбати практичні навички визначення і оформлення зовнішніх специфікацій програм.
При підготовці до заняття перш за все необхідно засвоїти призначення зовнішніх специфікацій при проектуванні програм. Потім необхідно вивчити правила і мовні засоби, що застосовуються для складання специфікацій вимог і функціоннальних специфікацій. Особливу увагу слід звернути на використання стандартів з HIPO-технології для визначення та документування зовнішніх специфікацій програм.

Контрольні питання

1. Що називається специфікаціями програми?
2. Хто складає специфікації програми?
3. У чому відмінність специфікації вимог і функціональних специфікацій?
4. Які мови застосовуються для опису специфікацій?
5. Які питання слід висвітлити при складанні зовнішніх специфікацій?
6. Назвіть методи перевірки правильності розроблених специфікацій?
7. Які особливості HIPO-технології проектування програм?
8. Як складаються IPO-діаграми і схема складу розкладання?

Методичні вказівки
Методика розробки програм на базі структурного підходу складається з наступних етапів:
- Аналіз вимог і визначення зовнішніх специфікацій;
- Проектування алгоритмів;
- Кодування алгоритмів;
- Тестування і документування програми.
Підготовку повних і правильних специфікацій вважається одним з найвідповідальніших етапів у розробці великих програмних комплексів. Завдяки складання зовнішніх специфікацій уточнюється вихідна постановка задачі та усуваються суперечності, які обумовлені неоднозначністю понять природної мови, що застосовується для опису умови задачі і функцій програми. Зовнішні специфікації - найважливіший документ для кожної програми, що описує зовнішнє взаємодія програми з користувачем без конкретизації внутрішньої структури самої програми.
Складання специфікацій - це функція не замовника, а фахівців особливого роду, що володіють знаннями в галузі системного аналізу, проектування і тестування програм, психології спілкування людини з машиною, теорії програмування і т.п. Специфікації великих програмних комплексів записуються на спеціальних мовах. Застосовуються два класи мов специфікацій:
- Мова специфікацій вимог (мова технічного завдання);
- Мова функціональних специфікацій.
Мови опису вимог до програмного продукту майже не формалізовані. До цього класу належать, наприклад, мови PSL (США), Сипле (СНД) і відповідні їм транслюють системи PSA, ADS [] і сиплий, які автоматизують розробку вимог на ЕОМ. Аналізатор цих систем, спілкуючись із замовником в діалоговому режимі "питання-відповідь", перевіряє відповіді на несуперечність, повноту і в результаті формує лістинг специфікацій вимог. Проте ці схеми не знайшли широкого поширення із-за вузької спеціалізації і необхідності виділення для їх роботи великої кількості машинного часу. В даний час розробляються нові покоління засобів системного аналізу.
Мови функціональних специфікацій є напівформальному і описують всі функції, реалізовані програмою на ЕОМ. Для цієї мети був розроблений універсальна міжнародна мова SDL (США) і аналогічний йому в СНД мова PLUS. Крім того, для малих і середніх програм дуже часто застосовуються спеціалізовані стандарти, що визначають правила запису специфікацій з урахуванням специфіки розв'язуваних завдань і затвердилися традицій в технології програмування. У будь-якому разі зовнішні специфікації кожної функції повинні висвітлювати наступні питання.
1. Опис вихідних даних. Повинні бути точно описано синтаксис (формат) і семантика (призначення, тип, допустимі значення, область зміни) всіх вихідних даних, які вводить користувач у програму.
2. Опис вихідних даних. Дається точний опис семантики та синтаксису всіх результатів, які формуються програмою, а також повідомлень оператору про помилки, про хід обчислювального процесу, про запити і т.д. Вказується реакція програми на некоректність вихідних даних.
3. Опис функцій перетворення інформації, виконуваних програмою, з точки зору користувача.
4. Додаткові відомості про програму: обмеження на використовувану пам'ять, довжину програми, час її роботи; ідеї щодо внутрішнього проектування функцій (якщо це необхідно).
Для перевірки правильності зовнішніх специфікацій застосовують ряд методів. Наприклад, неповноту і неоднозначність специфікацій можна перевірити за допомогою таблиці рішень []. Також ефективним прийомом оцінки зовнішніх специфікацій служить наскрізний контроль за схемою "вхід - інтерпретація специфікацій - вихід" []. У відповідності з цим методом на початку для кожної функції будуються "тести на папері", а потім імітується введення цих даних в систему і простежується перетворення їх у відповідні вихідні дані, використовуючи при цьому специфікації як опис поведінки системи. Якщо специфікації для якого-небудь набору вхідних даних недостатньо повно і правильно описують вихідні дані, то це означає, що виявлена ​​помилка.
Одним з ефективних засобів складання зовнішніх специфікацій за принципом "зверху-вниз" є HIPO-технологія []. Зовнішні специфікації, отримані за цією технологією, ще називають вихідним описом програми. Воно являє собою альбом зв'язкових між собою схем, кожна з яких описує будь-яку частину завдання або системи, що підлягає розробці. При складанні початкового опису необхідно розділити розглянуту задачу на частини. При цьому слід дотримуватися наступних рекомендацій:
- Розподіл об'єкта повинно осущетвляется послідовно і зверху вниз;
- Кожна відокремлювана частина повинна описувати будь-яку закінчену змістовну функцію, а методи і особливості реалізації не повинні враховуватися при розкладанні.
У результаті розробник отримує коплект документації: схема складу розкладання і схеми (IPO-діаграми) кожного з елементів розкладання.

Початкове опис
Системи Диспетчер
Схема Складу
Номер: 0.1
Схема
складу розкладання
Лист: 2
Автор: Іванов А.
Відділ: каф. Поїсом
Дата: 1.09.99
Перевірити
синтаксис
введеної
команди
2.1
Розташувати
заявки в
зворотному
порядку
2.2
Видалити з
черги зазначену
заявку
2.4
Упорядкувати
заявки
2.3
Поставити
заявку в
початок
черги
2.5
Автоматизувати
обробку черзі
заявок по командам
оператора
1.1



Сортувати методом
бульбашки
3.1


Рис. 1. Схема складу розкладання
Схема складу розкладання зображується у вигляді деревовидного графа з коренем у верхній частині листа (рис.1). Вершинами графа служать прямокутники, що зображують елементи розкладу, в кожен з яких необхідно вписувати короткий функціональне призначення елемента, номер рівня від кореня дерева і номер у рівні. При складанні схеми спочатку виділяються найважливіші функції системи. Потім кожна з цих функцій поділяється на ряд підфункцій нижнього рівня, кожна з яких також описується і т.д. Кожному прямокутнику в альбомі документації повинна відповідати схема (IPO-діаграма) з тим же змістовним назвою. Якщо будь-яка схема ще не складена, то такий прямокутник позначається пунктиром.
Крім графа складається зміст альбому документації (рис.2), що включає позначення всіх елементів, їх змістовне назву і номери аркушів в альбомі, на яких поміщена схема опису цих елементів. Наочна схема складу розкладання і зміст дозволяють полегшити пошук інформації потрібному ступені подробиці або потрібної діаграми безпосередньо за індексом, без перегортання всього альбому.
Опис кожного елемента розкладання виконується у вигляді IPO-діаграми, яка показує його як функцію обробки інформації.
На діаграмі повинні бути чітко виражені три основні складові схеми: вхідна інформація, функція обробки, вихідна інформація, що наочно й природно відповідає дійсно відбуваються.
IPO-діаграму рекомендується креслити на бланках, застосовуючи лінійки - шаблони. Бланк "по вертикалі" ділиться на три зони. Верхня зона служить для ідентифікації схеми, тобто містить відомості про саму схему і автора. У другій зоні розміщується сама діаграма, а в третій, що відводиться в нижній частині бланка, поміщаються коментарі до елементів схеми. Зона розміщення діаграми "по горизонталі" ділиться також на три частини: вхідні дані, функції перетворення (обробка) даних, вихідні дані. Функції перетворення з вхідними та вихідними даними з'єднуються стрілками. Застосовувані умовні позначення даних, шляхів їх передачі і т.п. повинні наводитися в кожному альбомі (рис. 2).
На схемі біля кожного даного пишеться його ім'я. Записи в розділі "обробка" виконуються у формалізованому вигляді. Використовуються записи двох типів: записи-функції і запису-умови.
Записи-функції - це словесні описи на необхідному у конкретній IPO-діаграмі рівні деталізації. Якщо запис-функція підлягає подальшій деталізації IPO-діаграмами більш низького рівня, то вона полягає в прямокутник.
Записи-умови можуть бути альтернативними або ітеративними.
Альтернативна запис може мати наступний вигляд:
ЯКЩО <змістовний опис умови> ТО
<Запис>
ІНАКШЕ
<Запис>. . .
Ітеративні записи використовуються для утворення циклічних структур і можуть мати вигляд:
ПОКИ <змістовний опис умови закінчення циклу>
<Запис>
<Запис>.
Початкове опис
Системи Диспетчер
Схема Зміст
Номер: 0.0

Зміст альбому

документів і умовні
обозначанія
Лист: 1
Автор: Іванов А.
Відділ: каф. Поїсом
Дата: 1.09.99
Позначення

Найменування

Лист
Примітка
0.0
0.1
1.1
2.4
Зміст альбому документації та умовні позначення
Схема складу розкладання
Автоматизувати обробку черзі
заявок по командах оператора
Видалити з черги зазначену заявку
Зв'язок програми Диспетчер з використовуваними зовнішніми і внутрішніми структурами даних
1
2
3
4
5
Структурна схема (рис. 3)

Дані Зв'язки



Дані, що вводяться Передача даних
з клавіатури
Дані, що друкуються на Злиття потоків
принтері даних


Дані на магнітному Перетин
диску потоків даних


Єдине дане Аналіз даних

А Зв'язок з управління

Групове дане нію всередині аркуша
з виділенням частини А А-номер або літера
Групове дане, У Зв'язок з управління
складається з З нію між листами
декількох В - номер аркуша
складових В С - номер елемента

З

Рис. 2. Зміст і умовні позначення
Усі записи в IPO-діаграмі індексуються найбільш зручним для розробника способом (для посилань). Текст кожного запису рекомендується починати з дієслова в наказовому способі.
Рекомендується дотримуватися ряду правил, що поліпшують наочність схем. Стрілки між лівою і середньої частинами схеми дозволяється направляти тільки зліва направо. Якщо вхідні дані використовуються як вхідні для інших перетворень, зображених на цій же схемі, то стрілка від цих даних може бути спрямована справа наліво, з правої частини схеми в середню.
При втрати наочності такі дані показуються двічі: у правій частині - як вихідні і в лівій - як вхідні з відповідною позначкою. Схема в цілому повинна бути невеликою, бажано, щоб вона розміщувалася на одному аркуші, а кількість перетворень в ній не повинна перевищувати десяти. Якщо схема вийшла мало наочної, то її слід заново перекреслити.
У зону коментарів вносяться відомості, необхідні для розробки програми, але не зменшують наочність схеми. Це можуть бути відомості про організацію даних, розрахункові формули в перетвореннях, докладні посилання на схеми, які описують деталізіруемие далі перетворення. Коментарі складаються у вигляді таблиці, що включає порядковий номер коментаря, позначення елемента схеми, до якого належить коментар, зміст коментаря і посилання на іншу схему, в якій є більш докладний опис.
До альбому допускається включення документів, оформлених за іншими правилами, якщо на них є посилання в одній зі схем: форми звітів, опис вхідних (вихідних) даних складної структури і т.д. Процес складання схем є ітеративним!
На магнітному диску є черги заявок. Кожна заявка представлена ​​у вигляді запису, що містить ім'я заявки і пріоритет на обслуговування. Проектована програма організує діалог з оператором і в залежності від введеної команди забезпечує:
- Розташування заявок у зворотному порядку (реверс);
- Упорядкування заявок за зростанням пріоритету (сортування);
- Видалення заявки з вказаним ім'ям з черги (видалення);
- Перестановку заявки з вказаним ім'ям на початок черги (переміщення).
Схема складу розкладання і зміст вихідного опису програми показані на рис. 1 і 2. Приклади оформлення IPO-діаграм представлені на рис. 4 і 5.
Вхід Обробка Вихід


п / п
Елемент
Коментар
Схема
Номер
Лист
1
Команда
Введена оператором команда:
<Операція> [: <імя_заявкі>]
Рис. 4. IPO-діаграма.

чергу
заявок

А
імя_заявкі
заявка
У
буфер
заявок
1. Читати чергову заявку
з черги
2. ЯКЩО заявок немає
ТО закінчити перегляд черги
3. ЯКЩО ім'я прочитаної заявки не
Так само вказаною в команді
ТО
3.1Занесті заявку в буферний
масив записів
3.2Счет заявок N: = N +1
4. Продовжити перегляд черги
5. Переслати N заявок з буфера
в чергу
Заявка
Ім'я
Пріоритет
У
буфер
заявок

N

А

чергу
заявок

п / п
Елемент

Коментар
Схема
Номер
Лист
1
2
3
4
5
Черга
Імя_заявкі
Буфер за-
явок
Заявка
N
Послідовний файл заявок
Імя_заявкі, введене опера-
Тором
Тимчасовий масив записів
Рядок: Ім'я Пріоритет
Лічильник заявок
Дис-петчер
1.1
3
Рис. 5. HIPO-діаграма.
Завдання до лабораторної роботи
За допомогою HIPO-технології скласти зовнішні специфікації для комплексу програм розв'язання однієї з наступних завдань.
1.Чісленное рішення задачі Коші для диференціального рівняння методом Рунге-Кутта і Адамса з автоматичним вибором кроку і заданим кроком.
2.Інтерполірованіе табличній функції.
3.Чісленное рішення системи лінійних алгебраїчних рівнянь методами простої ітерації, Зейделя та верхньої релаксації.
4.Сглажіваніе функції кубічними сплайнами і многочленами середньоквадратичного наближення.
5.Чісленное рішення одноразових інтегралів для таблично та аналітично заданих функцій із заданою точністю.
6.Вичісленіе оберненої матриці і визначників за схемою Гауса.
7.Чісленное рішення нелінійного рівняння методами діхотаміі, дотичних, хорд, ітерації і комбінованим.
8.Чісленное рішення системи нелінійних алгебраїчних рівнянь методами Ньютона, простих ітерацій і Зейделя.
9.Чісленное рішення задачі Коші для звичайного диференціального рівняння методами Ейлера, Ейлера-Коші і вдосконаленим.
10.Чісленное рішення крайової задачі для звичайного диференціального рівняння методами сіток, колокацій і найменших квадратів.
11.Чісленное рішення крайової задачі для диференціального уранненія в приватних похідних еліптичного виду методом сіток і з застосуванням методів простої ітерації, Зейделя та верхньої релаксації.
12.Чісленное рішення крайової задачі для диференціального рівняння теплопровідності з однією і двома просторовими змінними з використанням явної і неявної різницевих схем.
13.Чісленное рішення крайової задачі для диференціального рівняння гіперболічного типу з однією і двома просторовими змінними з використанням явної і неявної різницевих схем.
14.Нахожденіе екстремумів одновимірних функцій методами дихотомії, "золотого" перетину і Фібоначчі.
15.Решеніе завдання лінійного програмування симплекс-методом.
16.Безусловная оптимізація функції багатьох змінних градієнтними методами найшвидшого спуску, Ньютона і зв'язаних градієнтів.
17.Определеніе оптимуму в задачі квадратичного програмування на основі зведення її до задачі лінійного програмування.
18.Решеніе транспортної задачі з можливістю знаходження опорного плану за методом північно-західного кута, мінімального елемента або апроксимації Фогеля.
19.Целочісленное рішення задачі лінійного програмування методом Гоморі.
20.Построеніе кратшайшего кістяка графа методами Краскала і Прима.
21.Решеніе завдання про мінімальний маршруті в транспортній мережі (графі) методами Дейкстри і Форда.
22.Нахожденіе найкоротших шляхів між усіма вершинами графа за алгоритмом Флойда.
23.Построеніе ейлерова циклу в зв'язковому неорієнтованому мультіграфе.
24.Решеніе задачі про комівояжера методом Літтла.
25.Решеніе задачі про максимальний потік в мережі з одним джерелом і одним стоком методом Форда-Фолкерсона.
26.Подсчітать міру структурованості S = (1-G / С) * 100% і міру документованості D = K / C * 100% довільної програми на мові Паскаль, де С-число рядків у програмі, G-число операторів GOTO в ній, К-кількість коментарів.
27.Імеется файл із записами Z1, Z2 ,..., ZN. Кожен запис має ключ К. Побудувати програму сортування записів як за спаданням, так і по зростанню їхніх ключів.
28.Нахожденіе аналітичного вирішення квадратного рівняння. В якості вихідної інформації служить символьне представлення рівняння виду Ф (Х, Х ** 2, А, В, С) = 0.
29.Аналіз виду рівняння (Ф) і приведення його до канонічного вигляду (ФК).
30.Проверка приналежності (ФК) до повного квадратному рівнянню і формування форми аналітичного рішення.
31.Проверка приналежності (ФК) до наведеного рівняння іформірованіе форми аналітичного рішення.
32.Проверка приналежності (ФК) до неповним рівнянь виду АХ ** 2 + ВХ = 0, АХ ** 2 + С = 0, ВХ + С = 0 і формування аналітичного рішення.
Порядок виконання роботи
1.Уясніть вихідну постановку задачі і згадати суть методів її вирішення.
2.На основі системного аналізу і декомпозиції розбити вихідну завдання на ряд більш простих підзадач (розщеплення виконувати послідовно і зверху вниз). Скласти ієрархічну схему складу розкладання, застосовуючи HIPO-технологію.
3.Виполніть опис кожного елемента розкладання у вигляді IPO-діаграми.
4.Проверіть правильність розроблених зовнішніх специфікацій за таблицею рішень або за схемою "вхід-інтерпретація специфікацій - вихід".
5.Оформіть зовнішні специфікації програм як альбом зв'язкових схем (креслень).

Зміст звіту

1.Постановка завдання.
2.Внешніе специфікації програми у вигляді альбому зв'язкових схем, складеного за HIPO-технології та влючає:
-Зміст альбому документації та умовні позначення;
-Схему складу розкладання;
-Набір IPO-діаграм, що реалізують елементи структури.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Методичка
63кб. | скачати


Схожі роботи:
Визначення зовнішніх специфікацій програм за допомогою HIPO технології
Визначення зовнішніх специфікацій програм за допомогою HIPO-технології
Право зовнішніх зносин 2
Драйвери зовнішніх пристроїв
Право зовнішніх зносин
Вплив на зародок зовнішніх факторів
Технологія монтажу зовнішніх трубопроводів
Державне регулювання зовнішніх економічних зв`язків
Звязок зовнішніх форм тварини з продуктивністю
© Усі права захищені
написати до нас