1
Розробіть модель взаємодії майбутньої програми з користувачем. Визначтеся з тим, звідки додаток буде отримувати вхідні дані і параметри конфігурації. Найчастіше консольні утиліти приймають всі параметри з командного рядка і не передбачають інтерактивної взаємодії з оператором. Однак багато текстові програми, що реалізують розвинений функціонал, використовують комплексний підхід. Вони завантажують частина налаштувань з конфігураційних файлів, частина отримують в якості параметрів командного рядка, а ті, яких не вистачає - запитують у користувача.
Якщо розробляється програма повинна здійснювати інтенсивна взаємодія з оператором (наприклад, за допомогою текстових меню), побудуйте граф діалогу. Він є візуалізувати представленням всіх стійких станів додатки і переходів між ними, відповідних операціях обробки даних.
2
Визначте набір платформ, на яких повинна буде функціонувати програма. У випадку, якщо платформа всього одна, відкриваються можливості безперешкодного використання її специфічних можливостей. При необхідності ж створення кроссплатформенного додатки вимоги до використовуваних засобів доведеться посилити.
3
Виберіть основні засоби реалізації програми. Визначтеся з мовою програмування, використовуваними бібліотеками, IDE. Транслятори з вибраної мови повинні існувати для всього переліку платформ, виділених на другому кроці.
Індустріальним стандартом розробки ПЗ сьогодні є мова C ++. Безкоштовні компілятори C ++ і відповідні IDE існують для всіх популярних операційних систем. Безсумнівною перевагою C ++ при розробці консольних додатків є можливість використання стандартної бібліотеки шаблонів (STL).
4
Розробіть або вивчіть алгоритми перетворення вхідної інформації, що обробляється програмою. При необхідності, розгляньте можливість використання сторонніх бібліотек для реалізації складного функціоналу.
5
Створіть текстову програму. Реалізуйте алгоритми введення, обробки і виведення даних на обраною мовою програмування. Для більшої зручності використовуйте інтегровані середовища розробки. При необхідності, додайте код для інтерактивної взаємодії з користувачем.