Этапы технологического процесса разработки программ

В зависимости от специфических особенностей конкретной задачи (ее вычислительной и логической сложности, состава и структуры исходной, промежуточной и результатной информации и т.п.), профессионального уровня подготовки специалистов и ряда других факторов, этапы технологического процесса создания программ мо­гут быть объединены в этапы (рис. 11).

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

1) формули­руется ее цель;

2) определяется взаимосвязь с други­ми задачами;

3) указывается периодичность ее решения;

4) уста­навливаются состав и формы представления входной, про­межуточной и результатной информации;

5) характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи;

6) специфицируются формы взаимодействия пользователя с ПК в ходе решения задачи и т.п.

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

Что такое технологический процесс? Введение.

Этап технологического процесса подготовки решения задач на ЭВМ представляет собой алгоритмизацию ее решения, т.е. разработку оригинального или адаптацию (уточнение и корректировку) уже известного алгоритма. Таким образом, алгоритм дает возможность чисто механи­чески решать любую задачу из некоторого класса однотип­ных задач.

Рис. 11. Принципиальная схема разработки программных средств решения задач на ЭВМ

Алгоритм и программа. Управлять компьютером нужно по определенному алгоритму. Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программи­рования.

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

Формульно-словесный способ описания алгоритма основан на записи содержания выполняемых действий с использовани­ем изобразительных возможностей языка математики, допол­ненного необходимыми пояснениями средствами естествен­ного языка. Данный способ, обладая всеми достоинствами словесного способа, более лаконичен, а значит, и более на­гляден.

Графический способ описания алгоритма представляет со­бой изображение логико-математической структуры алго­ритма, при котором все этапы процесса обработки инфор­мации отображаются с помощью установленного набора геометрических фигур (блоков), имеющих строго определен­ную конфигурацию в соответствии с приписаннымим ха­рактером выполняемых действий (например, вычислением, вводом-выводом информации, проверкой логических усло­вий и т.п).

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

Как разработать технологический процесс изготовления детали. 9 основных этапов

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

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

Читайте также:
Какие виды входят программу легкой атлетики спортивная ходьба бег прыжки

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

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

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

Источник: studopedia.su

Глава III. Технологический процесс разработки и отладки программы

Основные проблемы качества создаваемого программного продукта коренятся в неспособности эффективно управлять процессом разработки программного обеспечения. Даже самые оптимальные методы и инструменты не могут быть грамотно и рационально использованы в недисциплинированном и хаотическом проекте. Качество программного продукта непредсказуемо, так как нет объективной основы для его достижения. Сложившуюся ситуацию можно изменить лишь в результате создания инфраструктуры для поддержки процесса эффективной программной инженерии и сопровождения — технологического процесса разработки программного обеспечения.

Технологический процесс разработки ПО — это множество направлений деятельности, методов, практических приемов и процедур, используемых для разработки и сопровождения ПО и связанных с ним продуктов (планов проекта, проектных документов, кода, тестов и руководств пользователя).

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

Описание технологического процесса разработки и отладки программы

В общем виде процесс разработки программного обеспечения состоит из следующих основных этапов:

— Изучение предметной области;

— Определение трудоёмкости разработки;

— Проектирование алгоритмов программы;

— Выбор операционной системы и инструментария;

— Выбор вспомогательного программного обеспечения;

— Тестирование программы и её отладка;

— Написание программной документации;

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

Рассмотрим более подробно каждый из этапов.

Постановка задачи

В постановке задачи раскрывается организационно-экономическая сущность задачи:

— Формулируется цель ее решения;

— Определяется взаимосвязь с другими задачами;

— Указывается периодичность ее решения;

— Раскрывается состав и форма представления входной, промежуточной и выходной информации;

— Характеризуются формы и методы контроля достоверности информации;

— Описываются формы взаимодействия пользователя с ЭВМ.

Особое внимание уделяется детальному описанию входной, выходной и промежуточной информации. При этом определяется:

— Форма представления отдельных данных;

— Количество знаков, выделяемых для записи данных;

— Источник возникновения данных.

Изучение предметной области

Изучение предметной области поставленной задачи начинается с изучения определённого широкого направления в общих чертах — тестирование, программные уязвимости, UNIX-подобные операционные системы и т.д. Затем проводится обзор более узкоспециализированных областей — генерирование тестовых данных, парсинг опций приложений, мониторинг и логирование, автоматизация, специфика использования выбранного инструментария и т.п.

Читайте также:
Примеры программ на pic16

Определение трудоёмкости разработки

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

— общая трудоемкость темы;

— трудоемкость изучения задачи;

— трудоемкость разработки алгоритмов;

— трудоемкость написания программы;

— трудоемкость оформления документации.

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

Общая трудоёмкость разработки программы составляет 35 дней. Задача требует для решения стандартный рабочий компьютер. Трудоёмкость разработки более подробно рассмотрена в экономическом разделе.

Проектирование алгоритмов программы

На этапе разработки алгоритмов программы вырабатывается абстрактное решение поставленной задачи в виде конечной последовательности определённых действий. Алгоритмы оформляются в виде компактных, наглядных и формализованных блок-схем.

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

Выбор языка программирования, операционной системы и сопутствующего инструментария

На основе постановки задачи и разработанных алгоритмов определяется общая трудоёмкость, выбирается операционная система и проводиться анализ сред разработки. Определяется наиболее подходящий инструментарий.

Обоснование выбора языка программирования

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

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

Можно было бы написать фаззер на языке C, но общая трудоёмкость процесса немного отпугивает. В нашем случае наиболее подходящими будут такие скриптовые языки как Perl, Python и Ruby.

Эти языки достаточно популярны в мире UNIX — их интерпретаторы можно найти почти в любой UNIX-подобной операционной системе. Но самое главное их преимущество в том, что они обеспечивают высокую скорость разработки.

На данный момент наименее актуальным из этих языков является Perl. Сейчас Perl в основном используется для написания однострочных скриптов системными администраторами UNIX. Код, написанный на Perl, сложно поддерживать в процессе модификации.

Язык программирования Python является наиболее популярным из этих трёх языков. Свою популярность он приобрёл во многом благодаря Django — фреймворка для веб-приложений на базе Python. Python может использоваться для разработки веб-приложений, прикладных программ, а также для написания небольших скриптов. Недостатком языка Python является несовместимость между второй и третьей версиями языка, а также низкое быстродействие, во многом, из-за представления всех элементов языка в качестве объектов. Следует заметить, что низкое быстродействие является характерной особенностью всех интерпретируемых языков программирования.

Читайте также:
Как написать программу шифратор

Так же как и Python, в Ruby все элементы языка являются объектами. В общем можно сказать, что это языки-близнецы, аналог Django в Ruby — Ruby on Rails. На данный момент хоть Ruby и набирает популярность, можно отметить малое количество русскоязычной литературы по этому языку, что можно характеризовать как недостаток.

Принимая во внимание всё вышеперечисленное, для написания фаззера предполагается использовать язык Python.

Выбор вспомогательного программного обеспечения

Для написания решения, направленного на автоматизированное тестирование локальных приложений в UNIX-подобных ОС, достаточно возможностей стандартной библиотеки языка Python и инструментария и утилит, входящих в любую UNIX-подобную ОС.

Написание программы

Процесс написания программы состоит из непосредственного написания кода. Рекомендуется руководствоваться правилами хорошего стиля, то есть:

— Отсутствие безусловных переходов, использование базовых структур (следование, выбор и повторение);

— Наличие кратких и содержательных комментариев;

— Осмысленные и короткие имена переменных и функций;

— Наличие отступов и выравниваний в тексте программы;

— Разделение программы с помощью пустых строк на логически завершённые части.

Оптимизация программы

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

К оптимизации программы относиться:

— Сегментация, то есть разделение большой программы на подпрограммы;

— Чистка и перепрограммирование критических областей, то есть наиболее часто используемых участков кода;

— Структурное кодирование позволяет получать программы более удобные для тестирования, модификации и использования.

Выводы

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

Глава III. Технологический процесс разработки и отладки программы

Источник: lektsia.com

6.2. Стандарты технологии создания программных продуктов

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

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

6.3. Основные этапы технологического процесса разработки программ

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru