Разработка автоматизированной справочной системы по основным элементам языка ассемблера

Особенности языка ассемблера. Классификация основных информационных систем. Выбор средств разработки автоматизированной справочной системы. Выбор средства проектирования и разработки приложения. Технические условия работы и порядок работы с программой.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 25.03.2013
Размер файла 222,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информационных технологий и компьютерной безопасности

Кафедра «Автоматизированных и вычислительных систем»

Специальность 230101 «Вычислительные машины, комплексы, системы и сети»

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Тема дипломной работы: «Разработка автоматизированной справочной системы по основным элементам языка ассемблера»

Пояснительная записка

Разработал Д.Э. Моисеенко

Зав. кафедрой С.Л. Подвальный

Руководитель М.Ю. Сергеев

Консультанты О.В. Беспалова

Н.В. Мозговой

Нормоконтроль провел Т.И. Сергеева

Воронеж 2013

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информационных технологий и компьютерной безопасности

Кафедра «Автоматизированных и вычислительных систем»

Специальность 230101 «Вычислительные машины, комплексы, системы и сети»

Студент группы ВМ-092

Моисеенко Диана Эдуардовна

ЗАДАНИЕ

1. Тема дипломной работы: «Разработка автоматизированной справочной системы по основным элементам языка ассемблера» утверждена распоряжением по факультету №_______от___________________г.

2. Технические условия: аппаратное обеспечение: класс компьютера не ниже Pentium III; требуемая операционная система не ниже MS Windows XP.

3. Содержание (разделы, графические работы, расчеты и проч.)

1) Особенности разработки автоматизированной справочной системы по основным элементам языка ассемблера

2) Выбор средств разработки автоматизированной справочной системы

3) Разработка информационного и программного обеспечения автоматизированной справочной системы

4) Руководство пользователя

5) Организационно-экономическая часть

6) Безопасность и экологичность

7) 8 демонстрационных плакатов

4. План выполнения дипломной работы

с «_____»____________________г. по «_____»____________________г.

Название элементов проектной работы

%

Сроки

%

выполн.

Подпись рук.,

консульт.

Постановка задачи и обзор методов решения

10

25.09.12

10

Сергеев М.Ю.

Разработка информационной и алгоритмической структуры программного обеспечения

20

15.10.12

30

Сергеев М.Ю.

Программная реализация автоматизированной справочной системы

30

20.11.12

60

Сергеев М.Ю.

Тестирование и отладка программного обеспечения

10

01.12.12

70

Сергеев М.Ю.

Организационно-экономическая часть

10

10.12.12

80

Беспалова О.В.

Безопасность и экологичность

10

20.12.12

90

Мозговой Н.В.

Составление пояснительной записки

10

30.12.12

100

Сергеев М.Ю.

Руководитель дипломной работы

Сергеев Михаил Юрьевич…...

5. Дипломная работа закончена

«_____»_________________г.____________________________________

6. Пояснительная записка и все материалы просмотрены

Оценка руководителя__________________________________________

Консультанты: Беспалова Ольга Витальевна

Мозговой Николай Васильевич………

7. Допустить дипломника Д.Э. Моисеенко ………………

к защите дипломного проекта, дипломной работы в Государственной аттестационной комиссии (протокол заседания кафедры № от «_____»____________г.)

8. Назначить защиту на « » января 2013 г.

Заведующий кафедрой С.Л. Подвальный

Декан факультета .

Реферат

Пояснительная записка - 110 страниц, 28 таблиц, 34 рисунка, 12 источников.

Ключевые слова - язык ассемблера, база данных, справочная система, методическое обеспечение.

Объект исследования и разработки - программа, предназначенная для формирования информационного обеспечения по основам программирования на языке ассемблера для выполнения лабораторных работ по дисциплине «Операционные системы».

Целью данной дипломной работы является разработка автоматизированной справочной системы по основным элементам языка ассемблера.

Метод исследования и аппаратура - персональный компьютер с операционной системой Windows XP, среда разработки Borland Delphi 7.0.

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

Основные конструктивные, технологические и технолого-эксплуатационные характеристики - ПК (IBM-совместимый), класс компьютера - не ниже Pentium 4, ОЗУ 512 Mb, требуемая операционная система - MS Windows XP/Vista/7, СУБД MS Access 2003 и выше.

Степень внедрения - программа находится в опытной эксплуатации на кафедре АВС.

Область применения - предназначена для помощи студентам при выполнении лабораторных работ по дисциплине «Операционные системы».

Содержание

  • Реферат
  • Введение
  • 1. Особенности разработки автоматизированной справочной системы по основным элементам языка ассемблера
    • 1.1. Особенности языка ассемблера
    • 1.2 Классификация информационных систем
    • 1.3 Постановка задачи
  • 2. Выбор средств разработки автоматизированной справочной системы
    • 2.1 Выбор средства проектирования и разработки СУБД
    • 2.2 Выбор средства проектирования и разработки приложения
  • 3. Разработка информационного и программного обеспечения автоматизированной справочной системы
    • 3.1 Информационная структура справочной системы
    • 3.2 Программное обеспечение автоматизированной справочной системы
  • 4. Руководство пользователя
    • 4.1 Технические условия работы и порядок работы с программой
    • 4.2 Запуск программы
    • 4.3 Формы для ввода данных
    • 4.4 Просмотр данных
    • 4.5 Поиск данных
    • 4.6 Просмотр отчетов.
    • 4.7 Просмотр сведений о программе и завершение работы
  • 5. Организационно-экономическая часть
    • 5.1 Обоснование необходимости и актуальности разработки программного продукта
    • 5.3 Определение состава исполнителей
    • 5.4 Расчет сметной стоимости и договорной цены разработки ПП
    • 5.5 Расчет трудоемкости сопровождения ПП
    • 5.6 Определение стоимости сопровождения ПП
    • 5.7 Планирование цены ПП
    • 5.8 Анализ конкурентоспособности и качества разрабатываемого программного продукта
      • 5.8.1 Анализ технической прогрессивности разрабатываемого ПП
      • 5.8.2 Анализ изменения функциональных возможностей разрабатываемого ПП
      • 5.8.3 Анализ соответствия разрабатываемого программного продукта нормативам
      • 5.8.4 Анализ экономических показателей разрабатываемого ПП
      • 5.8.5 Оценка конкурентоспособности ПП
    • 5.9 Анализ технико-экономических показателей разработки и эксплуатации ПП
  • 6. Безопасность и экологичность
    • 6.1 Опасные и вредные факторы
      • 6.1.1 Возможность поражения электрическим током
      • 6.1.2 Воздействие электромагнитного излучения
    • 6.2 Методы защиты от опасных и вредных факторов
      • 6.2.1 Недостаточное освещение рабочих зон
      • 6.2.2 Защита от опасного уровня напряжения в электрической цепи
      • 6.2.3 Защита от электромагнитного и инфракрасного излучения
    • 6.3 Расчет искусственного освещения
    • 6.4 Противопожарная защита рабочего места
    • 6.5 Экологичность
      • 6.5.1 Анализ влияния на окружающую среду
      • 6.5.2 Методы защиты окружающей среды
  • Заключение
  • Список литературы

Введение

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

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

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

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

Данная система должна хранить следующую информацию:

- теоретические сведения о языке ассемблера, разбитые на статьи, разделы и темы;

- справочник по командам и операторам языка ассемблера;

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

Информация должна быть хорошо структурирована и взаимосвязана между собой. Это предполагает наличие в разрабатываемой системе реляционной базы данных, созданной средствами одной из современных СУБД.

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

1. Особенности разработки автоматизированной справочной системы по основным элементам языка ассемблера

1.1 Особенности языка ассемблера

Язык ассемблера является машинно-ориентированным языком низкого уровня с командами, обычно соответствующими командам машины. Язык ассемблера можно трактовать как систему обозначений, используемую для представления в удобочитаемой форме программ, записанных в машинном коде. Язык ассемблера позволяет программисту пользоваться алфавитными мнемоническими кодами операций, по своему усмотрению присваивать символические имена регистрам ЭВМ и памяти, а также задавать удобные для себя схемы адресации (например, индексную или косвенную). Кроме того, он позволяет использовать различные системы счисления (например, десятичную или шестнадцатеричную) для представления числовых констант и даёт возможность помечать строки программы метками с символическими именами с тем, чтобы к ним можно было обращаться (по именам, а не по адресам) из других частей программы (например, при выполнении команд условных и безусловных переходов) [10].

Перевод программы на языке ассемблера в исполняемый машинный код производится ассемблером - программой-транслятором, которая и дала языку ассемблера его название.

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

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

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

Каждая модель (или семейство) процессоров имеет свой набор - систему команд и соответствующий ему язык ассемблера. Наиболее популярные синтаксисы языков ассемблера - Intel-синтаксис и AT&T-синтаксис.

Язык ассемблера имеет следующие достоинства [1]:

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

- скорость работы - за счёт оптимизации вычислительного алгоритма и/или более рационального обращения к ОП, перераспределения данных;

- объем кода - сокращение объема кода также нередко повышает скорость выполнения программы;

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

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

- язык ассемблера часто применяется для создания драйверов оборудования и ядра операционной системы (или машиннозависимых подсистем ядра ОС);

- язык ассемблера используется для создания «прошивок» BIOS;

- с помощью языка ассемблера часто создаются машиннозависимые подпрограммы компиляторов и интерпретаторы языков высокого уровня, а также реализуется совместимость платформ;

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

К недостаткам языка ассемблера относятся [1]:

- в силу машинной ориентации («низкого» уровня) языка ассемблера человеку сложнее читать и понимать программу на нем по сравнению с языками программирования высокого уровня;

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

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

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

- отсутствует переносимость программ на компьютеры с другой архитектурой и системой команд.

На языке ассемблера пишут программы или их фрагменты в тех случаях, когда критически важны:

- быстродействие (драйверы, игры);

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

С использованием программирования на языке ассемблера производятся [10].

1 Оптимизация критичных к скорости участков программ в программах на языках высокого уровня, таких как C++ или Pascal. Это особенно актуально для игровых приставок, имеющих фиксированную производительность, и для мультимедийных кодеков, которые стремятся делать менее ресурсоёмкими и более быстрыми.

2 Создание операционных систем (ОС) или их компонентов. В настоящее время подавляющее большинство ОС пишут на более высокоуровневых языках (в основном на Си - языке высокого уровня, который специально был создан для написания одной из первых версий UNIX). Аппаратно зависимые участки кода, такие как загрузчик ОС, уровень абстрагирования от аппаратного обеспечения (HAL - hardware abstraction layer) и ядро, часто пишутся на языке ассемблера. Фактически, ассемблерного кода в ядрах Windows или Linux совсем немного, поскольку авторы стремятся обеспечить переносимость и надёжность, но, тем не менее, он там присутствует.

3 Программирование микроконтроллеров (МК) и других встраиваемых процессоров.На сегодняшний день для программирования МК весьма часто применяют язык ассемблера (хотя и в этой области широкое распространение получают языки вроде Си).

4 Создание драйверов. Некоторые части драйверов программируют на языке ассемблера.

5 Создание антивирусов и других защитных программ.

6 Написание трансляторов языков программирования.

Синтаксис языка ассемблера определяется системой команд конкретного процессора.

Типичными командами языка ассемблера являются (применительно к Intel-синтаксису архитектуры x86) [1]:

- команды пересылки данных (mov и др.);

- арифметические команды (add, sub, imul и др.);

- логические и побитовые операции (or, and, xor, shr и др.);

- команды управления ходом выполнения программы (jmp, loop, ret и др.);

- команды вызова прерываний (int);

- команды ввода/вывода в порты (in, out).

Также для языка ассемблера характерны команды, выполняющие проверку и переход по условию, например:

jcxz -- перейти, если содержимое регистра CX равно 0;

jz - перейти, если флаг нуля (ZF) установлен в 1.

Типичный формат записи команд:

[метка:] мнемокод [операнды] [;комментарий]

где мнемокод - непосредственно мнемоника инструкции процессору. К ней могут быть добавлены префиксы (повторения, изменения типа адресации и пр.).

В качестве операндов могут выступать константы, адреса регистров, адреса в оперативной памяти и пр. Различия между синтаксисом Intel и AT&T касаются в основном порядка перечисления операндов и указания различных методов адресации.

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

- определение данных (констант и переменных);

- управление организацией программы в памяти и параметрами выходного файла;

- задание режима работы компилятора;

- всевозможные абстракции (то есть элементы языков высокого уровня) - от оформления процедур и функций (для упрощения реализации парадигмы процедурного программирования) до условных конструкций и циклов (для парадигмы структурного программирования);

- макросы.

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

1.2 Классификация информационных систем

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

Под информационной системой обычно понимается прикладная программная подсистема, ориентированная на сбор, хранение, поиск и обработку текстовой и/или фактографической информации [2]. Подавляющее большинство информационных систем работает в режиме диалога с пользователем.

Информационные системы классифицируются по разным признакам. Наиболее часто используемыми способами классификации являются [2]:

- классификация по масштабу;

- классификация по сфере применения;

- классификация по способу организации.

Классификация по масштабу

По масштабу информационные системы подразделяются на следующие группы:

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

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

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

