*/ -->

Проектирование информационных систем.( Массель Л.В.)

56__Определение и классификация информационных систем

Возьмём за основу две трактовки термина "информационная технология":

1.Система методов, способов, инструментальных средств, сбора,   передачи, накопления, обработки, хранения, представления и   использования информации (базовые функции информационной системы)

2.Комплекс или совокупность вычислительной техники и систем   связи, используемые для создания, сбора, передачи, хранения и   обработки информации для всех сфер общественной жизни.

Основным является деление информационных технологий на:

  • Функциональные – связанные с предметной областью

  • Обеспечивающие – используются при реализации функциональных ит.

Информационная система – комплекс вычислительной техники и систем связи, используемый для создания, сбора, передачи, хранения, обработки информации для всех сфер общественной жизни.

Основная задача информационной системы любой организации – обеспечение процесса принятия решений, а именно предоставление нужной информации в нужное время в нужном месте.

Информационные системы можно классифицировать по целому ряду различных признаков. В основу рассматриваемой классификации положены наиболее существенные признаки, определяющие функциональные возможности и особенности построения современных систем. В зависимости от объема решаемых задач, используемых технических средств, организации функционирования, информационные системы делятся на ряд групп (классов)

По типу хранимых данных ИС делятся на фактографические и документальные. Фактографические системы предназначены для хранения и обработки структурированных данных в виде чисел и текстов. Над такими данными можно выполнять различные операции. В документальных системах информация представлена в виде документов, состоящих из наименований, описаний, рефератов и текстов. Поиск по неструктурированным данным осуществляется с использованием семантических признаков. Отобранные документы предоставляются пользователю, а обработка данных в таких системах практически не производится.

[image]

 

57__Структурный подход к проектированию информационных систем.

Сущность структурного подхода

Сущность структурного подхода к разработке ИС заключается в ее декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы "снизу-вверх" от отдельных задач ко всей системе целостность теряется, возникают проблемы при информационной стыковке отдельных компонентов.

Все наиболее распространенные методологии структурного подхода базируются на ряде общих принципов. В качестве двух базовых принципов используются следующие:

  • принцип "разделяй и властвуй" - принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения;

  • принцип иерархического упорядочивания - принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.

Выделение двух базовых принципов не означает, что остальные принципы являются второстепенными, поскольку игнорирование любого из них может привести к непредсказуемым последствиям (в том числе и к провалу всего проекта). Основными из этих принципов являются следующие:

  • принцип абстрагирования - заключается в выделении существенных аспектов системы и отвлечения от несущественных;

  • принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы;

  • принцип непротиворечивости - заключается в обоснованности и согласованности элементов;

  • принцип структурирования данных - заключается в том, что данные должны быть структурированы и иерархически организованы.

В структурном анализе используются в основном две группы средств, иллюстрирующих функции, выполняемые системой и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными среди которых являются следующие:

  • SADT (Structured Analysis and Design Technique) модели и соответствующие функциональные диаграммы;

  • DFD (Data Flow Diagrams) диаграммы потоков данных;

  • ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь".

Методология функционального моделирования SADT

Методология SADT разработана Дугласом Россом. На ее основе разработана, в частности, известная методология IDEF0 (Icam DEFinition), которая является основной частью программы ICAM (Интеграция компьютерных и промышленных технологий), проводимой по инициативе ВВС США.

Методология SADT представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями. Основные элементы этой методологии основываются на следующих концепциях:

  • графическое представление блочного моделирования. Графика блоков и дуг SADT-диаграммы отображает функцию в виде блока, а интерфейсы входа/выхода представляются дугами, соответственно входящими в блок и выходящими из него. Взаимодействие блоков друг с другом описываются посредством интерфейсных дуг, выражающих "ограничения", которые в свою очередь определяют, когда и каким образом функции выполняются и управляются;

  • строгость и точность. Выполнение правил SADT требует достаточной строгости и точности, не накладывая в то же время чрезмерных ограничений на действия аналитика. Правила SADT включают:

  • ограничение количества блоков на каждом уровне декомпозиции (правило 3-6 блоков);

  • связность диаграмм (номера блоков);

  • уникальность меток и наименований (отсутствие повторяющихся имен);

  • синтаксические правила для графики (блоков и дуг);

  • разделение входов и управлений (правило определения роли данных).

  • отделение организации от функции, т.е. исключение влияния организационной структуры на функциональную модель.

Принцип первый – принцип «черного ящика».

Принцип второй – принцип неизменности точки зрения.

Принцип третий «функции – объекты»

Объекты изображаются дугами (стрелками) и именуются существительными: «деталь», «студент», «станок», «паспорт» и т.д.

Принцип четвертый – принцип декомпозиции диаграмм.

Принцип пятый – принцип сохранения дуг

Он означает, что при построении дочерней диаграммы все граничные дуги родительской диаграммы должны быть перенесены в неизменном виде.

Принцип шестой – принцип декомпозиции дуг.

Дуга в SADT на верхних уровнях модели обычно представляет набор объектов. На нижних уровнях модели бывает важно уточнить, какие конкретно объекты связаны с выполнением данной функции. Для этого дуги могут разветвляться и эти ветви подсоединяться к различным блокам.

Принцип седьмой – принцип единства оформления диаграмм.

DFD (Data Flow Diagram)

В основе данной методологии (другое название – методология Gane/Sarson по имени авторов) лежит представление жизненного цикла информации в виде потоков данных, являющихся результатом определенных процессов (сбора, обработки, хранения, передачи) анализируемой ИС – проектируемой или реально существующей.

Источники информации (внешние сущности) порождают информационные потоки (потоки данных), переносящие информацию к подсистемам или процессам. Те в свою очередь преобразуют информацию и порождают новые потоки, которые переносят информацию к другим процессам или подсистемам, накопителям данных или внешним сущностям – потребителям информации. Таким образом, основными компонентами диаграмм потоков данных являются:

  • внешние сущности;

  • системы/подсистемы;

  • процессы;

  • накопители данных;

  • потоки данных.

IDEF3

IDEF3 является стандартом документирования технологических процессов, происходящих на предприятии, и предоставляет инструментарий для наглядного исследования и моделирования их сценариев. Сценарием (Scenario) называется описание последовательности изменений свойств объекта, в рамках рассматриваемого процесса. Исполнение каждого сценария сопровождается соответствующим документооборотом, который состоит из двух основных потоков: документов, определяющих структуру и последовательность процесса (технологических указаний, описаний стандартов и т.д.), и документов, отображающих ход его выполнения (результатов тестов и экспертиз, отчетов о браке, и т.д.). Для эффективного управления любым процессом, необходимо иметь детальное представление об его сценарии и структуре сопутствующего документооборота. Средства документирования и моделирования IDEF3 позволяют выполнять следующие задачи:

  • Документировать имеющиеся данные о технологии процесса, выявленные в процессе опроса компетентных сотрудников, ответственных за организацию рассматриваемого процесса.

  • Определять и анализировать точки влияния потоков сопутствующего документооборота на сценарий технологических процессов.

  • Определять ситуации, в которых требуется принятие решения, влияющего на жизненный цикл процесса, например изменение конструктивных, технологических или эксплуатационных свойств конечного продукта.

  • Содействовать принятию оптимальных решений при реорганизации технологических процессов.

  • Разрабатывать имитационные модели технологических процессов, по принципу "КАК БУДЕТ, ЕСЛИ..."

Применение принципа декомпозиции в IDEF3 позволяет структурировано описывать процессы с любым требуемым уровнем детализации.

 

58__Объектный подход к проектированию информационных систем.

Методы проектирования программных систем. Разграничим понятия «метод» и «методология». Метод - это последовательный процесс создания моделей, которые описывают вполне определенными средствами различные стороны разрабатываемой программной системы.

Методология - это совокупность методов, применяемых в жизненном цикле разработки программного обеспечения и объединенных одним общим философским подходом.

Методы появились как ответ на растущую сложность программных систем. Для первых ЭВМ создавались простые программы. В 60-70-е годы эффективность применения компьютеров резко возросла, цены на них стали падать, а возможности ЭВМ увеличились. Сложность ПО возросла, поэтому в 60-70-е годы было разработано много методов, помогающих справиться с растущей сложностью программ.

Методы разбивают на три группы:

  • метод структурного проектирования сверху вниз (оказалось, что структурный подход не работает, если объем программы превышает приблизительно 100000 строк);.

  • метод потоков данных (DFD) (структура программной системы строится как преобразование входных потоков в выходные);

  • объектно-ориентированное проектирование (OOD).

В основе OOD лежит представление о том, что программную систему необходимо проектировать как совокупность взаимодействующих друг с другом объектов, рассматривая каждый объект как экземпляр определенного класса, причем классы образуют иерархию.

ООD – это метод, логически приводящий нас к объектно-ориентированной декомпозиции. Применяя ООD, мы создаем открытые для изменений программы, построенные из ограниченного числа универсальных блоков (компонентов)

Модели объектно-ориентированного проектирования. Важность построения моделей при проектировании сложных систем диктует необходимость наличия нескольких типов моделей (рис.3).

Несмотря на различия в моделях, методы проектирования моделей имеют что-то общее. Их, в частности, объединяет следующее:

  • условные обозначения - язык для описания каждой модели;

  • процесс - правила проектирования модели;

  • инструменты - средства, которые ускоряют процесс создания моделей, определяют законы их функционирования и помогают выявлять ошибки в процессе разработки.

[image]

Рис. 3. Модели объектно-ориентированного проектирования.

Объектно-ориентированное проектирование - это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления как логической и физической, так и статической и динамической моделей проектируемой системы.

Объектно-ориентированный анализ направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода. Это методология, при которой требования к системе формируются на основе понятий классов и объектов, выявленных в предметной области (составляющих словарь предметной области).

Основные предпосылки создания объектно-ориентированного подхода:

  1. прогресс в области архитектуры ЭВМ (включая системную и аппаратную часть);

  2. развитие языков программирования, таких как Simula, Smalltalk, CLU, Ada;

  3. развитие методологии программирования, включая принципы модульности и защиты информации (сокрытия данных)"

Три момента, оказавшие влияние на становление объектного подхода:

  • развитие теории баз данных (ER-модели);

  • исследования в области искусственного интеллекта (теория фреймов);

  • достижения философии и теории познания (греки – мир можно рассматривать как в терминах объектов, так и событий; Декарт _люди имеют объектный взгляд на мир; Клир – редукционизм и холизм).

Компоненты объектного подхода

Способ программирования определяется стилем программирования, включающим принципы программирования и языки программирования. Пять основных разновидностей стилей программирования:

С Т И Л Ь

ВИД АБСТРАКЦИИ

Процедурно-ориентированный

Алгоритмы

Объектно-ориентированный

Классы и объекты

Логико-ориентированный

Цели (наиболее часто выраженные в терминах исчисления предикатов)

Ориентированный на правила

Правила "если…- то…"

Ориентированный на ограничения

Инвариантные соотношения

Основные элементы объектно-ориентированного стиля. Каждый стиль программирования имеет свою концептуальную основу. Для объектно-ориентированного стиля концептуальная основа состоит в объектном подходе.

Ему соответствуют четыре главных элемента

(без любого из них подход не будет ОО)

и три дополнительных элемента:

 

  • абстрагирование;

  • ограничение доступа;

  • модульность;

  • иерархия

  • типизация;

  • параллелизм;

  • сохраняемость

1. Абстрагирование – позволяет сосредоточить внимание на существенных характеристиках объекта с точки зрения наблюдателя (пример кошка для домохозяйки и ветеринара)

Абстракция – это такие существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения дальнейшего рассмотрения и анализа.

Абстракция должна охватить лишь самую суть объекта, не больше, но и не меньше – «принцип наименьшей выразительности»

Выделяют следующие обстракции:

Абстракция сущности

объекта

Объект представляет собой модель некой сущности (описание существенных сторон) предметной области

• Абстракция поведения

Объект состоит из обобщенного множества операций, каждая из которых выполняет полезную функцию

•Абстракция в виде виртуальной машины

Объект объединяет группы операции, которые либо используются для управления объектом (на более высоком уровне управления), либо сами используют некоторый набор операций более низкого уровня

• Произвольная абстракция

Объект включает в себя набор независимых по отношению друг к другу операций

Наиболее интересны абстракции сущностей объектов, так как они соответствуют словарю предметной области.

Объект, использующий ресурсы другого объекта называется клиентом.

Полный набор операций, которые клиент может осуществлять над другим объектом, называется протоколом. Протокол отражает все возможные действия, которыми объект может подвергаться сам и которыми может оказывать влияние на другие объекты.

Понятия операция (Ada), метод (Smalltalk) и функция-элемент (C++ )- фактически обозначают одно и то же и используются как эквивалент.

Все абстракции обладают как статическими, так и динамическими свойствами.

Пример: Объект – файл. Статические свойства : объем требуемой памяти, имя, содержание. Динамические свойства: файл может изменять размеры, имя, содержание.

Пример. В Object Pascal есть абстракции: переменные объектов, методы объектов; нет: переменных классов, методов классов. Отсутствуют также метаклассы и множественное наследование – эти механизмы исключены, чтобы сделать язык простым для изучения программистам начинающим изучать О.О. методологию. Поэтому Object Pascal иногда называют «обглоданным» О.О. языком

Уже насчитывается около 2000 языков программирования, более 100 – объектных (имеющих механизмы реализации абстрактных данных и классов, например, Ada) и объектно-ориентированных языков (в которых реализован механизм наследования как средство отражения иерархии классов, например, Smalltalk, Object Pascal (в нем есть простое наследование), C++, Clos).

2. Ограничение доступа – это процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта как целого, иначе говоря, выбранный способ реализации абстракций должен быть скрыт для большинства объектов-пользователей, обращающихся к данной абстракции.

Практически это означает наличие двух частей в описании класса: интерфейса и реализации. Интерфейс – отображает внешнее проявление объекта, создавая абстракцию поведения всех объектов данного класса. Внутренняя реализация – описывает механизмы достижения желаемого поведения объекта.

Пример: В Object Pascal формально нет ограничений доступа, тем не менее все поля являются обособленными, а доступ к ним осуществляется через методы класса.

3. Модульность – является элементом конструкции и позволяет осуществлять на её основе проектные решения. В таких языках ( например, Object Pascal, C++, Ada, CLOS, LISP) классы и объекты составляют логическую структуру системы, эти абстракции организуются в модули, образуя физическую структуру системы (особенно когда система состоит из сотен классов).

Иначе говоря, «модульность – это разделение программы на раздельно компилируемые фрагменты (модули) , имеющие между собой средства сообщения».

Модули выполняют роль физических контейнеров, в которые помещаются определения классов и объектов при логическом проектировании систем. Следует стремиться построить модели так, чтобы объединить логически связанные абстракции и минимизировать взаимные связи между модулями

Определение: Модульность - это свойство системы, связанное с возможностью декомпозиции ее на ряд тесно связанных модулей.

Пример: обратиться к рис. 3 на стр. 5. Выявление классов и объектов - логическое проектирование, деление на модули – физическое проектирование

4. Иерархия – это ранжированная или упорядоченная последовательность.

Пример иерархии: наследование - такое отношение между классами (отношение родитель/потомок), когда один класс заимствует структурную или функциональную часть одного или нескольких других классов (соответственно, простое или множественное наследование).

Дополнительные элементы объектно-ориентированного стиля.

1. Типизация. Концепция типизации строится на понятии типов абстрактных данных.

«Тип – это точное определение свойств строения или поведения, которое присуще некоторой совокупности объектов». «Тип» и «Класс» - эквивалентные понятия

Определение: Типизация – это ограничение, накладываемое на класс объектов и препятствующее взаимозамене различных классов (или сужающее возможности такой взаимозамены).

2. Параллелизм. Реальная параллельность достигается только на многопроцессорных системах (системы с одним процессором имитируют параллельность за счет алгоритмов разделения времени). В то время, как объектно-ориентированное программирование основано на абстракции данных, ограничении доступа и наследовании, параллелизм связан с абстрагированием и синхронизацией процессов.

Объект является основой, которая объединяет обе концепции: каждый объект (как абстракция реальности) может представлять собой отдельный канал управления (абстракцию процесса). Такой объект называется активным.

Определение: Параллелизм - это свойство объектов находиться в активном, либо пассивном состоянии.

3. Устойчивость – это свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и (или) в пространстве (перемещение объекта из адресного пространства, в котором он был создан {для многопроцессорных систем})

Основные принципы объектно-ориентированного подхода. Мы рассмотрели элементы объектно-ориентированного стиля. Выделяют также основные принципы объектно-ориентированного подхода, связанные с вышеперечисленными элементами: инкапсуляция, наследование и полиморфизм.

Инкапсуляция – объединение в данном элементе и данных, и способов их обработки. Можно определить данные, входящие в классы, и действия, которые могут выполняться над этими данными, как некоторую структуру–объект в системе, работающей согласно набору правил.

Наследование – сохранение, перенос атрибутов данных и выполняемых над ними операций от объекта к объекту. С помощью этого принципа строятся различные иерархии классов (простое наследование), а также смешанные классы (множественное наследование), когда некоторый новый класс одновременно наследует атрибуты и выполняемые над ними операции от нескольких базовых классов. При этом имеется возможность модифицировать «поведение» объектов.

Полиморфизм означает возможность единообразного обращения к объектам в тексте программы при сохранении уникальности их поведения. Этот принцип позволяет определять целый ряд объектов на основе одного базового класса и обращаться к ним единообразно при сохранении специфического поведения каждого из них. Так, операция сравнения различных объектов возмо… Продолжение »

Сделать бесплатный сайт с uCoz