1_Serbin_TP.ppt
- Количество слайдов: 38
В. В. Сербин Введение в предмет. Организационный аспект. Дисциплина «Технологии программировании» 1 лекция Введение
Характеристики дисциплины Форма обучения Всего Курс Семестр Лекции Лабораторные занятия СРС Всего аудиторных часов Трудоемкость Экзамен очная 3 кредита 1 2 32 час. 71 час. 64 135 часов 2 семестр
Лабораторные работы: 1. 2. 3. 4. 5. Разработка технического задания (ТЗ) Решение типовых задач Технология разработки системы автоматизированного проектирования (+ тестирование и отладка ПП) Технология создания электронных информационно-обучающих программ Технико-экономическое обоснование ПП (на основе лаб. 3 или лаб. 4)
Сроки сдачи Срок сдачи 1 лаб. работы – 4 неделя Аттестация – 5 неделя Срок сдачи 2 лаб. работы – 7 неделя Срок сдачи 3 лаб. работы – 11 неделя Аттестация – 5 неделя Срок сдачи 4 лаб. работы – 13 неделя Срок сдачи 5 лаб. работы – 15 неделя Курсовой проект – до 16 неделя Срок сдачи СРС - 16 неделя
СПИСОК ЛИТЕРАТУРЫ: Сербин В. В. Технология конструирования программных продуктов на основе универсальных компонент в Delphi 7. Алматы: РУМЦДО, 2007. Кнут Д. Искусство программирования для ЭВМ. Т. 1: Основные алгоритмы. М. : Мир, 1976. Кнут Д. Искусство программирования для ЭВМ. Т. З: Сортировка и поиск. М. : Мир, 1978. Кормен Т. , Лейзерсон Ч. , Ривест Р. Алгоритмы: построение и анализ/Пер. с англ. Под ред. А. Шеня. -М: МЦНМО, 2002. Вирт Н. Алгоритмы и структуры данных: Пер. с анг. -М: Мир, 1989. Керниган Б. , Плоджер Ф. Элементы стиля программирования: Пер. с англ. - М. : Радио и связь, 1984. Майерс Г. Искусство тестирования программ. М. : Финансы и статистика, 1982 Мак. Грегор Дж. , Сайкс Д. Тестирование объектноориентированного программного обеспечения. Киев, 2002.
В. В. Сербин Надежное программное средство, как продукт технологии программирования Дисциплина «Технологии программировании» 1 лекция
Программирование. . . На протяжении всего времени обучения мы изучаем программирование. Что такое программирование? Версии зала. . .
Программирование (Computer science) – молодая, активно развивающаяся область. Вопрос о том, что это такое, давно беспокоит программистское сообщество. Классические версии: искусство; наука. Современные реалии: программирование это бизнес (IT-проекты).
IT-проекты Будем понимать под IT-проектами проекты в области информационных технологий. Будем далее рассматривать IT-проекты, целью которых является программного обеспечения. разработка
Вопросы 1. Что такое программное обеспечение (ПО)? 2. Чем ПО отличается от обычной программы? 3. Вчера мы с другом написали «Калькулятор» . Определенно, это программа. Является ли она ПО? Версии зала. . .
Программы и Программное обеспечение (Software) – набор компьютерных программ, процедур и связанной с ними документации и данных (ISO/IEC 12207). Программное обеспечение Программа
Программа • Программа составляется на удобном для программиста формализованном языке программирования. • С этого языка она автоматически переводится на язык соответствующего компьютера с помощью другой программы – транслятора. • Программы разрабатывается в расчете на то, чтобы ими могли пользоваться люди, не участвующие в их разработке – пользователи.
Программное средство Для освоения программы пользователем помимо ее текста требуется определенная дополнительная документация. Программа или логически связанная совокупность программ, позволяющая создавать программы и снабженная программной документацией называется программным средством (ПС). В ПС программы и документация взаимно увязаны, образуют некоторую целостность.
ПО (Software) и программный продукт Итак, ПО = программа + документация + [. . . ]. Вместо ПО часто говорят «программный продукт» . Программный продукт: одно из главных свойств – продаваемость. Продаваемость – залог успеха бизнеса по разработке ПО.
Программная среда и программа Информационная среда - совокупность носителей данных, используемых при обработке. Состояние - набор данных, содержащихся в какой-либо момент в информационной среде. Процесс - последовательность сменяющих друга состояний. Описать процесс – определить последовательность состояний заданной информационной среды. Программа – это размещённые в оперативной памяти компьютера данные и машинный код, исполняемый процессором для достижения некоторой цели. Программа должна быть понятной.
Продукт технологии программирования Продуктом технологии программирования является ПС, содержащие программы, выполняющие требуемые функции. Здесь под «программой» часто понимают правильную программу, т. е. программу, не содержащую ошибок. Согласно Майерсу [1. 2, стр. 10 -13] будем считать, что в программе имеется ошибка, если она не выполняет того, что разумно ожидать от нее пользователю.
Бизнес и IT-проекты. . . Сейчас программирование это не только наука и искусство, но и бизнес. Для того, чтобы этот бизнес был успешным, необходимо выполнение многих условий. Условия? Версии зала. . .
Бизнес и IT-проекты. . . Необходимые условия успеха программистской компании: выпуск продукта на рынок надлежащего качества; вовремя; интересного потенциальным пользователям. расходы должны соответствовать изначальному бюджету.
Что такое технология? Технология – совокупность производственных процессов в определенной отрасли производства, а также научное описание способов производства*.
Технологии программирования. . . Создание программных продуктов – технологический процесс. При этом применяются различные технологии. Эти технологии относятся не только к кодированию, но и к анализу, проектированию, управлению проектом, разработке документации. . .
Технология программирования Совокупность производственных процессов, приводящую к созданию требуемого программного средства (ПС), описание этой совокупности процессов, а также технологию разработки программных средств, включая в нее все процессы, начиная с момента зарождения идеи этого средства, и, в частности, связанные с созданием необходимой программной документации. Каждый процесс этой совокупности базируется на использовании каких-либо методов и средств.
Технологии программирования. . . Технология программирования – совокупность методов, приемов и средств для сокращения стоимости и повышения качества разработки программных систем.
Технологии программирования. . . Над созданием программного продукта работают представители разных специальностей: Аналитики; Управленцы (менеджеры); Тестеры; Кодировщики (программисты); Технические писатели; Системные администраторы; Специалисты по повторному использованию; Дизайнеры; Специалисты по эргономике; . . .
Технологии программирования В проектировании и программировании активно применяются следующие технологии: Структурное программирование. Модульное программирование. Объектно-ориентированное программирование. Компонентное программирование.
Структурное программирование… Э. Дэйкстра (60 -е годы): Для любой простой программы можно построить функционально эквивалентную ей структурную программу, т. е. программу, сформированную на основе фиксированного базисного множества, включающего: структуру последовательного действия, структуру выбора одного из двух действий структуру цикла, то есть многократного повторения некоторого действия с проверкой условия остановки повторения.
Структурное программирование… Простая программа – ровно один вход и один выход. Базисные конструкции:
Структурное программирование Стандартизация и линейность программы – снижение сложности. Некоторые соображения: Алгоритм должен иметь 1 вход и 1 выход. Никаких goto. Нет зависимости от языка программирования. Ясен набор операторов, который необходим в языках программирования.
Модульное программирование. . . Основная идея: разбиваем сложную задачу на подзадачи, каждую из них при необходимости разбиваем снова и т. д. Получаем простые задачи, их решаем, объединяем.
Модульное программирование Структурное программирование – универсальный базис алгоритмических конструкций. Модульное программирование – специфичный для задачи базис из модулей. Более высокий уровень абстракции. Настройка на конкретную задачу. Возможности повторного использования. Возможности коллективной разработки – разделение труда.
Объектно-ориентированное программирование. . . Дальнейшая борьба со сложностью. Технология работает с этапа анализа. Анализ – Проектирование – Программирование. В основе – объектная модель и объектная декомпозиция.
Компонентное программирование. . . Компонентное программирование – развитие объектно-ориентированной идеологии. Введен следующий уровень абстракции – классы объединяются в компоненты. Основной принцип компонентного программирования: сборка приложения из готовых компонент, в общем случае написанных на разных языках.
Компонентное программирование Компонент: программный код в виде самостоятельного модуля м. б. использован в неизменном виде может допускать настройку обладает поведением (функциональностью). Компонент изолирован от внешнего мира своим интерфейсом – набором методов (их сигнатурами). Компонентная программа – набор независимых компонент, связанных друг с другом посредством интерфейсов.
Надежность программного средства Альтернативой правильного ПС является надежное ПС. Надежность (reliability) ПС это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью. Таким образом, надежное ПС не исключает наличия в нем ошибок важно лишь, чтобы эти ошибки практическом применении этого ПС в заданных условиях проявлялись достаточно редко.
Технология программирования и информатизация общества 21 век - современных компьютерных и информационных технологий 21 век - век формирования информационного общества Потребность в информации Доступность информации Деградация общества Все это ставит перед технологией программирования новые и достаточно трудные проблемы.
«Мы будем рассматривать технологию программирования как технологию разработки надежных программных средств (ПС). Это означает, что мы будем рассматривать все процессы разработки ПС, начиная с момента возникновения замысла ПС. Нас будут интересовать не только вопросы построения программных конструкций, но и вопросы описания функций и принимаемых решений с точки зрения их человеческого (неформального) восприятия; методы и формы организации ПС, семантические, психологические, экономические аспекты. » Сербин В. В. , Жунусов З. А.
Результат ТП - курсовой проект Курсовой проект должен показать умение студента формулировать постановку рассматриваемой задачи; провести анализ содержательной постановки и сделать формальную (модельную) постановку задачи; рассмотреть модели данных и их представления соответствующими стандартными структурами данных; обосновать алгоритм обработки и провести конструирование программы в соответствии с используемой технологией; провести отладку и тестирование и обосновать полученные результаты.
Структура курсового проекта Разбиваемся на команды по 2 -3 человека. Выбираем себе задачу из списка. Работаем с заказчиком (преподаватель ). Определяемся с ролями разработчиков. Разрабатываем техническое задание. Разрабатываем программный продукт на основе ТЗ. Готовим документацию к ПО Тестируем и отлаживаем ПО Проводим технико-экономическое обоснование ПО Готовим отчет курсового проекта Готовим презентационный файл Защищаем проект
Спасибо за внимание!
1_Serbin_TP.ppt