Классификация по сфере применения

По сфере применения информационные системы обычно подразделяются на четыре группы (рисунок 1.1):

- системы обработки транзакций;

- системы принятия решений;

- информационно-справочные системы;

- офисные информационные системы.

Рисунок 1.1 - Деление информационных систем по сфере применения

Классификация по способу организации

По способу организации групповые и корпоративные информационные системы подразделяются на следующие классы:

- системы на основе архитектуры файл-сервер;

- системы на основе архитектуры клиент-сервер;

- системы на основе многоуровневой архитектуры;

- системы на основе Интернет/интранет-технологий.

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

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

Архитектура клиент-сервер предназначена для разрешения проблем файл-серверных приложений путем разделения компонентов приложения и размещения их там, где они будут функционировать наиболее эффективно. Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL (Structured Query Language) и выполняющих поиск, сортировку и агрегирование информации.

Отличительная черта серверов БД - наличие справочника данных, в котором записана структура БД, ограничения целостности данных, форматы и даже серверные процедуры обработки данных по вызову или по событиям в программе. Объектами разработки в таких приложениях помимо диалога и логики обработки являются, прежде всего, реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов к базе данных.

Большинство конфигураций клиент-сервер использует двухуровневую модель, в которой клиент обращается к услугам сервера. Двухуровневое определение архитектуры клиент-сервер использует вариант: приложение работает у клиента, СУБД - на сервере.

В настоящее время архитектура клиент-сервер получила признание и широкое распространение как способ организации приложений для рабочих групп и информационных систем корпоративного уровня. Подобная организация работы повышает эффективность выполнения приложений за счет использования возможностей сервера БД, разгрузки сети и обеспечения контроля целостности данных.

Многоуровневая архитектура стала развитием архитектуры клиент-сервер и в своей классической форме состоит из трех уровней:

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

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

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

Подобную концепцию обработки данных пропагандируют, в частности, фирмы Oracle, Sun, Borland и др.

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

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

Благодаря интеграции Интернет/интранет-технологии и архитектуры клиент-сервер процесс внедрения и сопровождения корпоративной информационной системы существенно упрощается при сохранении достаточно высокой эффективности и простоты совместного использования информации.

1.3 Постановка задачи

Цель данной дипломной работы - создание специальной справочной системы, обеспечивающей хранение, поиск и коррекцию информации, необходимой для прохождения практического курса по дисциплине «Операционные системы».

Данная система должна хранить следующую информацию:

- теоретические сведения о языке ассемблера, разбитые на статьи, разделы и темы;

- справочник по командам и операторам языка ассемблера;

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

Информация должна быть хорошо структурирована и взаимосвязана между собой. Это предполагает наличие в разрабатываемой системе реляционной базы данных, созданной средствами одной из современных СУБД.

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

- ввод и коррекция справочной информации по основным элементам языка ассемблера;

- удобный просмотр введенной информации;

- гибкая система поиска по различным параметрам (например, должна быть предусмотрена возможность найти информацию как и по какой-либо общей теме или разделу учебного курса, так и по конкретному оператору языка ассемблера);

- формирование отчетов на основе найденной информации с возможностью их печати.

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

2. Выбор средств разработки автоматизированной справочной системы

2.1 Выбор средства проектирования и разработки СУБД

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

От правильного выбора инструментальных средств создания информационных систем, определения подходящей модели данных, обоснования рациональной схемы построения базы данных, организации запросов к хранимым данным и ряда других моментов во многом зависит эффективность функционирования разрабатываемых систем [6].

На сегодняшний день, наиболее популярными СУБД являются следующие:

- Microsoft SQL Server;

- Oracle Database;

- Microsoft Access.

Microsoft SQL Server

Microsoft SQL Server - система управления реляционными базами данных, разработанная корпорацией Microsoft. Основной используемый язык запросов -Transact-SQL. Существует большое количество версий, различающихся по функциональному назначению и времени выпуска релиза. В данном отчете будет рассмотрена версия SQL Server 2008 R2 Standard Edition.

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

Microsoft SQL Server 2008 R2 в сочетании с Windows Server 2008 R2 помогает запускать базы данных на системах до 256 логических процессоров и переходить в виртуализированные дата-центры.

