Скачать 1.67 Mb.
|
3. Этапы создания программного обеспечения 3.1. Постановка задачи На этом этапе человек, хорошо представляющий предметную область, должен четко определить цель разработки, сформулировать задачи и предложить подход к их решению. 3.2. Моделирование это замещение одного объекта (оригинала) другим (моделью) и изучение свойств оригинала путем исследования свойств модели. Замещение производится с целью упрощения, удешевления, ускорения изучения свойств оригинала. Оригинал и модель сходны по одним параметрам и различны по другим. Замещение правомерно (адекватно), если интересующие исследователя характеристики оригинала и модели определяются однотипными подмножествами параметров и связаны одинаковыми зависимостями этих параметров. Модели бывают физические (макеты и опытные образцы) и математические (аналитические - математические соотношения - или имитационные, написанные на специальных алгоритмических языках). Имитационное моделирование - это метод исследования, заключающийся в имитации на компьютере с помощью комплекса программ процесса функционирования технологии или отдельных ее частей и элементов. Сущность метода имитационного моделирования заключается в разработке таких алгоритмов и программ, которые имитируют поведение системы, ее свойства и характеристики в необходимом для исследования составе, объеме и области изменения параметров. Принципиальные возможности метода весьма велики, он позволяет при необходимости исследовать системы любой сложности и назначения с любой степенью детализации. Ограничениями являются лишь мощность используемых компьютеров и трудоемкость подготовки сложного комплекса программ. 3.3. Алгоритмизация задачи Алгоритм – это точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. Три способа записи алгоритмов это словесный (рецепты, инструкции, правила), графический (блоксхемы по типовым правилам оказываются более наглядными), на алгоритмических языках (записи в виде операторов и зарезервированных слов). Свойства алгоритма (должны быть обеспечены при его разработке): Однозначность, под которой понимается единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Конечность, т.е. обязательность завершения каждого из действий, составляющих алгоритм, и алгоритма в целом. Результативность, предполагающая, что выполнение алгоритма должно завершиться получением определенных результатов. Массовость, определяющая возможность применения данного алгоритма для решения целого класса задач, отвечающих общей постановке задачи. Для того чтобы алгоритм обладал этим свойством, следует составлять алгоритм, используя обозначения величин и избегая конкретных значений. Правильность это способность алгоритма давать правильные результаты решения поставленной задачи. 3.4. Программирование - это составление программы обеспечивает возможность выполнения алгоритма и поставленной задачи исполнителем ПК. Для этого используем алгоритмические языки программирования (например, Pascal, Basic), имеющие собственный язык, операторы, синтаксис и т.д. 3.5. Ввод программы и исходных данных - осуществляется с клавиатуры или из файлов на жестком диске. 3.6. Компиляция (трансляция) - преобразование исходного текста программ, написанных на каком-либо языке программирования, в машинный код. 3.7. Автономная отладка программы это процесс тестирования программы на контрольных примерах. Эти примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные пути блоксхемы алгоритма, поскольку на каждом из путей могут быть свои ошибки (от зацикливания до выдачи бессмысленного результата). Сложные программы отлаживают фрагментами. Используют отладчики специальные программы, которые позволяют выполнять отлаживаемую программу "по шагам", наблюдать за изменением значений переменных, выражений и других объектов программы. При этом возможно выявление следующих типов ошибок: Синтаксические - как результат нарушения правил написания предложений языка. Выявляются при компиляции программы. Семантические - связанные с недопустимыми значениями параметров, недопустимыми действиями над параметрами. Выявляются при работе программы или на этапе ее отладки. Логические - связанные с неправильным использованием тех или иных алгоритмических конструкций. Могут давать неправильные результаты при работе программы, но, например, лишь при определенном сочетании параметров. Нарушение работы программы не вызывают. Алгоритмические - была постановка задачи. Алгоритм разработан неправильно. Результат - программа работает без ошибок, но делает не то, что нужно. 3.8. Комплексная отладка На этом этапе программа запускается в системе других программ и вводятся исходные данные, требуемые по условиям задачи. Полученные в результате решения выходные данные анализируются постановщиком задачи. Результат анализа может быть типа все правильно, есть логические ошибки, неправильная постановка задачи. 3.9. Документирование Выполняется, например, по ЕСПД (Единая система программной документации). Это стандарт, определяющий состав и содержание программной документации (руководство системному администратору, руководство пользователю и т.д.). 3.10. Эксплуатация Осуществляется в течение некоторого времени до момента физического или морального старения компьютерной техники (программного обеспечения), завершающегося изъятием программного обеспечения из эксплуатации. 4. Жизненный цикл программного обеспечения Одним из базовых понятий методологии проектирования ИВС является понятие жизненного цикла ее программного обеспечения (ПО). 4.1. Жизненный цикл ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации. Основным нормативным документом, регламентирующим жизненный цикл ПО, является международный стандарт ISO/IEC 12207 (ISO - International Organization of Standardization Международная организация по стандартизации, IEC - International Electrotechnical Commission Международная комиссия по электротехнике). Он определяет следующую структуру жизненного цикла ПО, основанную на трех группах процессов:
4.2. Модель жизненного цикла ПО – это структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении жизненного цикла ПО. Модель жизненного цикла ПО зависит от специфики ИВС и специфики условий, в которых последняя создается и функционирует. Регламенты жизненного цикла ПО являются общими для любых моделей жизненного цикла, методологий и технологий разработки. Стандарт ISO/IEC 12207 описывает структуру процессов жизненного цикла ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы. К настоящему времени наибольшее распространение получили следующие две основные модели жизненного цикла ПО. Каскадная модель - ее основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Спиральная модель – это модель с упором на начальные этапы жизненного цикла - анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПО, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации. 5. Технологии разработки программ Опыт создания ПО показывает, что это сложная и трудоемкая работа. Она требует высокой квалификации участвующих в ней специалистов, выполняется часто на интуитивном уровне, применяются неформализованные методы, основанные на искусстве, практическом опыте, экспертных оценках ... Ниже перечислены некоторые известные методы и технологии разработки программ. 5.1. Метод структурного программирования Структурное программирование - это метод разработки и записи программ, ориентированные на максимальное удобство для ясного понимания программ человеком. При этом фрагменты программ должны следовать друг за другом, должна четко прослеживаться логика программы, должны быть исключены "скачки" на дальние фрагменты программы. Это программирование без оператора "go to". Этот метод существенно помогает в формализации создания программ. Он предполагает:
Набор кирпичиков такой программы - это логические структуры. Для них действуют правила - следование (последовательность операторов или их групп, выполняемых друг за другом в порядке их следования в программе), ветвление (управляющая структура, которая в зависимости от выполнения условия определяет выбор для исполнения одного из двух или более заданных в этой структуре групп операторов), повторение (цикл, в котором группа операторов может выполняться повторно, если соблюдается заданное условие). При этом каждый работающий программист вырабатывает свой собственный стиль оформления исходных текстов программ. Ниже представлен ряд общих рекомендаций, направленных на более четкую структуризацию программ.
5.2. Технология нисходящего программирования Базируется на методе "сверху-вниз" или "пошаговой детализации". В основе идея постепенной декомпозиции задачи на подзадачи. Сначала - грубая модель, потом детализация алгоритмов. Потом разработка отдельных блоков, называемых часто подпрограммами. Подпрограммы - это обособленная, оформленная отдельной синтаксической конструкцией и снабженная именем часть программы. В них сосредотачивается подробное описание некоторых операций, в остальной программе только указывать имена подпрограмм, чтобы выполнить эти операции. Им можно при вызове передавать разные параметры, чтобы одна подпрограмма выполняла решение подзадачи для разных случаев. Современные подходы к программированию поощряют явное оформление в виде подпрограмм любого достаточно самостоятельного и законченного программного фрагмента. Например, в Турбо Паскале подпрограммы реализованы посредством процедур и функций. Смысл и структура у них одна, а отличаются назначением и способом их использования. Процедура - это независимая именованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Ее структура повторяет структуру программы. Функция аналогична процедуре, но имеет два отличия - передает в точку вызова скалярное значение, ее имя может входить в выражение как операнд. 5.3. Методология быстрой разработки приложений RAD (Rapid Application Development) в последнее время стала одним из возможных подходов к разработке ПО в рамках спиральной модели жизненного цикла ПО и получила широкое распространение. Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента:
Команда разработчиков должна представлять из себя группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО. Члены коллектива должны также уметь трансформировать в рабочие программы предложения конечных пользователей. Основные принципы методологии RAD - это:
5.4. "Быстрая разработка ПО" появилась в США в 2001 г. и базируется на следующих идеях:
При этом следует понимать - при всех достоинствах быстрой разработки ПО этот подход применим только в проектах малого и среднего масштаба (1-6-20 разработчиков) и с низкой критичностью (дефект - это потеря удобства, но не опасность для жизни). |
Методические указания по выполнению контрольных работ написаны в... А. Г. Колобов, канд физ мат наук, доцент кафедры компьютерных технологий, первый зам директора института математики и компьютерных... |
Конспект лекций для студентов специальности 1-25 01 04 «Финансы и... ... |
||
Методические указания и задания к самостоятельной работе студентов... Методические указания предназначены для усвоения теоретических основ и формирования практических навыков по курсу «Протоколы компьютерных... |
Конспект лекций «Логистика. Конспект лекций» Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования |
||
Конспект лекций для студентов специальности 1-54 01 01-04 «Метрология,... Конспект лекций предназначен для студентов специальности 1-54 01 01-04 «Метрология, стандартизация и сертификация (лёгкая промышленность)»... |
Республики Беларусь Учреждение образования «белорусский государственный... Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. Мн.:... |
||
Конспект лекций для студентов пятого курса специальности 220400 Программное... Данный конспект лекций составлен для студентов четвёртого курса специальности “Программное обеспечение вычислительной техники и автоматизированных... |
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» Методические указания предназначены для усвоения теоретических основ и формирования практических навыков по курсу «Протоколы компьютерных... |
||
Образования В первую очередь — для преподавателей педагогических вузов и ипк при подготовке курсов/циклов лекций по вопросам методологии педагогических... |
Конспект лекций доцента и. А. Волковой по курсу «системы программирования» Система программирования – комплекс программных инструментов и библиотек, который поддерживает создание и существование программного... |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |