ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Третій етап - об'єктний підхід до програмування (з середини 80-х до кінця 90-х років XX ст).Об'єктно-орієнтоване програмування визначається як технологія створення складного програмного забезпечення, заснована на представленні програми у вигляді сукупності об'єктів, кожен з яких є екземпляром певного типа (класу), а класи утворюють ієрархію із спадкоємством властивостей. Взаємодія програмних об'єктів в такій системі здійснюється шляхом передачі повідомлень. Об'єктна структура програми вперше була використана в мові імітаційного моделювання складних систем Simula, що з'явився ще в 60-х роках XX ст Природний для мов моделювання спосіб представлення програми отримав розвиток в іншій спеціалізованій мові моделювання - мові Smalltalk (70-і роки XX ст), а потім був використаний в нових версіях універсальних мов програмування, таких, як Pascal, C++, Modula, Java. Основною переваеою об'єктно-орієнтованого програмування в порівнянні з модульним програмуванням є «природніша» декомпозиція програмного забезпечення, яка істотно полегшує його розробку. Це наводить до повнішої локалізації даних і інтеграції їх з підпрограмами обробки, що дозволяє вести практично незалежну розробку окремих частин (об'єктів) програми. Окрім цього, об'єктний підхід пропонує нові способи організації програм, засноване на механізмах спадкоємство, поліморфізму, композиції, наповнення. Ці механізми дозволяють конструювати складні об'єкти порівняно простих. В результаті істотний збільшується показник повторного використання код і з'являється можливість створення бібліотек класів для різних вживань. Бурхливий розвиток технологій програмування, заснованих на об'єктному підході, дозволив вирішити багато проблем. Так були створені середовища, що підтримують візуальне програмування, наприклад, Delphi, C++ Builder, Visual C++ і так далі При використанні візуального середовища у програміста з'являється можливість проектувати деяку частину, наприклад, інтерфейси майбутнього продукту, із застосуванням візуальних засобів додавання і налаштування спеціальних бібліотечних компонентів. Результатом візуального проектування є заготівка майбутньої програми, до якої вже внесені відповідні коди. Використання об'єктного підходу має багато переваг, проте його конкретна реалізація в об'єктно-орієнтованих мовах програмування, таких, як Pascal і C++ має істотні недоліки: ?? фактично відсутні стандарти компоновки двійкових результатів компіляції об'єктів в єдине ціле навіть в межах однієї мови програмування: компоновка об'єктів, отриманих різними компіляторами C++ в кращому разі проблематична, що наводить до необхідності розробки програмного забезпечення з використанням засобів і можливостей однієї мови програмування високого рівня і одного компілятора, а значить, вимагає однієї мови програмування високого рівня і одного компілятора, а значить, вимагає наявність вихідних код використовуваних бібліотек класів; • зміна реалізації одного з програмних об'єктів, як мінімум, пов'язано з перекомпіляцією відповідного модуля і перекомпонуванням всього програмного забезпечення, що використовує даний об'єкт. Таким чином, при використанні цих мов програмування зберігається залежність модулів програмного забезпечення від адрес полів, що експортуються, і методів, а також структур і форматів даних. Ця залежність об'єктивна, оскільки модулі повинні взаємодіяти між собою, звертаючись до ресурсів один одного. Зв'язку модулів не можна розірвати, але можна спробувати стандартизувати u1080 їх взаємодія, на чому і заснований компонентний підхід до програмування. Четвертий етап - компонентний підхід і CASE-технологии (з середини 90-х років XX ст до нашого часу). Компонентний підхід передбачає побудову програмного забезпечення з окремих компонентів фізично окремо існуючих частин програмного забезпечення, які взаємодіють між собою через стандартизованные двійкові інтерфейси. На відміну від звичайних об'єктів объекты-компоненты можна зібрати в бібліотеки, що динамічно викликаються, або виконувані файли, поширювати в двійковому вигляді (без вихідних текстів) і використовувати в будь-якій мові програмування, що підтримує відповідну технологію. На сьогодні ринок об'єктів став реальністю, так в Інтернеті існують вузли, що надають велику кількість компонентів, рекламою компонентів забиті журнали. Це дозволяє програмістам створювати продукти, що хоч би частково складаються з повторно використаних частин, тобто використовувати технологію, що добре зарекомендувала себе в області проектування апаратури. Компонентний підхід лежить в основі технологій, розроблених на базі COM (Component Object Model - компонентна модель об'єктів), і технології створення розподілених додатків CORBA (Common Object Request Broker Architecture - загальна архітектура з посередником обробки запитів об'єктів). Ці технології використовують схожі принципи і розрізняються лише особливостями їх реалізації. Відмітною особливістю сучасного етапу розвитку технології програмування, окрім зміни підходу, є створення і впровадження автоматизованих технологій розробки і супроводи програмного забезпечення, які були названі CASE-технологиями (Computer-Aided Software/System Engineering - розробка програмного обеспечения/программных систем з використанням комп'ютерної підтримки). Без засобів автоматизації розробка досить складного програмного забезпечення на справжній момент стає важко здійсненною: пам'ять людини вже не в змозі фіксувати всі деталі, які необхідно враховувати при розробці програмного забезпечення. На сьогодні існують CASE-технологии, що підтримують як структурний, так і об'єктний (у тому числі і компонентний) підходи до програмування. Поява нового підходу не означає, що віднині все програмне забезпечення створюватиметься з програмних компонентів, але аналіз існуючих проблем розробки складного програмного забезпечення показує, що він застосовуватиметься досить широкий. Не нашли, что искали? Воспользуйтесь поиском:
|