Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РазрПрогрПрилож / Практикум по дисциплине <Технология разработки программного обеспечения>.doc
Скачиваний:
128
Добавлен:
17.02.2016
Размер:
266.24 Кб
Скачать

Министерство образования российской федерации

Московский государственный университет экономики, статистики и информатики

Московский международный институт эконометрики, информатики, финансов и права

КОВАЛЕВСКАЯ Е.В.

Практикум по дисциплине «Технология разработки программного обеспечения»

Москва 2001

Ковалевская Е.В. Технология разработки программного обеспечения. / Московский государственный университет экономики, статистики и информатики - М., 2001., с.

© Ковалевская Е.В., 2001 г.

© Московский государственный университет экономики, статистики и информатики, 2001 г.

© Московский международный институт эконометрики, информатики, финансов и права, 2001 г.

2

Содержание

3

Ковалевская Е.В. Программа, методические указания и задания по выполнению лабораторной работы по курсу « Технология разработки программного обеспечения». Московский государственный университет экономики, статистики и информатики.М.,2001.

Методическое пособие предназначено для студентов дневной формы обучения специальности « Математическое обеспечение и администрирование информационных систем. Методическое пособие включает в себя следующие составные части: программу дисциплины, задания и методические указания по выполнению лабораторной работы; методические указания по выполнению лабораторной работы и список рекомендованной литературы. Освоение материала курса предусматривается в течение 6 ,7семестров(3,4 курс )

В процессе изучения курса студенты должны выполнить лабораторную работу.

Семестр заканчивается сдачей зачета(6 семестр) и экзамена (7 семестр).

4

1.Программа дисциплины

1.1. Цели и задачи дисциплины, ее место в учебном процессе

Курс «Технология разработки программного обеспечения» читается студентам в 6 и 7 семестрах и базируется на дисциплинах системного и прикладного программирования. Данный курс призван формировать у студентов теоретические знания и практические навыки по проблемам технологии разработки и использования программных средств вычислительной техники.

Студенты в результате изучения курса должны:

  1. • знать

  2. - особенности современных методологий и технологий создания программных средств;

  3. - организацию проектирования ПС и содержание различных этапов процесса проектирования;

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

  5. - средства и методы разработки надежного программного обеспечения;

  6. • уметь

  7. - проектировать, конструировать и отлаживать программные средства в соответствии с заданными критериями качества.

  8. - выявлять основные факторы, определяющие качество и надежность программных средств;

  9. - осуществлять тестирование программных средств с целью повышения их качества и надежности;

  10. - осуществлять моделирование требуемого уровня надежности в соответствии с заданными критериями;

  11. - оценивать технико-экономические показатели разработки ПС. - оформлять документацию на программные средства.

1.2. Содержание дисциплины

Изучение дисциплины предусматривает чтение лекций, проведение практических занятий и лабораторной работы. После обучения студенты сдают зачет по курсу в 6 семестре и экзамен в 7 семестре.

Лекционные занятия.

Содержание лекционного курса:

Введение

Предмет, содержание и задачи курса. Связь с другими дисциплинами. Роль курса в формировании специалиста в соответствии с его квалификационной характеристикой.

5

Раздел 1. Технология структурного программирования .

Тема 1. Жизненный цикл программных средств.

Понятие жизненного цикла ПС. Цели и структура современных моделей жизненного цикла ПС. Содержание отдельных этапов разработки ПС. Стандартизация жизненного цикла ПС.

Тема 2. Системный анализ и проектирование программных средств.

Обследование объектов информатизации.

Определение целей создания ПС. Анализ и разработка требований к ПС. Разработка внешних спецификаций. Прогнозирование технико-экономических показателей проектов ПС. Методы управления проектированием ПС. Средства автоматизации проектирования ПС.

Тема 3. Внутреннее проектирование и разработка программных средств.

Цели и порядок внутреннего проектирования ПС. Модульная структура ПС (архитектура системы и структура программы).Проектирование модулей. Проектирование и кодирование логики модулей. Стиль программирования. Рекомендации по программированию. Стандартизация процесса разработки ПС.

Тема 4. Тестирование программных средств.

