В настоящее время программирование трансформировалось в целую индустрию производства программных изделий. Основные должности программистов: техник-программист, инженер - программист (третьей, второй и первой категорий). Следовательно, профессиональный разработчик программных изделий должен владеть теорией проектирования, методами активизации мышления.
Изданный учебник [1] содержит теоретические знания, необходимые как программистам - кодировщикам программ, так и системным аналитикам. Более того, в книге излагаются методики овладения дедуктивным мышлением.
До конца 70-х и начала 80-х годов программирование было работой отдельных одаренных людей. Из-за несовершенства технологий даже относительно короткие программы (длиной около 600 строк) создавались в течение нескольких месяцев. Начало 80-х годов соответствовало широкому внедрению в практику программирования методов проектирования, заимствованных из техники.
К настоящему времени понятия процесса программирования качественно изменились. Производство программ приобрело массовый характер, существенно увеличились их объем и сложность. Разработка программных комплексов потребовала значительных усилий больших коллективов специалистов. Программы перестали быть только вычислительными и начали выполнять важнейшие функции по управлению и обработке информации в различных отраслях науки, техники, экономике и др.
С появлением САПР в 80-х годах были сделаны обобщения теории проектирования технических систем и устройств с выявлением инвариантов в виде проектных процедур, особенно эвристических. Были намечены пути и сделаны первые попытки их автоматизации.
Параллельное развитие теории программирования и теории проектирования сделало актуальным их системное исследование. Цель исследований, отраженных в учебнике, состояла в достижении позитивного дальнейшего взаимного проникновения этих теорий.
Первая глава содержит сведения по основам теории проектирования. Даются такие методологические понятия проектирования, как элементы блочно-иерархического подхода. Вводится понятие жизненного цикла программного изделия, а также стадий и этапов проведения программных разработок.
Во второй главе рассматриваются методы активизации мышления на ранних этапах проектирования программных изделий, что позволяет решить задачу выбора наилучшего варианта из множества допустимых проектных решений.
Третья глава содержит описание методики разработки структурированных алгоритмов в форме проектной процедуры разработки функциональных описаний.
В четвертой главе показаны архитектурные решения программных систем.
Пятая глава содержит описание технологии структурного программирования.
В шестой главе рассматривается технология объектно-ориентированного проектирования. Рассматриваются примеры выполнения проектов малой и средней сложности.
Седьмая глава содержит понятие технологии визуального программирования.
В восьмой главе раскрывается понятие САПР программных разработок, основанных на CASE-технологиях.
Девятая глава посвящена технологиям тестирования программ.
В десятой главе описываются основные принципы менеджмента программных разработок.
Помимо апробации в области программирования, автор учебника провел апробацию изложенных в нем методик при обучении непрограммирующих специальностей.
Инструкция пользования каким-либо устройством, описание бизнес-процесса, инструкция вообще или алгоритм программы являются функциональными описаниями. Хорошим функциональным описанием является описание: безошибочное, однозначное для читателя, краткое, суть которого понимается быстро. Согласно методике, хорошее функциональное описание составляется от общего к частному с использованием особых конструкций предложений - типовых элементов (типовых структур или просто структур), составляющих семантический скелет будущих инструкций. Главное преимущество изложенной методики состоит в однозначности соответствия функционального описания замыслу, что достигается как оправданной декомпозицией, так и исчерпывающим тестированием.
Оказалось, что обучение методике разработки описаний функционирования систем от общего к частному (составление инструкций вообще, описание бизнес-процессов) вполне доступно студентам второго курса специальности бухгалтерский учет, даже если они не изучали эту методику в курсе программирования. Более того, половина учеников девятого класса обычной школы вполне способна полностью освоить данный материал. То есть, школьники реально освоили элементы дедуктивного мышления! Затраты на освоение материала составили 8 час лекционных и 16 часов практических занятий. Методика такого обучения излагается в учебнике [1].Таким образом, у обучаемых всего за 24 часа учебных занятий удается развить первичные навыки дедуктивного мышления и владение начальными методами системного подхода. Следует отметить, что теперь всего лишь еще за несколько часов обучения можно выйти на уровень составления абстрактных моделей и структурной декомпозиции систем, что позволяет выйти на следующий уровень реального владения системным подходом.
Авторы считают, что в данной работе новыми являются следующие положения и результаты:
- теория проектирования объектов техники и, в частности, теория поискового конструирования перенесена в новую область - теорию программирования;
- разработаны методики массового обучения программистов и, в частности, дедуктивному мышлению
СПИСОК ЛИТЕРАТУРЫ
- Технологии программирования: Учебник /В.А. Камаев, В.В. Костерин. - М.: Высш. шк., 2005,-359 с.