- •Оглавление
- •Глава 1. Жизненный цикл программного обеспечения ……………………………………………43
- •Глава 2. Методические аспекты
- •Глава 3. Моделирование бизнес-процессов
- •Глава 4. Анализ и проектирование
- •Глава 5. Технологии создания программного
- •Глава 6. Оценка трудоемкости создания
- •Глава 7. Особенности современных проектов ........527
- •Предисловие
- •Введение
- •Глава 1 жизненный цикл программного обеспечения
- •Нормативно-методическое обеспечение создания по
- •Стандарт жизненного цикла по
- •Основные процессы жц по
- •Вспомогательные процессы жизненного цикла по
- •Организационные процессы жизненного цикла по
- •Взаимосвязь между процессами жц по
- •Модели жизненного цикла по
- •Каскадная модель жц
- •Итерационная модель жизненного цикла
- •Методика spmn
- •Пример процесса «управление требованиями»
- •Пример процесса «управление конфигурацией по»
- •Общие принципы проектирования систем
- •Визуальное моделирование
- •Структурные методы анализа и проектирования по
- •Метод функционального моделирования
- •Описание типов связей
- •Моделирования процессов idef3
- •Типы связей idef3
- •Типы соединений
- •Моделирование потоков данных
- •Количественный анализ диаграмм
- •Сравнительный анализ sadt-моделей и диаграмм потоков данных
- •Моделирование данных
- •Объектно-ориентированные методы анализа и проектирования по
- •Основные принципы построения объектной модели
- •Основные элементы объектной модели
- •Значения мощности
- •Унифицированный язык моделирования uml
- •Диаграммы вариантов использования
- •Диаграммы взаимодействия
- •Диаграммы классов
- •Диаграммы состояний
- •Диаграммы деятельности
- •Диаграммы компонентов
- •Диаграммы размещения
- •Механизмы расширения uml
- •Количественный анализ диаграмм uml
- •Основные элементы языка uml
- •Основные типы связей языка uml
- •Диапазоны оценок для диаграмм uml
- •Образцы
- •Сопоставление и взаимосвязь структурного и объектно-ориентированного подходов
- •Структурный (процессный) подход к моделированию бизнес-процессов
- •Принципы процессного подхода
- •Применение диаграмм потоков данных
- •Система моделирования aris
- •Метод ericsson-penker21
- •Пример использвания процессного подхода
- •История болезни пациента
- •Спецификация структур данных
- •Построение диаграмм потоков данных нулевого и последующих уровней
- •Объектно-ориентированный подход к моделированию бизнес-процессов
- •Методика моделирования
- •Пример использования объектно-ориентированного подхода
- •Пример спецификации требований к программному обеспечению
- •Пример структурного проектирования по
- •Построение диаграмм системных процессов и диаграмм последовательностей экранных форм
- •Объектно-ориентированный анализ
- •Архитектурный анализ
- •Анализ вариантов использования
- •Объектно-ориентированное проектирование
- •Проектирование архитектуры системы
- •Проектирование элементов системы
- •Глава 5 технологии создания программного обеспечения
- •Определение технологии
- •Общие требования, предъявляемые
- •Внедрение тс по в организации
- •Общие сведения
- •Определение потребностей в тс по
- •Оценка и выбор тс по
- •Критерии оценки и выбора тс по
- •Выполнение пилотного проекта
- •Практическое внедрение тс по
- •Примеры тс по
- •Технология rup (rational unified process)
- •Технология oracle
- •Технология borland
- •Технология computer associates
- •Глава 6 оценка трудоемкости создания программного обеспечения
- •Методы оценки и их классификация
- •Методика оценки трудоемкости разработки по на основе функциональных точек
- •Определение функциональных типов
- •Определение количества и сложности функциональных типов по данным
- •Сложность ilf и eif
- •Определение количества и сложности транзакционных функциональных типов
- •Подсчет количества функциональных точек
- •Зависимость количества fp от сложности функционального типа
- •Коммуникации данных
- •Распределенная обработка данных
- •Сложность ei
- •Сложность ео
- •Производительность
- •Эксплуатационные ограничения
- •Частота транзакций
- •Ввод данных в режиме «онлайн»
- •Эффективность работы конечных пользователей1
- •Онлайновое обновление
- •Сложная обработка31
- •Повторное использование
- •Простота установки
- •Простота эксплуатации
- •Количество возможных установок на различных платформах
- •Гибкость32
- •Оценка трудоемкости разработки
- •Размер программного обеспечения в fp и loc
- •Распределение временных затрат по стадиям для маленьких и больших проектов
- •Статистические данные
- •Статистические (регрессионные) модели
- •Группа процессов
- •Определение весовых показателей вариантов использования
- •Определение технической сложности проекта
- •Определение уровня квалификации разработчиков
- •Оценка трудоемкости проекта
- •Методы, основанные на экспертных оценках
- •Метод дельфи
- •Метод декомпозиции работ
- •Средства оценки трудоемкости
- •Планирование итерационного процесса создания по
- •Глава 7 особенности современных проектов
- •Категории «безнадежных» проектов
- •Причины, порождающие «безнадежные» проекты
- •Причины разногласий между участниками проекта
- •Переговоры в «безнадежном» проекте
- •Человеческий фактор в «безнадежных» проектах
- •Процессы в «безнадежных» проектах
- •Динамика процессов
- •Контроль над продвижением проекта
- •Технология и инструментальные средства «безнадежных» проектов
- •Дополнительная литература
- •Краткий словарь терминов
- •Список основных сокращений
Спецификация структур данных
Определим состав потоков данных и подготовим исходную информацию для конструирования концептуальной модели данных.
Пометим символами «*», «°» и «|» все структуры и элементы данных типа «итерация», «условное вхождение» и «альтернатива» соответственно.
После объединения структур и элементов данных в более крупные структуры для каждого потока данных должна быть Сформирована структура данных.
Примеры спецификации структур данных.
ОТЧЕТ_ПО_ИСТОРИИ_БОЛЕЗНИ
Текущая_дата
Начальная_дата
Конечная_дата
СТРОКА_ПАЦИЕНТА
Номер_пациента
Фио
Дата_рождения
Рис. 3.4. Начальная контекстная диаграмма
СТРОКА_ПРИЕМА*
Номер_приема /* порядковый номер приема нового больного*/
Дата_приема
Номер_палаты
СТРОКА_КУРСА_ЛЕЧЕНИЯ*
Наименование_заболевания
Имя_врача
Специализация
СТРОКА_РЕЗУЛЬТАТОВ_ЛЕЧЕНИЯ*
Дата
Время
Примечание
ИФОРМАЦИЯ_ОТ_ВРАЧА
Присм_нового_больного
Данные_о_враче
Новый_пациент_больницы
Заирос_на_получение_истории_болезни
Курс_лечения
ОТЧЕТ_О_ПАЦИЕНТАХ
Текущая_цата
Начальная_дата
Конечная_дата
СТРОКА_ПАЦИЕНТА*
Номер_пациента
Фио
Адрес
Телефон
Дата_рождения
СТРАХОВАНИЕ0
Страховая_компания
Номер_страховки
Построение начального варианта концептуальной модели данных
Выделим и нарисуем сущности для каждого класса объектов данных в системе приема пациентов. Рассмотрим каждую возможную пару сущностей и установим существование связи между ними. Нарисуем диаграмму «сущность-связь». Присвоим наименование каждой связи и зададим ее характеристики (рис. 3.5).
Предлагается ответить самостоятельно на следующие вопросы:
Почему мощность связи между Пациентом и Приемом, Приемом и Курсом лечения, Врачом и Курсом лечения равна О, а не 1?
Почему отсутствует связь между Врачом и Пациентом?
Рис. 3.5. Начальный вариант концептуальной модели данных
Построение диаграмм потоков данных нулевого и последующих уровней
Декомпозируем начальную контекстную диаграмму. Декомпозируем сложные процессы и проверим соответствие различных уровней модели процессов. Опишем накопители данных посредством структур данных. Опишем процессы нижнего уровня посредством спецификаций.
Результаты представлены на рис. 3.6—3.9.
Описание накопителей данных и пример спецификации процесса приведены ниже.
Накопитель данных: пациенты
Номер_пациента
Фио
Адрес
Телефон
Дата_рождения
Группа_крови
Страхование0
Накопитель данных: приемы
Номер_приема
Номер_пациента
Дата_приема
Рис. 3.6. Диаграмма потоков данных нулевого уровня
Дата_выписки
Номср_палаты
Накопитель данных: курсы лечения
Номер_приема
Номср_врача
Рис. 3.7. Диаграмма потоков данных первого уровня для процесса 1
Наименование_заболевания
ПРИМЕЧАНИЕ
Дата
Время
Примечание
Рис. 3.8. Диаграмма потоков данных второго уровня для процесса 1.1
Накопитель данных: врачи
Номер_врача
Имя_врача
Адрес
Телефон
Дата_рождения
Специализация
Номер_кабинета
Рабочий_телефон
Спецификация процесса: Зарегистрировать пациента
BEGIN
GET Фио и Дата_рождения
FIND пациент
IF пациент найден THEN
DISPLAY данные пациента
Рис. 3.9. Диаграмма потоков данных первого уровня для процесса 2
ELSE
GET Адрес
DETERMINE Номер_пациента
INSERT пациент
ENDIF
PRINT подтверждение
END
Рис. 3.10. Уточненный вариант концептуальной модели данных
Уточнение концептуальной модели данных
Используя построенные структуры данных, определим атрибуты сущностей и уточним построенную модель данных. Внешние ключи можно не показывать, поскольку они определяются связями между сущностями. Выделим атрибуты-идентификаторы и подчеркнем их.
Результат представлен на рис. 3.10.
3.3.
