MaxEdu.ru
» » » Технологія програмування та створення програмних продуктів
Вернуться назад

Технологія програмування та створення програмних продуктів

«Технологія програмування та створення програмних продуктів»
Парадигми програмування. 2. Об’єктно-орієнтовна парадигма програмування . 3. Основні терміни та визначення моделі проектування.
Як у будь-якому виді діяльності в програмуванні існує своя технологія: – це знання, правила, навички та інструменти, що дозволяють одержувати гарантований якісний результат. Але саме по собі дотримання ряду правил не дає гарантію якості результату. Це пояснюється специфікою програмування. По–перше, це не наука, де знання якої–небудь формули дозволяє однозначно вирішити задачу, підставивши в неї вихідні дані й одержавши результат. По–друге, ці правила необхідно дотримувати не стільки на папері, скільки в голові. Тобто технологія програмування – це швидше за все спосіб організації процесу обмірковування програми, ніж її запису. Зі сказаного випливає, що якщо людина, яка пише програму – мислить, то вона вже дотримується певної технології програмування, навіть не підозрюючи про це. Найпростіший метод полягає в написанні програми відразу від початку до кінця, без використання яких–небудь загальних принципів, тобто "як заманеться".
Розглянемо найбільш відомі з технологій:–
метод "північно–західного" кута (мається на увазі аркуш паперу або екран монітора). Програма пишеться відразу від початку до кінця, без використання яких–небудь загальних принципів;–
технологія структурного програмування, у ній передбачається дотримувати принципів модульності, нисхідного і покрокового проектування програм, одночасного проектування програм і структур даних.–
технологія об'єктного програмування – пов'язана з використанням понять об'єктів та їхніх класів при проектуванні програми.
Парадигма програмування. Проблема "Що є первинним – курка чи яйце?" стосовно до програмування звучить як парадигма: "Що є первинним: алгоритм (процедура, функція) чи оброблювані ними дані". У традиційній технології програмування взаємовідносини процедури – дані мають більш–менш вільний характер, причому процедури (функції) є ведучими у цій зв'язці: як правило, функція викликає функцію, передаючи дані один одному по ланцюгу. Відповідно, технологія структурного проектування програм насамперед приділяє увагу розробці алгоритму.
У технології ООП взаємовідносини даних і алгоритму мають більш регулярний характер: по-перше, клас (базове поняття цієї технології) поєднує в собі дані (структурована змінна) і методи (функції). По-друге, схема взаємодії функцій і даних принципово інша. Метод (функція), який викликається для одного об'єкта, як правило, не викликає іншу функцію безпосередньо. Для початку він повинен мати доступ до іншого об'єкту (створити, одержати вказівник, використовувати внутрішній об'єкт у поточному і т.д.), після чого він вже може викликати для нього один з відомих методів. Таким чином, структура програми визначається взаємодією об'єктів різних класів між собою. Як правило, має місце ієрархія класів, а технологія ООП може бути названою ще як програмування "від класу до класу".
Поняття об'єкта, класу об'єктів. Центральними в ООП є поняття класу та об'єкта. Образно кажучи, ООП полягає не стільки у використанні класів і об'єктів у програмі, скільки в заміні принципу програмування "від функції до функції" принципом програмування "від класу до класу".
Технологія ООП насамперед накладає обмеження на способи представлення даних у програмі. Будь-яка програма відображає в них стан фізичних предметів або абстрактних понять (назвемо їх об'єктами програмування), для роботи з якими вона призначена. У традиційній технології варіанти представлення даних можуть бути різними. В гіршому випадку програміст може "рівномірно розмазати" дані про деякий об'єкт програмування по всій програмі. На противагу цьому всі дані про об'єкт програмування і його зв'язки з іншими об'єктами можна об'єднати в одну структуровану змінну. У першому наближенні її можна назвати об'єктом. Крім того, з об'єктом зв'язується набір дій, які названі ще методами. З погляду мови програмування це функції, що одержують як обов'язковий параметр – вказівник на об'єкт. Технологія ООП забороняє працювати з об'єктом інакше, ніж через методи, тобто внутрішня структура об'єкта прихована від зовнішнього користувача. Опис великої кількості однотипних об'єктів називається класом.
Об'єкт – це структурована змінна, яка містить всю інформацію про деякий фізичний предмет або про реалізоване в програмі поняття.
Клас – опис великої кількості таких об'єктів та виконуваних над ними дій.
Це означення можна проілюструвати засобами класичного Сі:
struct myclass
{ int data1;
...
};void method1(struct myclass *this,...)
{ ... this–>data1 ... }
void method2(struct myclass *this,...)
{ ... this–>data1 ... }
struct myclass obj1, obj2;
... method1(&obj1,...); ... method2(&obj2,...);
Основні поняття об’єктно-орієнтованого програмування: інкапсуляція, наслідування і поліморфізм. "Епізодичне" використання технології ООП полягає в розробці окремих, не пов'язаних між собою класів і використанні їх як необхідних програмісту базових типів даних, відсутніх у мові. При цьому загальна структура програми залишається традиційною ("від функції до функції").
Об’єктно-орієнтоване програмування (ООП) – це сукупність понять (клас, об'єкт, інкапсуляція, поліморфізм, наслідування), прийомів їхнього використання при проектуванні програм, а Сі++ – інструмент цієї технології.Строге дотримання технології ООП допускає, що будь-яка функція в програмі являє собою метод для об'єкта деякого класу. Це не означає, що потрібно вводити в програму які-небудь класи заради того, щоб написати необхідні для роботи функції. Навпаки, клас повинен формуватися в програмі природним шляхом, як тільки в ній виникає необхідність опису нових фізичних предметів або абстрактних понять (об'єктів програмування). З іншого боку, кожен новий крок у розробці алгоритму також повинен являти собою розробку нового класу на основі вже існуючих. Зрештою, вся програма в такому вигляді являє собою об'єкт деякого класу з єдиним методом run (виконати). Саме цей перехід (а не поняття класу й об'єкта, як такі) створює психологічний бар'єр перед програмістом, що освоює технологію ООП.Програмування "від класу до класу" містить у собі ряд нових понять. Насамперед, це – інкапсуляція даних, тобто логічне пов'язування даних з конкретною операцією. Інкапсуляція даних означає, що дані є не глобальними – доступними всій програмі, а локальними – доступними тільки для малої її частини. Під інкапсуляцією слід розуміти також і захист даних. Для цього в структурі class використовується специфікатор розділу private, який містить дані і методи, доступні тільки для самого класу. Якщо дані і методи містяться в розділі public, то вони доступні за межами класу. Розділ protected містить дані і методи, доступні з класу і будь-якого його похідного класу. Наявність останніх дозволяє вести мову про ієрархію класів, де є класи – батьки – шаблони для створення класів – нащадків. Об'єкти, які отримані з опису класу, називають екземплярами цього класу.Другим важливим поняттям є наслідування. Новий, або похідний клас може бути визначений на основі вже наявного, або базового. При цьому новий клас зберігає всі властивості старого: дані об'єкта базового класу включаються в дані об'єкта похідного, а методи базового класу можуть бути викликані для об'єкта похідного класу, причому вони будуть виконуватися над даними включеного в нього об'єкта базового класу. Інакше кажучи, новий клас успадковує як дані старого класу, так і методи їхньої обробки. Якщо об'єкт успадковує свої властивості від одного батька, то говорять про одинарне наслідування. Якщо ж об'єкт успадковує атрибути від декількох базових класів, то говорять про множинне наслідування. Простий приклад наслідування – визначення структури, окремий член якої є раніше визначеною структурою.Третім важливим поняттям є поліморфізм. Він ґрунтується на можливості включення в дані об'єкта інформації про методи їхньої обробки (у вигляді вказівників на функції). Принципово важливо, що такий об'єкт стає "самодостатнім". Будучи доступним у деякому місці програми, навіть при відсутності повної інформації про його тип, вона завжди може коректно викликати властиві йому методи. Поліморфною називається функція, яка незалежно визначена в кожнім із групи похідних класів і, яка має в них загальне ім'я. Поліморфна функція володіє тією властивістю, що при відсутності повної інформації про те, об'єкт якого з похідних класів у даний момент обробляється, вона тим не менше коректно викликається в тому вигляді, до якого вона була визначена для даного конкретного класу. Практичний зміст поліморфізму полягає в тім, що він дозволяє посилати загальне повідомлення про збір даних будь-якому класу, причому і батьківський клас, і класи-нащадки дадуть відповідь на повідомлення відповідним чином, оскільки похідні класи містять додаткову інформацію. Програміст може зробити регулярним процес обробки несумісних об'єктів різних типів при наявності в них такого поліморфного методу.
Поліморфний метод у Сі++ називається віртуальною функцією, що дозволяє одержувати відповіді на повідомлення, адресовані об'єктам, точний вигляд яких невідомий. Така можливість є результатом пізнього пов'язування. При пізньому пов'язуванні адреси визначаються динамічно під час виконання програми, а не статично під час компіляції, як у традиційних компілюючих мовах, в яких застосовується раннє пов'язування. Сам процес пов'язування полягає в заміні віртуальних функцій на адреси пам'яті.
Віртуальні функції визначаються в батьківському класі, а в похідних класах відбувається їхнє доозначення, і для них створюються нові реалізації. При роботі з віртуальними функціями повідомлення передаються як вказівники, що вказують на об'єкт замість прямої передачі об'єкту. Віртуальні функції використовують таблицю для адресної інформації, що ініціалізується при виконанні за допомогою конструктора.

Rational Unified Process (RUP).
Огляд засобів UML, що використовуються у RUP.
Мова об’єктних обмежень (Object Constraint Language).
RUP – процес, що орієнтується на варіанти використання. RUP – процес, що орієнтується на архітектуру.
Статична структура RUP (діяльності, артефакти).
Робітники, дисципліни, додаткові елементи. Послідовний та ітеративний процес розробки.
Динамічна структура RUP (фази, цикл розробки).

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике «Технологія програмування та створення програмних продуктів» Парадигми програмування. 2. Об’єктно-орієнтовна парадигма програмування . 3. Основні
Оценок: 1178 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.

© 2014 - 2022 MaxEdu.ru