Microsoft SQL Server 2008 R2 предлагает мощные инструменты для персональной бизнес-аналитики, расширяющие возможности привычных инструментов Microsoft Excel 2010 и Microsoft SharePoint Server 2010. Модуль Power Pivot, который устанавливается как настройка для Microsoft Office Excel, позволяет загружать в Excel данные из любых внешних источников (ERP, CRM и других информационных систем), а также из собственных электронных таблиц. Пользователь может в удобном для него интерфейсе сам описывать эти данные в бизнес-терминах, задавать связи между ними, добавлять собственную информацию, формулы для расчета и т.д.

Microsoft SQL Server 2008 R2 также включает компонент Reporting Services (SSRS), с помощью которого можно создавать комплексные системы корпоративной отчетности, способные обслуживать тысячи пользователей. Средства создания отчетов предлагают инструмент для проектирования отчетов Report Designer, Report Builder и средства визуализации.

Встроенный OLAP-сервер с развитыми возможностями интеллектуального анализа (Data Mining) Microsoft SQL Server 2008 R2 Analysis Services позволяет проводить аналитику в режиме реального времени, обеспечивает логическое представление многомерных данных в бизнес-терминах. Также предлагается набор интеллектуальных алгоритмов для решения задач прогнозирования, выявления скрытых закономерностей и т.д.

Другим важным улучшением Microsoft SQL Server 2008 R2 является эффективный инструмент для централизованного управления нормативно-справочной информацией - служба Master Data Services (MDS). Он содержит необходимые инструменты для описания структуры справочников (состав показателей и их взаимосвязи), для импорта и экспорта данных из различных информационных систем, а также для первичного наполнения справочников данными в ручном режиме [3].

Oracle Database

Oracle Database - объектно-реляционная система управления базами данных компании Oracle. СУБД Oracle поставляется в четырех различных редакциях, ориентированных на различные сценарии разработки и развертывания приложений (а также отличающиеся ценой). В качестве примера в отчет будет рассмотрена версия Oracle Database 11g Standart Edition.

Oracle Database 11g - база данных, предназначенная для эффективного развертывания на базе различных типов оборудования, от небольших серверов до мощных симметричных многопроцессорных серверных систем, от отдельных кластеров до корпоративных распределенных вычислительных систем. СУБД предоставляет возможность автоматической настройки и управления, что делает ее использование простым и экономически выгодным.

Oracle Database 11g Standart Edition характеризуется мощью и выгодным соотношением цены и производительности для приложений масштаба рабочих групп, отдельных подразделений или приложений, работающих в среде Интернет/интранет. Работая в различных средах, начиная от односерверных конфигураций для малого бизнеса и заканчивая распределенными средами крупных филиалов, поддерживает работу мощных вычислительных систем с использованием технологии кластеризации сервисов Real Application Clusters.

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

Новые средства обеспечения управляемости в Oracle Database 11g включают автоматическую настройку SQL и области памяти, новый компонент Partitioning Advisor, предлагающий администраторам рекомендации по секционированию таблиц и индексов для повышения производительности, а также улучшенные средства диагностики производительности для кластерных баз данных. Кроме того, Oracle Database 11g включает новый компонент Support Workbench, который предлагает простой в использовании интерфейс, представляющий администраторам сведения о проблемах, возникающих при работе СУБД, вместе с информацией о том, как можно быстро решить эти проблемы [4].

Access

Microsoft Access - реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных. В данном отчете будут рассмотрены возможности Microsoft Office Access 2010.

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

СУБД Access для работы с данными использует процессор баз данных Microsoft Jet, объекты доступа к данным и средства быстрого построения интерфейса - Конструктор форм. Для получения распечаток используются Конструкторы отчетов. Автоматизация рутинных операций может быть выполнена с помощью макрокоманд. Когда не хватает функциональности визуальных средств пользователи Access могут обратиться к созданию процедур и функций. При этом как в макрокомандах можно использовать вызовы функций, так и из кода процедур и функций можно выполнять макрокоманды.

Несмотря на свою ориентированность на конечного пользователя в Access присутствует язык программирования Visual Basic for Application, который позволяет создавать массивы, свои типы данных, вызывать DLL-функции, с помощью OLE Automation контролировать работу приложений, которые могут функционировать как OLE -серверы. Можно целиком создавать базы данных с помощью кодирования, когда в этом появляется необходимость.

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

В состав Access 2010 входят инновационные средства, помогающие создавать профессионально выглядящие информативные формы и отчеты. Условное форматирование поддерживает гистограммы, добавленные темы Office позволяют управлять многочисленными объектами базы данных с помощью простейших операций и существенно упрощают форматирование. Усовершенствованный построитель выражений благодаря технологии IntelliSense существенно упрощает создание формул и выражений. Это сокращает количество ошибок и помогает сосредоточиться на разработке базы данных [5, 6].

