Концептуальное проектирование System Design&Constraction Содержание фазы Фаза концептуальной разработки ИС предназначается для реализации требований пользователей и решения других проблем, выявленных на этапе анализа системы. Существует много способов реализации различных компонентов ИС, поэтому ее разработка сопровождается решениями из альтернативных вариантов реализации. Компоненты ИС Люди Данные Процессы Технологии/Интерфейсы Концептуальные проектные решения Обработка данных-Централизованная, децентрализованная, распределенная Хранение данных-Лента, гибкие или жесткие диски, CD, твердая копия Структура данных-Файловая или база данных Доступ к файлам-Прямой или последовательный Ввод данных-С клавиатуры, голосом, electronic data interchange(EDI), Optical Character Recognition (OCR), point-of-sale( POS) Место обработки - В компании или в сторонней организации Обработка на-Большой ЭВМ, микро или персональной ЭВМ Вывод информации-На монитор, на бумагу, на оборотный документ, голосом Коммуникационный канал-Телефонная линия, коаксиальный кабель, оптоволокно, спутниковый канал, радиоканал Обработка операций-Ручная, пакетная, онлайновая в реальном времени, workflow Приобретение программ - Готовые, модифицированные, разработанные Выбор и приобретение средств интеграции и среды middleware (связующее программное обеспечение)(.NET, J2EE, CORBA…) Компоненты проекта Проектирование Проектирование интерфейса Проектирование Проектирование Проектирование Проектирование Проектирование Проектирование аппаратного обеспечения пользовательского эффективного вывода эффективного ввода файлов и баз данных процессов (Pseudocode) структуры приложения безопасности Аппаратный интерфейс 1 Выбор компьютеров Супер-ЭВМ, мейнфрейм, мини-ЭВМ, микро-ЭВМ (РС) Совместимость с существующими системами, адаптивность, безопасность и связность. Диапазон возможного выбора в зависимости от философии управления в организации (централизованная, децентрализованная или распределенная) от отдельных компьютеров до централизованных супер-ЭВМ и мейнфреймов; сетей микро-ЭВМ, терминалов и рабочих станций, управляемых центральным сервером; сложные взаимодействующие сети компьютеров. 2 Влияние технологических изменений Быстрое изменение природы информационных технологий вынуждает проектировщиков рассматривать процесс развития и приобретения АО с различных точек зрения. Раньше выбирали АО, затем проектировались ПО, СУБД и другие компоненты в контексте выбранной платформы. (IBM 360 -> IMS) Сегодня требуемое ПО и возможности и функции СУБД рассматриваются вначале, а АО затем выбирается подходящим сформулированным требованиям. (В начале выбирается Oracle, действующий на всех платформах…) Такие параметры производительности как скорость обработки и пропускная способность управляют выбором периферии, процессора и внешней памяти 3 Влияние промышленных стандартов Популярность Интернет (Интранет) и компоненты передачи данных имеют решающее значение в проектировании интерфейса АО. Распределение ресурсов (файлов, принтеров) являются общими системными требованиями. Широко принятые стандарты, такие как open systems interconnection (OSI) стали важным критерием проектирования интерфейса АО. В ряде случаев проектирование интерфейса АО рассматривается в качестве подмножества проекта сети. 4. Проблемы среды АО чувствительно к проблемам электрического питания. (Uninterruptable power supplies (UPS) – источник бесперебойного питания) и фильтры рекомендуются для всех систем. Кабельные системы также должны быть защищены. (Молниязащита) Применять системы противопожарной безопасности Также критично рассеяние тепла и предотвращение влажности (системы кондиционирования). (Кластер- UPS 10 Kva, прецессионный кондиционер) 5. Восстановление после разрушения Надежность системы обеспечивается избыточностью наиболее важных компонент АО. Планируются процедуры по сохранению и восстановлению ключевого ПО и данных, а также инсталляцию АО. (Сервер резервного копирования следует размещать в другом здании) Пользовательский интерфейс Пользовательский интерфейс средство взаимодействия пользователя с информационной системой Два основных типа взаимодействия: Ввод (Inputs) Представление (Outputs) Проектирование пользовательского интерфейса Основные цели проектирования Производительность Эффективность Обеспечение соответствующей обратной связи Легкоcть освоения Типы экранных интерфейсов на выбор Каждый из них предназначен для различных типов пользователей Естественный язык – текстовый Вопрос и ответ Заполнение анкеты/формы Командный язык Графический интерфейс Проектирование диалога Естественный язык / виртуальная реальность Достоинства: Очень богат Использует дополнительный смысл - контекст Недостатки: Нагружает процессор Труден для реализации Проектирование диалога Командный язык (набор инструкций) Недостатки: Быстрый для экспертов Требуется помнить инструкции Гибкий Может быть непонятен Эффективен Не подходит для новичков Достоинства : Проектирование диалога Диалог Вопрос /Ответ Достоинства: Легок для новичков Минимальная информационная нагрузка Несложный ручной ввод Недостатки: Пользователь теряет управление Медленный Может быть утомителен Проектирование диалога Выбор из меню Достоинства: Легок для новичков Минимальная информационная нагрузка Компромисс между командным языком и диалогом вопрос/ответ Недостатки: Медленный для экспертов Слишком много альтернатив или уровней могут запутать Проектирование пользовательского интерфейса Принципы проектирования диалога Ясность для пользователя Минимум действий пользователя Поддержка стандартных операций и логичность Принципы организации обратной связи Предоставлять пользователю информацию о Времени, оставшемуся до завершения задачи Продвижении задачи Обнаруженных ошибках и способах их устранения Использовать текстовые сообщения или иконки (например, песочные часы) Проектирование пользовательского интерфейса Хороший интерфейс обеспечивает соответствующую обратную связь, улучшает производительность; он легок в использовании, поддержке, изучении, а также обеспечивает оперативную помощь. Кроме того, хороший интерфейс никогда не «зависает», обеспечивая, как минимум, понятный выход из любой операции. Для разработки успешного диалога необходимо: Составить план диалога (STD-диаграмма) Выполнить прототипирование диалога и интерфейса Проверить интерфейс «на пользователях» Структура интерфейса (STD) Некоторые понятия взаимодействия (диалог-интерфейс) Проектирование диалога фокусируется на содержании конкретных экранов, Проектирование интерфейса в большей степени касается определения структуры, связей и выполнения последовательности, связанной с полным набором экранов и окон, которые определяют пользовательский интерфейс. Иными словами , проектирование диалога касается данных, проектирование пользовательского интерфейса в большей степени ориентирован на действия. DOSWindows Замечания Подход к проектированию пунктов меню Все пункты имеют соответствующий символьный код Выбор символами для экспертов т.е., <alt>FS = file save Выбор указателями или курсором для новичков т.е. File Edit Draw Customer Supplier т.е., указать мышью, стрелками, и т.п. Поддержка пошагового обучения Проектирование диалога Принципы представления пунктов меню Использовать лаконичную, знакомую, непротиворечивую терминологию Например, имена пунктов меню становятся заголовками следующего экрана Внимательно устанавливать последовательность пунктов Например, по частоте использования, группировать по функциям, и т.п. Баланс ширины и глубины Например, ограничения человека 7+2 (но опасайтесь глубины) Проектирование диалога Graphical user interface (GUI) (комбинирует элементы других методов) Достоинства: Легок для новичков Минимальная информационная нагрузка Улучшенное понимание Графически привлекательный Недостатки: Медленный для экспертов Нагрузка на ресурсы компьютера Проектирование интерфейса Стиль интерфейса WIMP Windows Icons Mouse Pointer Замечания Иконка(Icons) Предлагает быстрый запуск в графическом режиме Панель (Command (Push) Buttons) Запускает процесс График или краткая метка Использует соответствующий размер, место, метку Замечания Диалоговые окна(Dialog Boxes) “всплывают” когда необходимо Обеспечивает необходимые опции Запрашивает детали о текущей операции Список и Поле со списком (List and Combo Boxes) Полезен для показа ограниченного числа выборов Поле со списком позволяет вводить значения не из списка Может оставаться открытым или разворачиваться если пространство ограничено Замечания Spin Button(Окно ..) Slider Bar(Полоса прокрутки) Выбрать аналоговое значение из диапазона Radio Button(Переключатель) Для выбора цифрового значения из ограниченного диапазона Выбрать одно взаимоисключающее значение Check Box(Флажок) Для выбора множественных двоичных выборов Интерфейсы вывода Варианты вывода Экраны, принтеры, звук, CD-ROM, DVD, факс, e-mail и Web страницы, XML, SOAP Цели проектирования интерфейса вывода Преследует намеченные цели Предлагает пользователям ожидаемую информацию Приспособлен для пользователя Предлагает пользователям необходимые информацию и взаимодействие (продвинутый, рядовой, конечный пользователь) Предоставляет соответствующее количество Не слишком много и не слишком мало Предоставляет в необходимое место Соответствующим людям Предоставляется во время Когда это необходимо Используется соответствующий метод вывода (таблицы, графики и ..) Интерфейсы вывода Соответствие содержания вывода задачам означает: Функция определяет форму От того, что предполагается делать в выходом, зависит вид формы (Экран-печать-…) Содержимое для внешнего или внутреннего использования Выход для внешнего использования может требовать совершенно иного представления по сравнению с внутренним использованием. Интерфейсы вывода Проектирование отчетов (reports) Отчет должен обеспечивать пользователя всей необходимой информацией в удобном формате (по форме и по содержанию) В настоящее время доступны различные ПО «оформители отчетов», которые облегчают проектирование и управление отчетами, например, Crystal reports Улучшение качества печати Расположение страницы Заголовок, итоги страницы, нумерация страниц, дата Документирование. (Ответственный за отчет) Стиль представления – хорошо смотрится и легко читается Точность данных и информации – свободен от ошибок Интерфейсы вывода Принципы проектирования экранного вывода Простота Выполнять совместимое представление Делать навигацию максимально простой, используя кнопки и иконки Создавать привлекательный экран Не представлять новый интерфейс для каждой страницы, это может лишь сбивать с толку и пользователи сбиваются Помогать пользователям перемещаться по экрану Не слишком загроможденные, понятные инструкции, хорошо именованные элементы управления. Привлекательный экран проще используется, особенно если он также эффективный и удовлетворяет требованиям пользователей Эти принципы применяются ко всем выходным экранам, включая web страницы, и к входным экранам. Интерфейсы ввода Варианты ввода Данные обычно вводятся с клавиатуры, кроме того ввод выполняется другими способами: мышь, сенсорный экран, графический планшет, сканнер штрих-кодов и т.п. В любом случае роль пользователя – ввод данных. Данные могут вводиться простым нажатием на соответствующую кнопку или Могут быть более сложные данные, которые вводятся вручную Наиболее сложный тип взаимодействия с использованием клавиатуры - избегать. Это требует навыков использования клавиатуры и знания горячих клавиш, а также способности представлять экраны в необходимом порядке. Интерфейсы ввода Цели проектирования входного интерфейса Легкость использования Эффективность Точность Привлекательность Простота Логичность Учет человеческого фактора в значительной степени определяет успех системы. Технологии могут изменяться, но основные человеческие требования не меняются и аналитики должны помнить об этом все время. Входные интерфейсы Поскольку экран для ввода является также формой для вывода правила проектирования здесь также применяются принципы выходных экранов, которые уже обсуждали. Специфика проблем проектирования ввода данных ввод данных в том же порядке, в котором они появляются на исходном документе; минимизация ввода данных (например, автоматический вывод названия по номеру счета или табельного номера по фамилии работника); заполнение слева направо и сверху вниз; ограниченное количество данных в одном кадре; автоматическая проверка правильности ввода (например, сверка почтового индекса и названия города) и т.д. группирование связанных элементов управления (рамкой или цветом) Входные интерфейсы Тон и терминология (стиль) Использовать простые грамматически корректные выражения Не стараться быть забавным Не быть снисходительным Использовать понятную терминологию Избегать компьютерного жаргона Избегать аббревиатур Использовать простые термины Использовать непротиворечивые термины Входные интерфейсы Принципы создания стиля Ограничиваться 4 гармоничными цветами Ограничения шрифтов до 2, 4 размера Убедиться, что все читаемо Заключать в рамки группы связанных элементов Ограничить аудио, если звук добавляется Входные интерфейсы Осведомлять пользователей о последующих действиях Использовать логичное расположение Ограничиваться одной целью на зону или страницу Показывать сообщения достаточной для прочтения длины Разумно использовать атрибуты дисплея (разрешение, например) Использовать горячие клавиши для общих функций Определять значения по умолчанию, если возможно Предупреждать общие ошибки Входные интерфейсы Цели проектирования сбора данных Эффективность Тщательно решайте что вводить Что вводится то и выводится Скудные данные приводят к скудной информации Неверные решения могут привезти к чрезмерным денежным и временным затратам, а также компьютерных ресурсов Используйте мощность компьютера для управления данными, которые не изменяются или могут быть вычислены Выбирайте соответствующий метод ввода данных Не следует набирать штрих-код, когда он может быть введен Входные интерфейсы Цели проектирования сбора данных (прод) Используйте эффективное кодирование данных Коды используются для Обозначения вещей Классификации информации Сокрытие информации Открытие информации Запроса соответствующих действий Существуют различные способы создания кодов. Проверка корректности данных Важно рассматривать типы ошибок, которые могут произойти и процедуры системы для проверки, обнаружения и исправления ошибок. Входные интерфейсы Проверка корректности данных (прод.) 3 главных источника ошибок ввода данных Представление неверных данных Данные представляются неавторизованными людьми Запрос системы выполнить недопустимые функции Проверки корректности Пропуск данных Правильная длина поля Класс данных Диапазон или разумность Неправильное значение Сравнение с заполненными данными Использование контрольных цифр (check digits) Проектирование интерфейса Памятка Знать своих пользователей Знать требования ваших пользователей Предлагайте пользователям прототип интерфейса Обеспечивайте простоту Используйте понятное расположение Будьте последовательны Обеспечивайте полезные сообщения Приспосабливайте интерфейс для основного типа пользователей Файлы и базы данных Файл набор однотипных записей . База данных набор взаимосвязанных файлов (в том смысле, что записи одного файла физически связаны с записями другого файла). Файлы и базы данных Information System File File Information System File File Information System Database (consolidated & integrated data from files) Information System Information System За и против файлов За Легко проектировать поскольку ориентируются на одно приложение Высокая производительность благодаря организации для одного приложения Против Сложнее адаптируется для распределения между приложениями Сложнее адаптируется к новым требованиям Требует дублирования атрибутов в нескольких файлах. Типы файлов Главный файл Файл операций Справочный файл Файл предыстории Страховочный файл Файл неопределенностей Файл отчета За и против б.д За Способность разделять данные между приложениями Сокращение и управление избыточности Независимость данных увеличивает адаптивность Отличная масштабируемость Против Сложнее адаптировать к разделению данных между приложениями Сложнее адаптировать к новым требованиям Требует дублирования атрибутов в нескольких файлах Отчасти меньше производительность Выше стоимость разработки Выше уязвимость данных Администраторы Администратор данных отвечает за планирование, определение, архитектуру и управление данных. Один или более администраторов баз данных отвечают за технологию баз данных, проектирование и построение баз данных, безопасность, сохранение и восстановление, а также обеспечение производительности. Архитектура базы данных Архитектура базы данных относится к технологиям баз данных, включая процессор базы данных(database engine), утилиты баз данных, CASE средства и средства разработки баз данных. Система управления базы данных (СУБД - DBMS) специализированное ПО, используемое для создания, доступа, контроля и управления , базы данных. Ядро СУБД - процессор базы данных. Язык определения данных(data definition language -DDL) – часть процессора базы данных, используемая для физического определения таблиц, полей и связей. Язык манипулирования данных (data manipulation language - DML) часть процессора базы данных, используемая для создания, чтения, замены и удаления записей в базе данных и перемещения между различными файлами (таблицами) в базе данных. Типичная архитектура DBMS Systems Analysts and Database Designers Application Programmers End Users Transaction Processing (TP) Monitor PC DBMS and/or Query tools DBMS Data Definition Language (DDL) Proprietary Language and Tools DATABASE ENGINE METADATA USER DATA Data Manipulation Language (DML) Некоторые СУБД содержат монитор обработки транзакций (transaction processing monitor или TP monitor), который управляет доступом к базе данных в реальном времени и обеспечивает, чтобы транзакции, воздействующие на несколько таблиц обрабатывались как единое целое. Реляционная база данных Реляционная база данных реализует сохраненные данные набором двумерных таблиц, которые связываются через внешние ключи. Физическая модель называется схема (schema). Языки DDL и DML для реляционных баз данных называются SQL (Structured Query Language). Triggers – программы, встроенные в таблицы, которые автоматически вызываются изменениями в других таблицах. Stored procedures программы, встроенные в таблицы, которые могут вызываться из приложений. Logical Data Model Physical Data Model (Relational Schema) Цели проектирования баз данных База данных должна обеспечить эффективное хранение, корректировку и получение данных. База данных должна быть надежной— хранимые данные должны иметь высокую степень интеграции и способствовать доверию пользователей этим данным. База данных адаптивной и масштабируемой для новых и непредусмотренных требований и приложений Модели данных и б.д. ERD – логическая модель требований данных. Схема базы данных (database schema) – физическая модель или проект реализации логической модели. Также называется физическая модель данных Метод проектирования б.д. 1. 2. 3. 4. 5. 6. 7. 8. 9. Создать таблицу для каждой сущности. Создать поля для каждого атрибута. Создать индекс для каждого первичного и альтернативного ключей. Создать индекс для каждого группового критерия. Назначить внешние ключи для связей. Определить типы, размеры, область допустимых значений, NULL, значение по умолчанию для каждого атрибута. Проверьте логическую модель данных. Создайте и объедините таблицы для реализации структур категоризации. Оцените и определите ограничения целостности данных (referential integrity constraints). Целостность базы данных Целостность ключей Доменная целостность Ссылочная целостность Ошибки ссылочной целостности (referential integrity) возникают, когда значение внешнего ключа в одной таблице не совпадает со значением первичного ключа в связанной таблице. Нет ограничений (No restriction) Каскадное удаление (Delete: cascade) Ограниченное удаление (Delete: restrict) Удаление с обнулением (Delete: set null) Прототипы базы данных Прототип не является альтернативой тщательно продуманной схемы базы данных. С другой стороны, как только схема завершена, прототип базы данных обычно может быть получен очень быстро. Большинство современных СУБД включают мощные генераторы баз данных, которые создают скрипт DDL, на основе которого создается прототип базы данных. Затем база данных может быть загружена тестовыми данными, которые будут способствовать прототипированию и тестированию входов, выходов, экранов и других компонентов системы. CREATE TABLE STUDENT ( soc_sec_no CHAR(18) NOT NULL, student_name CHAR(18), student_address CHAR(18) ); CREATE UNIQUE INDEX IXSTUDENT ON STUDENT ( soc_sec_no ASC ); CREATE TABLE ENROLLMENT ( date_enrolled CHAR(18), enrollment_status CHAR(18), enrollment_type CHAR(18) NOT NULL, soc_sec_no CHAR(18) NOT NULL, section_no CHAR(18) NOT NULL, course_code CHAR(18) NOT NULL, semester_no CHAR(18) NOT NULL ); Планирование объема б.д. База данных хранится на диске. Администратору б.д. необходимо оценить объем дискового пространства для новой базы данных для обеспечения достаточного объема. Планируемый объем может быть вычислен следующим образом. 1. Для каждой таблицы суммируется размер полей. Это размер записи в таблице. 2. Для каждой таблицы, умножается размер записи (record size) на количество экземпляров сущности, содержащихся в таблице. Это размер таблицы. Планирование объема б.д. 3. Просуммируйте размеры таблиц. Это размер базы данных (database size). 4. По возможности, добавьте дополнительный буфер (например, 10%) для учета непредвиденных факторов или неточностей оценки. Это ожидаемой емкости д.б.. Распределение и репликация Анализ распределения данных устанавливает места необходимого доступа для различных логических элементов данных. Анализ определяется решениями распределения: Централизованное Горизонтальное распределение Вертикальное распределение Репликация – дублирование определенных таблиц, записей и/или полей в несколько физических баз данных Customer .Customer Number .Customer Name .Customer Address .Customer Credit Rating .Customer Balance Due Order .Order Number .Order Date .Order Amount Ordered Product .Quantity Ordered .Ordered Item Unit Price Product .Product Number .Product Name .Product Description .Product Unit of Measure .Product Current Unit Price .Product Quantity on Hand INDV R RU RU X R INDV SRD SRD SRD INDV SUD SUD ALL R R R R R X R R R ALL R R R ALL R R ALL CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD ALL R R RU R R SS R R SS R ALL R R R R RU ALL CRUD CRUD CRUD R R ALL CRUD CRUD CRUD ALL CRUD CRUD ALL R R R R R R ALL R R R RU RU R R R R R SS CRUD CRUD CRUD R R SS CRUD CRUD CRUD SS CRUD CRUD ALL R R R R R R INDV = individual ALL = ALL SS = subset X = no access S = submit C = create R = read U = update SS R R R SS R R R SS ALL R R R R R RU D = delete SS CRUD CRUD CRUD R R SS CRUD CRUD CRUD SS CRUD CRUD ALL R R R R R R . Warehose San Diego . Sales San Francisco . Warehouse . Sales Boston . A/R . Sales . Warehouse . Advertsing . Marketing Kansas City Customers Entity . Attribute Location Data-to-Location-CRUD Matrix SS R R R SS R R R SS ALL R R R R R RU