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

  • ОСНОВЫ ПРОГРАММНОЙ ИНЖЕНЕРИИ Учебно-методическое пособие Челябинск 2015 2 ББК 32.973я73 УДК 004 Л 33 Автор

  • Носова, Л.С.

  • ISBN

  • Методические рекомендации для преподавателей

  • Лабораторная работа №1 Методологии управления ИТ-проектами Цель

  • лабы тоип. !!! Лаб раб по _ТОИП Челябинск. Учебнометодическое пособие 1 оу во ЮжноУральский институт управления и экономики


    Скачать 2.3 Mb.
    НазваниеУчебнометодическое пособие 1 оу во ЮжноУральский институт управления и экономики
    Анкорлабы тоип
    Дата18.10.2022
    Размер2.3 Mb.
    Формат файлаpdf
    Имя файла!!! Лаб раб по _ТОИП Челябинск.pdf
    ТипУчебно-методическое пособие
    #738905
    страница1 из 4
      1   2   3   4

    0
    НОСОВА Л.С.
    ОСНОВЫ ПРОГРАММНОЙ
    ИНЖЕНЕРИИ
    Учебно-методическое пособие

    1
    ОУ ВО «Южно-Уральский институт управления и экономики»
    НОСОВА Л.С.
    ОСНОВЫ ПРОГРАММНОЙ
    ИНЖЕНЕРИИ
    Учебно-методическое пособие
    Челябинск
    2015

    2
    ББК 32.973я73
    УДК 004
    Л 33
    Автор: Носова Л.С. – кандидат педагогических наук, доцент кафедры информационных технологий и систем ЧОУ ВПО «Южно-Уральский институт управления и экономики».
    Рецензенты: Т.Н. Лебедева – кандидат педагогических наук, доцент ОУ ВО «Южно-
    Уральский институт управления и экономики»;
    О.А. Дмитриева – кандидат педагогических наук, доцент кафедры информатики, информационных технологий и методики обучения информатике ФГБОУ ВПО «Челябинский государственный университет»;
    А.Г. Кириченко – кандидат технических наук, доцент ФГБОУ ВПО
    «Челябинский государственный университет».
    Носова, Л.С.
    Основы программной инженерии: Учебно-методическое пособие / Л.С. Носова. –
    Челябинск: Полиграф-Мастер, 2015. – 79 с.
    Учебное пособие нацелено на формирование у обучающихся профессиональных компетенции по овладению области программной инженерии. Комплексная структура, предствляющая сочетание теоретической информации, методических рекомендаций и практических занятий, позволяет студентам освоить последовательность шагов по созданию информационных систем.
    Данное учебное пособие рекомендуется для самостоятельного изучения дисциплины
    «Основы программной инженерии», при подготовке к экзаменам и курсовой работе, а также в качестве методических рекомендаций для преподавателей.
    Учебное пособие предназначается для студентов, обучающихся по направлению
    230400.62 «Информационные системы и технологии» при изучении дисциплины «Основы программной инженерии», всех форм обучения.
    ISBN © ОУ ВО «Южно-Уральский институт управления и экономики», 2015
    © Носова Л.С., 2015

    3
    СОДЕРЖАНИЕ
    ВВЕДЕНИЕ .............................................................................................................. 4
    Методические рекомендации ................................................................................. 6
    Лабораторная работа №1 ........................................................................................ 9
    Лабораторная работа №2 ...................................................................................... 16
    Лабораторная работа №3 ...................................................................................... 21
    Лабораторная работа №4 ...................................................................................... 34
    Лабораторная работа №5 ...................................................................................... 40
    Лабораторная работа №6 ...................................................................................... 42
    Лабораторная работа №7-8................................................................................... 45
    Лабораторная работа №8 ...................................................................................... 52
    Лабораторная работа №9 ...................................................................................... 57
    Лабораторная работа №14-16............................................................................... 65
    ПРИЛОЖЕНИЕ ..................................................................................................... 75
    СПИСОК ЛИТЕРАТУРЫ ..................................................................................... 78

    4
    ВВЕДЕНИЕ
    В настоящее время создание программных продуктов, с одной стороны, остается сложной задачей на стыке искусства, ремесла и логики, с другой стороны – многие процессы здесь автоматизированы и подкреплены соответствующими инструментами. Оставаясь прикладной областью, программная объединяет в себе множество практикоориентированных компонентов: тестирование программного обеспечения, программирование, проектирование и др. Основные слагаемые успеха инженеров программного обеспечения не являются секретом и лежат на поверхности: они придерживаться установленного плана, обеспечить качество продукта, не выходя при этом за рамки бюджета. Однако не все студенты в ходе освоения дисциплины учитывают, что помимо непосредственной разработки программных систем и их сопровождения, им необходимо анализировать требования заказчика, разрабатывать спецификации, реализовать сам проект, интегрировать его с другими, аттестовать и т.п.
    Данное учебное пособие составлено на основе многолетнего опыта преподавания дисциплины «Основы программной инженерии» в ОУ ВО
    «Южно-Уральский институт управления и экономики» в рамках подготовки по направлению бакалавриата 09.03.02
    «Информационные системы и технологии». С другой стороны, оно может быть интересно и полезно и для студентов других направлений и специальностей, нуждающихся в практических рекомендациях по разработке программных продуктов, а также для коллег-преподавателей из сферы высшего и среднего профессионального образования.
    Учебное пособие нацелено на оказание помощь студентам в формировании их общекультурных и профессиональных компетенций в соответствии с федеральным государственным образовательным стандартом высшего образования: 09.03.02
    «Информационные системы и технологии».
    Компетенции, формируемые в освоения дисциплины, представлены в таблице 1.

    5
    Таблица 1– Формируемые компетенции
    Код
    компетенции
    Наименование компетенции
    ПК-2 способность проводить техническое проектирование
    ПК-33 способность составлять инструкции по эксплуатации информационных систем

    6
    Методические рекомендации для преподавателей
    Дисциплина «Основы программной инженерии» осуществляет:
    − подготовку выпускников к проектно-технологической деятельности в области создания компонентов программных комплексов и баз данных, автоматизации технологических процессов с использованием современных инструментальных средств и технологий программирования;
    − подготовку выпускников к комплексным инженерным исследованиям для решения задач, связанных с разработкой программных средств, к работе по созданию программного обеспечения в проектных группах;
    − обучение методам командной работы.
    После изучения данной дисциплины выпускник должен решать следующие профессиональные задачи в соответствии с видами профессиональной деятельности.
    Проектно-конструкторская деятельность:
    − предпроектное обследование
    (инжиниринг) объекта проектирования, системный анализ предметной области, их взаимосвязей;
    − техническое проектирование (реинжиниринг);
    − рабочее проектирование;
    − выбор исходных данных для проектирования;
    − моделирование процессов и систем;
    − сертификация проекта по стандартам качества;
    − расчет обеспечения условий безопасной жизнедеятельности.
    Проектно-технологическая деятельность:
    − проектирование базовых и прикладных информационных технологий.
    В настоящее время ситуация на рынке труда такова, что при устройстве на работу от выпускника требуется опыт разработки программного обеспечения. Выйдя из стен высших учебных заведений, вчерашние студенты сталкиваются с рядом проблем: у них нет опыта создания программ в реальных условиях, они не умеют работать в команде. Возникает неуверенность в своих возможностях и перспективах.
    Конечно, при подготовке будущих инженеров преподаватели применяют различные подходы к повышению качества уровня знаний,

    7 умений и навыков студентов. Например, это может быть рейтинговая
    (балльно-рейтинговая) система оценивания студентов, формулирование заданий на курсовой проект на основе реальных заказов потребителей, конкурсы на самый лучший курсовой проект или квалификационную работу и т. п.
    Однако это не всегда готовит студента к реальной разработке. В связи с этим в данном пособии предложен подход к обучению проектированию программного обеспечения (ПО) на основе методологии разработки ПО
    Microsoft Solutions Framework (MSF). Освоение данного продукта приблизит студента к реальному процессу разработки программ, позволит получить навыки работы в команде.
    Методология MSF предложена корпорацией Microsoft и опирается на практический опыт компании. В ней описывается последовательность шагов по управлению людьми и рабочими процессами в ходе разработки программного решения.
    Для учебного процесса данная методология позволит четко регламентировать вехи (контрольные точки проекта) и тем самым реализовать контроль над выполнением проектов. Кроме того, фазы, представленные в методологии, соответствуют фазам, которые проходят студенты в процессе выполнения заданий, соответственно они смогут оценить время, необходимое для выполнения работы в целом.
    MSF предлагает следующие фазы работы над проектом:
    1.
    Выработка концепции проекта. На этапе происходит осмысление полученного задания студентом, уточнение и предварительный поиск способов решения. В качестве премежуточного результата формируется концепция проекта.
    2.
    Проектирование. На этом этапе осуществляется проектирование продукта различными методами сбора информации. В качестве подитога формируются сценарии использования, описание логического и физического дизайна средствами диаграмм UML.
    3.
    Реализация. Результатом данной технологической фазы являются программный код и beta-версия ПО.
    4.
    Тестирование.
    На этапе осуществляется тестирование разработанного ПО: функциональное, нагрузочное, стресс-тестирование. В

    8 результате прохождения этапа исполнитель создает спецификацию тестирования, план внедрения и сам программный продукт.
    5.
    Подведение итогов. На этапе осуществляется сбор всей документации, полученной на предыдущих этапах, а также организуется защита проекта перед преподавателем и/или комиссией. Финальным результатом являются оценки студентов по дисциплине в экзаменационной ведомости.
    Стоит оговориться, что при выборе данного подхода увеличивается нагрузка на преподавателя, т. к. ему необходимо выступать еще и в роли заказчика, а значит быть на связи со студентом в любое время. Эти вопросы решаются, например, посредством электронной почты. Кроме того, можно использовать специальные программы-органайзеры работы в команде, например, онлайн-сервис Битрикс24.
    В данном пособии представлены лабораторные работы для организации работы студентов в рамках первых двух фаз и последнего этапа
    – подведения итогов в виде конвейера проектов.
    В качестве проектов, которые будут разрабатывать студенты в течение курса, могут выступать их курсовые работы или реальные заказы образовательной организации.

    9
    Лабораторная работа №1
    Методологии управления ИТ-проектами
    Цель: знакомство с методологиями управления ИТ-проектами.
    Теоретические вопросы
    В настоящее время управление проектами имеет свою методологию и основывается на определенных стандартах. В основе таких методов лежат методики сетевого планирования, которые появились США в конце 1950-х гг. При этом методики управления проектами широко распространились не только в странах с рыночной экономикой, но и в странах с т. н. «плановой» экономикой. Они начали использоваться в строительстве, что послужило основой их распространения в других отраслях и появлению методов проектного управления.
    Примером здесь может служить объединение усилий фирмы «Дюпон» и фирмы «Ремингтон Рэнд» для составления плана графика комплексных работ по модернизации заводов «Дюпон» с помощью вычислительной машины Univac в 1956 г. Результатом стало создание рационального и простого метода описания проекта на ЭВМ – метода критического пути
    (CPM – Critical Path Method).
    Практически параллельно и независимо был создан метод анализа и оценки программ PERT (Program Evaluation and Review Technique) в военно- морских силах США. Данный метод разрабатывался корпорацией «Локхид» и консалтинговой фирмой «Буз, Аллен энд Гамильтон» для ракетной системы «Поларис». Проект включал 3800 основных подрядчиков и состоял из 60 000 операций. Благодаря использованию данного метода проект стал успешным и завершился на два года раньше срока. После наглядного успеха метод PERT стал использоваться в вооруженных силах США для планирования проектов.
    Задание: найдите примеры других крупных успешных проектов прошлого века, использующих для своего управления ЭВМ.
    Учтите, что с одной стороны, применение информационных технологий для планирования и управления проектами давало в те времена значительное преимущество, а с другой стороны, первые компьютеры были дорогостоящими и оставались доступными только крупным компаниям. Все

    10 изменилось с появлением персональных компьютеров, теперь ЭВМ стала рабочим инструментом для руководителей более широкого круга.
    Система управления проектами постоянно развивалась и стала самостоятельной областью профессиональной деятельности. В итоге были созданы унифицированные методологии, инструментарии, механизмы, стандарты, доступные и для проектов в ИТ-сфере. Например, на сегодняшний день существует единая Международная ассоциация управления проектами – IPMA (International Project Management Association) с центром в г. Цюрих (Швейцария).
    Из наиболее распространенных можно отметить процессную модель, используемую в документах методологических основ управления проектами
    – Project Management Body of Knowledge (PMBOK) Американского института управления проектами (PMI). Данный документ признается международным стандартом де-факто. Кроме того, стандарт ISO 10006:1997 придал ряду наиболее важных положений РМВОК статус стандарта де-юре.
    В 2014 г. вышло пятое издание PMBOK, содержащее указания на 589 страницах.
    Все положения представлены на сайте http://www.pmi.org/default.aspx
    [6].
    Данные Международной ассоциации управления проектами (IPMA) говорят о том, что использование современных методологий управления проектами экономит около 20–30% времени и около 15–20% средств на осуществление проектов.
    Все методологии (еще их называют моделями, методиками) разработки программного обеспечения классифицируют по «весу», т. е. по количеству формализованных процессов и детальности их регламентации.
    Следовательно, чем больше процессов документировано, чем более детально описана методолгия, тем больше будет ее «вес».
    1.
    Тяжеловесные методологии:

    ГОСТ 19 «Единая система программной документации» и ГОСТ
    34 «Стандарты на разработку и сопровождение автоматизированных систем» ориентированы на последовательный подход к разработке программного обеспечения;

    Capability Maturity Model for Software (SW-CMM) определяет пять уровней «зрелости проекта»;

    11

    Rational Unified Process (RUP) – итеративная модель разработки;

    Microsoft Solutions Framework (MSF) – база знаний компании
    Microsoft по разработки программ;

    Personal Software Process – модель определяет требования к компетенциям разработчика. Team Software Process – модель ориентирует на самоуправляемые команды от 3 до 20 разработчиков.
    − и др.
    2.
    Легковесные или agile-методики:
    − eXtreme
    Programming или
    XP
    – экстремальное программирование, предлагающее 12 инженерных практик;

    Crystal Clear – семейство методологий, определяют необходимую степень формализации процесса разработки в зависимости от количества участников и критичности задач [13];

    Feature
    Driven
    Development
    (FDD)
    – функционально- ориентированная разработка;

    OpenUP –
    итеративно-инкрементальный метод разработки программ, позиционируется как легкий и гибкий вариант тяжеловесной методологии RUP;

    Scrum – управление разработкой информационных систем с высокой степенью неопределенности;

    Kanban – методология «бережливого производства»;
    − и др.
    Результаты исследования Agile Survey о популярности гибких методологий представлены на рис. 1 [11].
    Рис. 1. Популярность гибких методологий

    12
    Легковесные методологии Agile появились сравнительно недавно. В феврале 2001 г. 17 специалистов (консультантов и практиков) провели семинар, на котором сформулировали основные принципы гибкой разработки ПО – Agile Manifesto – манифест гибкой разработки. Он переведен на многие языки мира и доступен на сайте http://agilemanifesto.org/iso/ru/
    [12].
    Идея всех гибких (легковесных) методологий состоит в том, что применяемый в разработке ПО процесс должен быть адаптивным, ориентированным на людей и их взаимодействие. По сути это скорее набор практик, чем методология.
    На том же семинаре было предложено новое название таких методологий – гибкая разработка Agile Software Development.
    При выборе модели управления проектом можно ориентироваться на следующую таблицу (таблица 2).
    Таблица 2 – Выбор методологии управления проектом
    Вес модели
    Достоинства
    Недостатки
    Тяжеловесные − процессы рассчитаны на среднюю квалификацию исполнителей;
    − большая специализация исполнителей;
    − низкие требования к стабильности команды;
    − отсутствуют ограничения по объему и сложности выполняемых проектов.
    − требуют существенной управленческой надстройки;
    − длительные стадии анализа и проектирования;
    − формализованные коммуникации.

    13
    Продолжение таблицы 2
    Легковесные
    (гибкие)
    − снижение непроизводительных расходов, связанных с управлением проектом, рисками, изменениями, конфигурациями;
    − упрощение стадий анализа и проектирования, основной упор на разработку функциональности, совмещение ролей;
    − неформальные коммуникации.
    − эффективность сильно зависит от индивидуальных способностей, требуют более квалифицированной, универсальной и стабильной команды;
    − объем и сложность выполняемых проектов ограничены.
    А. Коуберн, один из авторов «Манифеста», провел анализ ИТ-проектов за последние 20 лет [4], выполненных на основании разных моделей управления: от облегченных, гибких до тяжелых (СММ-5). Данный анализ показал отсутствие корреляции между успехом или провалом проектов и выбранными моделями разработки, применяемыми в проектах.
    А. Коуберн сделал также вывод о том, что:
    1.
    У каждого проекта должна быть своя модель процесса разработки.
    2.
    У каждой модели – свое время.
    Для разработчиков это означает, что не существует единственного правильного процесса разработки. В каждом новом проекте процесс должен определяться каждый раз заново по «закону четырех П» (рис. 2).
    Рис. 2. Закон четырех П

    14
      1   2   3   4


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