Планирование тестирования и отладки ПС. Принципы и методы тестирования. Проектирование тестовых наборов данных. Тестирование модулей. Тестирование комплексов программ. Критерии завершенности тестирования. Отладка программ. Обработка результатов тестирования и отладки программ.

Тема 5. Документирование программных средств.

Цели документирования. Классификация и назначение документации на ПС. Документирование в процессе разработки ПС. Стандартизация документирования программ и данных.

Тема 6.Обеспечение качества, надёжности и безопасности функционирования программных средств .

Показатели качества ПС. Стандарты, регламентирующие показатели качества ПС. Управление качеством ПС. Надёжность ПС. Характеристики программных ошибок и причин их возникновения.

Виды угроз безопасности функционирования ПС. Методы обеспечения технологической безопасности ПС и данных. Виды предумышленных угроз. Методы защиты от несанкционированного доступа. Стандартизация защиты программ и данных.

6

Тема 7.Испытания и сертификация программных средств.

Организация испытаний комплексов программ.

Задачи и проблемы сертификации ПС. Методы, технология ,средства обеспечения сертификации ПС. Стандарты сертификации ПС.

Тема 8. Сопровождение и конфигурационное управление программными средствами.

Цели и организация сопровождения ПС. Стандартизация управления конфигурацией ПС.

Раздел 2. Современные технологии программирования .

Обзор существующих технологий программирования. Особенности современных технологий программирования..

Тема9. Технология объектно-ориентированного программирования.

Основные понятия и определения. Принципы объектно-ориентированного программирования. Описание объекта. Использование объекта. Наследование. Полиморфизм. Виртуальные и динамические методы. Поддержка технологии объектно-ориентированного программирования средствами языков Паскаль,

Си ++.

Тема 10. Технология сборочного программирования.

Цели и задачи концепции открытых систем. Направления развития и модели концепции открытых систем.

Стандартизация в области открытых систем. Профили открытых информационных систем и жизненного цикла программных средств.

Разработка повторно используемых и переносимых компонент. Интеграция компонент в сложные программные средства.

Тема11.Технология применения CASE-систем.

Концептуальные основы CASE-технологии.

CASE-модель жизненного цикла программных средств.

Состав, структура и функциональные особенности CASE-систем.

Обзор российского рынка CASE-средств. Описание основных возможностей пакетов. Определение потребностей в CASE-средствах. Оценка и выбор CASE-средств.

Тема 12.Internet-Intranet -технология.

Назначение Internet. Особенности Internet-технологии. Протоколы Internet. Особенности и сервис Intranet.

Перспективы развития технологий программирования.

7

Заключение по курсу

Практические занятия

Практические занятия предназначены для закрепления студентами лекционного материала а также для приобретения ими практических навыков в создании качественного ПО. Контроль знаний студентов на практических занятиях осуществляется путем проведения аудиторных самостоятельных работ, а также опроса студентов.

Лабораторная работа

N п/п

Содержание работы

Объем в часах

ауд. зан.

сам. раб.

Методы тестирования и оценки ПС

6

12

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

Литература

  1. 1. Архангельский Б.В., Черняховский В.В. Поиск устойчивых ошибок в программах. М., Радио и связь, 1989.

  2. 2. Благодатских В.А., Енгибарян М.А., Ковалевская Е.В. и др. Экономика, разработка и использование программного обеспечения ЭВМ. М., Финансы и статистика, 1995.

  3. 3. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. М., Мир, 1981.

  4. 4. Гантер Р. Методы управления проектированием программного обеспечения. М., Мир, 1981.

  5. 5. Липаев В.В. Тестирование программ. М., Радио и связь, 1986.

  6. 6. Липаев В.В. Управление разработкой программных средств: Методы, стандарты, технология. М., Финансы и статистика, 1993.

  7. 7. Боэм.Б. Инженерное проектирование программного обеспечения. М., Радио и связь, 1985.

8. Ведров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. М., Финансы и статистика,1998.

9. Internet - Windows 95. Руководство пользователя. М.,Бином,1996.

