Разрабо́тка програ́ммного обеспе́чения (англ. software engineering, software development) — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.
Как и другие, традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин.
Проблемы разработки ПО:
— Недостаток прозрачности. В любой момент времени сложно сказать, в каком состоянии находится проект и каков процент его завершения.
— Недостаток контроля. Без точной оценки процесса разработки срываются графики выполнения работ и превышаются установленные бюджеты. Сложно оценить объем выполненной и оставшейся работы.
Как устроен процесс разработки в продуктовой компании | Процесс разработки в it
— Недостаток мониторинга. Невозможность наблюдать ход развития проекта не позволяет контролировать ход разработки в реальном времени. С помощью инструментальных средств менеджеры проектов принимают решения на основе данных, поступающих в реальном времени.
— Неконтролируемые изменения. У потребителей постоянно возникают новые идеи относительно разрабатываемого программного обеспечения. Влияние изменений может быть существенным для успеха проекта, поэтому важно оценивать предлагаемые изменения и реализовывать только одобренные, контролируя этот процесс с помощью программных средств.
— Недостаточная надежность. Самый сложный процесс — поиск и исправление ошибок в программах на ЭВМ. Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах.
— Отсутствие гарантий качества и надежности программ из-за отсутствия гарантий отсутствия ошибок в программах вплоть до формальной сдачи программ заказчикам.
Процесс и методология
На протяжении нескольких десятилетий стоит задача поиска повторяемого, предсказуемого процесса или методологии, которая бы улучшила продуктивность, качество и надежность разработки. Одни пытались систематизировать и формализовать этот, по-видимому, непредсказуемый процесс. Другие применяли к нему методы управления проектами и методы программной инженерии . Без четкого управления, разработка ПО выходит из-под контроля, съедая лишнее время и средства.
Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильности алгоритмов и разработки программ без алгоритмических ошибок.
7. Процесс разработки программного обеспечения
Новая методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.
Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надежных программ самого различного назначения. Одним из таких проектов была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовался бортовой компьютер для автоматического управления апарата, совершившего успешный старт и посадку космического корабля.
Жизненный цикл проекта
Жизненный цикл проекта (англ. Project Life Cycle) — последовательность фаз проекта, задаваемая исходя из потребностей управления проектом.
В рамках методологии Института управления проектами (англ. Project Management Institute) жизненный цикл проекта имеет 5 фаз:
— Инициация (англ. Initiating);
— Планирование (англ. Planning);
— Выполнение (англ. Executing);
— Контроль и мониторинг (англ. Controlling and Monitoring);
— Завершение (англ. Closing).
Моделирование жизненного цикла проекта по принципу «водопада»
При моделировании по принципу «водопада» работа над проектом движется линейно через ряд фаз, таких как:
— анализ требований (исследование среды);
— разработка и реализация подпроектов;
— проверка проекта в целом.
Недостатками такого подхода являются накопление возможных на ранних этапах ошибок к моменту окончания проекта и, как следствие, возрастание риска провала проекта, увеличение стоимости проекта.
Моделирование жизненного цикла проекта по итеративной модели
Итеративный подход (англ. iteration — повторение) — выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. Проект при этом подходе в каждой фазе развития проходит повторяющийся цикл: Планирование — Реализация — Проверка — Оценка (англ. plan-do-check-act cycle).
Преимущества итеративного подхода:
— снижение воздействия серьезных рисков на ранних стадиях проекта, что ведет к минимизации затрат на их устранение;
— организация эффективной обратной связи проектной команды с потребителем (а также заказчиками, стейкхолдерами) и создание продукта, реально отвечающего его потребностям;
— акцент усилий на наиболее важные и критичные направления проекта;
— непрерывное итеративное тестирование, позволяющее оценить успешность всего проекта в целом;
— раннее обнаружение конфликтов между требованиями, моделями и реализацией проекта;
— более равномерная загрузка участников проекта;
— эффективное использование накопленного опыта;
— реальная оценка текущего состояния проекта и, как следствие, большая уверенность заказчиков и непосредственных участников в его успешном завершении.
Пример реализации итеративного подхода — методология разработки программного обеспечения, созданная компанией Rational Software.
Процесс разработки состоит из множества подпроцессов, или дисциплин, некоторые из которых показаны ниже. В модели водопада они идут одна за другой, в других процессах их порядок или состав изменяется.
— Тестирование и отладка
Паради́гма программи́рования — это совокупность идей и понятий, определяющая стиль написания программ. Парадигма, в первую очередь, определяется базовой программной единицей и самим принципом достижения модульности программы. В качестве этой единицы выступают определение (декларативное, функциональное программирование), действие (императивное программирование), правило (продукционное программирование), диаграмма переходов (автоматное программирование) и др. сущности. В современной индустрии программирования очень часто парадигма программирования определяется набором инструментов программиста, а именно, языком программирования и используемыми библиотеками.
Парадигма программирования определяет то, в каких терминах программист описывает логику программы. Например, в императивном программировании программа описывается как последовательность действий, а функциональном программировании представляется в виде выражения и множества определений функций (слово определение, англ. definition, следует понимать в математическом смысле). В популярном объектно-ориентированном программировании программу принято рассматривать как набор взаимодействующих объектов. ООП есть по сути императивное программирование, дополненное принципом инкапсуляции данных и методов в объект (принцип модульности) и наследованием (принципом повторного использования разработанного функционала).
Важно отметить, что парадигма программирования не определяется однозначно языком программирования — многие современные языки программирования являются мультипарадигменными, то есть допускают использование различных парадигм. Так на языке Си, который не является объектно-ориентированным, можно писать объектно-ориентированным образом, а на Ruby, в основу которого в значительной степени положена объектно-ориентированная парадигма, можно писать согласно стилю функционального программирования.
Бизнес-моделирование — деятельность по выявлению и описанию существующих бизнес-процессов (анализ бизнес-процессов), а также проектированию новых (проектирование бизнес-процессов).
Бизнес-моделированием также называют дисциплину и отдельный подпроцесс в процессе разработки программного обеспечения, в котором описывается деятельность компании и определяются требования к системе — те подпроцессы и операции, которые подлежат автоматизации в разрабатываемой информационной системе.
При описании бизнес-процессов используются различные методологии и соответствующие нотации, такие как:
— SADT: IDEF0, IDEF3, DFD
— Методология ARIS: VAD, eEPC(англ.)
— RUP: Прецеденты (use-cases), Диаграммы деятельности, BPEL
Программи́рование — процесс и искусство создания компьютерных программ и/или программного обеспечения с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика), инженерии, спорта и ремесла.
В узком смысле слова, программирование рассматривается как Кодирование алгоритмов на заданном языке программирования. Под программированием также может пониматься разработка логической схемы для ПЛИС, а также процесс записи информации в ПЗУ. В более широком смысле программирование — процесс создания программ, то есть разработка программного обеспечения.
Программирование включает в себя:
— Проектирование — разработка комплекса алгоритмов
— Кодирование и Компиляцию — написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора
— Тестирование и отладку — выявление и устранение ошибок
Тести́рование программного обеспечения — процесс выявления ошибок в программном обеспечении (ПО). К сожалению, существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью устранить все дефекты и ошибки и установить корректность функционирования анализируемой программы особенно в закрытых частных программах. Поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют, с точки зрения используемого метода. (Т.е. нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО).
Существует множество подходов к решению задачи тестирования и верификации ПО, но эффективное тестирование сложных программных продуктов — это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых.
Конечной целью любого процесса тестирования является обеспечение такого ёмкого (совокупного) понятия как Качество, с учётом всех или наиболее критичных для данного конкретного случая составляющих.
С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО, с учётом следующих составляющих:
Документа́ция на программное обеспечение — это документы, сопровождающие некоторое программное обеспечение (ПО) — программу или программный продукт. Эти документы описывают то, как работает программа и/или то, как её использовать.
Документи́рование — это важная часть в разработке программного обеспечения, но часто ей уделяется недостаточно внимания.
Существует четыре основных типа документации на ПО:
— архитектурная/проектная — обзор программного обеспечения, включающий описание рабочей среды и принципов, которые должны быть использованы при создании ПО
— техническая — документация на код, алгоритмы, интерфейсы, API
— пользовательская — руководства для конечных пользователей, администраторов системы и другого персонала
Проектная документация обычно описывает продукт в общих чертах. Не описывая того, как что-либо будет использоваться, она скорее отвечает на вопрос «почему именно так?» Например, в проектном документе программист может описать обоснование того, почему структуры данных организованы именно таким образом. Описываются причины, почему какой-либо класс сконструирован определённым образом, выделяются паттерны, в некоторых случаях даже даются идеи как можно будет выполнить улучшения в дальнейшем. Ничего из этого не входит в техническую или пользовательскую документацию, но всё это действительно важно для проекта.
Это именно то, что подразумевают под термином документация большинство программистов. При создании программы, одного лишь кода, как правило, недостаточно. Должен быть предоставлен некоторый текст, описывающий различные аспекты того, что именно делает код. Такая документация часто включается непосредственно в исходный код или предоставляется вместе с ним.
Подобная документация имеет сильно выраженный технических характер и в основном используется для определения и описания API, структур данных и алгоритмов.
Часто при составлении технической документации используются автоматизированные средства — генераторы документации, такие как Doxygen, javadoc, NDoc и другие. Они получают информацию из специальным образом оформленных комментариев в исходном коде, и создают справочные руководства в каком-либо формате, например, в виде текста или HTML. Использование генераторов документации и документирующих комментариев многими программистами признаётся удобным средством, по различным причинам. В частности, при таком подходе документация является частью исходного кода, и одни и те же инструменты могут использоваться для сборки программы и одновременной сборки документации к ней. Это также упрощает поддержку документации в актуальном состоянии.
В отличие от технической документации, сфокусированной на коде и том как он работает, пользовательская документация описывает лишь то, как использовать программу.
В случае, если продуктом является программная библиотека, пользовательская документация и документация на код становятся очень близкими, почти эквивалентными понятиями. Но в общем случае, это не так.
Обычно, пользовательская документация представляет из себя руководство пользователя, которое описывает каждую функцию программы, а также шаги, которые нужно выполнить для использования этой функции. Хорошая пользовательская документация идёт ещё дальше и предоставляет инструкции о том что делать в случае возникновения проблем. Очень важно, чтобы документация не вводила в заблуждение и была актуальной. Руководство должно иметь чёткую структуру; очень полезно, если имеется сквозной предметный указатель. Логическая связность и простота также имеют большое значение.
Существует три подхода к организации пользовательской документации. Вводное руководство (англ. tutorial), наиболее полезное для новых пользователей, последовательно проводит по ряду шагов, служащих для выполнения каких-либо типичных задач. Тематический подход, при котором каждая глава руководства посвящена какой-то отдельной теме, больше подходит для совершенствующихся пользователей. В последнем, третьем подходе, команды или задачи организованы в виде алфавитного справочника — часто это хорошо воспринимается продвинутыми пользователями, хорошо знающими, что они ищут. Жалобы пользователей обычно относятся к тому, что документация охватывает только один из этих подходов, и поэтому хорошо подходит лишь для одного класса пользователей.
Во многих случаях разработчики программного продукта ограничивают набор пользовательской документации лишь встроенной системой помощи (англ. online help), содержащей справочную информацию о командах или пунктах меню. Работа по обучению новых пользователей и поддержке совершенствующихся пользователей перекладывается на частных издателей, часто оказывающих значительную помощь разработчикам.
Для многих приложений необходимо располагать рядом рекламных материалов, с тем чтобы заинтересовать людей, обратив их внимание на продукт. Такая форма документации имеет целью:
— подогреть интерес к продукту у потенциальных пользователей
— информировать их о том, что именно делает продукт, с тем чтобы их ожидания совпадали с тем что они получат
— объяснить положение продукта по сравнению с конкурирующими решениями
Одна из хороших маркетинговых практик — предоставление слогана — простой запоминающейся фразы, иллюстрирующей то что мы хотим донести до пользователя, а также характеризующей ощущение, которое создаёт продукт.
Часто бывает так, что коробка продукта и другие маркетинговые материалы дают более ясную картину о возможностях и способах использования программы, чем всё остальное.
Сопровожде́ние программного обеспечения — процесс улучшения, оптимизации и устранения дефектов программного обеспечения (ПО) после передачи в эксплуатацию. Сопровождение ПО — это одна из фаз жизненного цикла программного обеспечения, следующая за фазой передачи ПО в эксплуатацию. В ходе сопровождения в программу вносятся изменения, с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования (юзабилити
) и применимость ПО.
В модели водопада, сопровождение ПО выделяется в отдельную фазу цикла разработки. В спиральной модели, возникшей в ходе развития объектно-ориентированного программирования, сопровождение не выделяется как отдельный этап. Тем не менее, эта деятельность занимает значительное место, учитывая тот факт, что обычно около 2/3 жизненного цикла программных систем занимает сопровождение.
Дата добавления: 2018-06-01 ; просмотров: 734 ; Мы поможем в написании вашей работы!
Источник: studopedia.net
Языки программирования. Создание программ
Создание программ
1.
2.
3.
4.
5.
6.
Понятие «Программа», «Программирование»
Свойства программ
Языки программирования
Транслятор, интерпретатор, компилятор
Процесс создания программ
Системы программирования
3.
Программа
Программа — это описание алгоритма и данных на
некотором языке программирования, предназначенное
для последующего автоматического выполнения.
«программа для ЭВМ — объективная форма
представления совокупности данных и команд,
предназначенных для функционирования ЭВМ и других
компьютерных устройств с целью получения
определенного результата»
/ Закон РФ от 23 сентября 1992 г. «О правовой
охране программ для электронных вычислительных
машин и баз данных» /
4.
Программирование
1.
2.
раздел информатики, изучающий методы и
приемы составления программ для
компьютеров;
теоретическая и практическая деятельность,
связанная с созданием программ.
5.
Свойства программ
Выполнимость — возможность выполнения
программы на данном типе компьютеров.
Мобильность — возможность переноса
программы на другой тип компьютеров.
Правильность программы — правильность
результатов, получаемых с помощью данной
программы.
Эффективность — минимум времени
выполнения, минимум машинной памяти и
других ресурсов компьютера.
6.
Язык программирования
система обозначений, служащая для точного
описания программ или алгоритмов для ЭВМ.
Они относятся к искусственным языкам, и
отличаются от естественных ограниченным
числом «слов», а также очень строгими
правилами записи команд (операторов). В них
не допускается свободное толкование слов и
выражений, характерное для обычного языка.
7.
Основные требования, предъявляемые к
языкам программирования:
наглядность — использование в языке по возможности уже существующих
символов, хорошо известных и понятных как программистам, так и
пользователям ЭВМ
единство — использование одних и тех же символов для обозначения одних
и тех же или родственных понятий в разных частях алгоритма. Количество
этих символов должно быть по возможности минимальным
гибкость — возможность относительно удобного, несложного описания
распространенных приемов математических вычислений с помощью
имеющегося в языке ограниченного набора изобразительных средств
модульность — возможность описания сложных алгоритмов в виде
совокупности простых модулей, которые могут быть составлены отдельно и
использованы в различных алгоритмах
однозначность — недвусмысленность записи любого алгоритма (ее
отсутствие может привести к неправильным ответам при решении задач)
8.
Компоненты языка программирования
Алфавит — это фиксированный для данного языка набор
основных символов («букв алфавита»), из которых должен
состоять любой текст, написанный на нем (никакие другие
символы в тексте не допускаются).
Синтаксис — система правил, определяющих допустимые
конструкции языка программирования из букв алфавита.
Семантика определяет смысловое значение предложений
языка. Являясь системой правил истолкования отдельных
языковых конструкций, семантика устанавливает, какие
последовательности действий описываются теми или иными
фразами языка и, в конечном итоге, какой алгоритм определен
данным текстом на алгоритмическом языке.
9.
Языки программирования
машинные (самого низкого уровня)
машинно-ориентированные (ассемблеры)
машинно-независимые (высокого уровня)
10.
Транслятор
Перевод программы с алгоритмического языка на машинный
осуществляется с помощью специальной программы —
транслятора.
В трансляторах заложены все правила алгоритмического языка
и способы преобразования его различных конструкций на
машинный язык.
В процессе трансляции текст программы одновременно
проверяется на ошибки.
Существуют два типа трансляторов: компиляторы и
интерпретаторы.
11.
Интерпретатор
Берет очередной оператор языка из текста программы,
анализирует его структуру и затем сразу исполняет.
Только после того как текущий оператор успешно выполнен,
интерпретатор перейдет к следующему. При этом, если один и
тот же оператор должен выполняться в программе
многократно, интерпретатор всякий раз будет выполнять его
так, как будто встретил впервые.
Программы, в которых требуется осуществить большой объем
повторяющихся вычислений, могут работать довольно
медленно. Кроме того, для выполнения такой программы на
другом компьютере также должен быть установлен
интерпретатор — ведь без него текст программы является для
машины ничего не значащим набором символов.
12.
Компиляторы
Полностью обрабатывают весь текст программы, прежде чем
запускать ее на исполнение.
Просматривают текст программы в поисках синтаксических ошибок
(иногда несколько раз), выполняют определенный смысловой анализ
и затем автоматически генерируют машинный код.
При этом обычно выполняется оптимизация программы с помощью
набора методов, позволяющих повысить ее быстродействие.
Сгенерированный объектный код обрабатывается специальной
программой — сборщиком или редактором связей, который
производит связывание объектного и машинного кодов. Текст
программы преобразуется в готовый к исполнению ЕХЕфайл (исполнимый код), его можно сохранить в памяти компьютера
или на диске.
13.
Процесс создания программы
оставление исходного кода программы на
языке программирования
этап трансляции, необходимый для создания
объектного кода программы
построение загрузочного модуля, готового к
исполнению.
14.
Системы программирования
Текстовый редактор (необходимый для создания и редактирования
исходного кода программы на языке программирования)
Компилятор
Редактор связей
Отладчик (позволяет анализировать работу программы во время ее
выполнения, выполнять программу по шагам)
Библиотеки функций (готовые подпрограммы, реализующие
стандартные функции — математические, логические и т.п.)
Справочная система.
Источник: ppt-online.org
Этапы разработки программ. Тестирование и отладка. Документирование программ (стр. 1 из 3)
Внедрение электронно-вычислительных машин, современных средств переработки и передачи информации послужило началом нового процесса, называемым информатизацией общества. Широкое распространение получил научно-технический прогресс. В настоящее время одним из направлений научно-технического прогресса является компьютеризация практически всех сфер человеческой деятельности.
Сейчас компьютер является неотъемлемой частью работы людей. Компьютеры используются в школах и университетах. Они помогают систематизации полученные данных, как в рабочих целях, так и в учебных. Но, ни один компьютер не обходится без программ и программных обеспечений.
Целью данной курсовой работы является рассмотрение не маловажной, для начинающих программистов, темы — «Этапы создания программы». Практическое применение теоретических навыков было опробовано в процессе написания программного приложения — игра «Виселица». Что также стало целью данной курсовой.
Разработка программы – это не только написание программы. Написание программы является одним из этапов. Для начала перечислим все этапы разработки программ, а затем подробно расскажем о них.
Этапы разработки программ:
1. Постановка задачи
1. Формулировка и анализ физической задачи
2. Составление математической модели
3. Составление алгоритма задачи
2. Создание программы
1. Составление текста программы
2. Ввод текста программы в компьютер
3. Синтаксическая отладка программы
4. Тестирование и семантическая отладка
5. Документирование программы
3. Запуск готовой программы и анализ полученных результатов
Рассмотрим подробно каждый этап.
1.1 Постановка задачи
Первый этап — это этап разбора задачи по кусочкам, для упрощения написания программы. Его ещё называют математическим этапом.
1.1.1Формулировка и анализ физической задачи
Формулировка задачи – это само её объявление, её постановка.
Но просто формулировка ничем не поможет программистам. Для этого и существует второй подэтап – это анализ задачи.
Анализ задачи – это подробный просмотр задачи с определением и выявлением входной и выходной информации. (Входная информация по задаче — это данные, поступающие на вход задачи и используемые для её решения. Выходная информация – это результат.)
После проведения анализа поставленной задачи программисту более или менее понятно, с какими проблемами ему придется столкнуться.
1.1.2 Составление математической модели
Начнем опять же с определения. Для более четкого понимания рассмотрим определения математической модели, объявленные в разных (математических, физических, экономических и т.д.) источниках и попробуем создать собственное определение, подходящее для программирования.
«Математическая модель — система уравнений и концепций, используемых для описания и прогнозирования данного феномена или поведения объекта. Математические модели находят как практическое, так и теоретическое применение (иногда одновременно). Практические задачи, в которых используются математические модели, включают создание новых материалов, предсказание погоды, проверку прочности мостов, самолетов и тому подобного» — это определение используется в физике, химии и математической биологии.
«Математическая модель — это упрощенное описание реальности с помощью математических понятий. Существует два основных класса задач, связанных с математическими моделями: прямые и обратные. В первом случае все параметры модели считаются известными, и нам остается только исследовать её поведение. А во втором какие-то параметры модели неизвестны, и требуется их найти, сопоставляя поведение реальной системы с её моделью.» — данное определение используется в основном в экономике.
«Математическая модель — это математическое представление реальности» — это определение созданное математиками.
Делаем выводы: математическая модель в программировании – это система математических соотношений, приближенно отражающий сформулированную задачу. И она позволяет осуществить предварительный выбор оптимальных вариантов решений по определенным критериям.
Создание математической модели не займет у нас много времени, т.к. мы должны были подробно разобрать задачу по предыдущему пункту.
1.1.3 Составление алгоритма задачи
Изначально появление алгоритма связывают с возникновением математики. Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
У алгоритма есть 2 обязательных условия:
· Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
· Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.
Так же у алгоритмов есть свойства:
1. Дискретность, т. е. алгоритм должен состоять из конкретных действий, следующих в определенном порядке.
2. Детерминированность, т. е. любое действие должно быть строго и недвусмысленно определено в каждом случае.
3. Конечность, т. е. каждое действие и алгоритм в целом должны иметь возможность завершения.
4. Массовость, т. е. один и тот же алгоритм можно использовать с разными исходными данными.
5. Результативность, т. е. отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях.
В мире существует несколько видов алгоритмов:
· Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
· Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено условие);
· Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий);
1.2 Создание программы
Процесс создание программы, а точнее разработка программного обеспечения – это второй этап создания программы.
1.2.1 Составление текста программы
Это, наверное, самый сложный из этапов, требующий наибольшего внимания. По сути, составление текста программы – это запись алгоритма задачи при помощи одного из языков программирования. Чтобы этот текст был понятен пользователю и составителю, используются комментарии.
1.2.2 Синтаксическая отладка программы
Отладка программы — это специальный этап в разработке программы, состоящий в выявлении и устранении программных ошибок, факт существования которых уже установлен.
Синтаксическая отладка – поиск синтаксических ошибок в тексте программы. Обнаружив ошибку, транслятор выводит сообщение, указывая на место ошибки в программе и ее характер. Получив такое сообщение, программист должен исправить ошибку и снова повторить трансляцию. Так продолжается до тех пор, пока не будут исправлены все синтаксические ошибки.
Если вы сталкиваетесь с синтаксической ошибкой, то чаще всего вы можете решить проблему с помощью справочной системы, из которой можно получить дополнительную информацию об ошибке, и исправить эту ошибку, уделив дополнительное внимание точному синтаксису используемых вами функций, объектов, методов и свойств.
1.2.3 Тестирование и семантическая отладка
Тестирование – это динамический контроль программы, т.е. проверка правильности программы при ее выполнении на компьютере.
Каждому программисту известно, сколько времени и сил уходит на отладку и тестирование программ. На этот этап приходится около 50% общей стоимости разработки программного обеспечения. Но не каждый из разработчиков программных средств может верно, определить цель тестирования.
Нередко можно услышать, что тестирование — это процесс выполнения программы с целью обнаружения в ней ошибок. Но эта цель недостижима: ни какое самое тщательное тестирование не дает гарантии, что программа не содержит ошибок. Другое определение: это процесс выполнения программы с целью обнаружения в ней ошибок.
Отсюда ясно, что “удачным” тестом является такой, на котором выполнение программы завершилось с ошибкой. Напротив, “неудачным” можно назвать тест, не позволивший выявить ошибку в программе. Определение также указывает на объективную трудность тестирования: это деструктивный ( т.е. обратный созидательному ) процесс. Поскольку программирование — процесс конструктивный, ясно, что большинству разработчиков программных средств сложно “переключиться” при тестировании созданной ими продукции. Основные принципы организации тестирования:
Источник: smekni.com