Содержание
-
Технологии программирования. Курс на базе Microsoft Solutions Framework
Лекция 1.Введение
-
«Избегайте тех, кто старается подорвать вашу веру в себя. Эта черта свойственна мелким людям. Великий человек, наоборот, внушает вам чувство, что и вы сможете стать великим» Марк Твен
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
Немного терминологии Программирование IT-проекты Программы и программные продукты Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
Программирование...
На протяжении всего времени обучения мы изучаем программирование. Что такое программирование? Версии зала...
-
Программирование
Программирование (Computer science) – молодая, активно развивающаяся область. Вопрос о том, что это такое, давно беспокоит программистское сообщество. Классические версии: искусство; наука. Современные реалии: программирование это бизнес (IT-проекты).
-
IT-проекты
Будем понимать под IT-проектами проекты в области информационных технологий. Будем далее рассматривать IT-проекты, целью которых является разработка программного обеспечения.
-
Вопросы
Что такое программное обеспечение (ПО)? Чем ПО отличается от обычной программы? Вчера мы с другом написали «Калькулятор». Определенно, это программа. Является ли она ПО? Версии зала...
-
Программы и Программное обеспечение
Программное обеспечение (Software) – набор компьютерных программ, процедур и связанной с ними документации и данных (ISO/IEC 12207). Программное обеспечение Программа
-
ПО (Software) и программный продукт
Итак, ПО = программа + документация + [...]. Вместо ПО часто говорят «программный продукт». Программный продукт: одно из главных свойств – продаваемость. Продаваемость – залог успеха бизнеса по разработке ПО.
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
Бизнес и IT-проекты...
Сейчас программирование это не только наука и искусство, но и бизнес. Для того, чтобы этот бизнес был успешным, необходимо выполнение многих условий. Версии зала... Условия?
-
Необходимые условия успехапрограммистской компании: выпуск продукта на рынок надлежащего качества; вовремя; интересного потенциальным пользователям. расходы должны соответствовать изначальному бюджету.
-
Бизнес и IT-проекты
Многие проекты: Цель: Результат: Функциональность Время Бюджет '' $
-
Немного статистики. IT-проекты...
Проваленные: закончились неудачей – цель вообще не была достигнута. Испытавшие большие проблемы: закончились созданием продукта, но превысили бюджет или (и) не уложились во время или (и) имеют лишь частичную функциональность. Успешные: закончились созданием продукта, уложились в бюджет и время. Вся планируемая функциональность реализована.
-
Немного статистики.IT-проекты
0% 100% 31% 53% 16% 1994 40% 33% 27% 28% 46% 26% 23% 49% 28% * Источник: The Standish Group International, Extreme Chaos. Данные взяты с http://www.softwaremag.com/archive/2001feb/CollaborativeMgt.html, http://www-128.ibm.com/developerworks/rational/library/feb06/marasco/ 1995 1998 2000 Провалены Испытали большие проблемы Успешные 28% 2001 31% 2003
-
Еще немного статистики…*
2004г. 3 700 000 000$ ушло на разработку программных приложений (без учета консалтинга, обновления методологии ...) * Источник: The Standish Group International, Extreme Chaos. Данные взяты с http://www.softwaremag.com/archive/2001feb/CollaborativeMgt.html, http://www-128.ibm.com/developerworks/rational/library/feb06/marasco/
-
Еще немного статистики*
* Источник: The Standish Group International Данные взяты с http://www.infoworld.com/infoworld/img/33FEmyth2_ch2.gif
-
Об отрасли разработки ПО в России
На конец 90-х годов: Хорошие программисты. Грамотные аналитики. Недостаток хороших управленцев. Проблемы с документированием и локализацией. Проблемы с рекламой и продвижением.
-
IT-рынок и отрасль разработки ПО в России*
Современные реалии (2005-2006гг.) Объем экспорта ПО из России в 2005г. превысил 1млрд.$ (автомобили 380млн.$, атомная энергетика – 850млн.$). * Источник: Светлана Шляхтина, Компьютер Пресс, 27 января 2006г. Данные взяты с http://www.aplana.ru/news/fullpublication.asp?id=139&page=1&year=2006
-
Современные реалии (2005-2006г.г.) IT-рынок в России 2004 – 9,2млрд.$ 2005 – рост 22,1% (в мире ~6%)! Мировой IT рынок (2005г.) – 900млрд.$ * Источник: Светлана Шляхтина, Компьютер Пресс, 27 января 2006г. Данные взяты с http://www.aplana.ru/news/fullpublication.asp?id=139&page=1&year=2006
-
Современные реалии (2005-2006г.г.) Рынок ПО в России 2005 – 1,4млрд.$ (1/8 от всего IT). Рост – 40-50% в год. * Источник: Светлана Шляхтина, Компьютер Пресс, 27 января 2006г. Данные взяты с http://www.aplana.ru/news/fullpublication.asp?id=139&page=1&year=2006
-
Тенденции
Быстрый рост объемов IT-рынка, рынка ПО. Укрепление позиций российских компаний. По-прежнему малая доля в мировых объемах. В чем нуждается отрасль? В грамотных специалистах, способных повысить успешность проектов.
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
О предмете
Задачи нашего предмета: Изучить причины неудач IT-проектов. Выявить способы устранения этих причин. Научиться применять эти способы на практике.
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
Почему проекты не успешны?
Специалисты выделяют следующие причины: Нереалистичные временные рамки. Недостаток количества исполнителей. Размытые границы проекта. Недостаток средств. Нехватка квалифицированных кадров.
-
Кто виноват?
Все 5 пунктов относятся к компетенции управленцев различного уровня. Проектами в области разработки ПО очень сложно эффективно управлять. Почему? Версии зала...
-
Откуда берется сложность управления?
Человеческий фактор. Традиционные трудности управления коллективом. Новая молодая область. Не хватает квалифицированных кадров, методов, технологий, опыта. Сложность задач. Рост возможностей приводит к росту сложности решаемых задач и наоборот. Трудности в работе с заказчиками и будущими пользователями. Заказчики не знают, что они хотят. Пользователи плохо владеют ПК и не понимают, как он работает и что от него ждать. Все говорят на разных языках. ...
-
Как бороться со сложностью?
Как бороться со сложностью задач? (1) Как бороться со сложностью управления? (2) Ответ: разрабатывать и внедрять специальные технологии. – технологии программирования (изучали в курсах Основы программирования, ООП). – методологии MSF, RUP, XP, … (рассмотрим в этом курсе, но чуть позже).
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структурное программирование Модульное программирование Объектно-ориентированное программирование Компонентное программирование Структура учебного плана Литература
-
Технологии программирования...
Начнем разговор того, что нам должно быть известно, с технологий программирования. Что такое технология? Технология – совокупность производственных процессов в определенной отрасли производства, а также научное описание способов производства*. * Источник: С.И. Ожегов. Словарь русского языка. - М.: Советская энциклопедия, 1975.
-
Создание программных продуктов – технологический процесс. При этом применяются различные технологии. Эти технологии относятся не только к кодированию, но и к анализу, проектированию, управлению проектом, разработке документации...
-
Технология программирования – совокупность методов, приемов и средств для сокращения стоимости и повышения качества разработки программных систем.
-
Над созданием программного продукта работают представители разных специальностей: Аналитики; Управленцы (менеджеры); Тестеры; Кодировщики (программисты); Технические писатели; Системные администраторы; Специалисты по повторному использованию; Дизайнеры; Специалисты по эргономике; ...
-
Технологии программирования
В проектировании и программировании активно применяются следующие технологии: Структурное программирование. Модульное программирование. Объектно-ориентированное программирование. Компонентное программирование.
-
Структурное программирование…
Э. Дэйкстра (60-е годы): Для любой простой программы можно построить функционально эквивалентную ей структурную программу, т.е. программу, сформированную на основе фиксированного базисного множества, включающего: структуру последовательного действия, структуру выбора одного из двух действий структуру цикла, то есть многократного повторения некоторого действия с проверкой условия остановки повторения.
-
Простая программа – ровно один вход и один выход. Базисные конструкции:
-
Структурное программирование
Стандартизация и линейность программы – снижение сложности. Некоторые соображения: Алгоритм должен иметь 1 вход и 1 выход. Никаких goto. Нет зависимости от языка программирования. Ясен набор операторов, который необходим в языках программирования.
-
Модульное программирование...
Основная идея: разбиваем сложную задачу на подзадачи, каждую из них при необходимости разбиваем снова и т.д. Получаем простые задачи, их решаем, объединяем.
-
Модульное программирование
Структурное программирование – универсальный базис алгоритмических конструкций. Модульное программирование – специфичный для задачи базис из модулей. Более высокий уровень абстракции. Настройка на конкретную задачу. Возможности повторного использования. Возможности коллективной разработки – разделение труда.
-
Объектно-ориентированное программирование...
Дальнейшая борьба со сложностью. Технология работает с этапа анализа. Анализ – Проектирование – Программирование. В основе – объектная модель и объектная декомпозиция.
-
Объектно-ориентированное программирование
Основные принципы объектной модели: абстракция; инкапсуляция; иерархия (наследование, агрегация); полиморфизм; модульность. Объектная декомпозиция (в отличие от алгоритмической): элементы проекта – классы и объекты (а не алгоритмы). И только потом данные и алгоритмы.
-
Компонентное программирование...
Компонентное программирование – развитие объектно-ориентированной идеологии. Введен следующий уровень абстракции – классы объединяются в компоненты. Основной принцип компонентного программирования: сборка приложения из готовых компонент, в общем случае написанных на разных языках.
-
Компонентное программирование
Компонент: программный код в виде самостоятельного модуля м.б. использован в неизменном виде может допускать настройку обладает поведением (функциональностью). Компонент изолирован от внешнего мира своим интерфейсом – набором методов (их сигнатурами). Компонентная программа – набор независимых компонент, связанных друг с другом посредством интерфейсов.
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
Некоторые формальности
Лекции – 16 часов (1 час в неделю). Практика (ауд.) – 16 часов (1 час в неделю). Терминал-класс – 32 часа (2 часа в неделю).
-
Структура курса - лекции
Вводная лекция (заканчивается ). Введение в программную инженерию. Знакомимся с основными понятиями. Изучаем основные проблемы и подходы к их решению. Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML). Вспоминаем идеи ООП. Знакомимся с анализом и проектированием. Осваиваем визуальное моделирование. Изучаем UML. Методология создания программных решений Microsoft Solutions Framework (MSF). Знакомимся с тем, как происходит процесс создания и выпуска на рынок программного продукта.
-
Структура курса - практика
Разбиваемся на команды по 4-6 человек. Выбираем себе задачу из списка. Работаем с заказчиком (преподаватель ). Определяемся с ролями разработчиков. Разрабатываем и внедряем программный продукт.
-
Содержание
Немного терминологии Бизнес и IT-проекты. Рынок ПО в России и в мире. Немного статистики О предмете Причины неудачи IT-проектов Технологии программирования – путь к успеху в разработке ПО Структура учебного плана Литература
-
Использованные Интернет-источники
http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish http://www.umsl.edu/~rmfv3g/Index.htm http://www-128.ibm.com/developerworks/rational/library/feb06/marasco/ http://www.computerworld.com/managementtopics/management/project/story/0,10801,84266,00.html http://www.aplana.ru/news/fullpublication.asp?id=139&page=1&year=0
-
Литература к лекции
И. Соммервиль. Инженерия программного обеспечения, 6 изд. – И.д. "Вильямс", 2002. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второеиздание. – Бином, 1998. N. Wirth. Program Development by Stepwise Refinement // Communications of the ACM vol.26(1).– 1971, 1983. O. Dahl, E. Dijkstra, C.A.R. Hoare. Structured Programming.–London, England: Academic Press, 1972. Р. Лингер, Х. Миллс, Б. Уитт. Теория и практика структурного программирования. – М.: Мир, 1982. Э. Салливан. Время – деньги. – М.:Microsoft Press, Русская редакция, 2002.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.