Появляются и широко используются в сфере управления ПК и более качественные программно-инструментальные средства, которые ориентированы на специалистов управления – непрограммистов. Данный факт кардинально изменил характер технологии подготовки и решения экономических задач.
С ростом производства новых микропроцессоров резко изменились приоритеты и актуальность проблем, которые присущи традиционным технологиям разработки прикладных программ. Возможность исключения из технологической цепочки программистов-профессионалов позволяет ускорить процесс разработки прикладных программных средств.
8.12. Современные методы и средства разработки прикладных программных средств
Понятие «модульное проектирование» тесно связано с реализацией метода нисходящего проектирования. Последовательность логически взаимосвязанных фрагментов, оформленных как отдельная часть программы, именуется модулем. Выделяют следующие свойства программных модулей:
• ссылка на модуль может осуществляться по имени, в том числе и из других модулей;
• при окончании работы модуль должен возвращать управление модулю, вызвавшему его;
• модуль должен иметь один вход и выход;
• модуль должен обладать небольшим размером, обеспечивающий его обозримость.
При разработке сложных программ отделяют головной управляющий модуль и подчиненные ему модули, обеспечивающие реализацию отдельных функций управления, функциональную обработку, и вспомогательные модули, которые гарантируют сервисное обслуживание пакета.
Модульный принцип разработки программ имеет целый ряд преимуществ:
1) емкая программа может разрабатываться одновременно несколькими исполнителям, что позволяет сократить сроки ее разработки;
2) существует возможность создания библиотеки наиболее употребляемых программ и использования их;
3) при необходимости сегментации процедура загрузки больших программ в ОП становится намного проще;
4) возникает много естественных контрольных точек, призванных осуществлять наблюдение за ходом разработки программ и контроль исполнения программ;
5) обеспечивается эффективное тестирование программ, значительно проще происходят проектирование и последующая отладка.
Структурное программирование применяется для того, чтобы облегчить процесс разработки и отладки программных модулей, а также процесс их последующего сопровождения и модификации.
Развитие программно-инструментальных средств программирования экономических задач основано на системах автоматизации программирования, или системах программирования, обеспечивающих возможность решения множества задач непосредственно в среде ОС ЭВМ.
Задачи экономического управления обладают рядом особенностей, отличающих их от других типов задач:
1) доминирование задач с относительно несложными вычислительными алгоритмами и необходимостью формирования накопительных итогов;
2) работа с большими массивами исходной информации;
3) требование предоставления большинства результатной информации в форме документов табличной формы.
Технология CASE является совокупностью средств системного анализа, проектирования, разработки и сопровождения сложных программных систем и позволяет разработчикам использовать обширные возможности для различного рода моделирования. Согласованность взаимодействия всех специалистов, занятых в разработке программного обеспечения, гарантирует централизованное хранение всей необходимой для проектирования информации и контроль за целостностью данных.
Проект ISDOS состоит из модулей, обеспечивающих:
• ввод, контроль и кодирование спецификаций проектируемой системы;
• анализ правильности постановки задач и их согласованности;
• выявление ошибок и выдачу сообщений пользователям, а также устранение дублирования в исходной информации;
• преобразование постановок задач после проверки исходных данных в машинные программы;
• выделение основных элементов информационной системы.
Перечисленные модули являются взаимодействующими между собой. При этом их разделение является достаточно условным.
Тема 9
Основы алгоритмизации и программирования
9.1. Понятие алгоритма
Алгоритмом называется строго определенное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи.
Термин «алгоритм» происходит от латинской формы имени среднеазиатского математика Аль-Хорезми – Algorithmi. Алгоритм является одним из основных понятий информатики и математики.
Исполнителем алгоритма предстает некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, которая способна выполнить действия, предписываемые алгоритмом.
Для характеристики исполнителя используют несколько понятий:
• среда;
• система команд;
• элементарные действия;
• отказы.
Среда (или обстановка) представляет собой «место обитания» исполнителя.
Любой из исполнителей может выполнять команды только из некоторого строго заданного списка, который является системой команд исполнителя. Для каждой команды задаются условия применимости (в каких состояниях среды может быть выполнена команда) и приводятся результаты выполнения команды.
После вызова команды исполнитель производит соответствующее элементарное действие.
Может возникнуть и отказ исполнителя в случае, если команда вызывается при недопустимом для нее состоянии среды. Чаще всего исполнитель ничего не знает о цели алгоритма. Он выполняет все предложенные ему действия, не задавая вопросов «почему» и «зачем».
В информатике универсальным исполнителем алгоритмов является компьютер.
К основным свойствам алгоритмов относятся:
1) понятность для исполнителя – исполнитель алгоритма должен знать, как его выполнять;
2) дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное исполнение простых (или ранее определенных) шагов (этапов);
3) определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Это свойство обеспечивает выполнение алгоритма механически, не требуя никаких дополнительных указаний или сведений о решаемой задаче;
4) результативность (или конечность) – алгоритм должен приводить к решению задачи за конечное число шагов;
5) массовость – алгоритм решения задачи производится в общем виде, т. е. его можно будет применять для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из определенной области, которая называется областью применимости алгоритма.
На практике чаще всего встречаются следующие формы представления алгоритмов:
• словесная – записывается на естественном языке;
• графическая – с помощью изображения из графических символов;
• псевдокоды – полуформализованные описания алгоритмов на некотором условном алгоритмическом языке, которые включают в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.;
• программная – тексты на языках программирования.
Словесный способ записи алгоритмов является описанием последовательных этапов обработки данных. Алгоритм может быть задан в произвольном изложении на естественном языке. Например, алгоритм нахождения наибольшего общего делителя двух натуральных чисел можно представить как следующую последовательность действий:
1) задание двух чисел;
2) если числа равны, то выбор любого из них в качестве ответа и остановка, в противном случае – продолжение выполнения алгоритма;
3) определение большего из чисел;
4) замена большего из чисел разностью большего и меньшего из чисел;
5) повтор алгоритма с шага 2.
Приведенный алгоритм используется для любых натуральных чисел и должен приводить к решению поставленной задачи.
Словесный способ не имеет широкого распространения, так как обладает некоторыми недостатками:
• данные описания строго не формализуемы;
• отличаются многословностью записей;
• допускают неоднозначность толкования отдельных предписаний.
Графический способ представления алгоритмов оказывается более компактным и наглядным по сравнению со словесным. При данном виде представления алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению некоторого числа действий.