В результате обзора в качестве СУБД для разрабатываемой информационной системы мною была выбрана СУБД Microsoft Access. Для разработки настольного приложения, рассчитанного на использование на стандартной рабочей станции, использование более сложных решений Microsoft SQL Server или Oracle Database является экономически нецелесообразным. Access обладает всеми необходимыми функциями для создания реляционной базы данных, которая будет являться основой разрабатываемой информационной системы.

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

2.2 Выбор средства проектирования и разработки приложения

Для разработки информационной системы необходима среда, поддерживающая средства разработки клиентских приложений с возможностью интеграции с базами данных. Для выбора наиболее оптимальной среды разработки рассмотрим преимущества и недостатки следующих систем: Sybase PowerBuilder, Borland C++ Builder и Borland Delphi.

Sybase PowerBuilder позволяет быстро и легко создавать традиционные 2-хзвенные приложения, распределённые приложения, Web-приложения и Smart-клиенты. Кроме того, данный продукт поможет легко развернуть уже существующие приложения на платформе .Net.

PowerBuilder предоставляет возможность выбора СУБД для которой разрабатывать, и платформы на которую распространять клиент/серверные, Smart Client или .Net Webform приложения. Создавать приложения для планшетных ПК, не имеющих постоянного подключения. Разрабатывая приложения для рабочих станций, Web-ориентированные или распределённые приложения, можно решить все задачи с использованием единого инструментария.

PowerBuilder поддерживает доступ к данным с помощью интерфейсов ODBC и OLE DB. Для доступа к СУБД Oracle, Informix и Sybase используются специализированные механизмы доступа к данным, базирующиеся на клиентских API этих СУБД [7].

Интегрированная среда C++ Builder обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.

C++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу качества профессионального уровня.

C++Builder предоставляет быстродействующий компилятор с языка Borland C++, эффективный инкрементальный загрузчик и гибкие средства отладки как на уровне исходных инструкций, так и на уровне ассемблерных команд - в расчете удовлетворить высокие требования программистов-профессионалов.

Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

Приложения Delphi могут осуществлять доступ к БД с использованием следующих механизмов:

- BDE (процессор баз данных фирмы Borland);

- ADO (объекты данных ActiveX) осуществляют доступ к информации с помощью OLE DB (связывание и внедрение объектов баз данных);

- dbExpress - обеспечивает быстрый доступ к информации в базе данных с помощью набора драйверов;

- InterBase - реализует непосредственный доступ к базам данных InterBase.

BDE (Borland Database Engine) - универсальный механизм доступа к данным, применяемый в средствах разработки фирмы Borland (а именно - Delphi и C++Builder), а также в некоторых других продуктах, например Corel Paradox, Corel Quattro Pro, Seagate Software Crystal Reports.

BDE - это наследник библиотеки Paradox Engine, созданной для Borland Pascal и Borland C++ с целью предоставить приложениям, разработанным с их помощью, доступ к таблицам СУБД Paradox. Вскоре после создания Paradox Engine компанией Borland было разработано несколько библиотек-драйверов под общим названием SQL Links. Эти библиотеки расширили функциональность BDE, позволив применять имевшийся в Paradox Engine набор функций для доступа к данным dBase, ODBC-источников, а также наиболее популярных серверных СУБД. Позже к этому набору были добавлены библиотеки для доступа к Access и FoxPro.

BDE был фактически единственным механизмом доступа к данным в Delphi и C++Builder, поддерживаемым на уровне компонентов, классов, а также визуальных компонентов для редактирования данных, вплоть до 5-й версии обоих продуктов - Delphi и C++Builder.

OLE DB и ADO - часть универсального механизма доступа к данным Microsoft (Microsoft Universal Data Access), позволяющая осуществить доступ как к реляционным, так и к нереляционным источникам данных, таким как файловая система, данные электронной почты, многомерные хранилища данных и др.

Microsoft ActiveX Data Objects (ADO) - это набор библиотек, содержащих COM-объекты, реализующие прикладной программный интерфейс для доступа к таким данным и используемые в клиентских приложениях. ADO использует библиотеки OLE DB, предоставляющие низкоуровневый интерфейс для доступа к данным. OLE DB предоставляет доступ к данным с помощью COM-интерфейсов. Можно также использовать OLE DB непосредственно, минуя ADO.

dbExpress был разработан, чтобы решить следующие 6 задач:

