- •Эзотерические языки
- •Программа «Hello, world»:
- •Программа «Hello, world»:
- •Введение в функциональное программирование
- •Развитие функциональных языков
- •Функционально-аппликативное программирование.
- •Функции высших порядков
- •Сортировка:
- •Логическое программирование
- •Основы логических исчислений
- •Рекурсивные правила
- •Логические программы
- •Бинарные (двоичные) деревья
- •Примеры программ:
- •Работа с символьными выражениями
- •Программа, распознающая многочлены от переменной х
- •Дифференцирование
- •Истинность булевских формул
- •Семантика логических программ
- •Сравнение с другими языками программирования
- •Недетерминированное программирование
- •Задача о ферзях
- •Визуальные языки программирования. Графическое программирование.
- •Псевдографика
- •Диаграмма «сущность-связь»
- •Языки потоков данных
- •Жизненный цикл по
- •Заказное по
- •Оценка реализуемости
- •Анализ и постановка задачи
Жизненный цикл по
Oracle, IBM, Microsoft– крупнейшие IT – компании
Три крупнейшие IT-компании США на бирже стоят дороже, чем авиастроение,
автомобилестроение, судостроение.
IT- компании
* только ПО
* ПО, аппаратура
Программы нужны человеку для решения его задач, удовлетворения его потребностей.
ПО
1. Заказное
2. Тиражное (заказчика может и не быть, нужны средства)
Широко распространённые платформы
- Java (но не для систем реального врем
- QNX
- RTOS
Платформы
- Платные (техническая поддержка
- Бесплатные
Рассмотрим жизненный цикл программного обеспечения.
В ролях:
- Заказчик
- Сотрудник маркетинга
- Системный аналитик
- Алгоритмист
- Математик
- Специалист по GUI
- Технический архитектор
- Специалист по базам данных
- Программисты
- Специалисты по тестированию
- Руководитель проекта
- Системный администратор
- Технический писатель
Заказное по
Заказчик → Человек с потребностью
Умеет программировать Не умеет программировать
Сотрудники маркетинга, отдела продаж IT – компании
Бизнес – подразделение (70% затрат на маркетинг).
Оценка реализуемости
Системный аналитик.
Предварительный договор на предпроектное обследование.
Нужно за год – программа управления вечным двигателем.
Вывод: сколько бы не заплатили, законы физики никто не может отменить.
Если проект можно реализовать, нужно:
Время
Люди
Средства
Анализ и постановка задачи
Системный аналитик ↔ Заказчик алгоритмист математик
Собеседование (не все задачи тривиальны)
Таблицы графики графические
нотации
ТЗ
мальность
«ЧТО?» требуется сделать заказчик понимает по-совему, а IT–специалисты – по-своему.
Системный аналитик должен:
Сформулировать потребности заказчика
Понимать реализуемость
Уметь разговаривать с людьми (психология)
Проектирование
Технический архитектор
- Техпроект «КАК?»
Software
Architecture
Document
Специалист по проектированию баз данных
- Платформа (язык программирования)
- Библиотеки
- Возмодность использовать что-то готовое
Специалист по GUI
- Что-то, что потом можно преподать
- Структуры модулей
Программирование и АО (автономная отладка Unit Testing)
Программисты (оптимисты)
Что есть?
Простейшие модули
Алгоритм
Интерфейся
Что нужно?
Написать программу, причем модули должны работать так, как описано в спецификации
Технический писатель
Документация
- Для программистов
- Для пользователей (без высшего специального образования)
- Для системных администраторов
Значит, нужно понимать всю систему
Редкий и ценный специалист
Тестирование (испытание, если структура сложна)
Специалисты по тестированию (пессимисты, педанты)
QA – Quality Assurance
Интеграционное тестирование (совеместная отладка)
Test driving development (вместе со спецификациями написан план тестирования и тестер).
Внедрение
- Установка
- Настройка
- Обучение
Системный администратор
ПО + описание
На всех этапах:
- Руководитель проекта
- Менеджер
Сопровождение и доработка ПС
50-70% затрат
Акт сдачи – приемки
Приемо – сдаточные испытания (представители компании заказчика)
На всех этапах возможны шаги назад!
- 1500 компьютуров в 5 филиалах в 4 городах, на половине ПО не работает
- Заказчик хочет старую программу на новой платформе
- Платформа выбрана неправильно изначально
- Изменение в проекте
- Частное ТЗ