Жизненный цикл программы

Процесс разработки программы на ассемблере, включая постановку задачи, получение первых результатов и дальнейшее сопровождение программы, мало чем отличается от традиционного подхода с использованием любого из существующих языков программирования. После адаптации основных положений этого процесса к особенностям ассемблера получится вполне стандартный перечень работ.

1. Постановка и формулировка задачи:

изучение предметной области и сбор материала в проблемно-ориентированном контексте;

определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде;

формулирование требований к представлению исходных данных и выходных результатов;

определение структур входных и выходных данных;

формирование ограничений и допущений на исходные и выходные данные.

2. Этап проектирования:

формирование «ассемблерной» модели задачи;

выбор метода реализации задачи;

разработка алгоритма реализации задачи;

разработка структуры программы в соответствии с выбранной моделью памяти.

3. Этап кодирования:

уточнение структуры входных и выходных данных и определение ассемблерного формата их представления;

программирование задачи;

комментирование текста и составление предварительного описания программы.

4. Этап отладки и тестирования:

составление тестов для проверки работоспособности программы;

обнаружение, локализация и устранение в программе ошибок, выявленных в тестах;

корректировка кода программы и ее описания.

5. Этап эксплуатации и сопровождения:

настройка программы на конкретные условия использования;

обучение пользователей работе с программой;

организация сбора сведений о сбоях в работе программы, ошибках в выходных данных, пожеланиях по улучшению интерфейса и удобства работы с программой;

модификация программы с целью устранения выявленных ошибок и, при необходимости, изменения ее функциональных возможностей.

Порядок и объем работ в приведенном перечне укладываются в понятие жизненного цикла программы на ассемблере. На практике к порядку применения и полноте выполнения перечисленных этапов нужно подходить разумно и творчески.

Многое определяется особенностями конкретной задачи, ее назначением, объемами кода и обрабатываемых данных, другими характеристиками исходной задачи.

Некоторые из этих этапов могут либо выполняться одновременно с другими, либо вовсе отсутствовать. Главная цель формирования подобного списка работ — в том, чтобы изначально упорядочить процесс создания нового программного продукта с сохранением концептуальной целостности постановки задачи и исключением анархии в процессе разработки.