Реферати українською » Информатика, программирование » CASE-мышление: готові програмувати інакше?


Реферат CASE-мышление: готові програмувати інакше?

С.Трофимов

Фраза, винесений у заголовок, створена за аналогією з “объектно-ориентированным мисленням”. Щоб створювати об'єктно-орієнтовані програми, необхідно відмовитися від традиційного процедурного мислення та розпочати мислити з допомогою об'єктів [1]. І це справедливе й для CASE-средств. Щоб розпочати створювати програмні системи з допомогою сучасних технологій, необхідно по-іншому глянути як на процес проектування, а й у програмування.

Труднощі впровадження CASE-технологий під час створення проектів загальновідомі [2], і проектувальники систем мають бути готові до подолання. Хочу натомість уявити ці проблеми з погляду програміста, який міцно влаштувався своєму світі програмного коду і мислить інших можливостей для написання програм, як “рядок до рядку”, коли класи створюються послідовним наповненням методів і атрибутів.

Необхідність використання CASE-технологий безпосередньо розробниками програм менш очевидна ніж для проектувальника системи [3], причому у [2] ми читаємо, що “моделювання складних програмних систем з допомогою CASE-средств є самостійним і самодостатнім виглядом діяльність у процесі створення ПЗ”, що Грузія може спочатку отримати негативну оцінку ще у програмістів. Мовляв, я пишу програми, а створювати моделі – це ваші труднощі.

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

Основною причиною, породжує насторожене чи, можливо, навіть негативне ставлення до CASE-средствам із боку програмістів, на мою думку – це труднощі переходу зі звичайного мислення до CASE-мышлению. Під ним я маю на увазі уявлення системи як об'єктів, що написані в термінах CASE-средства, зазвичай, у діаграмах мови UML. Причому, спочатку мається на увазі, що це об'єкти системи розробляються чи, по крайнього заходу, мають власне свій відбиток у цих діаграмах.

Щоб можливість перейти до створенні та супроводу коду з допомогою CASE-средства, підтримує мову UML, такого, наприклад, як Rational Rose, програміст повинен перебудувати уявлення з приводу створення програм. Необхідно мислити вже у термінах мови UML, мислити діаграмами, а перехід до такого типу мислення вимагає приблизно такої ж зусилля, як від процедурного програмування до объектно-ориентированному.

Буде помилкою вважати, що вивчивши можливості редактора UML (якщо абстрагуватися від додаткових функцій, то таким можна Rational Rose), ви почнете відразу створювати програмні системи. Як зазначено в [1], діаграми не з'являються власними силами, вони – результат объектно-ориентированного проектування, тобто. саме мислення, причому у термінах CASE-средства.

Тут переплітаються дві зовсім різні завдання:

1.Изучение мови UML та розвитку CASE-мышления.

2.Изучение можливостей конкретного CASE-средства, щоб легко втілити своїх поглядів в програмному проекті. Для першого б рекомендував книжки [1,4], а другого можна скористатися, наприклад [5].

Програміст, розпочинаючи вивченню Rational Rose, стикається з цими проблемами, що входять у суперечність із його попереднього досвіду. Вважаючи, що CASE-средство – це програма, що допомагає..., автоматизує..., вирішує..., разом з ентузіазмом намагається у ній розібратися, але впирається у свою ж відсталість, яка дозволяє подивитись створюване ПО із боку.

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

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

Застосовуючи CASE-мышление, програміст вже зробить свої програми краще, адже чимало програмісти не знає ні способі створення хорошою, ні ознак невдалої програмної архітектури [6], а уявлення програмних об'єктів в діаграмах UML дозволяє наочно побачити помилки та юридичні недоробки в отриманої ієрархії, обговорити його з колегами, і, що найбільш приємне, легко цієї ієрархією маніпулювати, що з ручному кодування програміст навряд може це собі дозволити.

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

Список літератури

Буч Р. Объектно-ориентированный аналіз стану і проектування прикладах додатків на З++, 2-ге изд./Пер з англ.–М.: “Видавництво Бином”, СПб.: “Невський діалект”, 1999 р. –560 з., мул.

Вендров А. Ніша та впровадження CASE-средств. “Директору ІВ”, листопад 2000. (http://www.interface.ru/CASE/botcase.htm)

Новачків А. Rational Rose для розроблювачів і заради розробників. (http://www.interface.ru/rational/rose/develop.htm)

Фаулер М., Скотт До. UML в стислому викладі. Застосування стандартного мови об'єктного моделювання: Пер. з анг. – М.:Мир, 1999. – 191 з., мул.

Трофимов З. CASE-технологии: практична робота у Rational Rose – М.: ЗАТ “Видавництво БИНОМ”, 2001 р. – 272 з.: мул. (http://progcpp.narod.ru/rational/)

Бюрер До. Від ремесла до науки: пошук основних принципів розробки ПО (http://www.interface.ru/rational/science.htm)

Список літератури

Для підготовки даної праці були використані матеріали із російського сайту http://progcpp.narod.ru/

Схожі реферати:

Навігація