- минимизировать объем и количество используемых ресурсов;

- получить максимальную скорость работы;

- обеспечить кросс-платформенность;

- обеспечить легкость распространения;

- обеспечить легкость разработки драйверов;

- дать разработчику больше управления памятью и сетевым трафиком.

Драйверы dbExpress небольшие по объему и быстрые, потому что они обеспечивают достаточно небольшую функциональность. Каждый драйвер выполнен в виде dll (на платформе Windows) или как so (shared library на Linux). Драйвер dbExpress предоставляет пять интерфейсов для выборки метаданных, выполнения операторов SQL и хранимых процедур, и возможность чтения записей из выборки в одном направлении (unidirectional cursor). В это же время, при использовании с DataSetProvider и ClientDataSet, dbExpress предоставляет полнофункциональную, высокопроизводительную, многопользовательскую систему для работы с SQL-серверами баз данных.

InterBase - это масштабируемый высокопроизводительный SQL сервер баз данных, совершенный по простоте инсталляции, использования и обслуживания. Выпуск нескольких версий InterBase для операционных систем Windows, NT, NetWare и UNIX делает его независимым от платформы, что позволяет обеспечить надежную работу реляционных баз данных в рамках локальной компьютерной сети крупного отдела или фирмы [8, 9].

Следует заметить, что наряду с Delphi, практически идентичным набором компонент, реализующих вышеперечисленные механизмы работы с базами данных, обладает среда программирования Borland C++ Builder. Но данная среда не имеет никаких значительных преимуществ перед Borland Delphi, поэтому для разработки приложения, взаимодействующего с базой данных, следует выбрать Borland Delphi как уже освоенную на практических занятиях инструментальную систему программирования, позволяющую быстро и эффективно разрабатывать Windows-ориентированные программные средства различного назначения.

3. Разработка информационного и программного обеспечения автоматизированной справочной системы

3.1 Информационная структура справочной системы

Данная справочная система предназначена для хранения, поиска и коррекции информации, требуемой для прохождения практического курса по дисциплине «Операционные системы» и содержит в себе:

- справочник по командам и операторам языка ассемблера;

- теоретические сведения о языке ассемблера, разбитые на статьи, разделы и темы;

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

В разрабатываемой системе присутствует реляционная база данных, позволяющая:

- вводить и корректировать справочную информацию по основным элементам языка ассемблера;

- просматривать введенную информацию;

- проводить поиск по различным параметрам;

- формировать отчеты на основе найденной информации с возможностью их печати.

Такая база данных реализована посредством СУБД Access, а само приложение для работы с ней - с помощью языка программирования Delphi. База данных содержит следующие таблицы:

- «Операторы»;

- «Темы»;

- «Темы-операторы»;

- «Примеры»;

- «Операторы-примеры»;

- «Дополнительные материалы».

Таблица «Операторы» содержит исчерпывающую информацию по каждому оператору. Ее структура представлена в таблице 3.1.

Таблица 3.1 - Структура таблицы «Операторы»

Имя поля

(рус. название)

Имя поля

(англ. название)

Тип поля

Название оператора

Naz_p

Текстовый

Краткое описание

Kr_op

Текстовый

Тип операндов

Tip_p

Текстовый

Количество операндов

Kol_p

Числовой

Таблица «Темы» - содержит материалы по темам учебного курса дисциплины «Операционные системы», относящимся к программированию на языке ассемблера. Ее структура представлена в таблице 3.2.

Таблица 3.2 - Структура таблицы «Темы»

Имя поля

(рус. название)

Имя поля

(англ. название)

Тип поля

Номер темы

Nom_t

Счетчик

Название темы

Naz_t

Текстовый

Описание

Opisan

Текстовый

Ссылка на файл

linkt

Текстовый

Таблица «Темы-Операторы» - вспомогательная таблица, связывающая таблицы «Темы» и «Операторы» по номеру темы и названию оператора, позволяет идентифицировать оператор по теме и наоборот. Ее структура представлена в таблице 3.3.

Таблица 3.3 - Структура таблицы «Темы-Операторы»

Имя поля

(рус. название)

Имя поля

(англ. название)

Тип поля

Название оператора

Naz_p

Текстовый

Номер темы

Nom_t

Числовой

Таблица «Примеры» содержит примеры использования по каждому оператору. Ее структура представлена в таблице 3.4.

Таблица 3.4 - Структура таблицы «Примеры»

Имя поля

(рус. название)

Имя поля

