Видалення масиву з динамічної пам’ті

Відбувається з допомогою оператора delete

delete []Family

Якщо квадратні дужки опустити, то буде видалений лише перший об’єкт масиву. При видаленні для кожного об’єкту викликається деструктор.

Вказівник на масив та масив вказівників

Розглянемо 3 випадки

Cat FamilyOne[500];

Cat *FamilyTwo[500];

Cat *FamilyThree = new Cat[500]

FamilyOne – масив з 500 об’єктів типу Cat

FamilyTwo – масив з 500 вказівників на об’єкти типу Cat

FamilyThree – вказівник на масив з 500 об’єктів типу Cat. Він є варіантом FamilyOne, бо обидва вказують на перший елемент масиву.

Зв’язані списки

Це стрктура даних, що складається з блоків пов’язнаих між собою вказівниками. Перший блок називається головою списку, останній – хвостом списку.

Типи списків:

- однозв’язний (вказівник хвостового дорівнює нулю)

-двозв’язний

-дерева (на найнижчому рівні всі вказівники дорівнюють нулю)

Класи масивів

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

1. Колекція (елементи впорядковані та відсортовані в певному порядку)

2. Набір (жоден з елементів не повторюється)

3. Словник (набір відповідних один одному пар елементів в якому значення одного елемента можна отримати через значення іншого)

4. Розріджений масив (дозволені індекси будь-якого розміру, але пам’ять займають ті значення, які існують в масиві)

5. Мультимножина (невпорядкований набір елементів додавати звертатись до яких можна в довільноу порядку)

Між всіма типами існує взаємозв’язок, та можливий перехід від одного типу до іншого. Якщо перевантажити оператор індексувння «[]» то можна перетворити зв’язаний список в колекцію, виключивши дублюванян елементів можна перетворити колекцію в набір. Створивши для елемента списку відповідну пару отримаємо словник

Об’єктно-орієнтований аналіз та проектування

Задечею моеделі є абстрактний опис всіх об’єктів реального світу та їх взаємозв’язок. Модель – абстракція предмета, виражена у спеціальних термінах. Основою є мова моделювання та процес моделювання

Мова моделювання – це домовленість, яка прийнята для можливості представлення моделі на папері. Мовою моделювання ПЗ прийнята модефікована мова моделювання UML, яка дозволяє зобразити всі класи, зв’язки між класами та їх залежність. Методом моделювання називається сукупність мови моделювання та процесу моделювання. Розглядають 2 основних методи:

1. Каскадний (послідовний) Він передбачає початкове визначення всіх деталей та вимог до ПЗ та поетапне виконання проекту. Основні етапи:

- аналіз

- проектування

- реалізація(кодування)

- перевірка (тестування)

2. Циклічний (по спіралі). Відрізняється від каскадного можилвістю повторення будь-якого етапу. На кожному етапі додаються нові уточнення та можливі модифікації. Основні етапи:

- концептуалізація (основна ідея проекту)

- аналіз

- проектування

- реалізація

- перевірка

- відлагодження

Екстремальнне програмування

Ідея полягає в розробці роботоздатної програми, яка відповідає виконанню початкових вимог. Це створення мінімального коду задачі. На першій стадії аналізу повинна бути зафіксована ідея програмного продукту у вигляді одного-двох речень, яка стає (ідея) ведучим принципом розробки. Ідея залишається незмінною на протязі всього проекту. Вона визначає вимоги до проекту, деталі яких можуть бути скоректовані.

Аналіз вимог

Під час формулювання вимог до ПЗ необхідно визначити як де і ким буде використовуватись даний програмний продукт. Мета аналізу зформулювати та зафіксувати вимоги. Результат аналізу – документ з вимогами, першим розділом з якого є аналіз прецеденту. Прецедент – детальнй опис способів використання програми. Створення повного та точного переліку прецедентів є найбільш важливою та складною задачою аналізу. При розробці прецедентів важливе значення займає інтерфейс користувача. Виконавцем називають систему або людину, що спілкується з програмним продуктом. Опис цих взаємодій і формує прецедент. При цьому програмний продукт розглядається як «чорна скринька». Виконавець посилає повідомлення програмному продукту, а він на нього реагує (видача інформації, зміна стану, зміна поведінки). Основними характеристиками виконавців є:

- зовнішність по відношенню до ПЗ

- взаємодія з ПЗ

Наши рекомендации