Інформаційні технології та інформаційні системи
Тенденції розвитку сучасних інформаційних технологій ведуть до постійного зростання складностi розроблюваних інформаційних систем (ІС), що використовуються в різноманітних напрямках економіки та управління. Сучасні проекти ІС характеризуються, як правило, такими особливостями:
· складність опису (досить велика кількість функцій, процесів, даних і складні взаємозв'язки між ними), що вимагають ретельного моделювання та аналізу даних і процесів їх обробки;
· наявність сукупності тісно пов'язаних компонентів (підсистем), кожна з яких має свої локальні задачі та методи функціонування (наприклад, прикладні системи, що пов'язані з обробкою запитів користувачів та виконанням регламентних завдань, автоматизовані системи аналітичної обробки даних для підтримки прийняття рішень);
· відсутність прямих аналогів, що обмежує можливість використання накопичених в попередніх розробках типових проектних рішень і прикладних підсистем;
|
|
· необхідність інтеграції існуючих і нових підсистем;
· функціонування в неоднорідному середовищі на різних апаратних та операційних платформах;
· розрізненість окремих розробників за їх спеціалізацією та використовуваними інструментальними засобами;
· істотна протяжність проекту в часі, що зумовлена обмеженими можливостями колективу розробників і організації-замовника ІС.
Для успішної реалізації проекту ІС повинна бути адекватно описана, мають бути побудовані повні і несуперечливі функціональні і інформаційні моделі ІС. Накопичений до цього часу досвід проектування ІС показує, що це логічно складна, трудомістка і тривала в часі робота, що вимагає високої кваліфікації учасників розробки. Проте до недавнього часу проектування ІС виконувалося в основному на інтуїтивному рівні із застосуванням неформалізованих засобів, що засновані на мистецтві, практичному досвіді, експертних оцінках і дорогих експериментальних перевірках якості функціонування ІС. Крім того, у процесі створення і функціонування ІС інформаційні потреби користувачів можуть змінюватися або уточнюватися, що додатково ускладнює опрацювання і супровід таких систем і породжує наступні проблеми:
· неадекватна специфікація вимог;
· нездатність виявляти помилки в проектних рішеннях;
· низька якість документації, що знижує її експлуатаційні якості;
· затяжний цикл розробки і незадовільні результати тестування.
Перелічені чинники сприяли появі програмно-технологічних засобів спеціального класу - Case-засобів, що реалізують Case-технологію створення і супроводу ІС. Термін Case (Computer Aided Software Engineering) використовують в цей час в надто широкому розумінні. Початкове значення терміну Case, обмежене питаннями автоматизації опрацювання тільки лише програмного забезпечення (ПЗ), зараз придбало новий зміст, що охоплює процес опрацювання складних ІС в цілому. Тепер під терміном Case-засобу мають на увазі програмні засоби, що підтримують процеси утворення і супроводу ІС, включаючи аналіз та формулювання вимог, проектування прикладного ПЗ (додатків) і баз даних, генерацію коду, тестування, документування, забезпечення якості, конфігураційне управління і управління проектом, а також інші процеси. Case-засоби разом із системним ПЗ і технічними засобами утворюють повне середовище опрацювання ІС.
|
|
Програмування перейняло риси системного підходу з опрацюванням і впровадженням мов високого рівня, засобів структурного і модульного програмування, мов проектування і засобів їх підтримки, формальних і неформальних мов опису системних вимог і специфікацій та ін. Крім того, появі Case-технології сприяли і такі чинники, як: підготовка аналітиків і програмістів, що сприймають концепції модульного і структурного програмування; широке впровадження і постійне зростання потужності комп'ютерів, що дозволили використати ефективні графічні засоби і автоматизувати більшість етапів проектування; впровадження мережної технології, що надала можливість об'єднання зусиль окремих виконавців в єдиний процес проектування шляхом використання розподіленої бази даних, що містить необхідну інформацію про проект.
Зважаючи на різноманітну природу Case-засобів було б помилково робити якісь беззастережні висновки щодо реального задоволення тих чи інших очікувань від їх впровадження. Можна перерахувати такі чинники, що ускладнюють визначення можливого ефекту від використання Case-засобів:
· широка розмаїтість якості і можливостей Case-засобів;
· надто невеликий час використання Case-засобів в різноманітних організаціях і відсутність досвіду їх застосування;
· широка розмаїтість в практиці впровадження різноманітних організацій;
· відсутність детальних метрик і даних для уже виконаних і поточних проектів;
· широкий діапазон предметних областей проектів;
· різноманітна міра інтеграції Case-засобів в різноманітних проектах.
Із-за цих складностей доступна інформація про реальні впровадження вкрай обмежена і протирiчлива. Вона залежить від типу засобів, характеристик проектів, рівня супроводу і досвіду користувачів. Деякі аналітики вважають, що реальна користь від використання деяких типів Case-засобів може бути одержана тільки після одно- або дворічного досвіду. Інші вважають, що вплив може реально виявитися лише у фазі експлуатації ІС, коли технологічні поліпшення можуть привести до зниження експлуатаційних витрат. Для успішного впровадження Case-засобів організація повинна володіти такими якостями:
· Технологія. Розуміння обмеженості існуючих можливостей і спроможність прийняти нову технологію;
· Культура. Готовність до впровадження нових процесів і взаємовідносин між розробниками і користувачами;
· Управління. Чітке керівництво і організованість по відношенню до найбільш важливих етапів і процесів впровадження.
Прикладами Case-засобів можуть виступати:
· засоби моделювання даних (DBMS, DDL);
· засоби трансформації моделей;
· засоби трансформації програм (Stratego/XT, TXL, DMS);
· засоби для рефакторингу (Eclipse, NetBeans, ReSharper);
· засоби автоматичної генерації коду (IDE);
· засоби UML;
· програмні специфікації;
· документація.