0X0B,1
MOVLW 0XFA ; Код потужності
MOVWF 0X0C,1
Дескриптор інтерфейсу. У цьому дескрипторі описуються кінцеві точки, використовувані даним інтерфейсом і тип інтерфейсу. У кожній конфігурації може бути декілька інтерфейсів;
Приклад дескриптора інтерфейсу:
MOVLW 0X09 ;Розмір дескриптора
MOVWF 0X00,1
MOVLW 0X04 ;тип дескриптора
MOVWF 0X01,1
MOVLW 0X00 ;Номер інтерфейсу
MOVWF 0X02,1
MOVLW 0X00 ;альтернативний номер інтерфейсу
MOVWF 0X03,1
MOVLW 0X02 ;кількість кінцевих точок
MOVWF 0X04,1
MOVLW 0X03 ;код класу
MOVWF 0X05,1
MOVLW 0X00 ;код підкласу
MOVWF 0X06,1
MOVLW 0X00 ;код протоколу
MOVWF 0X07,1
MOVLW 0X00 ;індекс дескриптора
MOVWF 0X08,1
Приклад HID-дескриптора:
MOVLW 0X09 ;Розмір дескриптора
MOVWF 0X00,1
MOVLW 0X21 ;Тип дескриптора
MOVWF 0X01,1
MOVLW 0X01 ;Версія HID
MOVWF 0X02,1
MOVLW 0X00 ;Числовий код країни
MOVWF 0X03,1
MOVLW 0X00 ;Кількість дескрипторів репорту
MOVWF 0X04,1
MOVLW 0X00 ;Номер додаткового дескриптора
MOVWF 0X05,1
MOVLW 0X00 ;Розмір дескриптора репорту
MOVWF 0X06,1
MOVLW 0X64 ;Номер додаткового дескриптора
MOVWF 0X07,1
MOVLW 0X00 ;Розмір додаткового дескриптора
MOVWF 0X08,1
MOVLW 0X64 ;
MOVWF 0X09,1
Дескриптор кінцевої точки. Для кожної кінцевої точки визначає режим і напрям передачі даних, а також деяку специфічну інформацію. Одна
і та ж кінцева точка і її дескриптор може використовуватися в різних
конфігураціях;
Приклад дескриптора кінцевої точки:
MOVLW 0X07 ;Розмір дескриптора
MOVWF 0X00,1
MOVLW 0X05 ;Тип дескриптора
MOVWF 0X01,1
MOVLW 0X80 ;Код адресу кінцевої точки
MOVWF 0X02,1
MOVLW 0X04 ;Атрибути
MOVWF 0X03,1
MOVLW 0X64 ;Максимальний розмір
MOVWF 0X04,1
MOVLW 0X01 ;Інтервал опитування
MOVWF 0X05,1
Приклад РЕПОРТ дескриптора:
MOVLW 0X10
MOVWF 0X00,1
MOVLW 0X18
MOVWF 0X01,1
Строковий дескриптор. Багато попередніх дескрипторів посилаються на строкові дескриптори. Цей тип дескриптора призначений для зберігання текстової інформації в кодуванні «Unicode», що описує відповідні рівні системи (опис конфігурацій, інтерфейсів і кінцевих точок).
3 ТЕХНОЛОГІЯ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
3.1 Способи розробки програм
При розробці програмного забезпечення використовуються різні способи розробки програм. Наприклад, класичний метод розробки програмного забезпечення, метод ітераційного (покрокового проектування), XP, парне програмування тощо.
Старішою парадигмою процесу розробки ПЗ являється класичний життєвий цикл. Дуже часто класичний життєвий цикл називають каскадною або водоспадною моделлю, підкреслюючи, що розробка розглядається як послідовність етапів, причому перехід на наступний, ієрархічно нижчий етап відбувається тільки після повного завершення роботи на поточному етапі. Розробка починається на системному рівні і проходить через аналіз, проектування, кодування, тестування , супровід. При цьому моделюються дії стандартного інженерного циклу.
Метод ітераційного способу розробки програми передбачає розбиття проекту на кілька послідовних (а інколи і паралельних) частин, які розробляються по кроково. Це дозволяє виконувати розробку модулів, а потім їх подальше удосконалення.
Розробка починається на системному рівні і проходить через аналіз, проектування, кодування, тестування , супровід. При цьому моделюються дії стандартного інженерного циклу.
Системний аналіз задає роль кожного елемента в комп'ютерній системі, взаємодію елементів один з одним. Оскільки ПЗ являється тільки частиною великої системи, то аналіз починається з визначення вимог до всіх системних елементів і визначення підмножин цих вимог до програмного „елементу". Необхідність системного підходу явно проявляється, коли формується інтерфейс ПЗ з другими елементами (апаратурою, людьми, з базою даних). На цьому ж етапі починається рішення задачі планування проекту ПЗ. В ході планування проекту визначається об'єм проектних робіт і їх риск, необхідні працевитрати, формуються робочі задачі і план-графік робіт.
Аналіз вимог відноситься до програмного елементу - ПЗ. Уточнюються і деталізуються його функції, характеристики та інтерфейс. Всі визначення документуються в специфікації аналізу . Тут завершується рішення задачі планування проекту.
Проектування полягає в створенні уявлень:
архітектури ПЗ;
модульної структури ПЗ;
алгоритмічної структури ПЗ;
структури даних;
вхідного і вихідного інтерфейсу (вхідних і вихідних форм даних).
Вихідні дані для проектування містяться в специфікації аналізу, тобто в ході проектування виконується трансляція вимог до ПЗ в безліч
проектних уявлень. При рішенні задач проектування основну увагу приділяють якості майбутнього програмного продукту.
Кодування полягає в перекладі результатів проектування в текст на мові програмування.
Тестування - виконання програми для виявлення дефектів в функціях, логіці і формі реалізації програмного продукту.
Супровід - це внесення змін в експлуатуюче ПЗ. Цілі змін:
виправлення помилок;
адаптація до змін зовнішнього для ПЗ середовища;
удосконалення ПЗ по вимогам заказника.
Супровід ПЗ полягає у повторному використанні кожного з попередніх кроків (етапів) життєвого циклу до існуючої програми, але не в розробці нової програми.
Як і будь-яка інженерна схема, класичний життєвий цикл має
переваги і недоліки.
Переваги класичного життєвого циклу: дає план і часовий графік по всіх етапах проекту, упорядковує хід конструювання.
Недоліки класичного життєвого циклу:
реальні проекти часто вимагають відхилення від стандартної послідовності кроків;
цикл заснований на точному формулюванні початкових вимог до ПЗ (реально на початку проекту вимоги заказника визначені лише частково);
результати проекту доступні заказнику тільки в кінці роботи.
3.2 Основні технологічні етапи розробки програм
Розробка програмного забезпечення проходить ряд етапів:
Отримання завдання.
Вивчення предметної області.
Виконання аналізу отриманих даних.
Виконання проектування програмного забезпечення.
Виконання розбиття на декілька цілісних, але взаємозв’язаних частин.
Виконання конструювання класів.
Кодування.
Створення тестів.
Документування коду та проекту.
Випуск бета-версії.
Виправлення знайдених протягом використання бета-версії програми помилок.
Випуск остаточної версії програми.
Подальша підтримка роботи програми.
Етапи із 1 по 8 вважають технологічними, вони є базовими і необхідними при розробці будь-якого програмного продукту.
Проектування – це ітераційний процес, за допомогою якої вимоги до
програмних систем (ПС) транслюються в інженерні уявлення ПС.
Спочатку ці уявлення дають тільки концептуальну інформацію (на високому рівні абстракції), подальші уточнення приводять до форм, які близькі до текстів на мовах програмування.
В проектуванні виділяють два ступені: попереднє проектування і детальне проектування. Попереднє проектування формує абстракції архітектурного рівня, детальне проектування уточнює ці абстракції, додає подробиці алгоритмічного рівня. Крім того, в багатьох випадках виділяють інтерфейсне проектування, ціль якого — сформувати графічний інтерфейс користувача (GUI).
3.3 Технологія конструювання ПЗ
Технологія конструювання програмного забезпечення (ТКПЗ)- система інженерних принципів для створення економічного ПЗ, яке надійно і ефективно працює в реальних комп'ютерах.
Розрізняють методи, засоби і процедури ТКПЗ.
Методи забезпечують рішення слідуючих задач:
планування і оцінка проекту;
аналіз системних і програмних вимог;
програмування алгоритмів, структур