Курсовая работа: Об’єктно-орієнтована програма обліку продуктового магазину
Третій вид інструментів, який дуже важливий - інкрементний компілятор. Метод еволюційної розробки, який застосовується в об'єктно-орієнтованому програмуванні, потребує компілятора, який міг би компілювати окремі оголошення і операторів. Для швидкої відладки методи і визначення полів повинні компілюватися інкрементно.
У категорію налагоджувальних засобів включається і такі інструменти, як стресові тестери, що випробовують програми в критичних умовах обмеженості ресурсів, і інструменти для аналізу пам'яті, що розпізнають порушення доступу до пам'яті (запис в недозволені ділянки пам'яті, читання з неініціалізованих ділянок, читання або запис за межами масиву).
Для великих проектів потрібні інструменти управління конфігурацією і контролю версій. Для управління конфігурацією кращими одиницями є категорії класів і підсистеми.
Інший інструмент, який є також важливим для об'єктно-орієнтованої розробки, - це бібліотекар класів. Бібліотека в С++ швидко розростається до таких розмірів, що розробники не можуть відшукати клас, що знадобився. Одна з причин швидкого зростання бібліотеки полягає в тому, що клас може мати декілька реалізацій з різними тимчасовими і просторовими семантиками.
Ще один тип інструменту - генератор графічного інтерфейсу користувача. Для систем, в яких великий об'єм взаємодії з користувачем, краще мати спеціальний інструмент для інтерактивного створення діалогів і вікон, чим програмувати все з нуля. Код, що з генерований такою системою, може бути потім пов'язаний з рештою об'єктно-орієнтованої системи і, якщо необхідно, вручну відкоригований.
Вибір даної мови програмування зумовлений через її переваги:
· велика конкурентоспроможність завдяки передбаченості, скороченню часу на розробку і великої гнучкості продукту;
· завдання, що розробляються, можуть бути настільки складними, що не залишається альтернативних рішень.
Вивчення численних випадків з практики підкріплює ці висновки; особливо часто указується на те, що об'єктний підхід може скоротити час розробки і розмір коду.
Дивлячись на тіньову сторону об'єктно-орієнтованої технології (недоліки), потрібно розглядати два питання: продуктивність і початкові витрати. В порівнянні з процедурними мовами, об'єктно-орієнтовані мови ясно вносять додаткові накладні витрати на пересилку повідомлення від одного об'єкту іншому. У мовах, що строго типізуються, компілятор часто може визначати, які виклики можуть бути зв'язані статично і згенерувати для них виклик процедури замість динамічного пошуку.
Інша причина зниження продуктивності криється не стільки в природі об'єктно-орієнтованих мов, скільки в способі їх використання в процесі об'єктно-орієнтованої розробки. Об'єктно-орієнтована технологія породжує багатошарові системи абстракцій. Один із наслідків цього розшарування в тому, що кожен метод виявляється дуже маленьким, оскільки він будується на методах нижнього рівня.
Інший наслідок розшарування: іноді методи служать лише для того, щоб дістати доступ до захищених атрибутів об'єкту. В результаті відбуваються дуже багато викликів. З позитивного боку таке шарування сприяє розумінню системи; до деяких складних систем неможливо навіть підступитися, якщо не почати з проектування шарів.
Висновки
В процесі роботи було створено програму - «Облік продуктового магазину». Програма реалізована в середовищі об’єктно-орієнтованого програмування BorlandС++Builder6.0, на основі мови програмування С++.
Було досліджено предметну область - «Продуктовий магазин», що внесло багато ясності для розробки програми.
Детальний розгляд та створення програмної моделі дало можливість більш детально спроектувати створену програму, розбивши її на модулі так, що прискорило швидкість її створення та внесло ясність на деякі використовувані аспекти програми.
Створена програма «Облік продуктового магазину» в процесі доопрацювання може бути використана за основу для створення більш складної та великої бази даних по роботі в даній предметній області.
Список використаних джерел
1. Гради Буч Объектно-ориентированный анализ и проектированиес примерами приложений на С++. Второе издание Rational Санта-Клара, Калифорния, перевод с английского под редакцией И. Романовского и Ф. Андреева.
2. Павловская Т.А.С++. Объектно-ориентированное программирование: практикум. СПб: Питер, 2005.
3. Б.С. Хусаинов. Структуры и алгоритмы обработки данных. – Примеры на языке Си: Учеб. Пособие, 2004.
4. Кнут, Дональд, Эрвин. Искуство програмирования в 3-х т.М.: Вильянс, 2003.
5. Катренко А.В. Системний аналіз об’єктів та процесів комп’ютеризації. Львів: Новий світ-2000, 2007.
6. Б.С. Хусаинов. Структуры и алгоритмы обработки данных. – Примеры на языке Си: Учеб. Пособие. Финансы и статистика, 2004.
7. Гайдаржи В.І. Основи проектування та використання баз даних. К.: Політехніка, ТОВ фірма Періодика, 2004.
8. Малевич Б.Я. Теория алгоритмов. М.: Машиностроение, 2004.
9. Прокудин Г.С. Основы программирования и алгоритмические язики. К.: Изд-во Европейського университета, 2003.
10. Озеров В. Советы по Delphi. Советы програмистов. СПб.: Символ-плюс,2002.
Додаток А