Курсовая работа: Об’єктно-орієнтована програма обліку продуктового магазину
· Додати
· Видалити
· Очистити
· Змінити
· Сортувати
· Зберегти
· Відкрити
· Вихід
Код обробника подій кожної з них наведений в додатку, в лістингу програми.
2.2 Вибір засобів реалізації програми
Програма реалізована в середовищі об’єктно-орієнтованого програмування BorlandС++Builder6.0, на основі мови програмування С++. Це пов’язано з тим, що даний напрям програмування має ряд переваг, необхідних для ведення обліку меблевого складу.
Відомо декілька версій C++. У версії 1.0 реалізовані основні механізми об'єктно-орієнтованого програмування, такі як одиночне наслідування і поліморфізм, перевірка типів і перевантаження функцій. У створеній в 1989 році версії 2.0 знайшли віддзеркалення багато додаткових властивостей (наприклад, множинне спадкоємство), що виникли на базі широкого досвіду застосування мови численним співтовариством користувачів. У версії 3.0 (1990) з'явилися шаблони (класи, що параметризуються) і обробка виключень. Комітет ANSI з C++ (X3J16) недавно схвалив пропозиції по введенню просторів імен (що відповідає нашому позначенню категорій класів) і перевірки типів під час виконання.
Основні характеристики C++:
· абстракції: змінні екземпляра, методи екземпляра, змінні класу, методи класу;
· інкапсуляція: змінних, методів;
· модульність: різновиди модулів;
· ієрархії: наслідування, шаблони, мета класи;
· типізація: сильна типізація, поліморфізм;
· паралельність: багатозадачність;
· збереженість: довго живучі об’єкти.
Абстрагування є одним з основних методів, використовуваних для вирішення складних завдань. Абстракція виділяє істотні характеристики деякого об'єкту, що відрізняють його від всіх інших видів об'єктів і, таким чином, чітко визначає його концептуальні межі з погляду спостерігача. Абстрагування концентрує увагу на зовнішніх особливостях об'єкту і дозволяє відокремити найістотніші особливості поведінки від неістотних. Вибір правильного набору абстракцій для заданої наочної області є головним завданням об'єктно-орієнтованого проектування.
Абстракція і інкапсуляція доповнюють один одного: абстрагування направлене на спостережувану поведінку об'єкту, а інкапсуляція займається внутрішнім устроєм. Найчастіше інкапсуляція виконується за допомогою утаєння інформації, тобто маскуванням всіх внутрішніх деталей, що не впливають на зовнішню поведінку. Зазвичай ховаються і внутрішня структура об'єкту і реалізація його методів. Інкапсуляція, таким чином, визначає чіткі межі між різними абстракціями.
Інкапсуляція виступає як процес відділення один від одного елементів об'єкту, що визначають його структуру і поведінку; служить для того, щоб ізолювати зобов'язання абстракції від їх реалізації.
Розділення програми на модулі до деякої міри дозволяє зменшити її складність. Правильне розділення програми на модулі є майже таким же складним завданням, як вибір правильного набору абстракцій. Модулі виконують роль фізичних контейнерів, в які поміщаються визначення класів і об'єктів при логічному проектуванні системи. Для невеликих завдань допустимий опис всіх класів і об'єктів в одному модулі. Проте для більшості програм (окрім найтривіальніших) кращим рішенням буде згрупувати в окремий модуль логічно зв'язані класи і об'єкти, залишивши відкритим ті елементи, які абсолютно необхідно бачити іншим модулям.
Ієрархія виступає, як процес впорядкування абстракцій, розташування їх по рівнях. Основними видами ієрархічних структур стосовно складних систем є структура класів (ієрархія "is-a") і структура об'єктів (ієрархія "partof"). Прикладом ієрархії є одиночне наслідування. Іншими словами, наслідування створює таку ієрархію абстракцій, в якій підкласи успадковують будову від одного або декількох батьківських класів.
Типізація являє собою спосіб захиститися від використання об'єктів одного класу замість іншого, або принаймні управляти таким використанням. Типізація примушує виражати абстракції так, щоб мова програмування, використовувана в реалізації, підтримувала дотримання ухвалених проектних рішень. Ідея узгодження типів займає в понятті типізації центральне місце.
В той час, як об'єктно-орієнтоване програмування засноване на абстракції, інкапсуляції і наслідуванні, паралелізм головну увагу приділяє абстрагуванню і синхронізації процесів.
Для об'єктно-орієнтованої розробки виділяють сім різних видів інструментів.
Перший інструмент - система з графічним інтерфейсом, що підтримує об'єктно-орієнтовану систему позначень. Такий інструмент може бути використаний при аналізі, щоб зафіксувати семантику сценаріїв, на ранніх стадіях розробки, щоб передати стратегічні і тактичні рішення, прийняті при проектуванні, а також для координування дій проектувальників. Подібний інструмент буде корисний впродовж всього життєвого циклу і при супроводі системи.