10.Липаев В.В.,Позин Б.А.,ШтрикА.А. Технология сборочного программирования. М., Радио и связь, 1992.

8

11. Новоженов Ю.В. Объектно-ориентированные технологии разработки сложных программных систем. М.,1996.

Лабораторная работа и методические указания по её выполнению.

Целью выполнения лабораторной работы является закрепление теоретических знаний и практических навыков в умении разрабатывать и оценивать программные средства.

Результатом выполнения лабораторной работы должно быть готовое и оцененное программное средство, реализованное в среде PASCAL.

Задание на лабораторную работу.

Лабораторная работа состоит из двух частей.

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

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

Транспортная задача линейного программирования

Транспортная задача является одной из наиболее распространенных задач линейного программирования и находит широкое практическое приложение.

Постановка транспортной задачи. Некоторый однородный продукт, сосредоточенный y m поставщиков Ai в количестве ai (i=1..m) единиц соответственно, необходимо доставить n потребителям Bj в количестве bj (j=1..n) единиц. Известна стоимость cij перевозки единицы груза от i -го поставщика к j -му потребителю.

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

Обозначим через xij количество единиц груза, запланированных к перевозке от i -го поставщика к j -му потребителю. Так как от i-го

9

поставщика к j -му потребителю запланировано к перевозке xij единиц груза, то стоимость перевозки составит cijxij.

Стоимость всего плана выразится двойной суммой

Систему ограничений получаем из следующих условий задачи:

а) все грузы должны быть перевезены, т.е.

i=1..m

б) все потребности должны быть удовлетворены, т.е.

j=1..n

Таким образом, математическая модель транспортной задачи имеет следующий вид:

Найти минимальное значение линейной функции

При ограничениях

i=1..m (1.2)

j=1..n (1.3)

i=1..m, j=1..n (1.4)

В рассмотренной модели предполагается, что суммарные запасы равны суммарным потребностям, т.е. (1.5):

(1.1)

10

Транспортная задача, в которой суммарные запасы и потребности совпадают, т.е. выполняется условие (1.5), называется закрытой моделью; в противном случае - открытой. Для открытой модели может быть два случая:

а) суммарные запасы превышают суммарные потребности

б) суммарные потребности превышают суммарные запасы

Линейная функция одинакова в обоих случаях, изменяется только вид системы ограничений.

Найти минимальное значение линейной функции

При ограничениях

i=1..m (случай ‘а’ )

j=1..n

xij ≥0

i=1..m (случай ‘б’)

j=1..n

xij ≥0

Открытая модель решается приведением к закрытой модели.

В случае (а), когда суммарные запасы превышают суммарные потребности, вводится фиктивный потребитель Bn+1 , потребность которого

11

В случае (б), когда суммарные потребности превышают суммарные запасы, вводится фиктивный поставщик Am+1, запасы которого

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

Транспортная задача имеет n + m уравнений с неизвестными.

Матрицу X=(xij)m,n , удовлетворяющую условиям (1.2) – (1.4), называют планом перевозок транспортной задачи (xij- перевозками).

План X* , при котором целевая функция (1.1) обращается в минимум, называется оптимальным.

Для разрешимости транспортной задачи необходимо и достаточно, чтобы выполнялось условие баланса

Опорный план транспортной задачи содержит m+n-1 положительных перевозок.

Решение транспортной задачи осуществляется в два этапа: на первом составляют первоначальный опорный план, на втором- оптимизируют его.

Методы составления первоначального опорного плана:

  1. 1. Северо-западного угла.

  2. 2. Юго-восточного угла.

  3. 3. Минимального элемента в строке.

  4. 4. Минимального элемента в столбце.

  5. 5. Минимального элемента в матрице.

  6. 6. Двойного предпочтения.

  7. 7. Фогеля.

  8. 8. Лебедева.

  9. 9. Лебедева - Тихомирова.

Методы оптимизации:

  1. 1. Потенциалов.

  2. 2. Квадратов.

  3. 3. Распределительный.

  4. 4. Венгерский.

  5. 5. Форда- Фулкерсона.

  6. 6. Разрешающих слагаемых.

  7. 7. Дифференциальных рент.

12

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