Дипломная работа: Линия "Формализация и моделирование" учебного курса "Информатика"
Понятие «система» часто употребляется как в научных дисциплинах, так и в повседневной жизни. Примеров тому достаточно много: Солнечная система, периодическая система химических элементов, системы растений и животных, система образования, система транспорта, файловая система, операционная система и многое другое. Во многих случаях понятие системы считается интуитивно ясным. Однако для информатики оно является одним из фундаментальных и требует разъяснения.
Под системой понимается любой объект, состоящий из множества взаимосвязанных частей, и существующий как единое целое.
В информатике понятие «система» употребляется достаточно часто. Совокупность взаимосвязанных данных, предназначенных для обработки на компьютере — система данных. Совокупность взаимосвязанных программ определенного назначения — программные системы (ОС, системы программирования, пакеты прикладных программ и др.). Информационные системы — одно из важнейших приложений компьютерных технологий.
Основным методическим принципом информационного моделирования является системный подход, согласно которому всякий объект моделирования рассматривается как система. Из всего множества элементов, свойств и связей выделяются лишь те, которые являются существенными для целей моделирования. В этом и заключается сущность системного анализа. Задача системного анализа, который проводит исследователь — упорядочить свои представления об изучаемом объекте, для того чтобы в дальнейшем отразить их в информационной модели.
Сама информационная модель представляет собой также некоторую систему параметров и отношений между ними. Эти параметры и отношения могут быть представлены в разной форме: графической, математической, табличной и др. Таким образом, просматривается следующий порядок этапов перехода от реального объекта к информационной модели:
Реальный объект | è | Системный анализ | è | Система данных, существенных для моделирования | è | Информационная модель |
Важной характеристикой всякой системы является ее структура. Структура — это определенный порядок объединения элементов, составляющих систему. Другой вариант определения, встречающийся в литературе: структура — это множество связей между элементами системы. Наиболее удобным и наглядным способом представления структуры систем являются графы. Описываются основные правила представления графов, вводятся понятия вершина, дуга, ребро, ориентированный граф, дерево, сеть. Обычно у учащихся не вызывает проблем понимание схем, представленных в форме графа: граф родственных связей, граф системы связанных между собой населенных пунктов и др.
Важной разновидностью графов являются деревья. Дерево — это графическое представление иерархической структуры системы. Обычно это системы, между элементами которых установлены отношения подчиненности или вхождения друг в друга: системы власти, административные системы, системы классификации в природе и др. Ученики знакомы с понятием «дерево» применительно к системе файлов на дисках компьютера. Многим из них известен смысл понятия «родословное дерево».
Подводя итог, можно сказать, что второй уровень изучения темы «Введение в информационное моделирование» более подробно раскрывает суть системного анализа, знакомит учащихся с таким важным инструментом формализации, как графы.
Третий, углубленный уровень изучения общих вопросов моделирования можно характеризовать как переход от ознакомительного обучения к выработке навыков активного использования методов системного анализа.
Дидактические цели:
• Научить учеников рассматривать окружающие объекты как системы взаимосвязанных элементов; осознавать, в чем проявляется системный эффект в результате объединения отдельных элементов в единое целое.
• Раскрыть смысл модели «черного ящика». Этот подход характерен для кибернетики и применяется он в тех случаях, когда внутреннее устройство системы не раскрывается, а система рассматривается лишь с точки зрения ее взаимодействия с окружающей средой. В таком случае основными понятиями, характеризующими систему, являются не ее состав и структура, а ее «входы» и «выходы».
• Дать представление о некоторых методах системного анализа, в частности, декомпозиции, классификации.
• Научить читать информационные модели, представленные в виде графов и строить граф-модели.
• Научить учеников разбираться в различных типах таблиц, подбирать наиболее подходящий тип таблицы для организации данных, грамотно оформлять таблицы.
Содержательная линия формализации и моделирования выполняет в базовом курсе информатики важную педагогическую задачу: развитие системного мышления учащихся. Эффективная работа с большими объемами информации невозможна без навыков ее систематизации. Компьютер предоставляет пользователю удобные инструменты для этой работы, но систематизацию данных пользователь должен выполнять сам.
Информационное моделирование — это прикладной раздел информатики, связанный с самыми разнообразными предметными областями: техникой, экономикой, естественными и общественными науками и пр. Поэтому практическим решением задач моделирования занимаются специалисты в соответствующих областях. В рамках школьного курса информатики информационное моделирование может быть предметом профильного курса, смежного с другими школьными дисциплинами: физикой, биологией, экономикой и др. Базовый курс информатики дает лишь начальные понятия о моделировании, систематизации данных, знакомит с компьютерными технологиями, применяемыми для информационного моделирования.
Линия моделирования и базы данных
Изучаемые вопросы:
• Признаки компьютерной информационной модели.
• Является ли база данных информационной моделью.
• Задачи, решаемые на готовой базе данных.
• Проектирование базы данных (БД) задача для углубленного курса.
Общая схема этапов решения практической задачи на ЭВМ методами информационного моделирования выглядит следующим образом (рис. 1):
Два первых этапа относятся к предметной области решаемой задачи. На третьем этапе происходит выбор подходящего инструментального средства в составе программного обеспечения ЭВМ для реализации модели. Такими средствами могут быть: электронные таблицы, СУБД, системы программирования, математические пакеты, специализированные системы моделирования общего назначения или ориентированные на данную предметную область. В базовом курсе информатики изучаются первые три из перечисленных программных средств.
Основные признаки компьютерной информационной модели:
• наличие реального объекта моделирования;
• отражение ограниченного множества свойств объекта по принципу целесообразности;
• реализация модели с помощью определенных компьютерных средств;
• возможность манипулирования моделью, активного ее использования.
Ответ на вопрос: «является ли база данных информационной моделью?» будем искать, исходя их сформулированных выше критериев.
Первый критерий: наличие предметной области, некоторого реального объекта (системы), к которым относится БД, практически всегда выполняется. Например, если в БД содержатся сведения о книгах в библиотеке, значит, объектом моделирования является книжный фонд библиотеки. Если БД содержит анкетные данные сотрудников предприятия, значит, она моделирует кадровый состав этого предприятия. Если в БД хранятся сведения о результатах сдачи экзаменов абитуриентами в институт, следовательно, она моделирует процесс вступительных экзаменов и т. п.
Удовлетворение второму критерию также несложно обосновать. Каждый из моделируемых объектов (как перечисленные выше, так и любые другие) обладает гораздо большим числом свойств, характеристик, атрибутов, чем те, что отражены в БД. Отбор атрибутов, включаемых в БД, происходит в процессе проектирования базы, когда главным критерием является критерий целесообразности, т. е. соответствия цели создания БД, требованиям к ее последующим эксплуатационным свойствам. Например, в БД книжного фонда библиотеки не имеет смысла вносить такие характеристики книги, как ее вес, адрес типографии, где была напечатана книга, годы жизни автора и пр.
Третий критерий, очевидно, выполняется, поскольку речь идет о компьютерной базе данных, созданной в среде некоторой СУБД.
База данных — не «мертвое хранилище» информации. Она создается для постоянного, активного использования хранящейся в ней информации. Прикладные программы или СУБД, обслуживающие базу данных, позволяют ее пополнять, изменять, осуществлять поиск информации, сортировку, группировку данных, получение отчетных документов и пр. Таким образом, четвертый критерий компьютерной информационной модели также справедлив для БД.
В рамках обсуждаемой темы перед учителем информатики стоят две педагогические задачи: научить использовать готовые информационные модели; научить разрабатывать информационные модели. В минимальном варианте изучения базового курса предпочтение отдается первой задаче. В таком варианте ученикам могут быть предложены задачи следующего типа: имеется готовая база данных; требуется осуществить поиск нужной информации;
выполнить сортировку данных по некоторому ключу; сформировать отчет с нужной информацией. Решение этой задачи не требует вмешательства в готовую модель.
Другой тип задач: расширить информационное содержание базы данных. Например, имеется реляционная база данных, содержащая сведения о книгах в библиотеке:
БИБЛИОТЕКА (НОМЕР, ШИФР, АВТОР, НАЗВАНИЕ)
Требуется изменить структуру БД таким образом, чтобы из нее можно было узнать, находится ли книга в настоящее время в библиотеке, и если книга выдана, то когда и кому.
Новые цели требуют внесения изменений в модель, в структуру базы данных. Ученики должны спланировать добавление новых полей, определить их типы. Решение может быть таким: после добавления полей база данных будет иметь следующую структуру:
БИБЛИОТЕКА (НОМЕР, ШИФР, АВТОР, НАЗВАНИЕ, НАЛИЧИЕ, ЧИТАТЕЛЬ, ДАТА)
Здесь добавлены поля:
— НАЛИЧИЕ — поле логического типа; принимает значение True, если книга находится в библиотеке, и значение False, если выдана читателю;
— ЧИТАТЕЛЬ — поле числового (или символьного) типа; содержит номер читательского билета человека, взявшего книгу;
— ДАТА — поле типа «дата»; указывает день выдачи книги.
Несмотря на все сказанное выше, не следует преувеличивать в интерпретации каждого задания на работу с базой данных, как задачи моделирования. И на минимальном уровне изучения темы можно предлагать ученикам простые задачи на разработку баз данных, решение которых очевидно. К числу таких задач, например, относится задача разработки баз данных типа записной книжки с адресами знакомых, телефонного справочника и пр.
Проектирование баз данных. Проектирование базы данных заключается в теоретическом построении информационной модели определенной структуры. Известны три основные структуры, используемые при организации данных в БД: иерархическая (деревья), сетевая и табличная (реляционная). В последнее время чаще всего создаются БД реляционного типа. Доказано, что табличная структура является универсальной и может быть применена в любом случае. В базовом курсе информатики изучаются базы данных реляционной структуры.
Если объект моделирования представляет собой достаточно сложную систему, то проектирование БД становится нетривиальной задачей. Для небольших учебных БД ошибки при проектировании не столь существенны. Но если создается большая база, в которой будут сохраняться многие тысячи записей, то ошибки при проектировании могут стоить очень дорого. Основные последствия неправильного проектирования — избыточность информации, ее противоречивость, потеря целостности, т.е. взаимосвязи между данными. В результате БД может оказаться неработоспособной и потребовать дорогостоящей переделки.
Теория реляционных баз данных была разработана в 1970-х гг. Е.Коддом. Он предложил технологию проектирования баз данных, в результате применения которой в полученной БД не возникает отмеченных выше недостатков. Сущность этой технологии сводится к приведению таблиц, составляющих БД, к третьей нормальной форме. Этот процесс называется нормализацией данных: сначала все данные, которые планируется включить в БД, представляются в первой нормальной форме, затем преобразуются ко второй и на последнем шаге — к третьей нормальной форме. Проиллюстрируем процесс нормализации данных на примере.
Ставится задача: создать БД, содержащую сведения о посещении пациентами поликлиники своего участкового врача. Сначала строится одна таблица, в которую заносятся фамилия пациента, его дата рождения, номер участка, к которому приписан пациент, фамилия участкового врача, дата посещения врача и установленный диагноз болезни. Ниже приведен пример такой таблицы.
Таблица 2
БД «Поликлиника»
Фамилия пациента | Дата рождения | Номер участка | Фамилия врача | Дата посещения | Диагноз |
Лосев О.И. | 20.04.65 | 2 | Петрова О.И. | 11.04.98 | грипп |
Орлова Е.Ю. | 25.01.47 | 1 | Андреева И. В. | 05.05.98 | ОРЗ |
Лосев О.И. | 20.04.65 | 2 | Петрова О.И. | 26.07.98 | бронхит |
Дуров М.Т. | 05.03.30 | 2 | Петрова О.И. | 14.03.98 | стенокардия |
Жукова Л. Г. | 30.01.70 | 2 | Петрова О.И. | 11.04.98 | ангина |
Орлова Е.Ю. | 25.01.47 | 1 | Андреева И. В. | 11.07.98 | гастрит |
Быкова А.А. | 01.04.75 | 1 | Андреева И. В. | 15.06.98 | ОРЗ |
Дуров М.Т. | 05.03.30 | 2 | Петрова О.И. | 26.07.98 | ОРЗ |
Нетрудно понять недостатки такой организации данных. Во-первых, очевидна избыточность информации: повторение даты рождения одного и того же человека, повторение фамилии врача одного и того же участка. В такой БД велика вероятность иметь недостоверные, противоречивые данные. Например, если на втором участке сменится врач, то придется просматривать всю базу и вносить изменения во все записи, относящиеся к этому участку. При этом велика вероятность что-то пропустить. После каждого нового посещения пациентом больницы потребуется снова вводить его дату рождения, номер участка, фамилию врача, т.е. информацию, уже существующую в БД.