Особенности разработки автоматизированной справочной системы по основным элементам языка ассемблера, анализ среды Borland Delphi 7.0. Способы определения трудоемкости разработки программного продукта: этапы расчета сметной стоимости, планирование цены.
При низкой оригинальности работы "Разработка автоматизированной справочной системы по основным элементам языка ассемблера", Вы можете повысить уникальность этой работы до 80-100%
Объект исследования и разработки - программа, предназначенная для формирования информационного обеспечения по основам программирования на языке ассемблера для выполнения лабораторных работ по дисциплине «Операционные системы». Целью данной дипломной работы является разработка автоматизированной справочной системы по основным элементам языка ассемблера. Полученные результаты и их новизна - программа «Справочная система по основным элементам языка ассемблера», предназначенная для взаимодействия с базой данных и осуществляющая весь необходимый набор операций с учебно-методическим обеспечением.В результате выполнения дипломной работы была разработана программа «Справочная система по основным элементам языка ассемблера», которая предназначается для ввода, коррекции и просмотра информации по методам и приемам программирования на языке ассемблера, а также для поиска данных по различным критериям.
Введение
В большинстве современных технических вузов существуют направления, внутри которых наличествуют профили и специальности, осуществляющие подготовку студентов в области информационных технологий. Значительную часть учебного курса данных профилей и специальностей составляют дисциплины, посвященную изучению различных языков программирования и инструментальных сред разработки.
Среди языков программирования, изучаемых в вузах, особое место занимает язык ассемблера. Знакомство с данным языком программирования является неотъемлемой частью подготовки профессионального программиста, поскольку лучше позволяет понять принципы работы ЭВМ, операционных систем и трансляторов с языков высокого уровня, позволяет разрабатывать высокоэффективные программы.
Студенты профиля «Вычислительные машины, комплексы, системы и сети» изучают язык ассемблера в рамках практического курса дисциплины «Операционные системы». Выполнение лабораторных работы в рамках этой дисциплины требует изучения достаточно большого объема информации, касающихся не только алфавита, команд и синтаксиса языка, но и особенностей строения персонального компьютера (регистры процессора, оперативная память, организация хранения данных и т.д.). Данная информация дается в рамках теоретического курса в достаточно сокращенном виде, т.к. основное вниманию уделяется принципам проектирования и функционирования современных операционных систем, а также особенностям их архитектуры. Поэтому для выполнения лабораторных работ студентам требуется значительная информационная поддержка.
Одним из вариантов решения данной проблемы является создание специальной справочной системы, обеспечивающей хранение, поиск и коррекцию информации, необходимой для прохождения практического курса по дисциплине «Операционные системы».
Данная система должна хранить следующую информацию: - теоретические сведения о языке ассемблера, разбитые на статьи, разделы и темы;
- справочник по командам и операторам языка ассемблера;
- вспомогательные материалы по особенностям строения персонального компьютера, важным для освоения языка ассемблера (регистры, флаги, хранение информации в памяти компьютера).
Информация должна быть хорошо структурирована и взаимосвязана между собой. Это предполагает наличие в разрабатываемой системе реляционной базы данных, созданной средствами одной из современных СУБД.
Для работы с базой данных следует разработать специальное приложение, обладающее удобным и понятным пользовательским интерфейсом.
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 Информационная структура справочной системы
Данная справочная система предназначена для хранения, поиска и коррекции информации, требуемой для прохож
Вывод
В результате выполнения дипломной работы была разработана программа «Справочная система по основным элементам языка ассемблера», которая предназначается для ввода, коррекции и просмотра информации по методам и приемам программирования на языке ассемблера, а также для поиска данных по различным критериям.
Для достижения результата были решены следующие задачи: - сделан обзор основных особенностей языка ассемблера и рассмотрена классификация информационных систем;
- спроектирована структура базы данных, содержащая всю необходимую информацию для поддержки лабораторного практикума;
- осуществлен выбор инструментария разработки: для программы - среда Delphi 7, для БД - СУБД MS Access 2003;
- создано информационное обеспечение, предназначенное для занесения в базу данных;
- разработаны программная структура приложения и алгоритм его работы;
- реализованы база данных и приложение;
- создано руководство пользователя;
- осуществлена опытная эксплуатация созданного программного обеспечения.
Составлено руководство пользователя по работе с ПС, указаны технические условия, порядок запуск программы, последовательность работы с экранными формами.
Рассчитаны затраты на разработку и затраты на сопровождение программного средства, продажная цена (6 382,25 р.), Эксплуатационные издержки потребителя (233126,42 р.), коэффициент конкурентоспособности (3,2) и коэффициент технической прогрессивности (1,63).
Произведен анализ условий труда разработчиков системы, описаны действия вредных факторов на человека. Рассмотренные факторы экологичности не нанесут вреда здоровью человека при выполнении им правил работы за компьютером.
Список литературы
1.Пильщиков В.Н. Программирование на языке ассемблера IBM PC / В. Н. Пильщиков. - М.: ДИАЛОГ-МИФИ, 1998. - 288 с.
.2Петров В.Н. Информационные системы / В. Н. Петров. - СПБ.: Питер, 2008. - 688 с.
3.Microsoft SQL Server 2008 R2: радикально новый подход к управлению информацией - http://www.thg.ru/technews/20100430_012700.html