Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекция 2. Элементы программной инженерии.

Slides:



Advertisements
Similar presentations
Выпускная квалификационная работа на тему: «Применение интернет-технологий как фактор повышения эффективности функционирования организации (на примере.
Advertisements

Астрометрические каталоги К.В.Куимов, ГАИШ МГУ. Определение астрометрического каталога Астрометрический каталог – понятие неопределённое. Например, это.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Проектирование с повторным использованием компонентов.
Поиск оптимального набора параметров оптимизаций компилятора Брусенцов Леонид Евгеньевич студент 4 курса ФИТ НГУ Руководители:Илья.
Процесс дублирования. Цели Проект профессиональных технических знаний Возможность опознать проблемы Возможность сделать правильные рекомендации.
Чибиняева Ольга 4 курс.  Сущность профессии финансового аналитика  Составляющие квалифицированного аналитика  Преимущества и недостатки профессии 
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
ЛОМОНОСОВ И МАТЕМАТИКА. Большое значение Ломоносов придавал математике, рекомендуя широко применять математические методы в других науках. Математику,
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
АВДАШЕВА СВЕТЛАНА КАФЕДРА ЭКОНОМИЧЕСКОГО АНАЛИЗА ОРГАНИЗАЦИЙ И РЫНКОВ 2011/2012 УЧЕБНЫЙ ГОД Политика поддержки конкуренции (по выбору для 2 курса магистратуры.
Рекламные технологии будущего уже здесь Как доказать соответствие Dentsu Way российскому рынку. Dentsu Group Russia Москва, Декабрь
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
Услуги КА «Personnel Group» Наши преимущества Сферы бизнеса Взаимодействие с Заказчиком Технологии поиска кандидатов Гарантии и сроки выполнения заказа.
Управление содержанием проекта Курс «Управление проектами» Раздел стандарта PMBoK №5 Лектор: Рылов Всеволод Юрьевич, консультант, директор, старший преподаватель.
Технологическая платформа БИОЭНЕРГЕТИКА ОФИЦИАЛЬНО УСТАНОВЛЕННАЯ ФОРМА ЧАСТНО- ГОСУДАРСТВЕННОГО ПАРТНЕРСТВА В ИННОВАЦИОННОЙ СФЕРЕ.
АВДАШЕВА СВЕТЛАНА КАФЕДРА ЭКОНОМИЧЕСКОГО АНАЛИЗА ОРГАНИЗАЦИЙ И РЫНКОВ 2011/2012 УЧЕБНЫЙ ГОД Теория отраслевых рынков (по выбору для 3 курса факультета.
© 2011 PM Expert Имя Фамилия. 2 © 2011 PM Expert Текст 1  Текст 2 Текст 3 Основные сведения о проекте Дайте краткую информацию о компании, для которой.
Параметризация устройств сетевого управления Казакова А.С. Научный руководитель: Венгерова Е.А. Рецензент: Ушаков К.С. Кафедра системного программирования.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 6. Управление проектами.
Блок 3. Семейства белков I. Множественное выравнивание Первый курс, весна 2008, А.Б.Рахманинова.
ВЛАДИМИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Факультет прикладной математики и физики.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Демидов А.В г. Операционные системы Лекция 3 Процессы.
Freelance: правила игры. КИРИЛЛ РЕЗНИЧЕНКО + СПЕЦИАЛИСТ В ОБЛАСТИ 3D ГРАФИКИ + КООРДИНАТОР ОБРАЗОВАТЕЛЬНОГО ЦЕНТРА КОМПАНИИ AUTODESK ПРИ ВГУ.
Михаил Налётов Активные продажи на сайте. Может ли ваш сайт работать еще эффективнее?
Работа выполнена в рамках проекта "Информационные технологии в управлении образованием" 1С: ХроноГраф 2.5 Последовательность создания в программе «1С:
ERAMIS “Network Europe – Russia – Asia of Masters in Informatics as a Second competence” (ERAMIS) «Магистратура по информатике как вторая компетенция для.
Программа построения институционального партнерства Тасис (IBPP) “УКРЕПЛЕНИЕ КУЛЬТУРЫ ПРАВ ЖЕНЩИН В КАЗАХСТАНЕ” В КАЗАХСТАНЕ” ИНТЕГРИРОВАННЫЙ ПРОЕКТ ПО.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
КАЧЕСТВО – ОСНОВНОЙ ЗАКОН NIHON SEIMITSU SOKKI CO., LTD. УВЕРЕННЫЙ РИТМ ЖИЗНИ!
 Нужно много различных протоколов связи  Каждый из них может реализовываться на разных платформах Современные сети Много устройств, компьютеров и сетей.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 4. Прохождение фазы выработки концепции в.
"The European Molecular Biology Open Software Suite"
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 3-4. Визуальное моделирование при анализе.
Учебный курс «Технологии программирования. Курс на базе Microsoft Solutions Framework (MSF)» Нижегородский государственный университет им. Н.И. Лобачевского.
Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы Intel  Учебно-исследовательский проект Обзор моделей жизненного цикла разработки программного.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 6. Оценка стоимости программного продукта.
ICAO Training Workshop Moscow, Применение EATMP Common Core Content в процессе разработки учебных курсов: опыт Латвии Учебный центр АНС, Латвия.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекция 1. Введение.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 6. Методология Microsoft Solutions Framework.
 «Развитие туризма в Северо-Западном регионе РФ»  Почему на Северо-западе России нужен проект в сфере туризма  Общие цели  Организация проекта и подход.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Решения Autodesk в нефтегазовой отрасли Наталья Тамеева Директор по работе с корпоративными заказчиками на территории СНГ.
Анализ и Проектирование качественных приложений Презентация по книге Крэга Лармана.
Разработка программного обеспечения (Software Engineering)
Характеристика направления «Менеджмент» (бакалавриат)
ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ НАВИГАЦИОННОГО ТИПА ДЛЯ ОБЕСПЕЧЕНИЯ ФУНКЦИОНИРОВАНИЯ ЦЕНТРОВ ТЕХНИЧЕСКОЙ ПОДДЕРЖКИ А. В. Беляков, Е. Б. Крейсманн Информационно-вычислительный.
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий.
Предметно-ориентированное моделирование приложений для платформы Android Никонова Ольга СПбГУ Научный руководитель Брыксин Т.А.
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 7. Методология Microsoft Solutions Framework.
Формализованы ли цели? Устраивает ли вас команда? Каковы этапы процесса? Изменение ИТ структуры? Нужны подрядчики? 1.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
ПРЕДЛОЖЕНИЯ «АССОЦИАЦИИ ИНЖЕНЕРНЫЕ ИЗЫКАНИЯ В СТРОИТЕЛЬСТВЕ» (АИИС) ПО РЕФОРМИРОВАНИЮ СИСТЕМЫ «САМОРЕГУЛИРОВАНИЯ» В СТРОИТЕЛЬСТВЕ.
Место человека в интеллектуальной техносреде В.В. Бушуев, д.т.н., проф., Генеральный директор Института энергетической стратегии ЦМТ, г.
1 Реформы образования: уровни и индивидуальные траектории обучения М.Лебедева Москва, УМО, МГИМО (У) февраля 2008 г.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 5. Методология Microsoft Solutions Framework.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: разработка требований.
___________________________ Грязнов В.Б. Директор по Информационным технологиям ОАО «Мосэнерго»
Санкт-Петербургский Государственный Университет Экономики и Финансов
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Технологии программирования. Что? Как? Когда? Зачем? Для кого? Постановка проблемы.
Motorola General Business Use, CiDDT-Overview.ppt, Rev.1.0, 23-Jun-2008 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office.
1 Санкт-Петербургский государственный политехнический университет Факультет инноватики Кафедра "Теоретических основ инноватики“ Курс Многокитериальный.
SDL TRADOS 2006 Сокращение затрат и удвоение производительности: лингвистические технологии на основе баз данных от ведущей компании.
Управление виртуальной инфраструктурой Hyper-V и Virtual Server
Дизайн корпоративных сайтов SharePoint 2010
Presentation transcript:

Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекция 2. Элементы программной инженерии

Содержание Вспоминая предыдущую лекцию Вместо введения Программная инженерия, основные понятия Процесс создания ПО Что дальше? Литература

Содержание Вспоминая предыдущую лекцию Вместо введения. Программная инженерия, основные понятия Процесс создания ПО Что дальше? Литература

Вспоминая предыдущую лекцию Немного терминологии –Программирование –IT-проекты –Программы и программные продукты Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО

Содержание Вспоминая предыдущую лекцию Вместо введения Программная инженерия, основные понятия Процесс создания ПО Что дальше? Литература

Вместо введения... Данная лекция основана на материалах Иана Соммервилля (Ian Sommerville). Источник (англ.): Ian Sommerville. Software Engineering. 6th Edition. Ian Sommerville. Software Engineering. 7th Edition. Источник на русском языке: Иан Соммервиль. Инженерия программного обеспечения. 6 изд, и.д. "Вильямс", — 624 с.

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

Содержание Вспоминая предыдущую лекцию Вместо введения Программная инженерия, основные понятия –Инженеры и программные инженеры –Программная инженерия как инженерная дисциплина –Область действия программной инженерии –Цели программных инженеров –Программные инженеры и научная среда Процесс создания ПО Что дальше? Литература

Инженеры... Программная инженерия. Кто такие инженеры? Версии зала...

Инженеры... Инженер * (франц. ingénieur, от лат. ingenium – способность, изобретательность), Специалист с высшим техническим образованием. Первоначально – название лиц, управлявших военными машинами. * Источник: Большая Советская Энциклопедия.

Инженеры... Понятие гражданский инженер появилось в 16 в. в Голландии применительно к строителям мостов и дорог, затем в Англии и др. странах. Первые учебные заведения для подготовки инженеров были созданы в 17 в. в Дании, в 18 в. – в Великобритании, Франции, Германии, Австрии и др.

Инженеры В России первая инженерная школа основана Петром I в 1712 в Москве. В Петербурге были открыты Горное училище, приравненное к академиям (1773), Институт инженеров путей сообщения (1809), Училище гражданских инженеров (1832, с Институт гражданских инженеров), Инженерная академия (1855). С 19 в. за рубежом стали различать инженеров- практиков, или профессиональных инженеров (по существу специалистов, имевших квалификацию техника), и дипломированных инженеров, получивших высшее техническое образование (Civil Engineer).

Программные инженеры Кто такие инженеры? Инженер – дипломированный специалист, имеющий высшее техническое образование. Кто такие программные инженеры? Программный инженер – инженер в области разработки программного обеспечения. Что такое программная инженерия (инженерия программного обеспечения, software engineering)?

Программная инженерия как инженерная дисциплина Программная инженерия – инженерная дисциплина, связанная с теорией, методами и средствами профессиональной разработки ПО. Говорили ранее: –ПО = программы + вся сопутствующая документация. –Высокая стоимость разработки ПО (выше, чем у аппаратуры). –Стоимость разработки растет. Программная инженерия способствует решению проблемы роста стоимости разработки ПО. Программная инженерия имеет дело со всеми аспектами создания ПО.

Область действия программной инженерии... В западной литературе часто используются термины: software engineering, system engineering и computer science. В чем разница? Computer science имеет дело с теорией и основами разработки ПО. System engineering связано с вопросами разработки систем с участием компьютеров (архитектура, дизайн, интеграция, ПО...). Software engineering – часть System engineering, имеющая дело с ПО.

Область действия программной инженерии Итак, computer science предоставляет теоретический базис. На практике его недостаточно. Открытые проблемы: –Поиск финансирования. –Работа с заказчиком. –Подбор персонала. –Этические вопросы. Микроклимат в коллективе. Команда. –Обеспечение качества программного продукта. –... Всем этим занимается программная инженерия.

Цели программных инженеров... Цели программных инженеров: –Создать качественный продукт. –Уложиться в бюджет. –Уложиться в сроки. Разберем эти вопросы подробнее.

Цели программных инженеров. Качественный программный продукт... Качественный программный продукт: –Должен представлять требуемую функциональность. –Быть удобным в сопровождении. –Быть надежным. –Быть эффективным. –Быть удобным в использовании.

Цели программных инженеров. Качественный программный продукт ПО должно быть качественным. Удобство в сопровождении: –ПО должно допускать развитие в связи с изменением потребностей пользователей. Надежность: –Возможные неполадки в работе не должны нанести существенный, тем более невосполнимый ущерб. Эффективность: –ПО должно эффективно использовать имеющиеся ресурсы. Удобство в использовании: –ПО должно приниматься пользователями «на ура», работа должна быть удобной и естественной.

Цели программных инженеров. Бюджет Создание ПО должно укладываться в бюджет. Типовое распределение средств: –60% – разработка. –40% – тестирование. –Развитие – зачастую больше, чем создание. Детали зависят от специфики предметной области, требований к ПО, используемых подходов к организации разработки.

Цели программных инженеров. Сроки Создание ПО должно укладываться в сроки. Необходимо грамотное планирование. Анализ возможных рисков и способы реагирования. Борьба за четкие границы проекта. Мотивирование сотрудников.

Программные инженеры и научная среда Взаимодействие с научной средой – один из способов повышения эффективности деятельности: –Новые технологии. –Новые методы, алгоритмы. –Анализ новых перспективных разработок. –Исследовательская работа в смежных областях. Помощь ученых: –Там где в принципе не решить задачу своими силами. –Там, где есть специалисты, но нет времени и ресурсов для исследований. Используется современными компаниями: Intel, Microsoft, IBM…

Резюме Мы узнали значение и смысл следующих понятий: Инженер. Программный инженер и программная инженерия. Цель программной инженерии. Качество, сроки, бюджет. Взаимодействие с научной средой.

Содержание Вспоминая предыдущую лекцию Вместо введения Программная инженерия, основные понятия Процесс создания ПО Что дальше? Литература

Процесс создания ПО Процесс создания ПО – совокупность мероприятий, целью которых является создание или модернизация ПО. Выделяют 4 основных мероприятия (стадии): –Спецификация: формулирование спецификаций определяет основные требования к ПО (что должна делать система). –Разработка: создание ПО в соответствии со спецификациями. –Аттестация: проверка ПО на соответствие потребностям заказчика. –Модернизация: развитие ПО в соответствии с изменившимися потребностями заказчика.

Стадии процесса создания ПО Спецификация Разработка Аттестация Модернизация

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

Процесс создания ПО... Каким бы ни был процесс, перечисленные 4 стадии как правило в нем присутствуют. Они могут иначе называться, дробиться, но от них никуда не уйти. Существуют хорошо проработанные процессы: –Microsoft Solutions Framework (MSF) –Rational Unified Process (RUP) Эти процессы (методологии) могут иметь редакции для малых компаний и проектов, средних, больших.

Процесс создания ПО Итак, некий «каркас» процесса: –Спецификация –Разработка –Аттестация –Модернизация От «каркаса» можно пойти вглубь – существенно проработанные процессы (MSF, RUP…) Сам «каркас» можно приводить в жизнь по- разному. Существуют общие модели процесса, которые определяют, как работать по «каркасу» на практике.

Модели процесса Классические модели процесса разработки ПО: –Каскадная модель (Waterfall model) фазы выполняются по порядку –Эволюционная модель (Evolutionary development) фазы выполняются по порядку, процесс повторяется

Каскадная модель... Каскадная модель: Проектирование Кодирование Тестирование модулей Интеграция тестирование Эксплуатация Сопровождение Определение требований

Каскадная модель Каскадная модель: –Фиксированный набор стадий –Каждая стадия -> законченный результат –Стадия начинается, когда закончилась предыдущая. Недостатки: негибкость –фаза д.б. закончена, прежде чем приступить к следующей –Набор фаз фиксирован –Тяжело реагировать на изменения требований Использование: там, где требования хорошо понятны и стабильны.

Эволюционная модель Эволюционная модель: –Стадии повторяются неоднократно. Сначала для плохо сформулированных требований выполняется весь цикл работ по созданию работающего прототипа. Потом уточняются требования и все повторяется... На выходе – продукт, отвечающий потребностям пользователей. –Недостатки: Система часто плохо структурирована Проект «не прозрачен» Требуются средства для быстрой разработки Подходит для малых и средних проектов

Итерационный подход Часто подходы, перечисленные ранее, используется в совокупности. Требования всегда меняются в ходе разработки. К каждой из предыдущих моделей можно применить итерации. Следовательно, важна возможность выполнения итераций, результатом которых является прототип продукта с частичной функциональностью. Это достигается в итерационных моделях. –Модель пошаговой разработки –Спиральная модель разработки

Модель пошаговой разработки Модель пошаговой разработки (Миллс): Шаги. Каждый шаг – работающий прототип. Наиболее важные для заказчика компоненты – в начале. Требования фиксированы во время шага. Для шага можно применять каскадную или эволюционную модель. Одно из ответвлений – Экстремальное программирование. План требований Детализация требований Архитектура системы Шаг разработкиШаг аттестацииШаг сборки Аттестация системы СИСТЕМА Система не готова

Спиральная модель Спиральная модель (Боэм): Вместо действий с обратной связью – спираль. Каждый виток спирали соответствует 1 итерации. Нет заранее фиксированных фаз. В зависимости от потребностей. Каждый виток разбит на 4 сектора: –Определение целей –Оценка и разрешение рисков –Разработка и тестирование –Планирование Главное отличие: акцент на анализ и преодоление рисков. На каждом витке могут применяться разные модели процесса разработки ПО.

Что дальше? Следующая тема: Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML). Следующая тема: Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML).

Литература к лекции 1.И. Соммервиль. Инженерия программного обеспечения, 6 изд. – И.д. "Вильямс", Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. – Бином, N. Wirth. Program Development by Stepwise Refinement // Communications of the ACM vol.26(1).– 1971, O. Dahl, E. Dijkstra, C.A.R. Hoare. Structured Programming.–London, England: Academic Press, Р. Лингер, Х. Миллс, Б. Уитт. Теория и практика структурного программирования. – М.: Мир, Э. Салливан. Время – деньги. – М.:Microsoft Press, Русская редакция, 2002.