(англ. название)

Тип поля

Номер примера

Nom_pr

Счетчик

Описание примера

Op_pr

Текстовый

Ссылка на файл

linkpr

Текстовый

Таблица «Операторы-Примеры» - вспомогательная таблица, связывающая таблицы «Операторы» и «Примеры» по названию оператора и номеру примера, позволяет соотнести искомый оператор с конкретным примером. Ее структура представлена в таблице 3.5.

Таблица 3.5 - Структура таблицы «Операторы-Примеры»

Имя поля

(рус. название)

Имя поля

(англ. название)

Тип поля

Название оператора

Naz_p

Текстовый

Номер примера

Nom_pr

Числовой

Таблица «Дополнительные материалы» содержит дополнительные материалы по темам, облегчающие процесс изучения. Ее структура представлена в таблице 3.6.

Таблица 3.6 - Структура таблицы «Дополнительные материалы»

Имя поля

(рус. название)

Имя поля

(англ. название)

Тип поля

Номер материала

Nom_m

Счетчик

Название материала

Naz_m

Текстовый

Краткое описание

Kr_op

Текстовый

Номер темы

Nom_t

Числовой

Ссылка на файл

linkm

Текстовый

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

Рис 3.1 - Схема данных информационной базы

3.2 Программное обеспечение автоматизированной справочной системы

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 3.2 - Структурная схема приложения на уровне модулей

В приложении модули разделены на следующие функциональные группы:

- ввод данных;

- просмотр данных;

- поиск данных;

- авторизация пользователя;

- справка.

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

Подсистема ввода данных состоит из следующих модулей:

- модуль ввода данных в таблицу «Операторы»;

- модуль ввода данных в таблицу «Темы»;

- модуль ввода данных в таблицу «Темы-Операторы»;

- модуль ввода данных в таблицу «Примеры»;

- модуль ввода данных в таблицу «Операторы-Примеры»;

- модуль ввод данных в таблицу «Дополнительные материалы».

Подсистема просмотра данных состоит из следующих модулей:

- модуль просмотра информации о темах практического курса;

- модуль просмотра информации о дополнительных материалах;

- модуль просмотра информации о примерах программ.

Подсистема поиска данных состоит из следующих модулей:

- модуль поиска операторов;

- модуль поиска тем;

- модуль поиска примеров;

- модуль поиска дополнительных материалов.

Подсистема авторизации пользователя состоит из модуля ввода пароля.

Подсистема справки состоит из модуля справки.

Общий порядок работы пользователя в приложении представлен на рисунке 3.3.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 3.3 - Порядок работы пользователя в приложении

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

После ввода пароля (или отказа от его ввода) на экран выводится главное окно программы. Через его элементы можно получить доступ к основным формам программы.

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

Пользователь, зашедший под паролем, может ввести (или скорректировать) следующие данные:

-сведения об операторах языка ассемблера;

- сведения о темах практического курса;

- сведения о примерах программ;

- сведения о дополнительных материалах;

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

- сведения о привязке примеров к операторам.

Пользователь-студент может просмотреть следующие данные:

- файлы с темами учебного курса;

- файлы с примерами программ;

- файлы с дополнительными материалами.

Также пользователь может осуществить поиск данных различного характера.

Критериями поиска могут являться:

- название оператора;

- название темы;

- описание примера;

- название дополнительного материала.

Также пользователь может посмотреть справку по программе.

Более подробно рассмотрим алгоритм работы модуля поиска.

На рисунке 3.4 представлен алгоритм выбора объекта поиска и формирования поискового запроса.

В самом начале пользователь может выбрать объект для поиска. Он может выбрать:

- оператор языка ассемблера;

- тему практического курса;

- пример работы того или иного оператора;

- дополнительный материал по интересующей его теме.

Также пользователь может отказаться от выбора объекта поиска и завершить работу.

После выбора объекта пользователь может ввести значение нужного критерия поиска (или выбрать его из списка имеющихся вариантов). Критерием поиска может являться имя объекта, а также имя связанной с объектом темы (в случае поиска оператора или материала) или оператора (в случае поиска примера или темы).

Заданное значение критерия подставляется в заранее сформированную заготовку SQL-запроса, после чего запрос запускается на выполнение. В зависимости от выбранного объекта поиск производится в различных таблицах базы данных: «Операторы» и «Темы - Операторы» в случае поиска темы или оператора; «Операторы» и «Примеры - Операторы» в случае поиска примера; «дополнительные материалы» в случае поиска материала.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.