Главная страница
Навигация по странице:

  • ОСНОВЫ ПРОГРАММНОЙ ИНЖЕНЕРИИ Методические рекомендации к практическим работам

  • Цель работы

  • Сложность реальной предметной области.

  • Сложности управления коллективом разработчиков и процессом разработки.

  • Проблема описания поведения больших дискретных систем

  • 1.3 Содержание отчета

  • Основы программной инженерии. Методические рекомендации к практическим работам для студентов специальности 09 03 04


    Скачать 138.43 Kb.
    НазваниеМетодические рекомендации к практическим работам для студентов специальности 09 03 04
    АнкорОсновы программной инженерии
    Дата14.03.2022
    Размер138.43 Kb.
    Формат файлаdocx
    Имя файлаPractice_OPI.docx
    ТипМетодические рекомендации
    #395630
    страница1 из 6
      1   2   3   4   5   6

    ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ

    ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

    «БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ»

    Кафедра «Программное обеспечение информационных технологий»


    ОСНОВЫ ПРОГРАММНОЙ ИНЖЕНЕРИИ

    Методические рекомендации к практическим работам

    для студентов специальности 09 03 04

    «Программная инженерия»

    дневной формы обучения

    Могилев 2018





    Содержание


    1 Практическая работа № 1. Сложность программного обеспечения 6

    2 Практическая работа № 2. Жизненный цикл программного обеспечения 8

    3 Практическая работа № 3. Обзор методологий проектирования программных продуктов 9

    4 Практическая работа № 4. Технологии быстрой разработки программного обеспечения 12

    5 Практическая работа № 5. Использование унифицированного языка моделирования при проектировании программных систем 14

    6 Практическая работа № 6. Использование унифицированного языка моделирования при проектировании программных систем 18

    7 Практическая работа № 7. Оценка качества программного обеспечения 23

    8 Практическая работа № 8. Внедрение и сопровождение программных продуктов 26


    Введение


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

    Цели практических работ является развитие у студентов следующих навыков:

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

    • выполнять формирование и анализ требований для разработки программных продуктов;

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

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

    1 Практическая работа № 1. Сложность программного обеспечения



    Цель работы: получить навыки обоснования сложности разработки программной системы.
    1.1 Краткие теоретические сведения
    Сложность программного обеспечения вызывается четырьмя основными причинами:

    • сложностью реальной предметной области, из которой исходит заказ на разработку;

    • сложностью управления коллективом разработчиков и процессом разработки;

    • необходимостью обеспечить качество программы;

    • неудовлетворительными способами описания поведения больших дискретных систем.

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

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

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

    Проблема описания поведения больших дискретных систем. Аналоговые системы, такие, как движение брошенного мяча, напротив, являются непрерывными. Небольшие изменения входных параметров всегда вызовут небольшие изменения выходных. С другой стороны, дискретные системы по самой своей природе имеют конечное число возможных состояний. Мы стараемся проектировать системы, разделяя их на части так, чтобы одна часть минимально воздействовало на другую. Каждое событие, внешнее по отношению к программной системе, может перевести ее в новое состояние, и, более того, переход из одного состояния в другое не всегда детерминирован. Всеобъемлющее тестирование таких программ провести невозможно. При неблагоприятных условиях небольшое внешнее событие может привести к критической ошибке системы.
    1.2 Задание

    Обосновать сложность разработки программной системы согласно выбранного варианта

    Варианты программных систем:

    1. Программная система "Мир белорусской природы"

    2. Программная система "Виртуальный клуб охотников и рыболовов"

    3. Программная система "Виртуальный клуб любителей животных"

    4. Программная система "Онлайн-система бронирования отелей"

    5. Программная система "Онлайн-система бронирования книг в библиотеке"

    6. Программная система "Журнал преподавателя"

    7. Программная система "Подбор схемы тренировки"

    8. Программная система "Виртуальный клуб автолюбителей"

    9. Программная система "Онлайн-система поиска рецептов блюд"

    10. Программная система "Приложение дополненной реальности "Солнечная система"

    11. Программная система "Онлайн-система создания выкроек"

    12. Программная система "Регистрация участников тренинга по программированию"

    13. Программная система «Обработка результатов анкетирования»

    14. Программная система «Система визуализации прокладки трубопроводов»


    1.3 Содержание отчета

    Отчет по практической работе выполняется на листах формата А4. В состав отчета входят:

    1) титульный лист;

    2) цель работы;

    3) текст индивидуального задания;

    4) выполнение индивидуального задания.

      1   2   3   4   5   6


    написать администратору сайта