Б С Бусигін - Прикладна інформатика - страница 23

Страницы:
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  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83 

цим класом.

Ці класи формирують без належності

—о

цей клас.

Ці класи формирують і є частиною

 

цього класу.

Цей об'єкт посилає синхронні повідомлення

—►

цьому об'єкту.

Цей об'єкт посилає асинхронне повідомлення

г

цьому об'єкту.

Рис. 7.24. Асоціації діаграм мови ЦМЬ.

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

Рис. 7.25.

Діаграми кооперації (collaboration)

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

^ Діаграми кооперації (взаємодії) описують взаємодію

У    і і     об'єктів системи, для цілей отримання (рос.-получения)

^ -1-*     деякого результату (рис.7.25). Під отриманням результату

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

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

і Треба також мати на увазі, що Діаграма слідування

НР- (послідовності) уявляє собою і має два виміри (рос-

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

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

Для Діаграми кооперації головним є можливість відобразити не стільки послідовність взаємодії, скільки усе оточення об'єктів, які приймають участь у ньому. Тобто показані не тільки повідомлення, що посилаються і приймаються, але й побічні (рос.- косвенные) зв'язки поміж асоційованими об'єктами. Стверджують, що Діаграми кооперації описують повний контекст взаємодії і уявляють собою своєрідний тимчасовий (рос.-временной) "зріз" конфігурації мережі об'єктів, які взаємодіють для виконання визначеної бізнес-цілі програмної системи.

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

Рис. 7.26.

Діаграми слідування (sequence)

Рис. 7.27.

Діаграми становищ (state)

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

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

Діаграми активності - окремий (рос.-частный) випадок Діаграм становищ (7.28). Кожний стан - це сутність виконання деякої операції. А перехід у наступне становище спрацьовує тільки при завершенні операції у початковому становищі. Таким чином, реалізується принцип процедурного, синхронного управління, який обумовлено завершенням внутрішніх дій. Становище, яке описується не має внутрішніх переходів і переходів по зовнішнім подіям.

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

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

С

і

Рис. 7.28.

Діаграми активності (activity)

Рис. 7.29.

Діаграма компонентів (component)

Рис. 7.30.

Діаграма розгортання (deployment)

Діаграми компонентів і розгортання,

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

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

Питання

1. Чому  все  більше  ускладнюється  процес  розробки  програм і програмних систем?_

2. Яки і чому існують 5 рівнів складності програмування?_

3. Які існують 5 рівнів у розвитку мов програмування?

4. Чим викликана поява об'єктно-орієнтованому підходу?

5. Який комплекс цілей було втілено і реалізовано у мові моделювання процесу розробки програм ЦМЬ?_

6. Які існують засоби проектування і реалізації у інфраструктурі ЦІУІЬ?

7. Що складає структуру ЦІУІЬ і що входить до його складу?

8. Для чого призначені діаграми ЦМЬ і як вони звуться?

9.   Які головні процеси розробки програмних систем спрощує мова ЦМЬ?_

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

Енциклопедія.

8. ВСТУП ДО ТУРБО ПАСКАЛЮ 8.1. Початки (рос.-истоки) Турбо Паскалю

196G

197G

Інформаційні технології (ІТ), як сукупність засобів та методів обробки

даних     та     інформації за

198G

199G

1995

ALGOL 6O

Pascal

_\_

Smalltalk-72

І

Smalltalk-74

Smalltalk-76

Smalltalk-80 І

Quick Pascal

(Microsoft)

Turbo Pascal (Borland)

_

C with Classes

і

C++ 1xx

I

C++ 2xx

Object Pascal

(Borland)

Процедурі мова

на

Об'єктна мова

Об'єкгнгофєнтована мова

Рис. S.l. Генеалогія мови Турбо Паскаль

допомогою персональних комп'ютерів, набули статусу головних діючих сил сучасного індустріального суспільства. Розуміння основ ІТ та оволодіння їхніми головними концепціями та навичками ефективного застосування розглядається зараз у світі як одна з фундаментальних основ освіти на рівні володіння читанням та письменністю. Взагалі, інформатика є галуззю науки, що вивчає структури та загальні якості інформації, а також питання, пов'язані зі збором, зберіганням, пошуком, переробкою, перетворенням, розповсюдженням та використо­вуванням її у різних сферах діяльності людини. Тому дуже важливо основний натиск у вивчанні мов програмування робити на модель "з орієнтацією на програмування" (program-ming-first introduction), де одною

з найпопулярніших є мова Турбо Паскаль (рис.8.1).

1SC

При цьому треба додати по-перше, що ця мова є підмножиною об'єктно-орієнтованої мови Object Pascal - основи досить широко розповсюдженого середовища швидкої розробки додатків Delphi.

По-друге, мова Паскаль, яка лягла у основу мови ТП, розроблялася з наступними цілями:

О дозволяти систематично і точно виражати концепції і структури головних елементів галузі програмування;

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

© показувати, що мова програмування з багатим набором гнучких структур даних (у протилежність мові С) і управляючих конструкцій може бути реалізована ефективно;

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

Відповідно цього, у матеріал даного видання закладено завдання засобами мови Турбо Паскаль навести (рос.-представить) наступні головні елементи концепції мов програмування:

О моделі і структури даних; © керуючі структури; © порядок виконання керуючих структур;

О алгоритми й обчислення;

© концепцію розробки інтерфейсу програм й програмних систем;

© засоби дослідження розроблених програм._

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

О Так, як інтегроване середовище розробки (ІСР) Турбо Паскаль (ТП)

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

© На екрані виводяться ті іншомовні тексти, які є строковими константами (тобто наборами символів, що середовищем Турбо Паскаль не аналізуються і виводяться у відповідності з їх кодом). Наприклад, український текст, що відокремлений (рос.- ограничен) з обох боків лапками (рос.-кавычками): "Українська мова" буде однозначно виведено на екран комп'ютера оператором процедури ШЯІТЕЬ]\І('Українська мова')  у  такому  ж  вигляді  (при наявності

Рис. S.2.

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

© У зв'язку з тим, що закордонні фірми ще не українізували програмні продукти (засоби) широкого походження (Windows, Word, Excel, Turbo Pascal та ін.), поширене походження поки мають російські терміни, які і будуть у подальшому використовуватися для широкого кола користувачів (у тому числі і закордонних студентів з СНГ).

Взагалі, навіть і сьогодні, не усім відомо, що інтегроване середовище розробки (IDE2) Турбо Паскаль (TURBO PASCAL) виробництва фірми Borland International (США) інтегрувало у собі вплив та внесок трьох талановитих європейських фахівців.

Блез Паскаль (Blaise Pascal) (1623 - 1662), француз за походженням, був видатним математиком, фізиком і філософом (рис. 8.2). У 1641 році він сконструював першу у світі машину, що суммувала числа. Це був перший цифровий калькулятор у світі, звався "Паскаліною" і був подібним до механічних калькуляторів, що використовувалися значно пізніше у 1940-х

роках.

Швейцарець Ніклаус Вірт (Niklaus Wirth), відомий усьому сучасному світові науковець, ■■ програміст і викладач(рис. 8.3), розробив нову

jflL алгоритмічну мову Паскаль у 1968 р. для цілей реалізації концепції підтримки виконання обчислень з чіткою типізацією і назвав її ім'ям Блеза Паскаля. Мова розроблялася Віртом спеціально з педагогічними цілями і з урахуванням простоти отримання відповідного машинного коду. Завдяки цьому створення такого компілятора не перевищує за трудомісткістю нормальну дипломну роботу випускника вищого навчального закладу. Окрім цього, сама мова вийшла дуже простою. Опис стандартного Паскалю займає біля 30-ти сторінок тексту.

З появою персональних комп'ютерів багато програмістів почали використовувати їх для

Рис. S.3. Ніклаус Вірт

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

2 IDE - (Integrated Development Environment - Інтегроване середовище розробки (ІСР)) - програмний засіб у якому співпрацюють разом редактор тексту, компілятор, завантажувач (рос. - загрузчик) та інщі компоненти роботи з програмою.вирішення своїх прикладних задач. Але існуючі компілятори і транслятори з мов ALGOL, FORTRAN та інших працювали досить повільно. Одному з французьких програмістів на ім'я Філіп Кан (Philippe Kahn), парижанину за походженням, з родини німецького інженера і французької кінорежисерки та датчанину Андерсу Хейльсбергу (Anders Hejlsberg) (рис. 8.4), це дуже заважало у роботі. Ф. Кан до того ж, свого часу вчився у університеті у "самого" Ніклауса Вірта. От вони і засіли поодинці за роботу і зробили у 1982 р. не тільки самий швидкий у світі компілятор з алгоритмічної мови Паскаль, а ще й дуже зручне середовище для роботи з ним, яке й назвали Turbo Pascal (Турбо, тобто "швидкий" Паскаль). Розповсюдження його було почато наприкінці 1983 року у США фірмою Ф. Кана Borland International по ціні US$49.95.

Низька ціна та висока якість зробила цей програмний продукт доступним мільйонам користувачів та професійних програмістів. Тільки за два роки було продано 300 000 екземплярів Турбо Паскалю, що перебільшило кількість усіх компіляторів з інших мов програмування для

мікрокомп'ю-терів на той час! І зараз користуються повагою програмістів усього світу програмні продукти фірми Borland, такі, як Delphi останніх версій 5, 6 та 7, Paradox, Quattro Pro, Turbo Pascal, Borland C++, Sidekick, ObjectVision та інші. Більше ніж 50-ти мільйонів користувачів залишили свої електронні поштові адреси на сайті цієї фірми для

сесійної розсилки новин та програмних апгрейдів. За 2002 рік фірмою було продано програмних продуктів на суму $US226 мільйонів, а 900 її штатних співробітників працюють у офісах країн США, Австралії, Франції, Англії, Німеччини, Італії, Швеції, Сінгапура та Данії.

Варто додати, що А. Хейльсберг є автором мови Delphi (1975 р.), а після запрошення до фірми Microsoft у 2000-му році він розробив мову С# (Сі шарп). За це та за особистий внесок у розвиток програмування у 2001 році його було нагороджено престижною премією відомого у світі видання "Dr. Dobb's Journal".

Цікаво, що компілятор мови Турбо Паскаль був написаний на мові С (Сі). А цю мову, розробив у 1972 році Денніс Річі (Dennis Ritchie), 31-річний американський спеціаліст з системного програмування

Рис. S.4. Філіп Кан та Андерс Хейльсберг (19S2 р.)

Рис. S.5.

Денніс Річі

3 Компілятор (транслятор) - програма яка переводить початковий текст програми, що написан програмістом на мові високого рівня у еквівалентну програму на машинній мові комп'ютера.

(рис. 8.5), котрий отримав ступінь бакалавра з прикладної математики у Гарвардському університеті і почав працювати у "Bell Telephone Laboratories" у 1968 році. Річі сподівався, що його нова мова стане в нагоді для програмування нової операційної системи UNIX. До речі, автор UNIX Кен Томсон (Ken Thompson), що був автором прародича С - мови В, вважався серед колег найкращім програмістом у світі!

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

Тому Турбо Паскаль є зараз водночас і середовищем розробки програм і алгоритмічною мовою програмування. У RAD Delphi подальші розширення кількості управляючих конструкцій, типів і структур даних призвели до появи мови ООП Object Pascal/Delphi, яка за своїми можливостями дорівнює таким відомим мовам, як C++, SmallTalk, Java, Python та ін.

8.2. Технологія роботи у середовищі Турбо Паскаль версії 7.0

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

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

1. Вирішення задачі в її предметній області: алгебра, геометрія, електротехніка, гірнича справа і т.д. до одержання конкретних кінцевих формул результату (ТП за Вас цього не зробить!). Приклад: Обчислення факторіала п! без рекурсії.

2. Вибір вхідних і вихідних даних, які необхідні для рішення поставленої задачі.

Рис. S.6. Текст програми з іменем First, яка набиралася у файл-менеджері Volcov Commander у файл first.pas і шлях до якого має ім'я D:\gm\pascal\first.pasклавіатури файл5 з

3. Проходимо по розділі описів програми ТП, починаючи з модулів, що підключаються. Чи потрібний розділ Uses і які модулі ТП або користувача необхідно використовувати (а може необхідно їх додатково розробити).

4. Вибір необхідних структур даних мови ТП для забезпечення точності рішення задачі та алгоритмічної універсальності.

5. Розробка інтерфейсу програми (тобто організація уводу-вивіду даних).

Страницы:
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  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83 


Похожие статьи

Б С Бусигін - Прикладна інформатика