logo
Вступ до спец

9.7. Методологія rad

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

Бурхливий розвиток обчислювальної техніки, потреба в ефективних засобах розробки ПЗ призвели до появи засобів програмування, що орієнтовані на так звану “швидку розробку” RAD (Rapid Application Development). Сутність технології RAD полягає у тому, що середовище розробки бере на себе велику частину генерації коду програми, залишаючи програмістові роботу суто з написання логічних ділянок програми та функцій обробки подій. Продуктивність програміста при використанні деяких RAD-систем фантастична!

Технологія RAD в основному базується на спіральній моделі ЖЦ ПЗ, тобто циклі, що повторюється, при якому розробники, по мірі того, як додаток починає знаходити форму, реалізують у продукті вимоги, які отримуютьсяі через взаємодію із замовником.

Життєвий цикл ПЗ за методологією RAD складається з чотирьох фаз:

- аналізу та планування вимог;

- проектування;

- побудови;

- впровадження.

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

На фазі проектування частина користувачів бере участь у технічному проектуванні системи під керівництвом фахівців-розробників. Користувачі, безпосередньо взаємодіючи з ними, уточнюють та доповнюють вимоги до системи, які не були виявлені на попередній фазі. Детальніше розглядаються процеси системи. Аналізується та, при необхідності, коректується функціональна модель. Після детального визначення складу процесів оцінюється кількість функціональних елементів системи, що розробляється, та ухвалюється рішення про розбиття ПЗ на підсистеми.

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

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

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

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

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

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

Серед засобів RAD-програмування особливо хотілося б відзначити середовище розробки ПЗMicrosoft Visual Basic(версії 6 .NET), Borland Delphi(версії 6, 7 .NET) таClarion фірми TopSpeed (нині SoftVelocity) [5].

9.8. Microsoft Visual Basic

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

В основному ця мова призначалася для створення програм, які працюють у режимі діалогу з користувачем, тобто у візуальному режимі. Тому її і назвали Visual Basic. Під час розвитку комп’ютерної технології Visual Basic поступово перетворювався з простої мови для початківців у могутній інструмент для швидкого створення працездатних додатків. Використовуючи інтегроване середовище розробки IDE (Integrated Development Environment) Visual Basic дозволяє значно спростити такий, на перший погляд, складний процес, як розробка призначеного для користувача інтерфейсу. Призначений для користувача інтерфейс – це “обличчя” вашого додатку, на створення якого раніше “вручну” було потрібно дуже багато часу програміста. У ряді випадків весь цей сервіс починав займати до 80-90% об’єму програмних кодів. За своєю складністю та можливостями Visual Basic можна поставити в один ряд з Delphi або C++.

За допомогою Visual Basic можна як і раніше швидко писати програми для системи Windows, але, крім цього, починаючи з версії 6, тепер можна також створювати додатки типу клієнт/сервер та надійні додатки керування базами даних.

Пакет Visual Basic відіграє основну роль у стратегії доступу до даних. За даними компанії Microsoft у більш ніж 90% всіх додатків Visual Basic використовуються з’єднання з системами керування реляційними базами даних (СКРБД). У більшості цих програм використовуються СКРБД Jet (Access) та Microsoft SQL.

Використовуючи Visual Basic, можна без зусиль створювати документи та елементи управління ACTIVEX. Ви вже знайомі з різноманітними елементами управління середовища Windows, такими як перемикачі, прапорці, кнопки, списки тощо. Багато розробників разом з ними використовують власні елементи управління, відомі якелементи управління ACTIVEX. По мірі того як система Windows еволюціонувала від версії 3.х до версій 95, 98, МЕ, NT, 2000 і ХР,WINDOWS7 таWINDOWS8, те ж відбувалося і з елементами управління. Вперше вони з’явилися у мові Visual Basic під назвою VBX-елементів (таким було розширення відповідних файлів). По суті цими елементами управління були невеликі динамічні бібліотеки (DLL). Можливості сучасних 32-розрядних елементів управління значно розширені, а їх файли тепер мають розширення .ОСХ, а самі елементи отримали назву елементів управління ACTIVEX.

Фірма Microsoft інтегрувала також спеціальну версію Visual Basic, яка відома під ім’ям Visual Basic for Application (VBA) в усі компоненти пакету Microsoft Office та деякі інші програми. VBA – це основний компонент мови Visual Basic.

