- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Технология разработки ПО Использованные источники и материалы
- •Технология разработки ПО Основные понятия
- •Технология разработки ПО «Правильная» программа, ошибки
- •Технология разработки ПО Основные характеристики программных систем (1)
- •Технология разработки ПО Основные характеристики программных систем (2)
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Откуда берётся ПО?
- •Фазы программного процесса /1/
- •Жизненный цикл программных систем
- •Жизненный цикл программных систем
- •Процессы жизненного цикла
- •Процессы жизненного цикла
- •ГОСТ Р ИСО/МЭК 12207-99. Основные процессы жизненного цикла
- •ГОСТ Р ИСО/МЭК 12207-99.
- •ГОСТ Р ИСО/МЭК 12207-99.
- •ГОСТ Р ИСО/МЭК 12207-99.
- •ГОСТ Р ИСО/МЭК 12207-99.
- •ГОСТ Р ИСО/МЭК 12207-99.
- •ГОСТ Р ИСО/МЭК 12207-99.
- •Процессы жизненного цикла
- •Процессы жизненного цикла
- •Процессы жизненного цикла
- •Процессы жизненного цикла
- •Процессы жизненного цикла
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Традиционные модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Итерационные модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •Модели разработки
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
(Software engineering)
Учебный курс
очного обучения по специальностям 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»
010503 «Математическое обеспечение и администрирование информационных систем»
Л Е К Ц И Я
1.1
Основные понятия.
кафедры МОП ЭВМ
8 семестр
В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ
Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ
ТРТУ
Технология разработки ПО Использованные источники и материалы
1.Иан Соммервилл. Инженерия программного обеспечения, 6-е издание. Пер. с англ. – М.: Изд. дом «Вильямс», 2002.
2.Орлов С.А. Технологии разработки программного обеспечения: Учебник.
– СПб.: Питер, 2002.
3.Брауде Э. Технология разработки программного обеспечения. – СПб.: Питер, 2004
4.Г.Майерс. Надежность программного обеспечения. - М.: Мир, 1980.
5.Семейство стандартов ГОСТ 34. Информационная технология. Комплекс стандартов на автоматизированные системы.
6.Семейство стандартов ЕСПД. ГОСТ 19. Единая система программной документации.
7.Семейство стандартов ГОСТ Р ИСО/МЭК. Программная инженерия.
8.ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств.
9.ГОСТ Р ИСО/МЭК 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207-95 «Процессы жизненного цикла программных средств»
10.Professor James Landay. CS169: Software Engineering. Spring 2001
© 2005, В.В.Хашковский, Д.П.Калачев. |
2 |
Технология разработки ПО Основные понятия
Алгоритм - точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату
Программа - алгоритм, записанный в форме, воспринимаемой вычислительной машиной
Программное изделие (продукт) - программа на носителе данных, являющаяся продуктом промышленного производства. Иногда различают программный продукт и программное изделие. В этом случае хотят подчеркнуть массовость тиража – программный продукт, как правило, выпускается большими тиражами, программное изделие – одиночными
Программная система (комплекс) - программа, состоящая из двух или более компонентов и (или) комплексов, выполняющих взаимосвязанные функции, и применяемая самостоятельно или составе другого комплекса.
Программная система (комплекс) - программа или логически связанная совокупность программ на носителях данных, снабженная программной документацией.
Информационная среда программы – совокупность носителей данных и их содержимого в момент обработки данных.
© 2005, В.В.Хашковский, Д.П.Калачев. |
3 |
Технология разработки ПО «Правильная» программа, ошибки
Продуктом технологии разработки ПО является ПС, содержащая программы, выполняющие требуемые функции. Под «программой» обычно понимают правильную программу, т.е. программу, не содержащую ошибок.
Согласно Майерсу /4/ будем считать, что в программе имеется
ошибка, если она не выполняет того, что разумно ожидать от нее пользователю. «Разумное ожидание» пользователя формируется на основании документации по применению этой программы. В ПС программы и документация взаимно увязаны, образуют некоторую целостность. Поэтому можно говорить, что ошибки в ПС является несогласованность между программами ПС и документацией по их применению. В работе /4/ выделяется в отдельное понятие частный случай ошибки в ПС, когда
программа не соответствует своей функциональной спецификации (описанию, разрабатываемому на этапе, предшествующему непосредственному программированию). Такая ошибка в указанной работе называется дефектом программы.
Так как задание на ПС обычно формулируется не формально, а ©также2005, В.В.Хашковский,из-за того,Д.П.Калачтоев. понятия ошибки в ПС не формализовано, то 4 нельзя доказать формальными методами (математически)
Технология разработки ПО Основные характеристики программных систем (1)
Каждая программа, входящая в систему, должна обладать ряду требований. Будем говорить что программа является
правильной, если она функционирует в соответствии с технических заданием. Подразумевается, что техническое задание составлено в четкой форме, позволяющей однозначно судить о том, действительно ли программа отвечает перечисленным требованиям;
точной, если выдаваемые ею числовые данные имеют допустимые отклонения от аналогичных результатов, полученных с помощью идеальных математических зависимостей;
совместимой, если она работает должным образом не только автономно, но и как составная часть всей программной системы, осуществляющей обработку
информации;
надежной, если она при всех условиях обеспечивает полную повторяемость результатов. На практике еще не встречалось ни безукоризненно работающих машин, ни абсолютно надежного системного программного обеспечения. Тоже самое можно сказать и о прикладных программных системах;
универсальной, если она правильно работает при любых допустимых вариантах исходных данных. В ходе разработки программ должны предусматриваться специальные средства защиты от ввода неправильных данных, обеспечивающих целостность системы;
© 2005, В.В.Хашковский, Д.П.Калачев. |
5 |
Технология разработки ПО Основные характеристики программных систем (2)
Каждая программа, входящая в систему, должна обладать ряду требований. Будем говорить что программа является
защищенной, если она сохраняет работоспособность при возникновении сбоев. Это качество особенно важно для программ, предназначенных для решения задач в режиме реального времени. В подобных приложениях отказ оборудования может повлечь катастрофические последствия - например, аварию ракеты или ядерного реактора. Указанным свойством должны также обладать программы с большим временем выполнения, осуществляющие обработку постоянно хранимых файлов;
полезной, если задача, которую она решает, представляет практическую ценность;
эффективной, если объем требуемых для ее работы ресурсов ЭВМ не превышает допустимого предела;
проверяемой, если ее качества могут быть продемонстрированы на практике. Здесь подразумевается возможность проверки таких свойств программы, как правильность и универсальность. Можно применить формальные математические методы, позволяющие установить, действительно ли программа удовлетворяет техническим условиям и выдает достаточно точные результаты. Однако существуют и неформальные способы оценки качества программ, причем иной раз они оказываются более убедительными, чем формальные. Имеются в виду такие неформальные приемы, как прогоны с остановами в контрольных точках, обсуждения результатов с заинтересованными пользователями и др.;
адаптируемой, если она допускает быструю модификацию с целью приспособления к быстроменяющимся внешним условиям функционирования. Адаптируемость в значительной степени зависит от конструкции программы, от того, насколько квалифицированно она составлена и полно снабжена документацией.
© 2005, В.В.Хашковский, Д.П.Калачев. |
6 |
ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
(Software engineering)
Учебный курс
очного обучения по специальностям 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»
010503 «Математическое обеспечение и администрирование информационных систем»
кафедры МОП ЭВМ
Л Е К Ц И Я 8 семестр
1.2
Процессы
жизненного
цикла
программных систем. (Стадии и
этапы разработки
программных
В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ
Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ
ТРТУ
Откуда берётся ПО?
Программное обеспечение появляется в результате реализации программного процесса.
Программный процесс — это набор действий и связанных с ними результатов, приводящих к созданию программного продукта. Мы будем выделять четыре основных фазы программного процесса:
© 2005, В.В.Хашковский, Д.П.Калачев. |
8 |
Фазы программного процесса /1/
Создание спецификации ПО – что система должна делать и ограничения на разработку
Разработка ПО – производство программной системы
Тестирование ПО – проверка того, что клиент хочет именно того, что прописано в спецификации (validation), и что система соответствует спецификации (verification)
Развитие или эволюция ПО (software evolution) – изменение ПО в ответ на изменение внешних требований
© 2005, В.В.Хашковский, Д.П.Калачев. |
9 |
Жизненный цикл программных систем
Под жизненным циклом ПО (software life cycle) понимают весь период его разработки и эксплуатации (использования), начиная от момента возникновения замысла ПС и кончая прекращением всех видов его использования.
Модель жизненного цикла (life cycle model): структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования. /8/
Существуют разные перечни процессов, работ и задач включаемых в жизненный цикл, однако они не противоречат друг другу – основное отличие касается степени детализации отдельных фаз от момента возникновения замысла ПС и кончая прекращением всех видов его использования.
Мы будем опираться в первую очередь на:
•ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств.
•ГОСТ 19.102-77. Единая система программной документации. Стадии разработки.
•Rational Unify Process |
10 |
© 2005, В.В.Хашковский, Д.П.Калачев. |