Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
090102_Методы программирования.doc
Скачиваний:
8
Добавлен:
09.11.2019
Размер:
353.28 Кб
Скачать

Тема 22. Методы проектирования по.

Содержание темы: Методы нисходящего и восходящего проектирования ПО. Модульное проектирование. Структурное программирование.

Модели жизненного цикла ПО. Каскадная модель, ее достоинства и недостатки. Спиральная модель, ее достоинства и недостатки. CASE-технологии. Технологии RAD (Rapid Application Development - быстрая разработка программ).

Распределение часов по темам и видам учебной работы

Названия разделов и тем

Всего

часов

Виды учебных занятий

Индивид.занятия

Самостоят.работа

аудиторные

лекц.

практ.

занят.

Раздел 1. Методы, алгоритмы и программы Семестр №1

1. Программирование и методы программирования.

4

2

2

2. Практическое программирование.

6

2

4

3. Простейшие программы.

10

2

2

2

4

4. Методы сортировки

12

4

2

2

4

Раздел 2. Метрики ПО и их использование при сравнении методов,

алгоритмов и ПО

5. Метрики ПО

7

3

4

6. Применение метрик при анализе ПО

12

4

2

2

4

Раздел 3. Стандартные приемы программирования при решении практических задач

7. Вычисление суммы и произведения элементов массива

4

1

1

2

8. Экстраполяция и интерполяция

4

1

1

2

9. Построение моделей методом наименьших квадратов

6

2

2

2

10. Численное интегрирование

4

2

-

2

11. Численные методы решения уравнений

4

2

-

2

Раздел 4. Стандартные приемы программирования при решении практических задач

12. Методы решения задач с многомерными массивами

4

2

2

13. Операции с матрицами

6

1

2

1

2

14. Методы решения системы линейных уравнений.

3

1

-

2

Раздел 5. Имитационное моделирование

15. Случайные величины и процессы.

4

2

2

16. Имитационное моделирование производственных процессов.

4

1

1

2

17. Имитационное моделирование ПО

6

2

2

2

Раздел 6. Тестирование , отладка и проектирование программных средств

Семестр №2

18. Контроль, тестирование и отладка ПО

17

3

4

2

8

19. Проектирование ПО

16

4

2

2

8

20. Качество ПО и его оценка.

20

4

7

1

8

21. Модульное программирование.

11

2

2

1

6

22. Методы проектирования ПО.

16

4

2

2

8

Итого:

180

51

34

17

78

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

Занятия проводятся в компьютерном классе, оборудованном персональными компьютерами.

№№

разделов и тем

Цель и содержание практических занятий

Результаты практических занятий

Занятие № 1. Простейшие программы ( 2 часа ) Семестр №1

Раздел 1.

Тема 3

- Алгоритмы и их свойства (массовость, результативность, дискретность).

- Операторы и операнды. Их взаимосвязь.

- Элементы, одномерные, двумерные и многомерные массивы.

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

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

Простейшие программы, самостоятельно написанные студентами.

Занятие № 2. Методы сортировки ( 2 часа )

Раздел 1.

Тема 4

- методы сортировки: пузырьком, выбором, вставками.

- разработка алгоритмов и написание программ сортировки.

Алгоритмы и программы сортировки одномерных массивов.

Занятие № 3. Применение метрик при анализе ПО ( 2 часа )

Раздел 2.

Тема 6

- основные метрики ПО и их определение (размер программы, объем программы, сложность потока управления, сложность потока данных, интеллектуальность ПО)

- оценка метрик простейших программ (см. Работа № 1)

и программ сортировки (см. Работа № 2)

- содержательный анализ полученных оценок.

Метрики ПО, написанного на занятиях №1 и 2.

Занятие № 4. Вычисление суммы и произведения элементов одномерного массива.

Применение метода узловых точек в задачах интерполяции ( 2 часа )

Раздел 3.

Темы 7 и 8

- сумма и произведение элементов одномерного массива: приемы (алгоритмы) организации вычислений

- алгоритмы вычисления суммы и произведения элементов, удовлетворяющих заданным условиям

- алгоритмы вычисления суммы и произведения элементов числового ряда

- написание программ, реализующих разработанные алгоритмы

- оценка метрологических характеристик написанных программ

- задачи интерполяции и экстраполяции и методы их решения

- алгоритмы и программы интерполяции и экстраполяции

- оценка метрологических характеристик написанных программ

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

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

Метрологические характеристики написанных программ и их интерпретация.