Оскільки програмісти часто використовували Visual Basic для розробки власних елементів управління, які вони включали у додаток, що були написані на С/С++, то стало зрозумілим, що мови С/С++ слід забезпечити засобами розробки елементів управління. Але з появою нової версії компілятора Microsoft Visual Studio.Net, що включає мови програмування розробки ПЗ С#, Visual Basic, Visual C++ та Visual FoxPro, а також спеціального майстра розробки елементів управління, така потреба відпала.

Разом з іншими компонентами пакет Visual Studio .Net є новим підходом компанії Microsoft при розробці додатків баз даних для кінцевого користувача. Основним методом доступу до файлів, що розділяються, та баз даних клієнт/сервер стає використання високорівневих технологій ACTIVEX Data Objects(ADO – елементи (об’єкти) управління даними ACTIVEX, так званийMDAC – Microsoft Data Access Components). А також новий низькорівневий інтерфейсOLE DB(OLE – Object Linking and Embedding, зв’язування та впровадження об’єктів), що прийшли на зміну старому прикладному інтерфейсу програмування Open DataBase Connectivity (ODBC).

9.9. Borland Delphi

Delphi – це середовище швидкої розробки, в якому мовою програмування є Object Pascal, який побудований на міцному фундаменті ООП. В основі ідеології Delphi лежить технологія візуального проектування та методологія об’єктно-орієнтованого програмування за подіями. Виконання програми у середовищі Windows відбувається під впливом подій. Подія виникає, наприклад, тоді, коли користувач клацнув мишею на полі екрану, або натиснув клавішу на клавіатурі. Кожна дія користувача у процесі виконання програми ініціює посилку повідомлення від Windows до програми з інформацією про те, що користувач зробив. Посилка повідомлення відіграє роль події, і у програми з’являється можливість обробити цю подію відповідним чином. Тепер стає очевидним, що концепція програмування Windows прямо протилежна концепції DOS – операційна система (Windows) наказує програмі, що останній потрібно робити, а не навпаки (DOS).

Якщо немає “під рукою” такої мови як Clarion або Delphi, то написання Windows-програм буде вельми складним заняттям, оскільки необхідно явним чином кодувати обробку усіх повідомлень, які посилаються Windows, та розробляти графічний інтерфейс користувача.

Вихід з цієї ситуації позначився завдяки двом підходам. Перший з них – стандартизація багатьох функцій інтерфейсу, завдяки чому з’явилася можливість бібліотеки, яка існує, наприклад, у Windows. Зокрема з’явився Windows API – інтерфейс. Windows API (Application Programming Interface, інтерфейс прикладного програмування) – це набір функцій, які надає програмістові ОС Windows. Причому, при зміні стилю графічного інтерфейсу (наприклад, при переході від Windows 98 до Windows ХР) форма виклику функцій не змінюється. Тому на цьому шляху створилися чудові умови для вирішення одного з найважливіших завдань удосконалення техніки програмування –повторного використання кодів.

Іншим революційним кроком, що кардинально полегшив життя програмістів, з’явилася поява візуального програмування, яке виникло у Visual Basic та знайшло блискуче втілення у Delphi, C++ Builder (фірми Borland) та Clarion. Візуальне програмування дозволило звести програмування призначеного для користувача інтерфейсу (і не тільки) до простих та наочних процедур, які дають можливість за хвилини або години зробити те, на що раніше витрачались місяці роботи. Але переваги візуального програмування зводяться навіть не до цього. Найголовніше полягає у тому, що під час проектування форми та розміщення на ній компонентів Delphi автоматично формує коди програми, включаючи у неї відповідні фрагменти, які описують даний компонент. Тобто проектування зводиться, фактично, до розміщення компонентів на формі, завданню деяких їх властивостей та написанню, при необхідності, обробників подій.

9.10. Clarion

Clarion – це орієнтоване на обробку даних середовище швидкої розробки додатків, яке включає кодогенерацію та метадані(дані про дани), які багаторазово використовуються для швидкого створення  додатків рівня управління підприємством для обробки бізнес-даних та бізнес-процесів. Основою Clarion є об’єктно-орієнтованамова програмування 4-го покоління(4GL – Fourth Generation Languages).

Якщо для організації деякої операції з даними на мові 3-го покоління необхідно буде написати сотні рядків коду, то для реалізації цієї ж операції на мові 4-го покоління буде достатньо 10-15 рядків.

