Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
01.06.2015
Размер:
1.43 Mб
Скачать

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

(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, В.В.Хашковский, Д.П.Калачев.

Соседние файлы в папке Материал Курса