• навыками постановки задачи программирования и алгоритмизации ее решения.
Программирование и программотехника
Процесс создания программ
Программа – это логически упорядоченная, строго регламентированная последовательность команд (инструкций) для управления компьютером. Программы создаются для решения конкретных задач. Процесс создания программ включает три основных этапа: постановку задачи, алгоритмизацию решения задачи и непосредственно программирование.
Различают два класса задач:
- • функциональные, которые ставятся пользователем и решаются для удовлетворения нужд предметных (прикладных) областей, например управление работой предприятия, планированием выпуска продукции;
- • технологические, которые ставятся и решаются при организации технологического процесса обработки данных и служат основой для разработки сервисных средств программного обеспечения (в виде утилит, библиотек процедур и др.), применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Постановка задачи – точная формулировка задачи для решения на компьютере с описанием входной и выходной информации. Входной информацией могут служить данные документов ручного заполнения; нормативно-справочная информация или результаты решения других задач, хранимые в базе данных; электрические сигналы, поступающие с датчиков, и другие данные. Выходная информация может быть представлена в виде документа (типа листинга), видеограммы на экране монитора, электрического сигнала для управления конкретным устройством. При постановке функциональной задачи формулируются ее цель, место и связи с другими задачами; уточняются условия решения задачи с использованием средств вычислительной техники; определяются функции обработки входной информации и др.
Урок 2. Этапы разработки ПО
Алгоритмизация решения задачи состоит в построении алгоритма, представляющего собой систему точно сформулированных правил получения требуемого результата (выходной информации) с помощью входных данных. Основными свойствами алгоритма являются:
- • дискретность – пошаговое решение задачи;
- • определенность – однозначность реализации каждого шага;
- • выполнимость – получение результата за конечное число шагов;
- • массовость – пригодность алгоритма для решения определенного класса задач.
В алгоритме с помощью расчетных формул, логических условий, контроля над достоверностью результатов и других средств отражаются логика и способ решения задачи.
Программирование – теоретическая и практическая деятельность, связанная с непосредственным созданием программ.
Основную работу по созданию программ выполняют программисты, которые делятся на системных и прикладных, при этом:
- • системный программист занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, которое координирует всю работу компьютера. Его основной задачей является создание операционной среды выполнения прикладных программ;
- • прикладной программист занимается разработкой, отладкой и эксплуатацией программ, предназначенных для решения функциональных задач (алгоритмизация решения задачи, непосредственное программирование).
При разработке информационных систем, использующих интегрированные базы данных, для создания информационной среды выполнения программ привлекается администратор базы данных. На начальной стадии создания программ (постановка и алгоритмизация решения задачи, создание информационной среды выполнения программы) в работе принимает участие специалист предметной области – постановщик программ. Поскольку основным потребителем программ является конечный пользователь, при постановке задачи учитываются квалификационные характеристики пользователей.
Этапы разработки программ
Технология разработки, отладки, верификации и внедрения программного обеспечения называется программотехникой. Ее бурное развитие обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на их производство и эксплуатацию программ, обеспечением гарантированного уровня качества. Выделяют два основных вида средств программотехники (рис. 11.1): средства для создания приложений и средства для создания информационных систем [2, 17].
Источник: studme.org
44 Инструментарий технологии программирования. Процесс разработки программ
Инструментарий технологии программированияобеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования являются системные и прикладные программисты.
Но прежде чем обсуждать сами инструментальные средства разработки программ, рассмотрим принципы разработки программного обеспечения.
При разработке программ всегда следует помнить одно золотое правило: надежность программы достигается, в первую очередь, благодаря ее правильному проектированию, а не бесконечному тестированию. О том, как правильно организовать разработку программ (независимо от языка), написана не одна сотня книг. Большинство авторов предлагают следующийпроцесс разработки (создания) программы:
1. Этап постановки и формулировки задачи. Постановка задачи(problem definition) —это точная формулировка решения задачи на компьютере с описанием входной и выходной информации:
изучение предметной области и сбор материала в проблемно-ориентированном контексте;
определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде;
формулирование требований к представлению исходных данных и выходных результатов;
определение структур входных и выходных данных;
формирование ограничений и допущений на исходные и выходные данные.
2. Этап проектирования:
формирование модели задачи;
выбор метода реализации задачи;
разработка алгоритма реализации задачи;
разработка структуры программы
3. Этап кодирования:
уточнение структуры входных и выходных данных и определение формата их представления;
комментирование текста программы и составление предварительного описания программы.
4. Этап отладки и тестирования:
составление тестов для проверки правильности работы программы;
обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;
корректировка кода программы и ее описания.
5. Этап эксплуатации и сопровождения:
настройка программы на конкретные условия использования;
обучение пользователей работе с программой;
организация сбора сведений о сбоях в работе программы, ошибках в выходных данных, пожеланиях по улучшению интерфейса и удобства работы с программой;
модификация программы с целью устранения выявленных ошибок и, при необходимости, изменения ее функциональных возможностей.
После написания программы на языке программирования нужно ввести программу в компьютер, перевести в машинное представление и выполнить. Как это сделать? Дальнейшее обсуждение будет посвящено именно этому вопросу.
Программа, подготовленная на языке высокого уровня, проходит несколько этапов:
1. этап. В текстовом редакторе пишетсяисходный код программы на алгоритмическом языке (source code) и сохраняется в файле с расширением *.pas.
2 этап. Трансляция, происходит преобразованиеисходного кода программы (source code) вобъектный код (object code), т.е. происходит проверка синтаксиса написания операторов, и если ошибок в написании нет, осуществляется перевод на язык машинных кодов. Файл объектного кода имеет расширение *.obj;
Трансляторыпредназначены для проверки правильности написания операторов и преобразования программ, написанных на языках программирования, в программы на машинном языке. Программа, подготовленная на каком-либо языке программирования, называетсяисходным модулем. В качестве входной информации трансляторы применяют исходные модули и формируют в результате своей работыобъектные модули, являющиеся входной информацией для редактора связей. Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу.
Трансляторыделятся на два класса:компиляторы (compiler) иинтерпретаторы (interpreter). Компиляторы транслируют всюпрограмму, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняютпооператорный перевод на машинный язык и выполнение всей программы.
3. этап.Компоновка, когда происходит обработка объектного кодаредактором связей, специальной программой осуществляющей построениезагрузочного модуля (load module), пригодного к выполнению (рис 16.).
Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.
Получив исполняемый модуль, не спешите радоваться. К сожалению, устранение синтаксических ошибок еще не гарантирует того, что программа будет хотя бы запускаться, не говоря уже о правильности работы. Поэтому обязательным этапом процесса разработки является отладка. На этапеотладки, используя описание алгоритма, выполняется контроль правильности функционирования, как отдельных участков кода, так и всей программы в целом.
Отладчикпозволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе. Базовый набор функций отладчика включает:
пошаговое выполнение программы (режим трассировки) с отображением результатов,
остановка в заранее определенных точках,
возможность остановки в некотором месте программы при выполнении некоторого условия;
изображение и изменение значений переменных.
Но даже успешное окончание отладки еще не является гарантией того, что программа будет работать правильно со всеми возможными исходными данными. Поэтому нужно обязательно провести тестирование программы, то есть проверить ее работу на «пограничных» и заведомо некорректных исходных данных. Для этого составляются тесты. Вполне возможно, что результаты тестирования вас не удовлетворят. В этом случае придется вносить поправки в код программы, то есть возвращаться к первому шагу процесса разработки (см. рисунок 16).
Инструментарий технологии программирования— совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
Сформировались следующие группы программных продуктов (рис.17):
Средства для создания приложений, включающие:
- локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
- интегрированные средыразработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
Источник: studfile.net
Инструментарий технологии программирования. Процесс разработки программ
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования являются системные и прикладные программисты.
Но прежде чем обсуждать сами инструментальные средства разработки программ, рассмотрим принципы разработки программного обеспечения.
При разработке программ всегда следует помнить одно золотое правило: надежность программы достигается, в первую очередь, благодаря ее правильному проектированию, а не бесконечному тестированию. О том, как правильно организовать разработку программ (независимо от языка), написана не одна сотня книг. Большинство авторов предлагают следующий процесс разработки (создания) программы:
1. Этап постановки и формулировки задачи. Постановка задачи (problem definition) — это точная формулировка решения задачи на компьютере с описанием входной и выходной информации:
изучение предметной области и сбор материала в проблемно-ориентированном контексте;
определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде;
формулирование требований к представлению исходных данных и выходных результатов;
определение структур входных и выходных данных;
формирование ограничений и допущений на исходные и выходные данные.
2. Этап проектирования:
формирование модели задачи;
выбор метода реализации задачи;
разработка алгоритма реализации задачи;
разработка структуры программы
3. Этап кодирования:
уточнение структуры входных и выходных данных и определение формата их представления;
комментирование текста программы и составление предварительного описания программы.
4. Этап отладки и тестирования:
составление тестов для проверки правильности работы программы;
обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;
корректировка кода программы и ее описания.
5. Этап эксплуатации и сопровождения:
настройка программы на конкретные условия использования;
обучение пользователей работе с программой;
организация сбора сведений о сбоях в работе программы, ошибках в выходных данных, пожеланиях по улучшению интерфейса и удобства работы с программой;
модификация программы с целью устранения выявленных ошибок и, при необходимости, изменения ее функциональных возможностей.
После написания программы на языке программирования нужно ввести программу в компьютер, перевести в машинное представление и выполнить. Как это сделать? Дальнейшее обсуждение будет посвящено именно этому вопросу.
Программа, подготовленная на языке высокого уровня, проходит несколько этапов:
1. этап. В текстовом редакторе пишется исходный код программы на алгоритмическом языке (source code) и сохраняется в файле с расширением *.pas.
2 этап. Трансляция, происходит преобразование исходного кода программы (source code) в объектный код (object code), т.е. происходит проверка синтаксиса написания операторов, и если ошибок в написании нет, осуществляется перевод на язык машинных кодов. Файл объектного кода имеет расширение *.obj;
Трансляторы предназначены для проверки правильности написания операторов и преобразования программ, написанных на языках программирования, в программы на машинном языке. Программа, подготовленная на каком-либо языке программирования, называется исходным модулем. В качестве входной информации трансляторы применяют исходные модули и формируют в результате своей работы объектные модули, являющиеся входной информацией для редактора связей. Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу.
Трансляторы делятся на два класса: компиляторы (compiler) и интерпретаторы (interpreter). Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняют пооператорный перевод на машинный языки выполнение всей программы.
3. этап. Компоновка, когда происходит обработка объектного кода редактором связей, специальной программой осуществляющей построение загрузочного модуля (load module), пригодного к выполнению (рис 16.).
Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.
Получив исполняемый модуль, не спешите радоваться. К сожалению, устранение синтаксических ошибок еще не гарантирует того, что программа будет хотя бы запускаться, не говоря уже о правильности работы. Поэтому обязательным этапом процесса разработки является отладка. На этапе отладки, используя описание алгоритма, выполняется контроль правильности функционирования, как отдельных участков кода, так и всей программы в целом.
Отладчик позволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе. Базовый набор функций отладчика включает:
пошаговое выполнение программы (режим трассировки) с отображением результатов,
остановка в заранее определенных точках,
возможность остановки в некотором месте программы при выполнении некоторого условия;
изображение и изменение значений переменных.
Но даже успешное окончание отладки еще не является гарантией того, что программа будет работать правильно со всеми возможными исходными данными. Поэтому нужно обязательно провести тестирование программы, то есть проверить ее работу на «пограничных» и заведомо некорректных исходных данных. Для этого составляются тесты. Вполне возможно, что результаты тестирования вас не удовлетворят. В этом случае придется вносить поправки в код программы, то есть возвращаться к первому шагу процесса разработки (см. рисунок 16).
Инструментарий технологии программирования — совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
Сформировались следующие группы программных продуктов (рис.17):
Средства для создания приложений, включающие:
o локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
o интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
САSE-технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем. Подробнее вопрос 46.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru