Процесс разработки программного обеспечения можно разбить на этапы (фазы):
– содержательная постановка задачи;
– разработка модели и выбор метода решения;
– разработка алгоритма решения задачи;
– сопровождение и эксплуатация.
Содержательная постановка задачи. Постановка задачи — это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.
В результате выполнения этого этапа работы составляется документ, называемый «Задание на разработку программного обеспечения (техническое задание)». В нем указывается следующее:
– название задачи. Дается краткое определение решаемой задачи, название программного комплекса, указывается система программирования для ее реализации и требования к аппаратному обеспечению;
– управление режимами работы программы. Формулируются основные требования к способу взаимодействия пользователя с программой (интерфейс пользователь-компьютер).
– входные данные. Описываются входные данные, указываются пределы, в которых они могут изменяться, значения, которые они не могут принимать, и т. д., а также источник данных, т.е. устройство, с помощью которого они должны быть переданы в программу.
Основы постановки задачи на разработку программ
– выходные данные. Описываются выходные данные, указывается, в каком виде они должны быть представлены – в числовом, графическом или текстовом, ограничения по срокам и точности выходной информации, а также указывается устройство отображения этих данных.
– ошибки. Перечисляются возможные ошибки пользователя при работе с программой (например, ошибки при вводе данных и др.). Указываются способы диагностики (в данном случае под диагностикой понимается обнаружение ошибок при работе программного комплекса) и защиты от этих ошибок на этапе проектирования, а также возможная реакция пользователя при совершении им ошибочных действий и реакция программного комплекса (компьютера) на эти действия.
– пример работы программного комплекса. Приводится один или несколько примеров работы программного комплекса, на которых в простейших случаях проводится его отладка и тестирование.
Разработка модели и выбор метода решения. На этом этапе создается математическая или логическая модель исследуемого явления реального мира. При этом нужно уметь сформулировать на языке математики конкретные задачи физики, экономики, технологии и т.д. После того как определена математическая модель задачи, надо выбрать метод ее решения.
Если программируемая задача носит вычислительный характер, то приводится вывод всех используемых формул с подробными комментариями. Если же задача невычислительная, то приводится словесное описание логической модели, например, в виде плана действий.
Разработка алгоритма решения задачи. На этом этапе формируется общая структура программного комплекса. Алгоритм – это система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
Пошаговый план разработки сайтов в 2021 году
В процессе разработки алгоритма могут быть использованы различные способы его описания: словесная запись, блок-схемы, псевдокод, структурограммы и т.п.
Предложения, не являющееся предложением какого-то языка программирования, хотя и очень напоминает то, что мы пишем на данном языке программирования, называют псевдокодом. Псевдокод очень эффективен при разработке логики программы. После того как логика покажется вам правильной, вы можете обратить особое внимание на детали перевода псевдокода на реальный язык программирования. Преимущество использования псевдокода состоит в том, что он позволяет сконцентрироваться на логике и структуре программы, не заботясь пока о способе перевода этих идей на язык машины. Если мы хотим улучшить программу, нам в первую очередь необходимо улучшить алгоритм!
Кодирование алгоритма. Этап кодирования (программирования) алгоритмов заключается в переводе алгоритмов, разработанных для каждого программного модуля, в программы на конкретном языке программирования. Результатом выполнения этого этапа являются файлы с исходными текстами программ. Эти файлы по своей природе текстовые, только они содержат тексты, написанные на языке программирования (в нашем случае это тексты, написанные на языке Си).
Компиляция программы. После того как закончено кодирование (написание программы на языке программирования) и исходный текст программы введен в память компьютера, производят компилирование программы, т.е. перевод исходного текста в машинный код. Этот процесс осуществляется специальной программой – компилятором. На рисунке 1 представлена схема подготовки исполняемой программы.
Сначала программа передается препроцессору, который выполняет директивы, содержащиеся в ее тексте (например, #include — включение файла в текст программы).
Получившийся текст передается на вход компилятора (Compiler), который выделяет лексемы (отдельные слова), а затем на основе грамматики языка распознает выражения и операторы, построенные из этих лексем. При этом компилятор выявляет синтаксические ошибки и в случае их отсутствия строит объектный модуль.
Компоновщик, или редактор связей (Linker), формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек, обращение к которым содержится в любой программе. При успешном завершении процесса образуется исполняемый файл программы (файл с расширением EXE).
Тестирование программы. Различается два вида тестирования: автономное и комплексное. При автономном тестированию подвергаются отдельные программные модули, из которых состоит программный комплекс. Комплексное тестирование заключается в проверке всего программного комплекса. Для тестирования подбираются такие исходные данные, для которых результат выполнения программы заранее известен.
Создание документации. Документация классифицируется по своему назначению и может быть разбита на несколько групп: описание применения, руководство пользователя, руководство программиста.
Описание применения – общая характеристика программного продукта и сферы его применения, требований к базовому программному обеспечению, комплексу технических средств обработки.
Руководство пользователя – детальное описание функциональных возможностей и технологии работы с программным продуктом для конечного пользователя. Документы данного вида могут оформляться в печатном виде и (или) «встраиваться» в программный комплекс (в последнем случае помощь в виде подсказки вызывается самим пользователем в процессе работы программного комплекса).
Руководство программиста предназначено для разработчиков программного обеспечения и специалистов, которые будут его сопровождать. В это руководство в качестве основных документов включаются:
— задание на разработку программного обеспечения (техническое задание);
— прокомментированные исходные тексты (листинги) модулей программы и управляющего модуля;
— схема разбиения программного комплекса на программные модули;
— схема потоков данных программного комплекса;
— схема взаимодействия программных модулей;
— планы и данные для тестирования программного комплекса;
— другие материалы, иллюстрирующие проект, например: блок-схемы программного комплекса и программных модулей.
Сопровождение и эксплуатация. После завершения тестирования программного комплекса программное обеспечение сдается в эксплуатацию. В процессе эксплуатации может возникнуть необходимость добавления в программный комплекс новых функций, устранение ошибок, обнаруженных в процессе эксплуатации и т.д. Данный тип работ с программным комплексом в период его эксплуатации называется сопровождением.
Источник: studfile.net
Пример поэтапной разработки программы решения задачи
На этом уроке подробно изучаются все шесть этапов разработки программы решения задачи: постановка задачи, формализация, анализ математической задачи, построение алгоритма, составление программы и тестирование, а также на отдельном примере рассматривается их практическое применение.
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.
Получите невероятные возможности
1. Откройте доступ ко всем видеоурокам комплекта.
2. Раздавайте видеоуроки в личные кабинеты ученикам.
3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ
Конспект урока «Пример поэтапной разработки программы решения задачи»
На этом уроке мы с вами изучим этапы разработки программы решения задачи. А также опишем с их помощью пример.
При решении задачи существует несколько этапов:
1. Постановка задачи;
2. Формализация задачи;
3. Анализ математической задачи;
4. Построение алгоритма;
5. Составление программы и тестирование.
Давайте рассмотрим их более подробно на примере следующего равенства:
a – вводится с клавиатуры.
Начнём с постановки задачи. Нам нужно найти решение равенства, то есть x. Таким образом, на этапе постановки задачи нужно:
· понять условие задачи;
· выделить исходные и результирующие данные;
· понять отношения между ними.
Можно сказать, что нам нужно ответить на вопросы:
· Что нужно найти по условию задачи? В нашем случае нужно найти x.
· Что при этом дано? Дано значение a.
· Чем можно пользоваться при решении задачи? При решении нужно из равенства вывести значение x.
Далее идёт этап формализации задачи. На этом этапе необходимо оформить описательную информационную модель при помощи какого-либо формального языка, чаще всего с помощью математического. То есть, на этом этапе мы должны записать формулы, с помощью которых мы сможем в дальнейшем решить задачу исходя из исходных данных и результата, который необходимо получить. То есть наше x будет равно следующему выражению:
.
После того, как мы записали задачу на математическом языке, нужно её проанализировать. Это нам необходимо для того, чтобы составить правильный алгоритм решения, обладающий всеми свойствами алгоритма.
Рассмотрим, к каким результатам могут привести различные исходные данные переменной a.
Перейдём к этапу построения алгоритма.
Для этого будем использовать блок-схему. Прежде, чем приступить к составлению блок-схемы, давайте вспомним правила:
· каждая базовая структура должна иметь один вход и один выход;
· блок-схема должна изображаться при помощи стандартных элементов.
В начале нам нужно нарисовать блок ввода переменной a. Далее идёт проверка a. Если условие a = 0 истинно, то на экран выведем сообщение, что «Нет решений». Если же условие ложно, то снова будет идти блок условия, в котором проверим следующее: a > 0. Если условие истинно, то x = 3/a. Если условие ложно, то x = 3/ (–a). После проверки этого условия будет идти блок вывода значения x. Конец программы.
Алгоритмический язык – это язык описания алгоритмов с русскими служебными словами.
Прежде, чем строить алгоритм на учебном Алгоритмическом языке, вспомним правила:
· конструкции одного уровня вложенности записываются на одном вертикальном уровне;
· вложенная конструкция записывается смещённой по строке на несколько позиций вправо относительно внешней для неё конструкции.
Наш алгоритм будет выглядеть следующим образом:
Если обратить внимание. То можно заметить, что наш алгоритм записан по всем правилам как в блок-схеме, так и на алгоритмическом языке, поэтому его чтение не составит труда и не даст возможности запутаться в конструкциях.
После того, как мы с вами записали алгоритм на учебном Алгоритмическом языке, можно приступать непосредственно к составлению программы на языке Pascal. Следует помнить, что при написании программы на языке Pascal необходимо соблюдать такие же правила, как и при записи алгоритма на учебном Алгоритмическом языке.
Далее объявим переменные a, x вещественного типа.
Организуем диалог между компьютером и пользователем:
Writeln (‘Введите значение a ‘);
Считаем её при помощи функции Read и присвоим соответствующей переменной.
Далее идёт первый условный оператор, в котором проверяем следующее: a = 0. Если условие истинно, то запишем вывод на экран сообщения «Нет решений», так как наше неравенство не будет иметь решения.
Если условие ложно, запишем else, а затем открываем и закрываем операторные скобки при помощи служебных слов begin, end. При написании программы если нам необходимо использовать операторные скобки, то лучше всего, после открытия, сразу же закрыть, чтобы в дальнейшем не путаться, так как операторных скобок может быть в программе большое количество.
Итак, если условие ложно, то после слова begin снова будет идти условие, в котором будет проверяться следующее: a > 0.
Если это условие истинно, то x:=3/a. Если же условие a > 0 ложно, то после else x:=3/(–a). Оформим вывод на экран x при помощи функции Write.
Так как у нас операторная скобка уже закрыта, переходим на строку ниже после end.
При написании и вводе в компьютер больших программ существует вероятность совершения синтаксических ошибок. Синтаксические ошибки – это ошибки, которые нарушают правила грамматики языка. Соответственно, программисту нужно найти и исправить эти ошибки. Таким образом, отладка – это поиск и устранение синтаксических ошибок. При выполнении программы, если была обнаружена ошибка, система программирования не только выдаст сообщение об ошибке, но и укажет строку, в которой она находится.
Заключительным этапом построения программы решения задачи является тестирование.
Тестирование – это этап, на котором экспериментально доказывается правильность алгоритма, заключённого в программе, и работоспособность программы.
Тест – это вариант решения задачи с заданными исходными данными, для которых известен результат.
Прежде, чем приступать к тестированию, следует составить план. Для ветвящегося алгоритма необходимо проверить все его ветви. Так как у нас 3 ветви, то у нас должно быть как минимум 3 варианта ответа.
Начнём с простого. Если a = 0, то ответом должно быть «Нет решений».
Эта ветвь работает верно.
Далее при a > 0, x = 3/a. Для простоты вычисления возьмём a = 3. То есть x=1.
И снова мы получаем верный результат.
Проверим нашу программу.
Проектирование баз данных
Существует много разновидностей методологии рассмотрения баз данных в классическом подходе, однако чаще всего придерживаются методологии ANSI/SPARC, схема которой представлена на рис. 3.5.
На рис. 3.5 показана совокупность процедур проектирования централизованной БД , которые можно объединить в четыре этапа.
Рис. 3.5. Схема этапов проектирования БД
На этапе формулирования и анализа требований устанавливаются цели организации, определяются требования к БД . Они состоят из общих требований, определенных выше, и специфических требований. Для формирования специфических требований обычно используется методика интервьюирования персонала различных уровней управления. Все требования документируются в форме, доступной конечному пользователю и проектировщику БД .
Этап концептуального проектирования заключается в описании и синтезе информационных требований пользователей в первоначальный проект БД . Исходными данными могут быть совокупность документов пользователя ( рис. 3.3) при классическом подходе или алгоритмы приложений (алгоритмы бизнеса) при современном подходе. Результатом этого этапа является высокоуровневое представление (в виде системы таблиц БД ) информационных требований пользователей на основе различных подходов.
Сначала выбирается модель БД . Затем с помощью ЯОД создается структура БД , которая заполняется данными с помощью команд ЯМД, систем меню , экранных форм или в режиме просмотра таблиц БД . Здесь же обеспечивается защита и целостность (в том числе ссылочная) данных с помощью СУБД или путем построения триггеров.
В процессе логического проектирования высокоуровневое представление данных преобразуется в структуру используемой СУБД . Основной целью этапа является устранение избыточности данных с использованием специальных правил нормализации.
Цель нормализации — минимизировать повторения данных и возможные структурные изменения БД при процедурах обновления. Это достигается разделением (декомпозицией) одной таблицы в две или несколько с последующим использованием при запросах операции навигации. Полученная логическая структура БД может быть оценена количественно с помощью различных характеристик (число обращений к логическим записям, объем данных в каждом приложении, общий объем данных). На основе этих оценок логическая структура может быть усовершенствована с целью достижения большей эффективности.
Специального обсуждения заслуживает процедура управления БД . Она наиболее проста в однопользовательском режиме. В многопользовательском режиме и в распределенных БД процедура сильно усложняется. При одновременном доступе нескольких пользователей без принятия специальных мер, возможно, нарушение целостности . Для устранения этого явления используют систему транзакций и режим блокировки таблиц или отдельных записей.
Транзакция — процесс изменения файла, записи или базы данных , вызванный передачей одного входного сообщения.
На этапе физического проектирования решаются вопросы, связанные с производительностью системы, определяются структуры хранения данных и методы доступа.
Взаимодействие между этапами проектирования и словарной системой необходимо рассматривать отдельно. Процедуры проектирования могут использоваться независимо в случае отсутствия словарной системы. Сама словарная система может рассматриваться как элемент автоматизации проектирования.
Средства проектирования и оценочные критерии используются на всех стадиях разработки. В настоящее время неопределенность при выборе критериев является наиболее слабым местом в проектировании БД . Это связано с трудностью описания и идентификации большого числа альтернативных решений.
Проще обстоит дело при работе с количественными критериями, к которым относятся время ответа на запрос , стоимость модификации, стоимость памяти, время на создание, стоимость на реорганизацию. Затруднение может вызывать противоречие критериев друг другу.
В то же время существует много критериев оптимальности , являющихся неизмеримыми свойствами, трудно выразимыми в количественном представлении или в виде целевой функции .
К качественным критериям могут относиться гибкость, адаптивность, доступность для новых пользователей, совместимость с другими системами, возможность конвертирования в другую вычислительную среду, возможность восстановления, возможность распределения и расширения.
Процесс проектирования является длительным и трудоемким и обычно продолжается несколько месяцев. Основными ресурсами проектировщика БД являются его собственная интуиция и опыт , поэтому качество решения во многих случаях может оказаться низким.
Основными причинами низкой эффективности проектируемых БД могут быть:
- недостаточно глубокий анализ требований (начальные этапы проектирования), включая их семантику и взаимосвязь данных;
- большая длительность процесса структурирования, делающая этот процесс утомительным и трудно выполняемым при ручной обработке.
В этих условиях вопросы автоматизации разработки становятся первостепенными.
Основные этапы разработки БД
Этап 1. Уточнение задач
На первом этапе составляется список всех основных задач, которые в принципе должны решаться этим приложением, — включая и те, которые не нужны сегодня, но могут появиться в будущем. Под «основными» задачами понимаются функции, которые должны быть представлены в формах или отчетах приложения.
Этап 2. Последовательность выполнения задач
Для того, чтобы приложение работало логично и удобно, лучше всего объединить основные задачи в тематические группы и затем упорядочить задачи каждой группы так, чтобы они располагались в порядке их выполнения. Может получиться так, что некоторые задачи будут связаны с разными группами или, что выполнение некоторой задачи должно предшествовать выполнению другой, принадлежащей к иной группе.
Этап 3. Анализ данных
После формирования списка задач, наиболее важным этапом является составление подробного перечня всех данных, необходимых для решения каждой задачи. Некоторые данные понадобятся в качестве исходных и меняться не будут. Другие данные будут проверяться и изменяться в ходе выполнения задачи. Некоторые элементы данных могут быть удалены или добавлены. И наконец, некоторые данные будут получены с помощью вычислений: их вывод будет частью задачи, но в базу данных вноситься они не будут.
Этап 4. Определение структуры данных
После предварительного анализа всех необходимых элементов данных нужно упорядочить их по объектам и соотнести объекты с таблицами и запросами базы данных. Для реляционных баз данных типа Access используется процесс, называемый нормализацией, в результате которого вырабатывается наиболее эффективный и гибкий способ хранения данных.
Этап 5. Разработка макета приложения и пользовательского интерфейса
После задания структуры таблиц приложения, в Microsoft Access легко создать его макет с помощью форм и связать их между собой, используя несложные макросы или процедуры обработки событий. Предварительный рабочий макет легко продемонстрировать заказчику и получить его одобрение еще до детальной реализации задач приложения.
Этап 6. Создание приложения
В случае очень простых задач созданный макет является практически законченным приложением. Однако довольно часто приходится писать процедуры, позволяющие полностью автоматизировать решение всех намеченных в проекте задач. Поэтому, понадобится создать специальные связующие формы, которые обеспечивают переход от одной задачи к другой.
Этап 7. Тестирование и усовершенствование
После завершения работ по отдельным компонентам приложения необходимо проверить функционирование приложения в каждом из возможных режимов. Необходимо проверить работу макросов, для этого использовав пошаговый режим отладки , при котором будет выполняться одна конкретная макрокоманда . При использовании Visual Basic для приложений в вашем распоряжении имеются разнообразные средства отладки, позволяющие проверить работу приложения, выявить и исправить ошибки.
По мере разработки автономных разделов приложения желательно передать их заказчику для проверки их функционирования и получения мнения о необходимости внесения тех или иных изменений. После того как заказчик ознакомится с работой приложения, у него практически всегда возникают дополнительные предложения по усовершенствованию, какой бы тщательной не была предварительная проработка проекта. Пользователи часто обнаруживают, что некоторые моменты, о которых в процессе постановки задач, они говорили как об очень важных и необходимых, на самом деле не играют существенной роли при практическом использовании приложения. Выявление необходимых изменений на ранних стадиях разработки приложения позволяет существенно сократить время на последующие переделки.
Краткие итоги
Рассмотрены вопросы проектирования БД . Существуют два подхода при построении БД классический и современный.
Архитектура СУБД . СУБД имеет многоуровневую структуру, в которой реализуется принцип относительной независимости логической и физической организации данных.
СУБД имеет два режима работы проектировочный и пользовательский.
Рассматривается совокупность процедур проектирования централизованной БД , которые можно объединить в четыре этапа. Этап формулирования и анализа требований , этап концептуального проектирования, этап логического проектирования и этап физического проектирования.
Основные этапы разработки БД . Разработка БД состоит из следующих этапов: уточнение задач, последовательность выполнения задач, анализ данных, определение структуры данных, разработка макета приложения и пользовательского интерфейса, создание приложения и тестирования.
Вопросы для самопроверки
- Назовите два подхода применяющиеся при построении БД и дайте их характеристику.
- Назовите уровни архитектуры СУБД.
- Какие режимы работы СУБД Вы знаете?
- Этапы проектирования БД.
- Кратко расскажите, что происходит на каждом этапе проектирования БД.
- Понятие транзакции.
- Основные причины низкой эффективности проектируемых БД.
- Чем отличается проектирование БД от разработки БД.
- Назовите этапы разработки БД.
- Кратко расскажите, что происходит на каждом этапе разработки БД.
Источник: intuit.ru