- •Введение в проектирование баз данных, информационных и экспертных систем
- •Проектирование информационных систем, ориентированных на анализ данных
- •Модели данных, которые используются для хранения данных (Эдгар Кодд)
- •Правила Кодда
- •Методы аналитической обработки данных
- •Основные элементы data mining:
- •Классы систем data mining:
- •Документальные системы
- •Формальное представление семантики документов
- •Структура дипс
- •Обработка входящей информации в дипс
- •Рубрицирование на знаниях
- •Методы статистической обработки текстов
- •Поиск текстовой информации
- •Модели представления документов и запросов Булева модель
- •Пространственно-векторная модель
- •Векторные модели
- •Обратная связь с пользователем дипс
- •Модификация представления запроса
- •Модификация представлений документов
- •Оценка качества дипс
- •Лабораторная работа №2
- •Коллективная разработка информационных систем
- •Достоинства профессионального программирования:
- •Недостатки (сложности) профессии:
- •Почему проваливаются программные продукты:
- •Календарное планирование работ сетевыми методами
- •Сетевая модель программы
- •Пример:
- •Расчет сетевой модели
- •Пример:
- •Распределение ресурсов при календарном планировании
- •Учет стоимости при оптимизации плана
- •Проблемы разработки программного обеспечения Основные проблемы:
- •Основные причины провала разработки:
- •Рекомендации по разработке:
- •Методологии системного моделирования
- •Структура системы
- •Методология структурного системного анализа (sadt)
- •Объектно-ориентированный анализ и проектирование, uml
- •Основные принципы моделирования сложных систем
- •Общая структура uml
- •Описание метамодели uml
- •Основные виды диаграмм
- •Основные рекомендации для составления диаграмм
Достоинства профессионального программирования:
возможность создать программный продукт своими руками;
программы делают полезные вещи;
они могут делать сложные вещи;
узнавание нового;
чрезвычайно податливый материал и инструменты.
Недостатки (сложности) профессии:
точность действий;
обеспечение ресурсами и информацией осуществляется другими людьми — непрограммистами;
полномочия ниже ответственности — власть приобретается только после успешного написания программы;
зависимость от программ, написанных другими людьми (прежде всего их плохая документированность);
отладка программных продуктов занимает больше времени, чем предполагалось, первые ошибки видны лучше;
программный продукт оказывается устаревшим в момент завершения;
решение конкретной задачи в установленные сроки, используя имеющиеся ресурсы.
Почему проваливаются программные продукты:
неправильные методы оценок времени (как правило, правильность идей определяется в конце);
предположение, что работу можно ускорить, увеличивая количество людей. Изначально бывают неразделимые задачи.
|
|
|
Если задача разделимая, но требует обмена данными: до некоторых пор увеличение людей снижает сроки. |
|
|
Если разделимая задача требует обучения и согласования: число связей: n(n–1)/2 |
|
|
Предсказание времени отладки является наиболее затруднительным. Экспериментально установлены следующие пропорции:
1/3t — планирование программного продукта; 1/6t — написание программы; 1/4t — тестирование отдельных компонентов; 1/4t — тестирование системы в целом.
Наиболее важен последний этап. Это связано с тем, что затраты на этом этапе наибольшие и привлекается наибольшее количество людей.
Выводы возможны следующие:
добавить людей (дообучить, доразделить задачи);
изменить график;
сократить задачи.
Максимальное число работников, которых можно привлечь с пользой зависит от количества разделенных независимых задач.
Календарное планирование работ сетевыми методами
Программой работ будем называть совокупность взаимосвязанных операций, выполненных в определенном порядке для достижения поставленной цели. При этом, одни операции нельзя начинать до завершения других.
Операция — работа, для выполнения которой требуется затраты времени и ресурсов.
До появления сетевых методов, календарное планирование заключалось в составлении ленточной модели Гантта.
Сетевые методы календарного планирования разрабатывались в 50-х годах (56-58 гг.)
Группы:
МКП — метод критического пути;
PERT — метод оценки и пересмотри программ;
СПУ — сетевое планирование и управление.
СПУ включает три этапа:
Сетевое планирование. Оно начинается с разбиения программы на определенные операции. После этого определяются оценки продолжительности операций, и строится сетевая модель, которая представляет все программу. Это ориентированный граф, дуги которого соответствуют операциям, а узлы — событиям.
Календарное планирование — оно заключается в построении календарного графика, определении момента начала и конца операции, а также взаимосвязи с другими операциями. Календарный график позволяет выявить критичные операции, т.е. операции, определяющие продолжительность всей программы, а также определяет резервы времени для некритичных операций.
Оперативное управление. Включает использование сетевой модели и календарного графика для контроля выполнения программы, а также коррекции сетевого графика при необходимости. Обычно для этого составляют новый календарный план.
