Цілі й завдання
Керівництво програміста розробляють у трьох випадках:
– програмний продукт по своєму основному призначенню є середовищем розробки або бібліотекою (як Delphi або Qt);
– комплекс або програмний продукт служить платформою для розробки програм або систем певного типу (як 1С або Axapta);
– програма поширюється разом з вихідним кодом або постійно модифікується самими розроблювачами.
Напевно можна уявити собі й інші ситуації (наприклад, програмний продукт є операційною системою), але в житті вони зустрічаються значно рідше.
Очевидне завдання керівництва програміста – постачити розроблювача інформацією, який йому буде досить для створення на базі нашого програмного продукту власних програм або систем. Ще один мотив створення такого документа – потреба розроблювачів час від часу фіксувати стан продукту, щоб самим у ньому не заплутатися й не плодити в колективі носіїв «сакральних знань».
Зміст документа
Керівництво програміста повинне пояснювати:
- З якими об'єктами програміст має справу, де вони перебувають, скільки часу існують і як вони взаємодіють між собою. Які з них він створює сам, а які надані йому середовищем, фреймворком, бібліотекою.
|
|
- Які ще засоби розробки (крім нашого програмного продукту) необхідні для того, щоб створити додаток або систему. Наприклад, якщо наш програмний продукт – це бібліотека, то програмістові будуть потрібні компілятор (можливо, цілком певний), якесь середовище розробки й інший інструментарій.
- У якому середовищі функціонує додаток або система? Якими будуть його мінімальні вимоги до системи? Чи знадобляться для його запуску які-небудь додаткові програмні засоби: фреймворки, рантайми, інтерпретатори.
- Що являє собою мінімальний працездатний додаток або мінімальна працездатна система. Які об'єкти в якій послідовності необхідно створити, і як їхній один з одним з'єднати, щоб додаток вивів хоча б «Hello World». Правда, бувають додатки, які взагалі не виводять тексту, а управляють трафіком у мережах, але в них однаково обов'язково є якийсь свій мінімальний вивід.
- Як (по кроках) скомпілювати працездатний додаток або розгорнути працездатну систему.
Це основні питання, без відповідей на які програміст не зможе нормально працювати. Якщо не повідомити їх йому в явному виді, він буде змушений зайнятися дослідженнями. Але є ще багато додаткових питань: методика й техніка налагодження, стиль програмування й ін.
Крім теорії, керівництво програміста повинне містити повні описи всіх передбачених у програмному продукті об'єктів. Якщо це функції, то повинні бути наведені їхні синопсиси, якщо класи, то опису їхніх інтерфейсів і т.д.
Якщо програмний продукт припускає використання оригінальної мови програмування й має власний компілятор або інтерпретатор, у керівництво програміста необхідно включити його опис. Однак, якщо воно виходить досить об'ємним, його виносять в окремий документ, що так і називається: опис мови (програмування).