Технология разработки программного обеспечения Представление дисциплины
2 Общие сведения по дисциплине Название: Технология разработки программного обеспечения Читается для специальностей – Математическое обеспечение и администрирование информационных систем Важность изучения дисциплины В конце 60-х – начале 70-х годов появились первые признаки кризиса в области программирования – колоссальные успехи в области развития средств вычислительной техники пришли в противоречие с низкой производительностью труда программистов и низкими темпами ее роста. В связи с усложнением программных систем стало очевидным, что их трудно проектировать, кодировать, тестировать и особенно трудно понимать, когда возникает необходимость их модификации в процессе сопровождения. Появилась жизненная потребность в создании технологии разработки программных средств и инженерных методов их проектирования для существенного улучшения производительности труда разработчиков. За последние десятилетия появились множество методов и средств разработки программного обеспечения, которые продолжают интенсивно развиваться. Как показала практика, в настоящее время, практически не реально создание качественного программного продукта без применения этих методов и средств. Сфера профессионального использования Разработка, администрирование, эксплуатация и сопровождение программных средств.
3 Цели и задачи преподавания дисциплины Цели дисциплины Целью преподавания дисциплины "Технология разработки программного обеспечения" является освоение студентами процесса разработки программного обеспечения (ПО), получение представление о каждом этапе жизненного цикла программы – от определения требований к ПО до внедрения и сопровождения. Задачи дисциплины Основной задачей преподавания дисциплины является приобретение студентами теоретических знаний и практических навыков в применении методов проектирования и производства ПО, а так же в освоении принципов построения, структуры и приемов работы с инструментальными средствами, поддерживающими создание ПО.
4 Место дисциплины среди смежных дисциплин Данная дисциплина требует предварительного изучения курсов Программирование; Структуры и алгоритмы компьютерной обработки данных; Базы данных и СУБД; Метрология и качество программного обеспечения.
5 Итоговые знания, умения и навыки В результате изучения дисциплины студенты должны иметь ПРЕДСТАВЛЕНИЯ: о проблемах и направлениях развития технологии программирования. В результате изучения дисциплины студенты должны ЗНАТЬ: классические технологии разработки программного обеспечения; модели процесса разработки программного обеспечения; практические методологии выполнения всех этапов разработки ПО; технологии и инструментальные средства, применяемые на всех этапах разработки ПО; критерии качества программного обеспечения. В результате изучения дисциплины студенты должны приобрести УМЕНИЯ И НАВЫКИ: выбирать метод и технологию разработки ПО; осуществлять разработку ПО в соответствии с выбранным методом и технологией.
6 Содержание лекционного курса Тема 1. Основные понятия и определения технологии разработки программного обеспечения. Тема 2. Этап определения требований. Тема 3. Внешнее проектирование (специфицирование) программного обеспечения. Тема 4. Внутренне проектирование и программирование. Тема 5. Организация тестирования, отладки и испытаний программного обеспечения. Тема 6. Документирование программного обеспечения.
7 Тема 1. Основные понятия и определения технологии разработки программного обеспечения Цель данной темы состоит в рассмотрении проблем разработки программного обеспечения, основных фаз жизненного цикла программного изделия и этапов его создания. В теме приведено определение программного средства и рассмотрены типовые проблемы, возникающие в процессе его создания. Описаны концепция программного изделия и его жизненный цикл по фазам и этапам разработки.
8 Тема 2. Этап определения требований Целью данной темы является рассмотрение вопросов определения требований к программному обеспечению их анализа и документирования. В теме рассмотрена организация процесса определения требований к программному изделию, классифицированы цели создания программ и описаны структура и содержание программного документа "Техническое задание" (ГОСТ –78).
9 Тема 3. Внешнее проектирование (специфицирование) программного обеспечения Целью данной темы является рассмотрение вопросов внешнего проектирования программного обеспечения, методов и средств, поддерживающих процесс внешнего проектирования. В теме рассмотрена организация процесса внешнего проектирования программного обеспечения, подробно описаны методы и средства, применяющиеся при внешнем проектировании информационных систем на всех уровнях описания: функциональном, информационном, поведенческом и алгоритмическом.
10 Тема 4. Внутренне проектирование и программирование Целью данной темы является рассмотрение вопросов внутреннего проектирования и программирования, методов и средств, поддерживающих процесс проектирования, а так же правил, способствующих получению корректных, эффективных и доступных для чтения и понимания программ. В теме дано понятие программному модулю и рассмотрен процесс проектирования модульной структуры программного обеспечения, подробно описаны свойства модулей, методы и средства, применяющиеся при внутреннем проектировании. Последний раздел темы посвящен вопросам программирования. В нем приведены конкретные рекомендации, следование которым позволяет получать корректные, эффективные и доступные для чтения и понимания программы.
11 Тема 5. Организация тестирования, отладки и испытаний программного обеспечения Целью данной темы является рассмотрение вопросов организации тестирования, отладки и испытаний программного обеспечения. В теме рассмотрена организация процесса тестирования, отладки и испытаний программного обеспечения, подробно описаны общая схема отладки, методы, применяющиеся для диагностики и локализации ошибок, принципы и методы тестирования, организация тестирования модулей и испытаний программного обеспечения, приведены наиболее распространенные критерии завершения тестирования.
12 Тема 6. Документирование программного обеспечения Целью данной темы является рассмотрение вопросов документирования программного обеспечения. В теме рассмотрен процесс документирования программного обеспечения и стандарты, входящие в единую систему программной документации.
13 Лабораторный практикум Лабораторная работа 1. Разработка технического задания. Лабораторная работа 2. Разработка иерархии диаграмм потоков данных. Лабораторная работа 3. Разработка диаграмм переходов – состояний. Лабораторная работа 4. Разработка диаграмм сущность – связь.
14 Контрольные мероприятия Отчеты по лабораторным работам 1-4 Тест для самоконтроля по дисциплине Зачет
15 Список литературы Основная Иванова Г.С. Технология программирования: Учебник для вузов. – М.: Издательство МГТУ им Н.Э. Баумана, – 320 с. Вендров А.М. Проектирование программного обеспечения экономических информационных систем: Учебник. – М.: Финансы и статистика, – 352 с. Румбешт В.В. Технология разработки программного обеспечения: Основные этапы: Учебное пособие. – Белгород, Издательство БелГТАСМ, – 108 с.
16 Список литературы Дополнительная Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо – СПб.: Питер,2002. – 496 с. Алистер К. Современные методы описания функциональных требований к системам. – М.: Лори, – 263 с. Ройс У. Управление проектами по созданию программного обеспечения. – М.: Лори, – 263 с. Калянов Г.Н. CASE структурный системный анализ: Автоматизация и применение. – М.: Лори, – 242 с. Майерс Г. Искусство тестирования программ. - М.: Финансы и статистика, с. Технология разработки программных продуктов: Метод.указан. к выполнению лаб.работ для студ. спец – Белгород: Издательство БИЭИ, – 43 с.
17 Сведения об авторе ФИО: Румбешт Вадим Валерьевич Место работы: БелГУ Ученая степень: к.т.н. Ученое звание: доцент Должность: доцент Кафедра: Математического и программного обеспечения информационных систем Контактная информация: Адрес: г.Белгород, ул.Победы 85 Рабочий телефон:
18