Занятие № 5. Построение моделей методом наименьших квадратов ( 2 часа )

Раздел 3.

Тема 9

- метод наименьших квадратов (МНК) и его применение при построении эмпирических закономерностей

- алгоритм обработки данных при построении линейных моделей

- программа оценки параметров линейной модели МНК

- оценка метрологических характеристик написанной программы

.Программа для оценки параметров линейной модели методом наименьших квадратов.

Метрологические характеристики написанной программы.

Занятие № 6. Операции с матрицами ( 2 часа )

Раздел 4.

Тема 13

- двумерные и многомерные массивы в научных исследованиях

- стандартные приемы анализа элементов массивов при решении задач поиска максимума (минимума)

- стандартные приемы анализа элементов массивов при решении задач сортировки

- стандартные приемы анализа элементов массивов при решении задач поиска элементов по заданным условиям

- алгоритмы решения рассмотренных задач и их программная реализация

- оценка метрологических характеристик написанной программы

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

Метрики написанных программ.

Занятие № 7. Случайные величины и процессы ( 2 часа )

Раздел 5.

Тема 15

- случайные величины и процессы

- моделирование равномерно- и нормальнораспределенных величин

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

- оценка метрологических характеристик написанных программ

Программы, моделирующие случайные величины и вычисляющие их статистические характеристики.

Метрики написанных программ.

Занятие № 8. Имитационное моделирование производственных процессов и ПО

( 3 часа )

Раздел 5.

Темы 16 и 17

- производственные операции и процессы , их вероятностные и временные описания

- последовательные и параллельные операции и их моделирование

- алгоритмы и программы имитационного моделирования сложных процессов

- оценка метрологических характеристик написанных программ

- представление сложного ПО в виде модульных схем

- имитация работы программных модулей

- применение имитационного моделирования при разработке надежного ПО

- разработка алгоритмов и программ моделирования работы сложного ПО

- оценка метрологических характеристик написанных программ

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

Метрики написанных программ.

Занятие № 9. Контроль, тестирование и отладка ПО ( 4 часа ) Семестр №2

Раздел 6.

Тема 18

- Понятия «контроль», «тестирование» и «отладка».

- Опытная и промышленная эксплуатация ПО.

- Виды контроля ПО: визуальный, статический, динамический.

- Тестирование: функциональное и структурное. - Анализ и синтез.

Усвоение теоретической информации, приведенной в лекции по Теме 18, а также дополнительной информации по данной теме, подготовленной студентами в ходе самостоятельной работы.

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

Занятие № 10. Проектирование ПО ( 2 часа )

Раздел 6.

Тема 19.

- Технология программирования.

- Методология программирования.

- Жизненный цикл ПО.

- Модели жизненного цикла ПО.

- Документирование разработки ПО.

- Системная архитектура ПО.

- Функциональная структура ПО.

Усвоение теоретической информации, приведенной в лекции по Теме 19, а также дополнительной информации по данной теме, подготовленной студентами в ходе самостоятельной работы.

Особое внимание уделяется практическим навыкам анализа этапов жизненного цикла ПО

Занятие № 11. Качество ПО и его оценка ( 7 часов )

Раздел 6.

Тема 20.

- Понятие «качество» и его определения.

- Критерии качества ПО.

- Функциональность, надежность, легкость применения, эффективность, сопровождаемость, мобильность ПО и их оценка.

- Основные атрибуты для каждой из характеристик качества ПО.

Усвоение теоретической информации, приведенной в лекции по Теме 20, а также дополнительной информации по данной теме, подготовленной студентами в ходе самостоятельной работы.

Особое внимание уделяется практическим навыкам использования рекомендаций ГОСТ 28195 и МЭК 9126 при оценке качества ПО.

Занятие № 12. Модульное программирование ( 2 часа )

Раздел 6.

Тема 21

- Понятие «модуль».

- Основные атрибуты модуля.

- Классы прочности модулей: прочность по совпадению, прочность по логике, прочность по классу, процедурно-прочный модуль, коммуникационно-прочный модуль, информационная прочность, функциональная прочность.

- Сцепление модулей: сцепление по содержимому, сцепление по общей области, сцепление по управлению, сцепление по формату, сцепление по данным.

- Принципы Хольта.

Усвоение теоретической информации, приведенной в лекции по Теме 21, а также дополнительной информации по данной теме, подготовленной студентами в ходе самостоятельной работы.

Особое внимание уделяется практическим навыкам модульного программирования.

Занятие № 13. Методы проектирования ПО ( 2 часа )

Раздел 6.

Тема 22

- Методы нисходящего и восходящего проектирования ПО.

- Модульное проектирование.

- Структурное программирование.

- Модели жизненного цикла ПО.

- Каскадная модель, ее достоинства и недостатки.

- Спиральная модель, ее достоинства и недостатки.

- CASE-технологии.

Усвоение теоретической информации, приведенной в лекции по Теме 22, а также дополнительной информации по данной теме, подготовленной студентами в ходе самостоятельной работы.

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

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

Тематика контрольных работ и методические указания по их

выполнению

Контрольная работа №1 :

Метрики ПО и их использование при сравнении методов,

алгоритмов и ПО

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

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

Контрольная работа №2: Имитационное моделирование производственных процессов и ПО

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

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

Самостоятельная работа

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

Разделы и темы

для самостоятельного изучения

Виды и содержание самостоятельной работы

Раздел 1. Тема 1.

Программирование и методы программирования. (2 часа)

Программирование. Алгоритмы и их свойства (массовость, результативность, дискретность). Операторы и операнды. Определения понятий и их взаимосвязь. Данные и информация. Структуры данных. Элементы, одномерные, двумерные и многомерные массивы.

Раздел 1. Тема 2.

Практическое программирование (4 часа)

Программирование и псевдопрограммирование. Основные операторы: присвоение, вычисление, условный переход, безусловный переход, функции, печать, начало, конец. Типичные ошибки при программировании. Написание простейших программ

Раздел 1. Тема 3.

Простейшие программы. (4 часа)

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

Написание простейших программ.

Раздел 1. Тема 4.

Методы сортировки (4 часа)

методы сортировки (пузырька, перестановок и пр.) и их применение в практических задачах. Алгоритмы сортировки. Написание программ сортировки.

Раздел 2. Тема 5.

Метрики ПО (4 часа)

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

Раздел 2. Тема 6.

Применение метрик при анализе ПО

( 4 часа)

Практические приемы оценки и содержательного анализа метрик ПО. Необходимые практические договоренности при вычислении метрик.

Вычисление метрик ПО для простейших программ.

Раздел 3. Тема 7.

Вычисление суммы и произведения элементов массива ( 2 часа)

Организация вычисления суммы и произведения элементов одномерного массива; организация вычисления суммы и произведения элементов одномерного массива, удовлетворяющих заданным условиям, применение изученных схем при вычислении суммы и произведения элементов числового ряда. Оценка метрологических характеристик написанных программ.

Раздел 3. Тема 8.

Экстраполяция и интерполяция ( 2 часа)

Задачи экстраполяции и интерполяции и методы их решения: Разработка алгоритмов и простейших программ интерполяции и экстраполяции, оценка их метрологических свойств.

Раздел 3. Тема 9.

Построение моделей методом наименьших квадратов ( 2 часа)

Метод наименьших квадратов и его использование при построении линейных и квадратичных моделей. Разработка алгоритмов и написание программ оценки параметров моделей методом наименьших квадратов. Оценка их метрологических свойств.

Раздел 3. Тема 10.

Численное интегрирование ( 2 часа)

Задачи численного интегрирования и методы их решения (методы прямоугольника, трапеции). Разработка алгоритмов и программ, реализующих методы численного интегрирования. Оценка их метрологических свойств.

Раздел 3. Тема 11.

Численные методы решения уравнений

( 2 часа)

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

Раздел 4. Тема 12.

Методы решения задач с многомерными массивами ( 2 часа)

Двумерные и многомерные массивы в научных исследованиях. Стандартные приемы анализа элементов массивов при решении задач поиска максимума, сортировки, выбора элементов по заданным условиям. Разработка алгоритмов и программ

Раздел 4. Тема 13.

Операции с матрицами ( 2 часа)

Двумерные и многомерные массивы и их обработка. Сложение и умножение матриц.. Разработка алгоритмов и программ, реализующих сложение и умножение матриц. Оценка метрологических свойств программ.

Раздел 4. Тема 14.

Методы решения системы линейных уравнений ( 2 часа)

Методы решения системы линейных уравнений. Разработка алгоритмов и программ, реализующих методы решения системы линейных уравнений . Оценка метрологических свойств программ.

Раздел 5. Тема 16.

Имитационное моделирование производственных процессов ( 2 часа)

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

Раздел 6. Тема 18.

Контроль, тестирование и отладка ПО

(8 часов)

Понятия «контроль», «тестирование» и «отладка». Опытная и промышленная эксплуатация ПО. Виды контроля ПО: визуальный, статический, динамический. Тестирование: функциональное и структурное. Анализ и синтез.

Раздел 6. Тема 19.

Проектирование ПО (8 часов)

Технология программирования. Методология программирования. Жизненный цикл ПО.

Модели жизненного цикла ПО. Документирование разработки ПО. Системная архитектура ПО. Функциональная структура ПО.

Раздел 6. Тема 20.

Качество ПО и его оценка (8 часов)

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

Использование рекомендаций ГОСТ 28195 и МЭК 9126 при оценке качества ПО.

Раздел 6. Тема 21.

Модульное программирование (6 часов)

Понятие «модуль». Основные атрибуты модуля. Классы прочности модулей: прочность по совпадению, прочность по логике, прочность по классу, процедурно-прочный модуль, коммуникационно-прочный модуль, информационная прочность, функциональная прочность. . Сцепление модулей: сцепление по содержимому, сцепление по общей области, сцепление по управлению, сцепление по формату, сцепление по данным. Принципы Хольта.

Раздел 6. Тема 22.

Методы проектирования ПО. (8 часов)

Методы нисходящего и восходящего проектирования ПО. Модульное проектирование. Структурное программирование.

Модели жизненного цикла ПО. Каскадная модель, ее достоинства и недостатки. Спиральная модель, ее достоинства и недостатки. CASE-технологии.

Учебно-методическое обеспечение дисциплины

Литература

Основная:

  1. Вендров А.М. Проектирование программного обеспечения экономических информационных систем (Учебник для ВУЗов) - М.: Финансы и статистика, 2003.- 352с.

  2. Вендров А.М. Практикум по проектированию программного обеспечения экономических информационных систем – М.: Финансы и статистика, 2002.-190с.

  3. Орлов С.А. Технологии разработки программного обеспечения. Разработка сложных программных систем (Учебник для ВУЗов) – СПб.: Питер, 2002.-464с

  4. Брауде Э. Технология разработки программного обеспечения. – СПб.: Питер, 2004.- 655с

  5. Ауэр К., Миллер Р. Экстремальное программирование: постановка процесса. С первых шагов и до победного конца. – СПб.: Питер, 2004.-368с

  6. Ройс У. Управление проектами по созданию программного обеспечения: унифицированный подход.-М.: Лори, 2002.- 424с

Дополнительная:

  1. Рейнгольд Э., Нивергелд Ю., Део Н.. Комбинаторные алгоритмы . Теория и практика.- М.: Мир, 1980.- 480с.

  2. Нивергельд Ю., Рейнголд Э., Фаррар Дж. Машинный подход к решению математических задач.- М.: Мир, 1977.- 351с.

  3. Кнут Д. Искусство программирования для ЭВМ. т.3, Сортировка и поиск. - М.: Мир, 1978.- 848с.

  4. Кормен. Т., Леверсон Ч., Ртвест Р. Алгоритмы. Построение и анализ.-М.: МЦНМО, 1999.- 960 с.

  5. Грехем Р., Кнут Д., Поиашник О. Конкретная математика.- М.: Мир, 1998.- 702 с.

  6. Ахо А. , Хопкрофт Дж. Построение и анализ вычислительных алгоритмов. – М.: Мир, 1979. - 536 с.

  7. Мейер Б., Бодуэн К. Методы программирования. т.1, - М.: Мир, 1982. - 362с.

  8. ANSI/IEEE 829 – 1983. Документация при тестировании программ.

  9. ANSI/IEEE 1008 – 1986. Тестирование программных модулей и компонент ПС.

  10. ANSI/IEEE 983 – 1986. Руководство по планированию обеспечения качества программных средств.

  11. ISO 9126:1991. ИТ. Оценка программного продукта. Характеристики качества и руководство по их применению.

  12. Характеристики качества программного обеспечения / Б. Боэм, Дж. Браун, Х. Каспар и др./ Пер. с англ. Е.К. Масловского. – М.: Мир, 1981- 392 с.

  13. ISO 9000-3: 1991. Общее руководство качеством и стандарты по обеспечению качества. Ч.3: Руководящие указания по применению ISO 9001 при разработке, поставке и обслуживании программного обеспечения.

  14. ГОСТ 28195-89. Оценка качества программных средств. Общие положения.

  15. ГОСТ 28806-90. Качество программных средств. Термины и определения.

Материально-техническое и информационное обеспечение дисциплины