Тоді як мови 3-го покоління є процедурними, мови 4GL виступають як непроцедурні, оскільки користувач визначає, що повинно бути зроблене, але не говорить,як саме бажаний результат має бути досягнутий. Реалізація мов 4-го покоління значною мірою заснована на використанні компонентів високого рівня, які часто називають “інструментами четвертого покоління”. Користувачеві не потрібно визначати всі етапи визначення програми, які необхідні для вирішення поставленого завдання, а достатньо буде лише визначити потрібні параметри, на підставі яких згадані вище інструменти автоматично здійснять генерацію прикладного додатку. За оцінкою фахівців мови 4-го покоління дозволяють підвищити продуктивність роботи на порядок, але за рахунок обмеження типів завдань, які можна вирішувати з їх допомогою. Виділяють наступні типи мов 4-го покоління:

- мови подання інформації, наприклад мови запитів або генератори звітів;

- спеціалізовані мови, наприклад мови електронних таблиць та баз даних;

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

- мови дуже високого рівня, які призначені для генерації коду додатків.

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

Мови запитів. Реляційні СКБД у тій чи іншій формі включають підтримку непроцедурних мов маніпулювання даними – найчастіше це мова структурованих запитів SQL (Structured Query Language) або мова запитів за зразком QBE (Query-by-Example). Мову запитів можна визначити як високорівневу вузькоспеціалізовану мову, яка призначена для вибірки інформації з Бази Даних.

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

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

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

Генератори додатків – є інструментом для створення програм, які взаємодіють з Базою Даних. Генератори додатків зазвичай складаються із заздалегідь створених модулів (або шаблонів), що містять фундаментальні функції, які потрібні для більшості програм. Ці модулі, які зазвичай створюються на мовах високого рівня, утворюють “бібліотеку” доступних функцій (шаблонів), і генератор додатків визначає які з них застосувати, і як їх слід виконувати. Єдиним поки що представникомГенераторів повністю закінчених додатків є Clarion, який призначений для розробки (генерації) значної кількості комерційних додатків без написання рядків програмного коду, – і при цьому з високою якістю програм та їх гарантованою надійністю.

Яким же чином Clarion дозволяє досягти такого ефекту? Перш за все, Clarion є системою RAD-програмування (Rapid Application Development – швидка розробка додатків). Але таких систем вже багато.

Крім того, при роботі з базами даних розробник повинен усього лише описати структуру бази (Словник Даних) – усе решту зробить Clarion. Якщо ж бази даних вже є (наприклад, створені програмами на FoxPro), то для їх використання у Clarion досить вказати на файли таких баз даних, як на джерело структур записів та перевести бази даних у більш місткий та зручний у використанні формат TopSpeed. При всьому цьому Clarion забезпечує роботу з базами даних практично у будь-якому з використовуваних на даний час форматів від BASIC та ASCII-файлів до SQL, Betreave, SYBASE або Oracle.

Як доповнення до 4GL Clarion-мови в продукт Clarion включені компілятори C++ та Modula-2. Усі мови використовують один і той самий загальний оптимізатор коду і можуть одночасно застосовуватися у рамках одного додатку.

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

Метабази Clarion дозволяють новачкам генерувати проектний код, використовуючи Шаблони(Templates) таАВС(Application Builder Classes – механізм, що дозволяє на підставі готових кодів програм, які зберігаються у бібліотеках, створювати високоефективні додатки, які розроблені головними програмістами різних фірм). Метабази містять велику частину інформації, яка потрібна для створення повнофункціонального додатку, що повністю відповідає своїм проектним вимогам. Розробникам це дає можливість миттєво створювати високоякісні корпоративні додатки, які забезпечують ведення даних та звітність, а також доопрацьовувати їх з використанням додаткового інструментарію (призначені для користувача вставки –Embeds) для вирішення специфічних завдань.

У Clarion використовується вбудована підготовка документів (звітів) і для їх формування не потрібно ніяких зовнішніх продуктів, що спільно використовувались, додатково постачались та підключались. Документи просто компілювалися у додаток, що розроблявся, та виконувовся із швидкістю машинного коду. Можна генерувати документи у форматах PDF, HTML, XML таTEXT.

9.11. Microsoft Visual Studio LightSwitch 2012

Visual Studio LightSwitch це засіб розробки, за допомогою якого можна швидко створювати бізнес-додатки. LightSwitch надає спрощене середовище розробки, що дозволяє зосередитися на бізнес-логіці, а не на інфраструктурі додатків.