Кодирование. Спецификация бывает формальная и неформальная

Спецификация бывает формальная и неформальная.

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

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

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

3) системы поддержки версий, т.е. системы, которые позволяют фиксировать состояние проекта в виде некоторых версий, а также протоколировать все изменения исходных модулей и при необходимости осуществлять возврат к предыдущим версиям.



Тестирование и отладка

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

 
 

Ввод программной системы в эксплуатацию внедрение) и сопровождение

Включает следующий набор требований:

1 - подготовка документации, иногда автоматической или автоматизированной;

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

Современные технологии разработки программного обеспечения

 
 

Каскадная модель

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

Каскадная итерационная модель

 
 

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

Спиральная модель организации жизненного цикла программных систем

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

 
 

Система программирования – это комплекс программ, обеспечивающий технологию автоматизации:

• проектирования,

• кодирования,

• тестирования,

• отладки и сопровождения программного обеспечения.

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

Немного истории:

Начало 50-х годов ХХ – века. Система программирования или система автоматизации программирования включала в себя ассемблер (или автокод) и загрузчик, появление библиотек стандартных программ и макрогенераторов.

Середина 50-х – начало 60-х годов ХХ – века. Появление и распространение языков программирования высокого уровня (Фортран, Алгол-60, Кобол и др.). Формирование концепций модульного программирования.

Середина 60-х годов – начало 90-х ХХ – века. Развитие интерактивных и персональных систем, появление и развитие языков объектно-ориентированного программирования.

90-е ХХ – века – настоящее время. Появление промышленных средств автоматизации проектирования программного обеспечения, CASE-средств (Computer-Aided Software/System Engineering), унифицированного языка моделирования UML.

Появляются промышленные средства автоматического проектирования програмного обеспечения. CASE – средства.

Средства программирования, доступные на уровне системы программирования - программные средства и компоненты СП, обеспечивающие поддержание жизненного цикла программы

Средства программирования, доступные на уровне системы программирования - программные средства и компоненты СП, обеспечивающие поддержание жизненного цикла программы


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: