Все наиболее распространенные методологии структурного подхода базируются на ряде общих принципов [45]. В качестве двух базовых принципов используются следующие:
- принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения;
- принцип иерархического упорядочивания - принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Выделение двух базовых принципов не означает, что остальные принципы являются второстепенными, поскольку игнорирование любого из
них может привести к непредсказуемым последствиям (в том числе и к провалу всего проекта). Основными из этих принципов являются следующие:
- принцип абстрагирования - заключается в выделении существенных аспектов системы и отвлечения от несущественных;
- принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы;
- принцип непротиворечивости - заключается в обоснованности и согласованности элементов;
- принцип структурирования данных - заключается в том, что данные должны быть структурированы и иерархически организованы.
В структурном анализе используются в основном две группы средств, иллюстрирующих функции, выполняемые системой и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными среди которых являются следующие:
- SADT (Structured Analysis and Design Technique) модели и соответствующие функциональные диаграммы ;
- DFD (Data Flow Diagrams) диаграммы потоков данных ;
- ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь";
- STD (State Transition diagrams) диаграммы переходов состояний.
На стадии проектирования модели расширяются, уточняются и дополняются диаграммами, отражающими структуру программного обеспечения.
Перечисленные модели в совокупности дают полное описание системы независимо от того, является ли она существующей или вновь разрабатываемой. Состав диаграмм в каждом конкретном случае зависит от необходимой полноты описания системы.
1.6.1.1 Функциональная модель программного комплекса
Разработка функциональной модели программного комплекса сводится к разработке:
- общего алгоритма работы;
- DFD - диаграммы;
- SADT – диаграммы;
- STD – диаграммы.
Рассмотрим вышеперечисленные элементы более подробно.
1 Обобщенный алгортим работы программного комплекса.
Работу программного комплекса нужно рассматривать в двух направлениях:
- процесс создания обучающего курса;
- процесс обучения.
2 Диаграммы потоков данных.
В ходе изучения предметной области были выделены внешние сущности, процессы и потоки данных. Все они описаны в таблицах 1.3, 1.4, 1.5 соответственно.
Таблица 1.3 – Внешние сущности контекстной диаграммы
Наименование сущности | Краткое описание |
Перподаватель | Сущность, составляющая обучающий материал. |
Ученик | Сущность, которая выполняет запросы на обучение и обучается с помощью электронной системы. |
Таблица 1.4 – Процессы контекстной диаграммы
Наименование процесса | Краткое описание |
Обучить с помощью электронной системы | Процесс, выполняющий обучение при помощи электронной системы. |
Таблица 1.5– Потоки, представленные на контекстной диаграмме
Наименование потока | Описание |
Обучение | Представляет собой обучающую информацию, выдаваемую ученику. |
Запрос на обучение | Поток, указывающий какую информацию показывать. |
Обучающий материал | Материал, наполняющий курс обучения. |
Результат обучения | Информация о результатах обучения. |
Сама контекстная диаграмма приведена на рисунке .1.4
Рисунок 1.4 –Контекстная DFD – диаграмма
Детализирующая диаграмма более подробно описывает процессы и потоки данных разрабатываемой или существующей системы. Для разрабатываемого программного комплекса бала разработана контекстная диаграмма, чтобы более точно определить процессы и потоки данных системы. Описание процессов детализирующей диаграммы приведено в таблице 1.6.
Таблица 1.6 – Процессы детализирующей диаграммы
Наименование процесса | Описание |
1.1 Создать курс обучения | Предусматривает ввод обучающего материала в соответствии с определенной структурой его хранения |
1.2 Обеспечить обучение дисциплине | Предусматривает обучение дисциплине. Выдача необходимой информации на определенные запросы пользователя. |
1.3 Обеспечить контроль обучения | Данный процесс заключается в контроле знаний по пройденному материалу |
Кроме того, на детализирующей диаграмме присутствуют хранилища обучающего материала и базы по контролю материала.
Сама детализирующая диаграмма приведена на рисунке 1.5
Процесс 1.1 на рисунке 1.5 должен обеспечить заполнение информационной базы учебным материалом. Входной поток “Обучающий материал” является управляющим для процесса, так как формирует наполнение материала. Процесс заполняет потоком “Материал” хранилище. “Хранилище 1” – представляет собой базу данных, которая хранит учебный материал.
Заполненное хранилище представляет собой входную информацию для процесса 1.2 на рисунке 1.5. Этот процесс должен обеспечить обучение, используя информацию из хранилища. На процесс воздействует управляющий поток “Запрос на обучение”, и процесс формирует выходной поток “Обучение” в зависимости от поступающей управляющей информации.
Процесс 1.3 на рисунке 1.5 контролирует обучение дисциплине. Входным потоком является информация из хранилища. “Хранилище 2” наполняется потоком “Материал”, который формирует процесс 1.1 на рисунке 1.5.
Рисунок 1.5 – Детализирующая DFD - диаграмма
3 SADT – диаграммы.
Представленная на рисунке 1.6 контекстная SADT-диаграмма четко и ясно определяет входные данные для разрабатываемого программного комплекса, выходные данные, требования к программному комплексу.
На диаграмме активность А1 формирует структурированный материал. Исполнителем является преподаватель. Активность А2 выводит обучающий материал, получив на входе структурированный материал. Активность А3 контролирует полученные знания и результаты контроля возвращает как условия для активности А1.
Рисунок 1.6 – SADT - диаграмма4 STD – диаграмма.
STD – диаграмма моделирует последующее функционирование системы на основе ее предыдущего и текущего функционирования. Система находится в одном из состояний. Во времени она меняет состояние, причем все переходы должны быть четко определены.
STD – диаграмма программного комплекса изображена на рисунке 1.7.
1.6.1.2 Информационная модель программного комплекса
ER – диаграмма представлена на рисунке 1.8
Логическая модель программного комплекса представлена на рисунке А.1 приложения А.
К информационному обеспечению комплекса относятся спецификация входной и выходной информации, способы ее представления и прочее.
Информация, хранимая программным комплексом, представляет собой таблицы Paradox.
Техническое обеспечение комплекса представляет собой совокупность аппаратных средств, используемых во время работы. При минимальной конфигурации к ним относятся монитор, клавиатура, манипулятор типа мышь и системный блок, содержащий основные компоненты персональной ЭВМ, такие как:
- процессор, выполняющий функцию распределения заданий между другими компонентами ЭВМ и выполняющий почти все вычисления;
- материнская плата, в современном исполнении содержащая основные контроллеры и имеющая слоты расширения, для подключения процессора, а также других компонент;
- оперативная память, выполняющая функции кратковременного хранения информации между расчетами;
- винчестер, выполняющий функцию долговременного хранения информации; почти все современные операционные системы требуют его наличие;
- дисковод, выполняющий функцию, схожую с функцией первого с тем лишь отличием, что он позволяет переносить информацию между компьютерами посредством дискет;
- видеокарта, выполняющая функции связанные с преобразованием информации в аналоговый сигнал для отображения монитором.
Для работы программы необходимо наличие персональной ЭВМ, обладающей ниже перечисленными характеристиками. Объем оперативной памяти должен быть не менее 64МБ, процессор должен быть не ниже Pentium 166. Наличие свободного места на жестком диске в размере не менее 30МБ. Необходим также монитор SVGA, мышь, клавиатура.
Следует заметить, что все вышеперечисленные требования в основном определяются операционной системой, под управлением которой должен будет работать программно-методический комплекс.