ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, Общая характеристика технологии создания программного обеспечения - Теоретические основы информационных технологий
Общая характеристика технологии создания программного обеспечения
К программно-инструментальным средствам в первую очередь относятся алгоритмические языки и соответствующие им трансляторы, затем системы управления базами данных (СУБД) с языковыми средствами программирования в их среде, электронные таблицы с соответствующими средствами их настройки и т. п.
Рассмотрим этапы разработки программ.
Рис.7.1 - Этапы разработки программного обеспечения.
Первый этап представляет собой Постановку задачи. На этом этапе раскрывается сущность задачи, т. е. формулируется цель ее решения; определяется взаимосвязь с другими задачами; указывается периодичность решения; устанавливаются состав и формы представления входной, промежуточной и результатной информации.
Особое внимание в процессе постановки задачи уделяется детальному описанию входной, выходной (результатной) и межуточной информации.
Особенность реализации этого этапа технологического процесса заключается в том, что конечный пользователь разрабатываемой программы, хорошо знающий ее проблемную сторону, обычно хуже представляет специфику и возможности использования ЭВМ для решения задачи. В свою очередь, предметная область пользователя (особенно ее отдельные нюансы, способные оказать влияние на решение задачи) зачастую незнакома разработчику программы, хотя он знает возможности и ограничения на применение ЭВМ. Именно эти противоречия являются основной причиной возникновения ошибок при реализации данного этапа технологического процесса разработки программ, которые затем неизбежно отражаются и на последующих этапах. Отсюда вся важность и ответственность этого этапа, требующего осуществления корректной и полной постановки задачи, а также необходимости однозначного ее понимания как разработчиком программы, так и ее пользователем.
Второй этап в технологии разработки программ - Математическое описание задачи и выбор метода ее решения. Наличие этого этапа обусловливается рядом причин, одна из которых вытекает из свойства неоднозначности естественного языка, на котором описывается постановка задачи. В связи с этим на нем выполняется формализованное описание задачи, т. е. устанавливаются и формулируются средствами языка математики логико-математические зависимости между исходными и результатными данными. Математическое описание задачи обеспечивает ее однозначное понимание пользователем и разработчиком программы.
Сложность и ответственность этапа математического описания задачи и выбора (разработки) соответствующего метода ее решения часто требуют привлечения квалифицированных специалистов области прикладной математики, обладающих знанием таких дисциплин, как исследование операций, математическая статистика, вычислительная математика и т. п.
Третий этап технологического процесса подготовки решения задач ЭВМ представляет собой Алгоритмизацию ее решения, т. е. разработку оригинального или адаптацию (уточнение и корректировку) уже известного алгоритма. Алгоритмизация - это сложный творческий процесс. В основу процесса алгоритмизации положено фундаментальное понятие математики и программирования - алгоритм. Алгоритм - это конечный набор правил, однозначно раскрывающих содержание и последовательность выполнения операций для систематического решения определенного класса задач за конечное число шагов.
Любой алгоритм обладает следующими важными свойствами: Детерминированностью, массовостью, результатностью и дискретностью.
Детерминированность Алгоритма (определенность, однозначность) - свойство, определяющее однозначность результата работы алгоритма при одних и тех же исходных данных. Это означает, что набор указаний алгоритма должен быть однозначно и точно понят любым исполнителем.
Массовость алгоритма - свойство, определяющее пригодность использования алгоритма для решения множества задач данного класса. Оно предполагает возможность варьирования исходными данными в определенных пределах. Свойство массовости алгоритма является определяющим фактором, обеспечивающим экономическую эффективность решения задач на ЭВМ, так как для задач, решение которых осуществляется один раз, целесообразность использования ЭВМ, как правило, диктуется внеэкономическими категориями.
Результатность алгоритма - свойство, означающее, что для любых допустимых исходных данных он должен через конечное число шагов (или итераций) завершить работу.
Дискретность алгоритма - свойство, означающее возможность разбиения определенного алгоритмического процесса на отдельные элементарные действия.
Таким образом, алгоритм дает возможность чисто механически решать любую задачу из некоторого класса однотипных задач.
Составление (адаптация) программ (кодирование) является завершающим этапом технологического процесса разработки программных средств. Он предшествует началу непосредственно машинной реализации алгоритма решения задачи. Процесс кодирования заключается в переводе описания алгоритма на один из доступных для ЭВМ языков программирования. В процессе составления программы для ЭВМ конкретизируются тип и структура используемых данных, а последовательность действий, реализующих алгоритм, отражается посредством конкретного языка программирования.
Этап тестирования и отладки. Оба эти процесса функционально связаны между собой, хотя их цели несколько отличаются друг от друга.
Тестирование представляет собой совокупность действий, назначенных для демонстрации правильности работы программы в заданных диапазонах изменения внешних условий и режимов эксплуатации программы. Цель тестирования заключается в демонстрации отсутствия (или выявлении) ошибок в разработанных программах на заранее подготовленном наборе контрольных примеров.
Процессу тестирования сопутствует понятие "отладка", которое подразумевает совокупность действий, направленных на устранение ошибок в программах, начиная с момента обнаружения фактов ошибочной работы программы и завершая устранением причин их возникновения.
По своему характеру (причине возникновения) ошибки в программах делятся на синтаксические и логические.
Синтаксические ошибки в программе представляют собой некорректную запись отдельных языковых конструкций с точки зрения правил их представления для выбранного языка программирования. (ошибки выявляются автоматически)
Далее проверяется логика работы программы на исходных данных. При этом возможны следующие основные формы проявления логических ошибок:
- § в какой-то момент программа не может продолжать работу (возникает программное прерывание, обычно сопровождающееся указанием места в программе, где оно произошло); § программа работает, но не выдает всех запланированных результатов и не выходит на останов (происходит ее "зацикливание"); § программа выдает результаты и завершает свою работу, но они полностью или частично не совпадают с контрольными.
После выявления логических ошибок и устранения причин их возникновения в программу вносятся соответствующие исправления и отладка продолжается.
Программа считается отлаженной, если она безошибочно выполняется на достаточно представительном наборе тестовых данных, обеспечивающих проверку всех ее участков (ветвей).
Процесс тестирования и отладки программ имеет итерационный характер и считается одним из наиболее трудоемких этапов процесса разработки программ. По оценкам специалистов, он может составлять от 30 до 50% в общей структуре затрат времени на разработку проектов и зависит от объема и логической сложности разрабатываемы программных комплексов.
Для сокращения затрат на проведение тестирования и отладки в настоящее время широко применяются специальные программные средства тестирования (например, генераторы тестовых данных) и приемы отладки (например, метод трассировки программ, позволяющий выявлять, все ли ветви программы были задействованы при решении задачи с заданными наборами исходных данных).
После завершения процесса тестирования и отладки программные средства вместе с сопроводительной документацией передаются пользователю Для эксплуатации.
Основное назначение сопроводительной документации - обеспечить пользователя необходимыми инструктивными материалами по работе с программными средствами. Состав сопроводительной документации обычно оговаривается заказчиком (пользователем) и разработчиком на этапе подготовки технического задания на программное средство. Как правило, это документы, регламентирующие работу пользователя в процессе эксплуатации программы, а также содержащие информацию о программе, необходимую в случае возникновения потребности внесения изменений и дополнений в нее.
При передаче пользователю разработанных прикладных программных средств создается специальная комиссия, включающая в свой состав представителей разработчиков и заказчиков (пользователей). Комиссия в соответствии с заранее составленным и утвержденным обеими сторонами планом проводит работы По приемке-передаче программных средств и сопроводительной документации. По завершении работы комиссии оформляется акт приемки-передачи.
В процессе внедрения и эксплуатации прикладных программных средств могут выявляться различного рода ошибки, не обнаруженные разработчиком при тестировании и отладке программных средств. Поэтому при реализации достаточно сложных и ответственных программных комплексов по согласованию пользователя (заказчика) с разработчиком Этап эксплуатации программных средств может быть разбит на два подэтапа: Экспериментальная (опытная) и Промышленная эксплуатация.
Смысл экспериментальной эксплуатации заключается во внедрении разработанных программных средств на объекте заказчика с целью проверки их работоспособности и удобства работы пользователей при решении реальных задач в течение достаточно длительного периода времени (обычно не менее года) Только после завершения периода экспериментальной эксплуатации и устранения выявленных при этом ошибок и учета замечаний программное средство передается в промышленную эксплуатацию.
Для повышения качества работ, оперативности исправления ошибок, выявляемых в процессе эксплуатации программных средств, также выполнения различного рода модификаций, в которых может возникнуть необходимость в ходе эксплуатации, разработчик может по договоренности с пользователем осуществлять их сопровождение.
Описанная схема технологического процесса разработки прикладных программных средств отражает их "жизненный цикл", т. е. временной интервал с момента зарождения программы до момента полного отказа от ее эксплуатации.
Похожие статьи
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
Хранение и накопление информации - Теоретические основы информационных технологий
Хранение и накопление информации вызвано многократным ее использованием, применением условно-постоянной, справочной и других видов информации,...
-
Обработка информации - Теоретические основы информационных технологий
Обработка информации производится на ПЭВМ, как правило, децентрализовано, в местах возникновения первичной информации, где организуются...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Модульное проектирование - Теоретические основы информационных технологий
Реализация метода Нисходящего проектирования тесно связана с другим понятием программирования - Модульным проектированием , так как на практике при...
-
Типы экспертных систем - Теоретические основы информационных технологий
Можно назвать несколько Типов современных экспертных систем . 1) Экспертные системы первого поколения. Предназначены для решения хорошо структурированных...
-
Возрастающая сложность современных автоматизированных систем управления и повышение требовательности к ним обуславливает применение эффективных...
-
Метод нисходящего проектирования (метод пошаговой детализации, метод иерархического проектирования, top-down-подход) Суть метода заключается в...
-
Экспертные системы - Теоретические основы информационных технологий
Наибольший прогресс среди компьютерных информационных систем отмечен в области разработки экспертных систем (ЭС), основанных на использовании элементов...
-
Сбор и регистрация информации - Теоретические основы информационных технологий
Сбор и регистрация информации происходят по-разному и в различных объектах. Процесс перевода информации в выходные данные в технологических системах...
-
Моделирования случайных процессов - Теоретические основы информационных технологий
Моделирование случайных процессов - мощнейшее направление в современном математическом моделировании. Событие называется случайным, если оно достоверно...
-
Технологии распределенных вычислений (РВ) Современное производство требует высоких скоростей обработки информации, удобных форм ее хранения и передачи....
-
Информационные технологии в обучении - Теоретические основы информационных технологий
Создание и совершенствование компьютеров привело и продолжает приводить к созданию новых технологий в различных сферах научной и практической...
-
1. Изучение теоретических аспектов использования: MS Word, MS Excel, MS Access, Paint и Photoshop... (ППО) Часть 1 : Руководство по выполнению...
-
Дальнейшим развитием локальных средств разработки программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария...
-
Заключение - Программное обеспечение для пропускной системы на основе технологии NFC
Обеспечение удобной пропускной системы - важная и актуальная задача. Появление новых технологий, таких как NFC и HCE, позволяет решить эту проблему. В...
-
Уровни программного обеспечения. - Основы теории информации
1. Базовый уровень - самый низкий уровень ПО представляет базовое ПО. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило,...
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Модели информационных процессов передачи, обработки, накопления данных Обобщенная схема технологического процесса обработки информации При производстве...
-
Области применения ЭС - Теоретические основы информационных технологий
ЭС в задачах интерпретации , как правило, используют информацию от датчиков для описания ситуации. В качестве примера приведем интерпретацию показаний...
-
Классификация математических моделей - Теоретические основы информационных технологий
К классификации математических моделей можно подходить по-разному, положив в основу классификации различные принципы. 1) Классификация моделей по...
-
Технологии объектного связывания данных - Теоретические основы информационных технологий
Унификация взаимодействия прикладных компонентов с ядром информационных систем в виде SQL-серверов, наработанная для клиент-серверных систем, позволила...
-
Введение - Программное обеспечение для пропускной системы на основе технологии NFC
Массовые мероприятия стали неотъемлемой частью современного мира. Для таких мероприятий требуется быстрая организация временного разделенного доступа для...
-
Можно выделить основные этапы процесса создания корпоративной информационной системы: - провести информационное обследование организации; - по...
-
Основные компоненты - Теоретические основы информационных технологий
Рассмотрим структуру системы поддержки принятия решений (рис. 2.4), а также функции составляющих ее блоков, которые определяют основные технологические...
-
Теоретические основы информационных технологий - Теоретические основы информационных технологий
Офисные автоматизированные технологии используются управленцами, специалистами, секретарями и конторскими служащими, особенно они привлекательны для...
-
В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении. RSA Для того, чтобы избежать...
-
Над созданием ИС "Учет посещаемости в детском саду" будет работать определенная группа разработчиков, состоящая из руководителя и инженера-программиста....
-
Актуальность Сегодня всемирная популярность социальных информационных сетей продолжает набирать обороты, все большее пользователей не может отказать себе...
-
Что такое информационная технология Главным направлением перестройки менеджмента и его радикального усовершенствования, приспособления к современным...
-
При создании или при классификации информационных систем неизбежно возникают проблемы, связанные с формальным - математическим и алгоритмическим...
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
На рабочем месте запрещается иметь огнеопасные вещества В помещениях запрещается: А) зажигать огонь; Б) включать электрооборудование, если в помещении...
-
Современные информационные технологии определяются как непрерывные процессы обработки, хранения, передачи и отображения информации, направленные на...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Коммуникация между клиентом и сервером начинается прежде всего с "рукопожатия" ( SSL Handshake). Цели данного рукопожатия, следующие [10]: 1. клиент...
-
Передача информации - Теоретические основы информационных технологий
Информационный процесс обмена предполагает обмен данными между процессами информационной технологии. Из рисунка 1 видно, что процесс обмена связан...
-
Понятие о компьютерном математическом моделировании Модель - материальный объект, система математических зависимостей или программа, имитирующая...
-
Языки программирования баз данных - Теоретические основы информационных технологий
Эта группа языков отличается от алгоритмических языков, прежде всего решаемыми задачами. База данных - это файл (или группа файлов), представляющий собой...
-
Data Encryption Standard - созданный в 1975 году и стандартизированный в 1977 году блочный алгоритм симметричного шифрования. Алгоритм Triple DES (3DES)...
ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, Общая характеристика технологии создания программного обеспечения - Теоретические основы информационных технологий