28.10.2019

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


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

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

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

ВВЕДЕНИЕ

3.1Программный продукт Delphi

4. ОПИСАНИЕ ПРОГРАММЫ

4.1 Структура базы данных

4.2 Интерфейс программы

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

5. РАЗРАБОТКА ПРОГРАММЫ

5.1 Создание базы данных

5.2 Разработка главной формы режима «Администратор»

5.3 Разработка формы «Вход в программу»

5.4 Разработка формы Добавление товара

5.5 Разработка формы Изменение товара

5.6 Разработка формы Смена пароля

5.7 Разработка формы Единицы измерения

5.8 Разработка отчетов

5.9 Разработка формы режима Кассир

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЯ

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ, СИМВОЛОВ, СПЕЦИАЛЬНЫХ ТЕРМИНОВ

БД база данных

СУБД система управления базами данных

АСУ автоматизированная система управления

АБД администратор баз данных

SQL Structured Query Language

MIS информационная система руководства

НФ нормальная форма

1НФ Первая нормальная форма

2НФ Вторая нормальная форма

ЗНФ Третья нормальная форма

ВВЕДЕНИЕ

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

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

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

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

· самих торговых или кассовых мест;

· учета товарооборота магазина;

· бухгалтерского учета супермаркета, а также расчетов с поставщиками, покупателями.

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

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

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

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

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

Рассмотреть структуру работы и основные принципы работы супермаркета

Раскрыть понятие баз данных

Разработать структуру базы данных супермаркета

Разработать приложение для работы с базами данных супермаркета

Теоретическую основу исследования составили сайты разработчиков АСУ.

Объектом исследования явились супермаркеты.

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

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

1.АНАЛИЗ ДЕЯТЕЛЬНОСТИ СУПЕРМАРКЕТА

1.1 Общая схема построения системы

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

Рисунок 1. Схема построения системы управления супермаркетом

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

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

Каждая из подсистем супермаркета включает в себя программное и аппаратное обеспечение, обеспечивающие: 1) извлечение данных из БД, связанных с соответствующей подсистемой; 2) запись в БД измененных или новых данных; 3) связь с внешними устройствами, необходимыми для функционирования подсистемы. Разделение супермаркета на подсистемы необходимо для реализации на базе каждой из подсистем определенного подмножества функций, схожих по предметной области; подобное разделение также необходимо с целью организации подразделений АСУ, выполняющих контроль за подотчетной каждому из них подсистемой. Несмотря на то, что подсистемы связаны между собой совместно используемыми базами данных, разделение по предметной области четко определяет круг задач, выполняемых каждой из подсистем.

1.2 Функциональная схема подсистемы «Учет и реализация товара»

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

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

b) Генерация списков товаров, отсутствующих на складах, для оформления поставщику соответствующего заказа;

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

d) Смена цен товаров в БД при изменении последних;

e) Автоматизированное начисление наценок на товары в соответствии с текущим экономическим положением супермаркета;

f) Занесение в товарную БД наименований товаров, отсутствовавших в ней ранее, при поступлении соответствующих товаров от поставщика с последующим назначением этим товарам уникальных идентификационных номеров и цен, определяемых поставщиком; увеличение числа товарных единиц при поступлении от поставщика товаров, присутствовавших в БД;

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

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

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

2. ОСНОВНЫЕ ПРИНЦИПЫ СОЗДАНИЯ БАЗЫ ДАННЫХ

2.1 Требования, предъявляемые к базе данных

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

Роль базы данных очень важна. Все, с чем мы ежедневно сталкиваемся скорее всего, зарегистрировано в той или иной базе.

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

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

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

К современным базам данных, а следовательно, и к СУБД, на которых они строятся, предъявляются следующие основные требования.

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

Простота обновления данных.

Независимость данных.

Совместное использование данных многими пользователями.

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

Стандартизация построения и эксплуатации БД (фактически СУБД).

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

Дружелюбный интерфейс пользователя.

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

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

Она предполагает:

Отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте;

Защиту от ошибок при обновлении БД;

Невозможность удаления (или каскадное удаление) связанных данных разных таблиц;

Неискажение данных при работе в многопользовательском режиме и в распределенных базах данных;

Сохранность данных при сбоях техники (восстановление данных).

Защита данных от несанкционированного доступа предполагает ограничение доступа к конфиденциальным данным и может достигаться:

Введением системы паролей;

Получением разрешений от администратора базы данных (АБД);

Запретом от АБД на доступ к данным;

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

Три последние процедуры легко выполняются в рамках языка структуризованных запросов Structured Query Language - SQL, часто называемого SQL2.

2.2 Основы построения базы данных

Первоначально (начало 60-х годов) использовалась файловая система хранения. Для решения преимущественно инженерных задач, характеризующихся небольшим количеством данных и значительным объемом вычислений, данные хранились непосредственно в программе. Применялся последовательный способ организации данных, имелась их высокая избыточность, идентичность логической и физической структур и полная зависимость данных. С появлением экономико-управленческих задач (MIS), отличающихся большими объемами данных и малой долей вычислений, указанная организация данных оказалась неэффективной. Требовалось упорядочение данных, которое, как выяснилось, возможно было проводить по двум критериям: использование (информационные массивы); хранение (базы данных). Первоначально применяли информационные массивы, но вскоре стало ясно превосходство баз данных. Использование файлов для хранения только данных было предложено Мак Гри в 1959 году. Были разработаны методы доступа (в том числе произвольного) к таким файлам, при этом физическая и логическая структуры уже различались, а физическое расположение данных можно было менять без изменения логического представления.

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

Прежде чем рассматривать процедуры работы с базой данных, дадим набор характеристик БД и пояснения к нему.

Существует два подхода к построению БД, базирующихся на двух подходах к созданию автоматизированной системы управления (АСУ).

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

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

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

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

Создать саму БД (не СУБД) средствами Delphi очень сложно, даже невозможно. Если выбрать двух- или трехзвенную архитектуру, не обойтись без сервера БД, который создать собственными силами очень трудно (да и ни к чему, если на рынке предлагаются десятки таких программ, а в Интернете при желании можно найти и бесплатный, но вполне приличный сервер MySQL).

Если речь идет о файл-серверной БД, то и здесь понадобятся специальные средства. В Delphi для этих целей обычно используется утилита Database Desktop.

Могут также применяться промышленные СУБД «Paradox*-, «dBASE» (корпорации Borland), «FoxPro», «Access» (корпорации Microsoft) и др. В рамках данной дипломной работы используются средства Database Desktop и сервер InterBase, так как они входят в комплект поставки Delphi и являются собственными продуктами корпорации Borland.

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

Нормализованной называется БД, в которой выполняется как минимум 3 условия. Выполнение условия называется приведением БД к соответствующей нормальной форме.

Первая нормальная форма (1НФ) требует, чтобы каждое поле таблицы было неделимым и не содержало повторяющихся групп. Пусть в таблице хранится информация о книгах. Эту информацию можно держать в единственном поле, но это противоречит 1НФ. В соответствии с ней в таблице должны быть поля Название, Автор, Издательство и др., совокупность которых дает исчерпывающую информацию о книге. Это облегчает реализацию таких запросов к БД, которые позволят узнать количество разных авторов, количество книг одного автора, количество книг, выпущенных определенным издательством, и т. п. Повторяющимися являются поля, содержащие сходную информацию. Если, например, таблица содержит информацию о покупателе и купленных им книгах, то, в соответствии с 1НФ, список книг должен выделяться в отдельную таблицу.

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

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

Третья нормальная форма (ЗНФ) требует, чтобы значение любого поля, не входящего в первичный ключ, никак не зависело от значения других полей. Если в таблице накладных содержатся поля Книга и Отпускная цена, второе поле явно зависит от первого и по требованию ЗНФ должно быть вынесено в отдельную таблицу. Общее правило выполнения ЗНФ таково: в таблице должны быть только не зависящие друг от друга поля, однозначно определяющие некоторый факт, вся дополнительная информация о значении полей должна выноситься в отдельные таблицы. Например, в той же накладной на продажу книг должно быть поле Покупатель, но не должно быть характеризующих его полей Город, Адрес, Телефон и т. п. -- эти данные должны быть в отдельной таблице Покупатели.

Как уже говорилось, проектирование БД -- творческий процесс, а описанные выше требования носят лишь рекомендательный характер. На практике безусловное выполнение этих требований (в особенности ЗНФ) приводит к появлению множества небольших по объему таблиц и может существенно замедлять работу с СУБД. Для повышения скорости ее работы проектировщики часто идут на сознательное нарушение описанных требований.

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

В терминах БД столбцы таблицы называются полями, а ее строки -- записями.

Базы данных, между отдельными таблицами которых существуют связи, называются реляционными (от relation -- связь, отношение).

Связанные отношениями таблицы взаимодействуют по принципу главная (master) -- детальная (detail).

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

Первичные ключи облегчают установление связи между таблицами.

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

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

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

3. СРЕДА DELPHI КАК СРЕДСТВО ДЛЯ РАЗРАБОТКИ АСУ

3.1 Программный продукт Delphi

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

Delphi имеет пользовательский графический интерфейс, подобный Visual Basic и C++. На данный момент множество фирм приняло за стандарт данный интерфейс для собственных приложений. Весь исходный текст программы на Delphi пишется на языке Object Pascal, практически ничем не отличающимся от принципов, заложенных в такой знаменитой программной оболочке. Синтаксис, принцип модуля, процедуры, функции, все взято за основу.

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

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

Дополнительное удобство в работе в среде Delphi это мощная справочная система. Контекстно-зависимая от текущего выбранного элемента или строки программы, позволяет получить подробнейшую справку.

Контекстно-зависимое внедрение файлов справки позволяет поднять уровень проектируемого приложения на порядок выше.

При работе в среде программирования посредством так называемого BDE (Borland Database Engine), системного администратора баз данных, можно получать прямой доступ к таким стандартным форматам данных, как dBASE, Paradox, FoxPro, Access, ASCII таблицам. Набор драйверов Borland SQL Links обеспечивает все необходимые соединения с SQL-серверами.

Интерфейс среды разработки Delphi состоит из следующих окон.

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

Рис.2. Главное окно

Инспектор объектов. Окно Object Inspector содержит две страницы. На первой, Properties, постоянно отображаются все доступные свойства выбранного компонента. В левой колонке содержится список, в правой - текущие значения по умолчанию. На второй странице, Events, возможные обработчики событий для выбранного компонента. В левой колонке - названия, в правой - соответствующие свойства или процедуры. На рисунке 2 вы можете видеть Object Inspector с установленными свойствами формы.

Рис. 3. Инспектор объектов

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

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

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

Если в программе три окна, то они будут взаимодействовать в процессе работы с тремя так называемыми модулями (Unit). Все эти модули и отображаются в редакторе.

В окне кода программист непосредственно пишет текстовую часть программы.

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

Рис. 4. Окно редактора кода

Проектировщик форм. Каждое Windows-приложение выполняется в собственном окне. Минимальное количество таких окон равна 1. Delphi при запуске автоматически предлагает пользователю новый проект, открывая пустое (незаполненное) окно под названием Form1 и назначает его главным окном. Главное окно в проекте может быть только одно. Все другие создаваемые окна будут дочерними. Закрывая главное окно стандартной кнопкой закрытия окна, или программно, вы закрываете и все дочерние окна.

Рис. 5. Проектировщик форм

При запуске Delphi можно увидеть уже открытый новый проект для создания приложения. Запустить его на выполнение можно нажатием на кнопку F9, выбрав соответствующий пункт "Run" в меню "Run" или выбором одноцветной кнопки на панели инструментов. Происходит сравнительно недолгий процесс компиляции (преобразование удобочитаемых для вас данных в удобочитаемую форму для компьютера), в результате которого создается EXE файл. Далее этот файл, в случае успешного создания, запускается на выполнение. Во время выполнения из множества окон Delphi остается только главное окно и окно редактора кода.

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

Для сохранения всех файлов проекта выбираем пункт Save All, находящийся в меню File. Delphi предлагает сохранить модуль программы Unit1 как… Сохраним его под этим же названием, что и предлагается. Замечание: сколько существует окон в вашей программе, столько и будет модулей (Unit). Поэтому имеет смысл сохранять каждый проект в отдельный каталог. Особенно, если в программе много окон. Далее будет предложено сохранить проект как… т.е. задать название всего проекта. Как будет называться проект, под таким же именем и будут создаваться исполняемые EXE файлы. Названия файлов должны состоять из одного слова или слов, написанных английскими буквами, цифры допустимы только начиная со второго символа, пробелы - недопустимы (используйте в таких случаях знак подчеркивания).

Перечень сохраняемых при этом файлов на диске:

DPR - файл проекта. Содержит он основной код программы, ссылки на все окна (формы) проекта и относящиеся к ним модули. В нем также содержится код инициализации. Имеет одноименное название с проектом.

PAS - pascal файл. Он содержит текст, который вы видите в окне редактора кода так называемого модуля программы.

DFM - delphi form. Представляет собой файл с полными данными о проектировщике формы. Позиция, размер, расположенные компоненты и пр. Форма приложения является неотъемлемой частью модуля PAS и имеет то же название.

DCU - двоичный файл модуля. Имеет одноименное название с модулем.

RES - ресурсный файл. Содержит в себе иконки, значки указателя мыши, картинки, звуки.

DOF, DSK - содержат настройки проекта.

CFG - содержит настройки конфигурации проекта.

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

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

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

Любая программа в Delphi состоит из файла проекта (файл с расширением dpr) и одного или нескольких модулей (файлы с расширениями pas). Каждый из таких файлов описывает программную единицу Object Pascal.

Файл проекта представляет собой программу, написанную на языке Object Pascal и предназначенную для обработки компилятором. Эта программа автоматически создается Delphi и содержит лишь несколько строк. Чтобы увидеть их, запустите Delphi и щелкните по опции Project | View Source главного меню. Delphi покажет окно кода с закладкой Project1, содержащее такой текст:

program Projecti;

Forms, Unit1 in "Unit1.pas" {fmExample};

Application.Initialize;

Application.Run;

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

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

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

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

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

{Это комментарий}

(*Это тоже комментарий*)

//Все символы до конца этой строки составляют комментарий

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

Forms, Unit1 in "Unitl.pas" {fmExample};

указывают, что помимо файла проекта в программе должны использоваться модули Forms И Unit1. модуль Forms является стандартным (т. е. уже известным Delphi), а модуль Unit1 - новым, ранее неизвестным, и Delphi в этом случае указывает также имя файла с текстом модуля (in "uniti.pas") и имя связанного с модулем файла описания формы {fmExample}.

Собственно тело программы начинается со слова begin (начать) и ограничивается терминатором end с точкой. Тело состоит из нескольких операторов языка Object Pascal. В каждом операторе реализуется некоторое действие - изменение значения переменной, анализ результата вычисления, обращение к подпрограмме и т. п. В теле нашей программы - три исполняемых оператора:

Application.Initialize;

Application.CreateForm(TfmExample, fmExample);

Application.Run;

Каждый из них реализует обращение к одному из методов объекта Application. Объектом называется специальным образом оформленный фрагмент программы, заключающий в себе данные и подпрограммы для их обработки. Данные называются полями объекта, а подпрограммы - его методами. Объект в целом предназначен для решения какой-либо конкретной задачи и воспринимается в программе как неделимое целое (иными словами, нельзя из объекта “выдернуть” отдельное поле или метод). Объекты играют чрезвычайно важную роль в современных языках программирования. Они придуманы для того, чтобы увеличить производительность труда программиста и одновременно повысить качество разрабатываемых им программ. Два главных свойства объекта - функциональность и неделимость - делают его самостоятельной или даже самодостаточной частью программы и позволяют легко переносить объект из одной программы в другую. Разработчики Delphi придумали для нас с вами сотни объектов, которые можно рассматривать как кирпичики, из которых программист строит многоэтажное здание программы. Такой принцип построения программ называется объектно-ориентированным программированием (ООП). В объекте Application собраны данные и подпрограммы, необходимые для нормального функционирования Windows-программы в целом. Delphi автоматически создает объект-программу Application для каждого нового проекта. Строка

Application.Initialize;

означает обращение к методу Initialize объекта Application. Прочитав эту строку, компилятор создаст код, который заставит процессор перейти к выполнению некоторого фрагмента программы, написанного для нас разработчиками Delphi. После выполнения этого фрагмента (программисты говорят: после выхода из подпрограммы) управление процессором перейдет к следующей строке программы, в которой вызывается метод CreateForm и т. д.

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

Заголовок

Секция интерфейсных объявлений

Секция реализации

Заголовок открывается зарезервированным словом Unit за которым следует имя модуля и точка с запятой. Секция интерфейсных объявлений открывается зарезервированным словом Interface, a секция реализации - словом implementation. Терминатором модуля, как и терминатором программы, является end с точкой. Следующий фрагмент программы является синтаксически правильным вариантом модуля:

// Секция интерфейсных объявлений

// Секция реализации

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

Щелкните по закладке Unit1 окна кода, и вы увидите такой текст:

Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;

TfmExample = class(TForm)

bbClose: TBitBtn;

IbOutput: TLabel;

mmOutput: TMemo;

{ Public declarations } end;

fmExample: TfmExample;

Весь этот текст сформирован Delphi, но в отличие от файла проекта программист может его изменять, придавая программе нужную функциональность. В интерфейсной секции описан один тип (класс - fmExample) и один объект (переменная fmExample).

Вот описание класса:

TfmExample = class(TForm)

bbClose: TBitBtn;

IbOutput: TLabel;

mmOutput: TMemo;

{ Private declarations } public

{ Public declarations } end;

Классы служат основным инструментом реализации мощных возможностей Delphi. Класс является образцом, по которому создаются объекты, и наоборот, объект - это экземпляр реализации класса. Образцы для создания элементов программы в Object Pascal называются типами, таким образом, класс TfmExamplel -это тип. Перед его объявлением стоит зарезервированное слово type (тип), извещающее компилятор о начале раздела описания типов.

Стандартный класс TForm реализует все нужное для создания и функционирования пустого Windows-окна. Класс TfmExamplel порожден от этого класса, о чем свидетельствует строка

TfmExample = class(TForm)

в которой за зарезервированным словом class в скобках указывается имя родительского класса. Термин “порожден” означает, что класс TfmExample унаследовал все возможности родительского класса TForm и добавил к ним собственные в виде дополнительных компонентов, которые, как вы помните, мы вставили в форму fmExample. Перечень вставленных нами компонентов и составляет значительную часть описания класса.

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

Элементы программы - это минимальные неделимые ее части, еще несущие в себе определенную значимость для компилятора. К элементам относятся:

· зарезервированные слова;

· идентификаторы;

· константы;

· переменные;

· подпрограммы;

· комментарии.

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

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

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

Константы определяют области памяти, которые не могут изменять своего значения в ходе работы программы. Как и любые другие элементы программы, константы могут иметь свои собственные имена. Объявлению имен констант должно предшествовать зарезервированное слово const (от англ. constants - константы). Например, мы можем определить константы const

Mbyte = Kbyte*Kbyte;

Gbyte = 1024*Mbyte;

чтобы вместо длинных чисел

1048576 (1024*1024) и 1073741824

(1024*1024*1024) писать, соответственно, Mbyte и Gbyte. Тип константы определяется способом ее записи и легко распознается компилятором в тексте программы, поэтому программист может не использовать именованные константы (т. е. не объявлять их в программе явно).

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

inValue: Integer;

Здесь идентификатор inValue объявляется как переменная типа integer, а идентификатор byValue - как переменная типа Byte. Стандартный (т. е. заранее определенный в Object Pascal) тип integer определяет четырехбайтный участок памяти, содержимое которого рассматривается как целое число в диапазоне от -2 147 483 648 до+2 147 483 647, а стандартный тип Byte - участок памяти длиной 1 байт, в котором размещается беззнаковое целое число в диапазоне от 0 до 2554.[Все приводимые в книге сведения относительно диапазона возможных значений и объема памяти стандартных типов относятся к Delphi 32. Для 16-разрядной версии 1 эти величины имеют другие значения, например, тип Integer в версии 1 занимает 2 банта и имеет диапазон значении от -32 768 до+32 767.]

Метки - это имена операторов программы. Метки используются очень редко и только для того, чтобы программист смог указать компилятору, какой оператор программы должен выполнятся следующим. Метки, как и переменные, всегда объявляются в программе. Разделу объявлений меток предшествует зарезервированное сло-во label (метка).

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

В Object Pascal есть два сорта подпрограмм: процедуры и функции. Функция отличается от процедуры только тем, что ее идентификатор можно наряду с константами и переменными использовать в выражениях, т. к. функция имеет выходной результат определенного типа.

4. ОПИСАНИЕ ПРОГРАММЫ

4.1 Структура базы данных

База данных АСУ «Супермаркет» состоит из 3 таблиц. В таблице supermarket.db содержаться сведения о товарах данного магазина. Таблица supermarket.db содержит следующие поля: kod - код товара, name - наименование товара, trademark - фирма-производитель, kind - вид товара, ed_izm - единица измерения, cena - цена за единицу, kol_vo - количество товара, имеющегося в наличии. Еесли kol_vo равно 0, значит, товара на данный момент в наличии нет.

В таблице postuplenie.db хранятся сведения о поступлении товара на склад. Таблица состоит из следующих полей: kod - номер поступления, name - код товара, naimen - наименование товара, data_post - дата поступления, kol_vo - количество товара.

В таблицу chek.db записывается товар, приобретаемый покупателем. Эта таблица постоянно обновляется при каждой покупке. Таблица содержит следующие поля: kod - код товара, name - наименование товара, trademark - фирма-производитель, cena - цена за единицу, kol_vo - количество товара, приобретаемого товара, summa - стоимость приобретаемого товара.

Связь между таблицами осуществляется посредством процедур. При поступлении товара (при добавлении записей в таблицу postuplenie.db), поле kol_vo в таблице supermarket.db увеличивается. При покупке товара (при добавлении записи в таблицу chek.db) поле kol_vo в таблице supermarket.db уменьшается.

4.2 Интерфейс программы

Программа АСУ «Супермаркет» имеет два режима работы: режим кассира и режим администратора.

При запуске программы открывается окно выбора пользователя. (Рис. 6)

Рисунок 6. Окно выбора пользователя

При выборе пользователя Администратор открывается окно работы в режиме Администратор. (Рис. 7)

Рисунок 7. Режим администратора

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

На форме размещены таблица товаров (supermarket.db) и таблица поступления товаров (postuplenie.db). Над каждой таблицей размещены кнопки для работы с этими таблицами.

При выборе пользователя Кассир открывается окно работы в режиме Кассир. (Рис. 8)

Рисунок 8. Режим Кассир

Режим Кассир предназначен для фиксирования операции реализации товара в виде чека. На форме расположены 2 таблицы: таблица товаров (supermarket.db) и таблица приобретаемого товара (chek.db).

Таблицы chek.db заполняется автоматически при вводе кода товара и количества. Поле Summa вычисляется автоматически.

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

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

При запуске программы открывается окно выбора режима работы с АСУ «Супермаркет». В окне необходимо выбрать пользователя и ввести пароль.

Рассмотрим режим Администратора.

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

Пункт главного меню Данные содержит команды для работы с таблицами Данные о товаре и Данные о поступлении.

Сведения о товарах хранятся в таблице «Данные о товаре». Для работы с таблицей предназначены кнопки над таблицей и пункты главного меню. При добавлении товара открывается окно добавления нового товара (Рис 9).

Рисунок 9. Добавление товара

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

При нажатии кнопки Изменить открывается окно Изменение товара (Рис 10).

Рисунок 10. Изменение товара

Для просмотра таблицы используются кнопки Вперед и Назад. Кнопка Отмена закрывает окно. При нажатии кнопки Изменить данные товаре записываются в таблицу.

Удалить товар можно при нажатии кнопки Удалить и выборе пункта меню Данные - Удалить.

Поступление товара оформляется с помощью кнопки Поступление товара и при помощи пункта меню Данные - Поступление товара. При нажатии вышеперечисленных кнопок, появляется окно Поступление товара (Рис 11).

Рисунок 11. Поступление товара

Наименование товара выбирается из списка (источник - таблица Данные о товаре). Код товара ставится автоматически. При нажатии кнопки Добавить производятся следующие действия:

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

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

    курсовая работа , добавлен 08.11.2008

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

    контрольная работа , добавлен 18.02.2014

    Автоматизированные базы данных в учебном процессе. Создание базы данных для МОУ СОШ № 12 с целью помощи в обеспечении централизованного управления, хранения информации об учениках. Требования к программе, условия эксплуатации. Программный код базы данных.

    дипломная работа , добавлен 25.03.2014

    Понятие банка и базы данных, их назначение. Создание базы данных "Учет нарушений ПДД" с удобным пользовательским интерфейсом. Требования к функциональным характеристикам. Условия эксплуатации и программные требования. Описание входных и выходных данных.

    курсовая работа , добавлен 22.09.2012

    Авторизация с каталогами проектирования базы данных магазина. Задачи базы данных: учет всех товаров, поиск и выдача данных о клиентах, адрес, телефоны, цена и наличие товара. Этапы проектирования базы данных. Схема данных, создание запросов и их формы.

    реферат , добавлен 22.10.2009

    Концептуальная модель базы данных "Бюро по трудоустройству". Разработка информационного и программного обеспечения объектов автоматизации. Реализация базы данных в СУБД MsAccess. Запросы к базе данных. Таблицы, отчеты и макросы. Интерфейс пользователя.

    курсовая работа , добавлен 30.05.2016

    Основные подходы к организации баз данных, компоненты языка Delphi, используемые для их построения. Разработка программного обеспечения - базы данных "Школа", предназначенной для хранения информации об учащихся, их успеваемости по различным дисциплинам.

    курсовая работа , добавлен 14.07.2012

    Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.

    практическая работа , добавлен 11.10.2008

    Создание базы данных "Автовокзал" как части информационной системы. Требования к базе данных и этапы ее разработки. Анализ информационных потоков, выбор модели. Входные и выходные данные. Программирование базы данных на языке Borland Delphi 7.0.

    курсовая работа , добавлен 16.05.2011

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

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

Скорее всего в магазине, где был приобретен компьютер, уже были установлены программы, но, не думаю, что там установлен полный набор, скорее всего один из консультантов предложит (естественно за некую сумму) установить вам их на дому, после работы. Я не буду доказывать, что так происходит везде, но пару раз я лично видел такие вот «предложения».

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

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

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

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

Без мультимедийных кодеков нет возможности просмотреть видеоролик, или прослушать песню. И, если кодеки для воспроизведения mp3-формата уже установлены в ОС Windows изначально, то просмотр видео контента может оказаться затруднительным.

Антивирусные решения: Архиваторы:

HaoZip - бесплатный архиватор для операционных систем семейства Windows. Сходство с популярным архиватором winrar практически стопроцентное. Бесплатный HaoZip позволяет сжимать данные с использованием одного из трех алгоритмов компрессии - ZIP, 7Z и TAR. Приложение имеет встроенный алгоритм тестирования архивов, позволяющий проверить их целостность. Более детально о программе HaoZip читаем на страничке - /down/open/haozip.html

Файловые менеджеры: Мультимедийные кодеки:

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

Браузеры:

FireFox – бесплатный интернет браузер. Посещайте свои любимые страницы в Интернете с удовольствием. Огромная база плагинов и дополнений облегчат вам жизнь в сети. Многоязычная поддержка, мировая известность, огромное количество пользователей - все это FireFox. Скачать - /down/open/mozilla_firefox.html

Google Chrome – бесплатный, тесно интегрированный с сервисами Google, завоевавший популярность в считанные месяцы браузер от компании Google. Скачать актуальную на текущий момент версию, а так же почитать о программе можно по ссылке - http://google.com/chrome

Aimp – простой в использовании и очень популярный аудио плеер, его популярность неоспорима. В комплект программы входит не только сам плеер, но и дополнительные модули, такие как конвертер, граббер. А мультиязычность, и поддержка скинов сделали плеер Aimp серьезным конкурентом WinAmp. Подробнее о Aimp можно прочесть на страничке - Aimp

LibreOffice – мощный офисный пакет, полностью совместимый с 32/64-битными системами и готовый заменить платные варианты офисных пакетов. Благодаря широкому кругу разрботчиков из разных стран мира, LibreOffice общается с пользователями на одном из 30 языков мира. Поддержка основных операционных систем (GNU/Linux, Microsoft Windows и Mac OS X) способствует быстрому развитию офисного пакета, и завоеванию большинства компьютеров пользователей. Подробнее о бесплатном офисном пакете читаем -

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

PDFCreator - совершенно бесплатная программа для создания pdf-документов. Принцип работы программы построен на установке в систему виртуального принтера. Таким образом создать pdf можно практически из любого приложения, способного работать с принтером. Более детальная информация о PDFCreator на страничке - PDFCreator

Пятая – программа для работы с CD, DVD, Blue-Ray дисками.

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

Шестая – игры. Пожалуй самая востребованная категория. Помню свой первый ПК, собранный по частям, купленным у перекупщиков железа еще в далеком 2001 году, первой программой которая поселилась на 10 гектаровом винчестере – Цивилизация 3 Сида Мейера. Правда здесь я много писать не стану, изначально в ОС Windows, да и в Linux тоже, есть пара пасьянсов предустановленных в систему разработчиком, Шахматы, Интернет-Нарды и прочие прелести. Найти их можно в: «Пуск» - «Все программы» - «Игры». К примеру Windows 7 изначально укомплектована следующими играми: Chess Titans , Mahjong Titans , Purble Plase , Интернет – Нарды , Интернет – Пики , Интернет – Шашки , а так же легендарные Косынка , Сапер , Паук , Солитер , Червы .

Вот пожалуй и все…

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

Мы не упоминали узкоспециализированный софт – видео и аудио редакторы, сложные графические редакторы, и прочий софт, по очень простой причине – на первых порах пользователь в них не нуждается. А как только в них возникнет надобность – добро пожаловать к нам на форум, поговорим:-) …

Просмотров: 6351

Требования к программе

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

Общие требования

К проектируемой информационной автоматизированной системе предъявляются следующие общие требования:

1. Разрабатываемая автоматизированная информационная система должна обладать достаточным набором функций для обработки информации по кадровому учету.

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

3. Разрабатываемая автоматизированная информационная система должна обладать достаточным набором видов отчетностей по кадровому учету.

4. Разрабатываемая автоматизированная информационная система должна иметь простой и доступный интерфейс пользователя.

5. Разрабатываемая автоматизированная информационная система должна иметь возможность поднастройки, в связи с изменением законодательства.

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

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

Требования к документации

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

Системные требования

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

Для работы с разрабатываемой автоматизированной системой «отдел кадров» необходимы следующие минимальные системные требования:

· Компьютер IBM PC 486 DX2-80

· Оперативная память 16 Мбайт

· Свободное дисковое пространство 20 Мбайт

Анализ существующих разработок

В настоящее время на Российском рынке программного продукта предоставлены основные конкурирующие автоматизированные информационные системы, позволяющие вести кадровый учет организаций и имеющие большой набор функций для обработки информации. Это программа поддержки и принятия решений SAP R3, а именно его модуль - Human Resources Management System (модуль HR) для кадрового учета и 1С - бухгалтерия.

Рассматривая модуль HR системы SAP R3 я пришел к выводу, что приведенный программный продукт, хотя и обладает максимальным набором функций для обработки информации кадрового учета, не является конкурентом к разрабатываемой, так как этот модуль является довольно дорогим, что делает его недоступным для бюджетных организаций и организаций с малым денежным оборотом. Модуль HR предназначен для крупных организаций и корпораций, где число работников превышает 1000 человек, что делает его излишним для небольших организаций. Описываемый модуль требует постоянной информационной и технической поддержки, которой занимаются специализированные организации, что делает его опять же дорогим и недоступным для небольших организаций. Для работы с данным модулем необходимо обучение персонала, который будет работать непосредственно с ним.

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

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

Введение

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

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

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

Тенденции компьютеризации общества связаны с появлением новых профессий, связанных с вычислительной техникой, и различных категоpий пользователей ЭВМ. Если в 60-70е годы в этой сфере доминиpовали специалисты по вычислительной технике (инженеpы-электpоники и пpогpаммисты), создающие новые сpедства вычислительной техники и новые пакеты прикладных пpогpамм, то сегодня интенсивно pасшиpяется категория пользователей ЭВМ - представителей самых разных областей знаний, не являющихся специалистами по компьютеpам в узком смысле, но умеющих использовать их для решения своих специфических задач.

Пользователь ЭВМ (или конечный пользователь) должен знать общие принципы организации инфоpмационных процессов в компьютерной сpеде, уметь выбрать нужные ему информационные системы и технические сpедства и быстро освоить их применительно к своей пpедметной области. Учитывая интенсивное развитие вычислительной техники и во многом насыщенность рынка пpогpаммных продуктов, два последних качества пpиобpетают особое значение. Минимум знаний по организации компьютерных систем обычно называют компьютерной грамотностью. Не существует строго очеpченных pамок, определяющих это понятие, - каждый пользователь опpеделяет их для себя сам, но вместе с тем отсутствие такой гpамотности делает сегодня невозможным доступ ко многим узко специальным профессиям, на первый взгляд весьма далеким от компьютера.

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

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

Одним из подобных программных продуктов является SiSoftware Sandra, которая объединяет в себе выдачу информации: о системе персонального компьютера в целом, о материнской плате, процессоре, видео системе, памяти, логических дисках и др.; позволяет тестировать процессор, диски, локальную сеть; позволяет просматривать содержимое таких системных файлов в среде ОС Windows, как boot.ini, system.ini, autoexec.bat и config.sys. Однако данное программное обеспечение содержит ряд существенных недостатков, а именно: большая нагрузка на центральный процессор при работе программы, большой объем памяти, занимаемый программой при ее работе, большой объем дискового пространства, занимаемый данным программным продуктом, при его установке (около 5 мегабайт), к тому же данный программный продукт является ShareWare, т. е. его необходимо приобретать за некоторое количество денег, чтобы его можно было использовать.

Как уже говорилось ранее, на данный момент на рынке программного обеспечения один единственный программный продукт подобного рода, который объединяет в себе выдачу информации и тестирование отдельных модулей персонального компьютера, этот программный продукт - SiSoftware Sandra. Поэтому создание подобного программного продукта весьма актуально на сегодняшний момент, дабы дать возможность пользователям персонального компьютера, которые хотят приобрести такое программное обеспечение, выбирать между несколькими программами, а не брать именно SiSoftware Sandra, только потому что этот программный продукт является единственным в своем роде. К тому же лично для меня, как разработчика программного обеспечения было весьма интересно создать программный продукт «ПК Инфо», который я назвал PCInfo, дабы проверить свои возможности, знания и навыки программирования и разработки программного обеспечения в целом, а так же узнать много нового. Мой программный продукт является аналогом, и прямым конкурентом уже упомянутого программного продукта SiSoftware Sandra. По сравнению с аналогами, мой программный продукт обладает рядом преимуществ, которых нет у его аналогами, а именно: малый объем жесткого диска, занимаемый программой (около трехсот килобайт), меньший объем оперативной памяти, занимаемый программой при ее запуске и работе, меньшая загруженность центрального процессора при работе программы, более быстрая работа программного продукта по сравнению с основными аналогами, к тому же, мой программный продукт в версии 1.0.1 является Freeware, т. е. бесплатным программным обеспечением, что весьма существенно для подобного рода программного обеспечения.

Дипломная работа содержит 66 страниц, из них приложения содержат 12 страниц, 8 рисунков, библиографический список из 11-ти наименований.


1. Анализ информационных технологий

1.1. История развития информационных технологий

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

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

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

Появление во второй половине 60-х годов больших производительных ЭВМ на периферии учрежденческой деятельности (в вычислительных центрах) позволило смесить акцент в информационной технологии на обработку не формы, а содержания информации. Это было началом формирования «электронной», или «компьютерной» технологии. Как известно информационная технология управления должна содержать как минимум три важнейших компонента обработки информации: учет, анализ и принятие решений. Эти компоненты реализуются в «вязкой» среде - бумажном «море» документов, которое становится с каждым годом все более необъятным.

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

Название «автоматизированная система управления» не совсем корректно отражает функции, которые такие системы выполняют, точнее было бы «автоматизированные системы обеспечения управления» (АСОУ), ибо в существующих АСУ, понятие «система» не включает решающего звена управления - пользователя. Игнорирование этого принципиального обстоятельства, по видимому, привело к тому, что расширение сети АСУ и повышение мощности их вычислительных средств обеспечили благодаря большим массивам первичных данных улучшение в основном учетных функций управления (справочных, статистических, следящих). Однако учетные функции отражают только прошлое состояние объекта управления и не позволяют оценить перспективы его развития, т.е. обладают низким динамизмом. В других компонентах технологии управления наращивание мощности АСУ не дало ощутимого эффекта. Отсутствие развитых коммуникационных связей рабочих мест пользователя с центральной ЭВМ, характерный для большинства АСУ пакетный режим обработки данных, низкий уровень аналоговой поддержки - все это фактически не обеспечивает высокого качества анализа пользователями данных статистической отчетности и всего интерактивного уровня аналитической работы. Тем самым эффективность АСУ на нижних ступенях управленческой лестницы, т.е. именно там, где формируются информационные потоки, существенно падает вследствие значительной избыточности поступающей информации при отсутствии средств агрегирования данных. Именно по этой причине, не смотря на ввод дополнительной системы АСУ, с каждым годом возрастает количество работников, занятых учетными функциями: на сегодняшний день шестую часть всех работников аппарата управления составляет учетно-бухгалтерский персонал.

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

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

С появлением персональных компьютеров на «гребне микропроцессорной революции» происходит принципиальная модернизация идеи АСУ: от вычислительных центров и централизации управления, к распределенному вычислительному потенциалу, повышению однородности технологии обработки информации и децентрализации управления. Такой подход нашел свое воплощение в системах поддержки принятия решений (СППР) и экспертных системах (ЭС), которые характеризуют новый этап компьютеризации технологии организационного управления по существу - этап персонализации АСУ. Системность - основной признак СППР и признание того, что самая мощная ЭВМ не может заменить человека. В данном случае речь идет о структурной человеко-машинной единице управления, которая оптимизируется в процессах работы: возможности ЭВМ расширяются за счет структуризации пользователем решаемых задач и пополнения ее базы знаний, а возможности пользователя - за счет автоматизации тех задач, которые ранее было нецелесообразно переносить на ЭВМ по экономическим или техническим соображениям. Становится возможным анализировать последствия различных решений и получать ответы на вопросы типа: «что будет, если...?», не тратя времени на трудоемкий процесс программирования.

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

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

1.2. Классификация программного обеспечения

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

К программному обеспечению относится также вся область деятельности по проектированию и разработке ПО:

Технология проектирования программ;

Методы тестирования программ;

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

Анализ качества работы программ;

Документирование программ;

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

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

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

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

Программы, работающие на компьютере, можно разделить на три категории:

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

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

Вспомогательное ПО (инструментальные системы и утилиты).

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

Прикладное ПО. Для IBM PC разработаны и используются сотни тысяч различных прикладных программ для различных применений. Наиболее широко применяются программы:

Подготовки текстов (документов) на компьютере – редакторы текстов;

Подготовки документов типографского качества – издательские системы;

Обработки табличных данных – табличные процессоры;

Обработки массивов информации – системы управления базами данных.

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

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

Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п.

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

Наиболее часто используемые типы прикладных программ:

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

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

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

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

1. Системы автоматизированного проектирования (САПР) позволяют осуществлять черчение и конструирование различных механизмов с помощью компьютера.

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

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

4. Программы-оболочки. Весьма популярный класс системных программ составляют программы-оболочки. Они обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS .Многие пользователи настолько привыкли к удобствам, предоставляемым своей любимой программой-оболочкой, что чувствуют себя без нее «не в своей тарелке». Наиболее популярными программами-оболочками являются Norton Commander, Xtree Pro Gold, PC Shell из комплекта PC Tools. В состав операционной системы MS DOS, начиная с версии 4.0, также входит собственная программа-оболочка Shell (впрочем, не очень популярная).

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

Графический интерфейс, т.е. набор средств для вывода изображений на экран и манипулирования ими, построения меню, окон на экране и т.д.;

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

Расширенные средства для обмена информацией между программами.

Операционные оболочки упрощают создание графических программ, предоставляя для этого большое количество удобных средств, и расширяют возможности компьютера. Но платой за это являются повышенные требования к ресурсам. Так, для эффективной работы c Microsoft Windows необходим компьютер АТ/386, имеющий 4 Мбайта оперативной памяти. Наиболее популярной программой-надстройкой является Microsoft Windows, иногда используется Desq View и значительно реже – другие оболочки (GEM, Geo Works и др.).

Вспомогательные программы (утилиты) - к системным программам можно также отнести большое количество так называемых утилит, т.е. программ вспомогательного назначения. Часто утилиты объединяются в комплексы, наиболее популярны комплексы Norton Utilities, PC Tools Deluxe и Mace Utilities.

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

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

Антивирусные программы предназначены для предотвращения заражения компьютерным вирусом и ликвидации последствий заражения вирусом.

Программы для диагностики компьютера позволяют проверить конфигурацию компьютера (количество памяти, ее использование, типы дисков и так далее), а также проверить работоспособность устройств компьютера (прежде всего жестких дисков). Существует очень много программ подобного рода, однако это программы, которые, в основном, производят диагностику или позволяют проверить конфигурацию отдельных частей персонального компьютера. А программ, объединяющих в себе диагностику нескольких частей компьютера на сегодняшний день мало (SiSoftware Sandra, AIDA32, PCInfo v 1.0.1).

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

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

1.3. Обзор аналогов

Самый распространенный, и пожалуй единственный серьезный аналог моего программного продукта это программный продукт SiSoftware Sandra. SiSoftware Sandra - (сокращение от System ANalyser, Diagnostic and Reporting Assistant) - это информационная и диагностическая программа. Она предоставляет практически всю информацию о вашем аппаратном и программном обеспечении (включая недокументированную), которая вам может понадобиться. Sandra похожа на многие другие подобные программы для Windows, однако, она старается превзойти их и показать то, что есть на самом деле, максимально объективно. Вы можете получить информацию о процессоре, чипсете, видео адаптере, портах, принтерах, звуковой карте, памяти, сети, процессах Windows, AGP, связях ODBC, USB2, 1394/Firewire, и т.д. Здесь разработчики описывали лишь преимущества данной программы, однако ничего не сказано было о ее недостатках, а их достаточно. Это и большой объем дискового пространства, занимаемого программой после ее установки (в версии 2004 более двенадцати мегабайт), и сравнительно медленная ее работа, особенно это проявляется в тестах, которые порой длятся по несколько минут, а не по пятнадцать секунд, как просит программа подождать пока запускаемый модуль тестируется, а при запуске теста локальных дисков программа зачастую и вовсе зависает, поскольку начинает потреблять для теста большое количество памяти, которой для самого теста может вовсе не хватить, это и большая нагрузка на центральный процессор, особенно во время запуска все тех же тестов, при этом процессор работает на пределе и его загрузка постоянно держится на уровне девяноста – ста процентов. Хоть в принципе для подобного рода программ это нормально, одна можно создать алгоритм, при котором программа не будет настолько требовательна к системным ресурсам.

Еще один аналог моего программного продукта это AIDA32 - Enterprise System Information. Все данные сгруппированы по разделам, а каждый раздел, в свою очередь, зачастую имеет несколько своих внутренних разделов, содержащих более специфичную информацию. Однако данный программный продукт менее распространен нежели SiSoftware Sandra, поскольку она более проста, в ней не так много модулей описания и тестирования модулей персонального компьютера, но в ней содержатся практически те же недостатки что и у SiSoftware Sandra, это и пять мегабайт на жестком диске после установки программы, и большая требовательность к системным ресурсам и небесплатность программного продукта.

2. Обзор интегральных средств

2.1. Методологии и технологии проектирования информационных систем

2.1.1. Общие требования к методологии и технологии

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

Технология проектирования определяется как совокупность трех составляющих:

Пошаговой процедуры, определяющей последовательность технологических операций проектирования;

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

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

На данный момент существует две модели разработки программного обеспечения. Сейчас более современной и лучшей моделью разработки является - спиральная (см. рис. 2.1.).

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

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

Технология должна поддерживать полный ЖЦ ПО;

Разработки ИС с заданным качеством и в установленное время;

Рис. 2.1. Спиральная модель разработки программного обеспечения.

Рис. 2.2. Представление технологической операции проектирования.

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

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

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

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

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

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

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

Стандарт проектирования;

Стандарт оформления проектной документации;

Стандарт пользовательского интерфейса.

Стандарт проектирования должен устанавливать:

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

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

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

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

Стандарт оформления проектной документации должен устанавливать:

Комплектность, состав и структуру документации на каждой стадии проектирования;

Требования к ее оформлению (включая требования к содержанию разделов, подразделов, пунктов, таблиц и т.д.),

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

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

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

Стандарт интерфейса пользователя должен устанавливать:

Правила оформления экранов (шрифты и цветовая палитра), состав и расположение окон и элементов управления;

Правила использования клавиатуры и мыши;

Правила оформления текстов помощи;

Перечень стандартных сообщений;

Правила обработки реакции пользователя .

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

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

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

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

Принцип иерархического упорядочивания;

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

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

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

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

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

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

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

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

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

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

На стадии проектирования ИС модели расширяются, уточняются и дополняются диаграммами, отражающими структуру программного обеспечения: архитектуру ПО, структурные схемы программ и диаграммы экранных форм.

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


2.3. Примеры комплексов CASE-средств

В заключение приведу примеры комплексов CASE-средств обеспечивающих поддержку полного жизненного цикла программного обеспечения. Здесь хотелось бы еще раз отметить нецелесообразность сравнения отдельно взятых CASE-средств, поскольку ни одно из них не решает в целом все проблемы создания и сопровождения ПО. Это подтверждается также полным набором критериев оценки и выбора, которые затрагивают все этапы ЖЦ ПО. Сравниваться могут комплексы методологически и технологически согласованных инструментальных средств, поддерживающие полный ЖЦ ПО и обеспеченные необходимой технической и методической поддержкой со стороны фирм-поставщиков. По мнению автора, на сегодняшний день наиболее развитым из всех поставляемых в России комплексов такого рода является комплекс технологий и инструментальных средств создания ИС, основанный на методологии и технологии DATARUN. В состав комплекса входят следующие инструментальные средства:

CASE-средство Silverrun;

Средство разработки приложений JAM;

Мост Silverrun-RDM <-> JAM;

Комплекс средств тестирования QA;

Менеджер транзакций Tuxedo;

Комплекс средств планирования и управления проектом SE Companion;

Комплекс средств конфигурационного управления PVCS;

Объектно-ориентированное CASE-средство Rational Rose;

Средство документирования SoDA .

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

Vantage Team Builder for Uniface + Uniface (фирмы "DataX/Florin" и "ЛАНИТ");

Комплекс средств, поставляемых и используемых фирмой "ФОРС":

CASE-средства Designer/2000 (основное), ERwin, Bpwin и Oowin (альтернативные);

Средства разработки приложений Developer/2000, ORACLE Power Objects (основные) и Usoft Developer (альтернативное);

Средство настройки и оптимизации ExplainSQL (Platinum);

Cредства администрирования и сопровождения SQLWatch, DBVision, SQL Spy, TSReorg и др. (Platinum);

Средство документирования ORACLE Book.

Комплекс средств на основе продуктов фирмы CENTURA:

CASE-средства ERwin, Bpwin и Oowin (объектно-ориентированный анализ);

Средства разработки приложений SQLWindows и TeamWindows;

Средство тестирования и оптимизации приложений "клиент-сервер" SQLBench (ARC);

Средства эксплуатации и сопровождения Quest и Crystal Reports .


3. Анализ языков программирования

3.1. Обзор языков программирования

3.1.1. Языки программирования системного уровня

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

К концу 50-х годов начали появляться языки программирования более высокого уровня, такие как Lisp, Fortran, ALGOL. В них уже не было точного соответствия между языковыми конструкциями и машинными командами. Преобразование строк исходного кода в последовательности двоичных команд осуществлялось компилятором. Со временем их число пополнилось языками PL /1, Pascal, C, C++, Java. Все они менее эффективно используют аппаратуру по сравнению с языками ассемблера, но позволяет быстрее создавать приложения. В результате им удалось практически полностью вытеснить языки ассемблера при создании крупных приложений .

3.1.2. Языки программирования высокого уровня

Языки программирования системного уровня отличаются от ассемблеров, во-первых, тем, что они являются более высокоуровневыми, и, во-вторых, используют более строгий контроль типов. Термин “высокоуровневый” означает следующее: многие детали обрабатываются автоматически, а программисту для создания своего приложения приходится писать меньшее количество строк. В частности:

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

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

Для описания структур управления программист может использовать также ключевые слова, как if, while; последовательности машинных команд, соответствующие этим описаниям компилятор генерирует динамически .

3.1.3. Языки описания сценариев

Языки описания сценариев, такие как Perl, Python, Rexx, Tcl, Visual Basic и языки оболочек UNIX, предполагают стиль программирования, весьма отличный от характерного для языков системного уровня. Они предназначаются не для написания приложения с “нуля”, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Например, Tcl, Visual Basic могут использоваться для построения пользовательских интерфейсов из имеющихся элементов управления, а языки описания сценариев для оболочек UNIX применяются для формирования “конвейеров” обработки потоков данных из набора стандартных фильтров. Языки описания сценариев часто применяются и для дополнения готовых компонентов новыми возможностями; однако эта деятельность редко охватывает создание сложных алгоритмов или структур данных, которые уже обычно бывают уже заложены в компоненты. Иногда языки описания сценариев даже называют связующими или языками системной интеграции.

Для языков описания сценариев характерно отсутствие типизации, которая только усложнила бы задачу соединения компонентов. Все элементы в них выглядят и функционируют одинаково и являются полностью взаимозаменяемыми. Например, в Tcl или Visual Basic переменная может содержать в одной точке программы строку, а в другой – целое число. Код и данные также часто бывают взаимозаменяемы. Например, Tcl, Visual Basic переменная может содержать в одной точке программы строку, а в другой - целое число. Код и данные также часто бывают взаимозаменяемы, так что программа может генерировать другую программу - и сразу же запускать ее исполнение. Обычно языки описания сценариев используют переменные строковых типов, которые обеспечивают единообразный механизм представления для различных сущностей.

Отсутствие в языке деления переменных на типы упрощает соединение компонентов между собой. Нет априорных ограничений на то, каким образом может использоваться тот или иной элемент, а все компоненты значения представляются в едином формате. Таким образом, компонент или значение могут быть использованы в любой ситуации; будучи спроектированы для одних способов применения, они могут оказаться задействованы совершенно иными, о которых их создатель никогда не помышлял. Например, в UNIX – оболочках работа любой программы – фильтра включает чтение данных из входного потока и запись их в выходной поток. Любые две такие программы могут быть связаны путем назначения выходного потока одной в качестве входного потока другой. Следующая команда оболочки представляет систему из трех фильтров, подсчитывающую в выделенном фрагменте текста строки, содержащие слово “scripting”:

Select | grep scripting | WC

Программа select считывает текст, выделенный в данный момент на экране, и выводит его свои выходной поток; фильтр grep считывает входной поток и пропускает на выход строки, содержащие слово “scripting”; а программа wc подсчитывает число строк в своем потоке. Любой из подобных компонентов может найти применение во множестве различных ситуации, решая каждый раз иную общую задачу. Сильная типизация языков программирования системного уровня затрудняет повторное использование кода. Она поощряет программистов к созданию большого количества несовместимых друг с другом интерфейсов, каждый из которых требует применение объектов своего типа. Компилятор не позволяет объектам других типов взаимодействовать с этим интерфейсом, не смотря на то, что результат, мог бы оказаться и весьма полезным. Таким образом, чтобы использовать новый объект с существующем интерфейсом, программисту приходится писать “переходник”, преобразующий объект к типу, на который рассчитан интерфейс. А применение “переходника” требует, в свою очередь, перекомпиляции части или даже всего приложения целиком. Доминирующий в настоящее время способ распространения ПО в виде двоичных файлов делает этот подход невозможным.

Чтобы оценить преимущества бес типового языка программирования, рассмотрим следующий пример на языке Tcl:

Button .b –text Hello! -font {Times 16} – command {puts hello}

Эта команда создает на экране новую кнопку с надписью на ней Hello! шрифтом Times 16 пунктов, при нажатии, на которую выводится короткое сообщение hello . В одной строке здесь уместилось шесть элементов различных типов: название команды (button), название кнопки (. b), идентификаторы атрибутов (-text, -font, -command), простые строки (Hello! hello), спецификация шрифта (Times 16), состоящая из названия начертания (Times) и размера в пунктах (16), а также целый Tcl-сценарий (puts hello). Все элементы представляются единообразно – в виде строк. В данном примере атрибуты могли быть перечислены в произвольном порядке, а неупомянутым атрибутам (их насчитывается более двадцати) будут присвоены значения по умолчанию.

В случае реализации на Java тот же самый пример потребовал бы семи строк кода, составляющих два метода. Для С++ с использованием библиотеки Microsoft Foundation Classes (MFC) масштабы увеличились примерно до двадцати пяти строк кода, образующих три процедуры. Один только выбор шрифта требует нескольких обращении к функциямMFC

Cfont *fontPtr=new Cront ();

fontPtr->Crete Font (16, 0, 0, 0, 700,

0, 0, 0, ANSI_CHARSET,

OUT_DEFAULT_PRECIS,

CLIP_DEFAULT_PRECIS,

DEFAULT_QUALITY,

“Times New Roman”);

buttonPtr->SetFont(fontPtr);

Можно было бы обойтись без значительной части этого кода, если бы не строгая типизация. Чтобы задать шрифт для кнопки, необходимо обратиться к методу Set Font; однако он требует передачи в качестве аргумента указателя на объект Cfont. Приходиться объявлять и инициализировать новый объект. Инициализацию объекта Cfont выполняет его метод Create Font, который имеет жесткий интерфейс, требующий задания 14 различных аргументов. В TCL существенные характеристики шрифта (начертание Times и кегль 16 пунктов) могут быть указаны непосредственно без каких-либо объявлений или преобразовании. Более того, TCL позволяет описать и поведение кнопки непосредственно в теле создающей ее команды, тогда как в С++ или Java для этого необходим отдельный метод .

3.1.4. Другие языки

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

3.2. Обоснование выбора языка программирования Visual Basic

Исходя из поставленной задачи и смотря на большой выбор языков и средств программирования и создания программного обеспечения мой выбор пал на язык Visual Basic и среду разработки программного обеспечения Microsoft Visual Basic 6.0 Professional Edition. Выбор этот я сделал по следующим причинам:

Данная среда разработки поддерживает все современные технологии программирования и разработки, описанные ниже (такие как методология RAD);

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

Содержит в себе помощники быстрого создания интерфейса приложения;

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

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

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

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

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

3.2.1. Достоинства Visual Basic

Хотя программная оболочка Visual Basic выполнена полностью графической, а сам язык программирования весьма далек от языка, применяемого для ранних версий интерпретаторов Basic , простота и элегантность Basic осталась в большой мере присущей и новым версиям. Широкие возможности Visual Basic и его простота послужили основной причиной для выбора его в качестве языка программирования для создания таких Windows-приложений как Excel. Среда программирования Visual Basic содержит все необходимые инструменты для быстрого и эффективного создания мощных программ, работающих в среде Windows.

Инструменты, имеющиеся в среде программирования Visual Basic, помогают при конструировании Basic-программ.

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

Под строкой меню имеется панель инструментов - набор кнопок, являющихся ярлыками для команд, с помощью которых осуществляется работа в среде Visual Basic. В нижней части экрана расположена панель задач. Её можно использовать для переключения между компонентами Visual Basic или для активации других приложений Windows. Также имеется окно инструментов (Toolbox), окно содержания проекта (Project Container) , окно формы(Form) , окно проекта(Project), окно непосредственного выполнения(Immediate), окно свойств(Properties) и окно макета формы(Form layout).

Файлы проектов Visual Basic имеют расширения.vbp, .wak, .vbg в имени файла. В среде Visual Basic имеется 7 инструментов.

Форма Visual Basic – это окно в интерфейсе пользователя.

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

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

Visual Basic – программа состоит из нескольких файлов, которые собираются вместе, когда программа готова. В окне Project перечисляются все файлы, используемые при программировании.

Файлы проекта содержат список всех поддерживаемых файлов и программ проекта и их расширение vbp (Visual Basic program).

В Visual Basic 6 в окно Project можно одновременно загрузить несколько файлов проектов.

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

Средства управления. С их помощью создаются объекты и формы, выводится информация в текстовом блоке, просматриваются диски и папки в системе, обрабатываются данные, вводимые пользователем, запускаются Windows-приложения и просматриваются записи баз данных. Язык программирования Visual Basic содержит несколько сотен инструкций, функций и специальных символов. Он предназначен не только для использования в программном продукте Visual Basic, Microsoft Visual Basic for Application включен в состав Microsoft Excel, Microsoft Word, Microsoft Access, Microsoft PowerPoint, Microsoft Project и других приложений для Windows. Переменные и операторы.

Visual Basic позволяет резервировать переменные с указанием размера и без оного, работать с различными типами данных, использовать константы, работать с математическими операторами и функциями, использовать дополнительные операторы. Предусмотрено использование операторов циклов For..Next, Do, объектов типа “таймер” (невидимый секундомер в программе). Точность установления времени в программе составляет 1 миллисекунду, или 1/1000 сек. Запущенный таймер постоянно работает - т.е. выполняется соответствующая процедура обработки прерывания через заданный интервал времени - до тех пор, пока пользователь не остановит таймер или не отключит программу.


3.2.2. Методология RAD

Одним из возможных подходов к разработке ПО в рамках спиральной модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента:

Небольшую команду программистов (от 2 до 10 человек);

Короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);

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

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

Жизненный цикл программного обеспечения по методологии RAD состоит из четырех фаз:

Фаза анализа и планирования требований;

Фаза проектирования;

Фаза построения;

Фаза внедрения.

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

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

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

Общая информационная модель системы;

Функциональные модели системы в целом и подсистем, реализуемых отдельными командами разработчиков;

Точно определенные с помощью CASE-средства интерфейсы между автономно разрабатываемыми подсистемами;

Построенные прототипы экранов, отчетов, диалогов.

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

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

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

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

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

Производится анализ использования данных;

Производится физическое проектирование базы данных;

Определяются требования к аппаратным ресурсам;

Определяются способы увеличения производительности;

Завершается разработка документации проекта.

Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.

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

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

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

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

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

Таблица 3.1.

В качестве итога перечислим основные принципы методологии RAD:

Разработка приложений итерациями;

Необязательность полного завершения работ на каждом из этапов жизненного цикла;

Обязательное вовлечение пользователей в процесс разработки ИС;

Необходимое применение CASE-средств, обеспечивающих целостность проекта;

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

Необходимое использование генераторов кода;

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

Тестирование и развитие проекта, осуществляемые одновременно с разработкой;

Ведение разработки немногочисленной хорошо управляемой командой профессионалов;

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

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

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

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

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

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

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

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

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

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

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

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


4. Описание программного продукта «ПК инфо»

4.1. Алгоритм программного продукта

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

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

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

Работа модуля «Логические диски». При щелчке левой клавиши мыши на кнопке информационного модуля «Локальные диски», главная форма передает дочерней форме свойств дисковых устройств тип устройства и становится неактивной. Далее дочерняя форма свойств дисковых устройств загружается в память, отображается на экране и обрабатывает тип устройства (в данном случае это локальные диски). При выдаче информации о дисковых устройствах задействуется очень сложный программный код, который задействует семь API-функции (FindFirstFile FindNextFile lstrlen GetLogicalDrives GetDriveType GetVolumeInformation GetDiskFreeSpace) и цикл в результате которого выдается информация о полном объеме диска (сделано это потому что не существует специальных функций для отображения полного объема диска).

Алгоритм работы информационных модулей «Съемные диски» и «CD и DVD» аналогичен работе алгоритма информационного модуля логических дисков (приложение 3).

Работа модуля «Дисплей». При щелчке на кнопку данного информационного модуля так же загружается дочернее окно свойств видео системы и монитора компьютера. Здесь задействованы две API-функции - GetDeviceCaps и EnumDisplaySettings содержащие много параметров. При их вызове необходимые параметры заносятся в надписи на форме и список (допустимые режимы монитора). Программный код данного модуля описан в приложении 4.

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

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

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

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

Запуск дополнительных модулей осуществляется при помощи массива кнопок «Command8». При обработке нажатия на одну из этих кнопок программа отслеживает индекс кнопки из массива и по этому индексу определяет, какое диалоговое окно отобразить. Отображение необходимых диалоговых окон осуществляется через функцию языка программирования Visual Basic «Shell», которая запускает программу rundll32.exe в различной конфигурации и в зависимости от конфигурации на экране появляются необходимые диалоговые окна.

4.2. Руководство пользователя

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

Информационные модули – выдают различную информацию (объем памяти, качество цвета и т. д.);

Тестовые модули – тестирование отдельных модулей (логических и съемных дисков);

Листинговые модули – показ листинга системного файла (boot.ini, autoexec.bat и др.);

Дополнительные модули – стандартные модули в составе операционной системы Windows (дата и время, свойства системы и др.).

Объединены они для большего удобства и дабы не запутать пользователя, что он будет запускать.

Рамка (в дальнейшем «фрейм») «Информационные модули» содержит следующий перечень модулей о которых при нажатии на кнопку модуля будет выдана информация:

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

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

Съемные диски – показывает аналогичную информацию, что и модуль «Логические диски», но для съемных дисков установленных на компьютере, при этом диск должен находиться в дисководе, в противном случае программа попросит его установить.

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

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

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

Процессы – отображает список работающих программ, запущенных окон и служб работающих в фоновом режиме.

Фрейм «Тестовые модули» содержит два теста, это тест логических дисков и съемных дисков. Данные тесты показывают скорость устройств при записи на них и чтении.

Фрейм с листинговыми модулями содержит пять кнопок для отображения листинга системных файлов boot.ini, system.ini, win.ini, autoexec.nt и config.nt, в данных файлах содержится системная информация загрузки и настроек операционной системы.

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

Свойства системы;

Установка и удаление программ;

Язык и региональные стандарты;

Свойства экрана;

Свойства Интернет-браузера;

Свойства даты и времени;

Свойства клавиатуры;

Свойства мыши;

Свойства модема (если есть модем и он подключен и установлен);

Свойства звука, речи и аудиоустройств (если на персональном компьютере установлена звуковая плата).

При запуске программы отображается главное окно (см. Рис. 4.1)

Рис. 4.1. Интерфейс главного окна программного продукта.

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

Работу информационного модуля можно описать на примере модуля - «Память»:

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

Рис. 4.2. Пример работы программного продукта (отображение модуля «Память»).

На этой форме находятся два фрейма: Frame1 и Frame2, в первом фрейме находятся текстовые поля, которые отображают информацию о физической памяти, во втором фрейме текстовые поля отображают состояние виртуальной памяти. Вся эта информация получается при помощи специальной API-функции – GlobalMemoryStatus.

Вся информация о состоянии памяти отображается динамически, постоянно обновляясь, это достигается при помощи невидимого объекта таймера

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

Рис. 4.3. Интерфейс окна тестирования дисковых устройств.

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

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

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

Рис. 4.4. Интерфейс окна листинга системных файлов.

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

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

Рис. 4.5. Пример запуска окна «Свойства: Экран».

Рис. 4.6. Работа меню программы.


Заключение

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

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

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

Список используемой литературы

1. Вендров А.М. Один из подходов к выбору средств проектирования баз данных и приложений. "СУБД", 2003, №3.

2. Зиндер Е.З. Бизнес-реинжиниринг и технологии системного проектирования. Учебное пособие. М., Центр Информационных Технологий, 2000

3. Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М., "Лори", 1999.

4. Международные стандарты, поддерживающие жизненный цикл программных средств. М., МП "Экономика", 1998

5. Новоженов Ю.В. Объектно-ориентированные технологии разработки сложных программных систем. М., 1999.

6. Панащук С.А. Разработка информационных систем с использованием CASE-системы Silverrun. "СУБД", 1998, №3.

7. Горчинская О.Ю. Designer/2000 - новое поколение CASE-продуктов фирмы ORACLE. "СУБД", 2000, №3.

8. Горин С.В., Тандоев А.Ю. CASE-средство S-Designor 4.2 для разработки структуры базы данных. "СУБД", 2002, №1.

9. Петров Ю.К. JAM - инструментальное средство разработки приложений в информационных системах архитектуры "клиент/сервер", построенных на базе РСУБД. "СУБД", 2002, №3.

10. Ахметов К.С. Курс молодого бойца. Изд. 5-е, перераб. и доп. – М.: Компьютер Пресс, 1998. – 365с.: ил.

11. Олифер В.Г. Сетевые операционные системы. СПб.:Питер, 2002.-538с.


Приложения

Приложение 1 (Листинг модуля главного окна программы)

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public FileListName As String "для передачи имени файла для листинга

Public NumDrive As Byte "для передачи информации о типе дисков

Dim sDir As String, sTemp As String * 256, nSize As Long

Private Sub AutoexecNtCommand_Click()

sDir = Left(sTemp, nSize)

FileListName = Left(sDir, 3) + "Autoexec.nt"

Load FormListIni

FormListIni.Show

Private Sub BootIniCommand_Click()

nSize = GetWindowsDirectory(sTemp, 255)

sDir = Left(sTemp, nSize)

FileListName = Left(sDir, 3) + "boot.ini"

Load FormListIni

FormListIni.Show

Private Sub Command1_Click()

Load FormInfoMemory

FormInfoMemory.Show

Private Sub Command10_Click()

Private Sub Command2_Click()

Private Sub Command3_Click()

Private Sub Command4_Click()

Private Sub Command5_Click()

Load FormDisplay

FormDisplay.Show

Private Sub Command6_Click()

Call Shell(App.Path + "\NetProject\InfoNet.exe", vbNormalFocus)

Private Sub Command7_Click()

Private Sub Command8_Click(Index As Integer)

Select Case Index

Case 0: Call Shell("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,0", 5)

Case 1: Call Shell("rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,1", 5)

Case 2: Call Shell("rundll32.exe shell32.dll,Control_RunDLL intl.cpl,0", 5)

Case 3: Call Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,0", 5)

Case 4: Call Shell("rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,0", 5)

Case 5: Call Shell("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl", 5)

Case 6: Call Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl @1", 5)

Case 7: Call Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl @0", 5)

Case 8: Call Shell("rundll32.exe shell32.dll,Control_RunDLL modem.cpl", 5)

Case 9: Call Shell("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1", 5)

Private Sub Command9_Click()

Private Sub ConfigNtCommand_Click()

nSize = GetWindowsDirectory(sTemp, 255)

sDir = Left(sTemp, nSize)

FileListName = Left(sDir, 3) + "config.nt"

Load FormListIni

FormListIni.Show

Private Sub MnuExit_Click()

Private Sub MnuHelpAbout_Click()

Private Sub SistemIniCommand_Click()

nSize = GetWindowsDirectory(sTemp, 255)

sDir = Left(sTemp, nSize)

FileListName = sDir + "\system.ini"

Load FormListIni

FormListIni.Show

Private Sub WinIniCommand_Click()

nSize = GetWindowsDirectory(sTemp, 255)

sDir = Left(sTemp, nSize)

FileListName = sDir + "\win.ini"

Load FormListIni

FormListIni.Show


Приложение 2 ( Листинг модуля окна свойств памяти )

Private Type MEMORYSTATUS

dwLength As Long

dwMemoryLoad As Long

dwTotalPhys As Long

dwAvailPhys As Long

dwTotalPageFile As Long

dwAvailPageFile As Long

dwTotalVirtual As Long

dwAvailVirtual As Long

Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)

Dim MS As MEMORYSTATUS

Private Sub Command1_Click()

Private Sub Timer1_Timer()

MS.dwLength = Len(MS)

Call GlobalMemoryStatus(MS)

Text1(0).Text = Format$(.dwTotalPhys / 1024, "#,###") & " Kb"

Text1(1).Text = Format$(.dwTotalPhys / 1024 - .dwAvailPhys / 1024, "#,###") & " Kb"

Text1(2).Text = Format$(.dwAvailPhys / 1024, "#,###") & " Kb"

Text1(3).Text = .dwMemoryLoad

Text1(4).Text = Format$(.dwTotalPageFile / 1024, "#,###") & " Kb"

Text1(5).Text = Format$(.dwAvailPageFile / 1024, "#,###") & " Kb"

Text1(6).Text = Format$(.dwTotalVirtual / 1024, "#,###") & " Kb"

Text1(7).Text = Format$(.dwAvailVirtual / 1024, "#,###") & " Kb"


Приложение 3 (листинг модуля окна информации о дисках)

Private Const vbDot = 46

Private Const MAXDWORD = &HFFFFFFFF

Private Const MAX_PATH = 260

Private Const INVALID_HANDLE_VALUE = -1

Private Const FILE_ATTRIBUTE_DIRECTORY = &H10

Private Type FILETIME

dwLowDateTime As Long

dwHighDateTime As Long

Private Type WIN32_FIND_DATA

dwFileAttributes As Long

ftCreationTime As FILETIME

ftLastAccessTime As FILETIME

ftLastWriteTime As FILETIME

nFileSizeHigh As Long

nFileSizeLow As Long

dwReserved0 As Long

dwReserved1 As Long

cFileName As String * MAX_PATH

cAlternate As String * 14

Private Type FILE_PARAMS

bRecurse As Boolean

nFileCount As Long

nFileSize As Currency

nSearched As Long

sFileNameExt As String

sFileRoot As String

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long

Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long

Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenW" (ByVal lpString As Long) As Long

Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Private Declare Function GetDiskFreeSpace Lib "kernel32.dll" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long

Private Sub Command1_Click()

Private Sub Command2_Click()

Dim Serial As Long, VName As String, FSName As String

Dim SecPerClus As Long " число секторов в кластере

Dim BytePerSec As Long " число байт в секторе

Dim FreeClus As Long " число свободных кластеров

Dim TotalClus As Long " общее число кластеров

Dim Retval As Long " возвращаемое значение

Dim Free As Double

Dim FP As FILE_PARAMS

VName = String$(255, Chr$(0))

FSName = String$(255, Chr$(0))

"получаем информацию о диске

SFileRoot = QualifyPath(Combo1.Text + "\") "начальный путь

SFileNameExt = "*.*" "нужные файлы

BRecurse = 1 "True = рекурсией

Call GetDirectorySize(FP.sFileRoot, FP)

GetVolumeInformation Combo1.Text + "\", VName, 255, Serial, 0, 0, FSName, 255

Retval = GetDiskFreeSpace(Combo1.Text + "\", SecPerClus, BytePerSec, FreeClus, TotalClus)

VName = Left$(VName, InStr(1, VName, Chr$(0)) - 1)

FSName = Left$(FSName, InStr(1, FSName, Chr$(0)) - 1)

Free = (FreeClus / 1000 * SecPerClus * BytePerSec) * 1000

If MainForm.NumDrive = 2 Then Label1(0).Caption = "Тип устройства: Съемный диск"

If MainForm.NumDrive = 3 Then Label1(0).Caption = "Тип устройства: Жесткий диск"

If MainForm.NumDrive = 5 Then Label1(0).Caption = "Тип устройства: CD или DVD диск"

Label1(1).Caption = "Полный объем: " + Format$(FP.nFileSize + Free, "#,###") & " байт" + " (" + Format$((FP.nFileSize + Free) / 1073741824, "###.#") + " Гбайт)"

Label1(2).Caption = "Свобоный объем: " + Format$(Free, "#,###") & " байт" + " (" + Format$(Free / 1073741824, "###.#") + " Гбайт)"

Label1(3).Caption = "Используемый объем: " + Format$(FP.nFileSize, "###,###,###,###") + " байт" + " (" + Format$(FP.nFileSize / 1073741824, "###.#") + " Гбайт)"

Label1(4).Caption = "Файловая система: " + FSName

Label1(5).Caption = "Число свободных кластеров: " + CStr(FreeClus)

Label1(6).Caption = "Число секторов в кластере: " + CStr(SecPerClus)

Label1(7).Caption = "Число байт в секторе: " + CStr(BytePerSec)

Label1(8).Caption = "Общее число кластеров: " + CStr(TotalClus)

ProgressBar1.Value = ((FP.nFileSize / (FP.nFileSize + Free)) * 100): Label2.Caption = CStr(CInt(ProgressBar1.Value)) + "%"

Private Sub Form_Load()

FillCombo Combo1, True

Combo1.ListIndex = i

Combo1.RemoveItem 0

Combo1.ListIndex = 0

Call Command2_Click

Dim DriveNum As Long

For DriveNum = 0 To 25

Private Sub GetDirectorySize(sRoot As String, FP As FILE_PARAMS)

Dim wfd As WIN32_FIND_DATA

Dim hFile As Long

hFile = FindFirstFile(sRoot & "*.*", wfd)

If hFile <> INVALID_HANDLE_VALUE Then

If Asc(wfd.cFileName) <> vbDot Then

If (wfd.dwFileAttributes And vbDirectory) Then

If FP.bRecurse Then

GetDirectorySize sRoot & TrimNull(wfd.cFileName) & "\", FP

End If "If fp.bRecurse

FP.nFileCount = FP.nFileCount + 1

FP.nFileSize = FP.nFileSize + ((wfd.nFileSizeHigh * (MAXDWORD + 1)) + wfd.nFileSizeLow)

End If "If WFD.dwFileAttributes

End If "If Asc(wfd.cFileName)

FP.nSearched = FP.nSearched + 1

Loop While FindNextFile(hFile, wfd)

End If "If hFile

Private Function TrimNull(startstr As String) As String

TrimNull = Left$(startstr, lstrlen(StrPtr(startstr)))

Private Function QualifyPath(sPath As String) As String

If Right$(sPath, 1) <> "\" Then

QualifyPath = sPath & "\"

QualifyPath = sPath


Приложение 4 (листинг модуля окна свойств дисплея)

Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long

Private Const DRIVERVERSION As Long = 0 "Версия драйвера

Private Const TECHNOLOGY As Long = 2 "Классификация устройства

Private Const HORZSIZE As Long = 4 "Размер по горизонтали в мм.

Private Const VERTSIZE As Long = 6 "Размер по вертикали в мм.

Private Const HORZRES As Long = 8 "Размер по горизонтали в точках

Private Const VERTRES As Long = 10 "Размер по вертикали в точках

Private Const BITSPIXEL As Long = 12 "Кол-во бит на точку

Private Const PLANES As Long = 14 "Number of planes

Private Const NUMBRUSHES As Long = 16 "Number of brushes the device has

Private Const NUMPENS As Long = 18 "Number of pens the device has

Private Const NUMMARKERS As Long = 20 "Number of markers the device has

Private Const NUMFONTS As Long = 22 "Number of fonts the device has

Private Const NUMCOLORS As Long = 24 "Макс. кол-во возможных цветов

Private Const PDEVICESIZE As Long = 26 "Size required for device descripto

Private Const CURVECAPS As Long = 28 "Curve capabilities

Private Const LINECAPS As Long = 30 "Line capabilities

Private Const POLYGONALCAPS As Long = 32 "Polygonal capabilities

Private Const TEXTCAPS As Long = 34 "Text capabilities

Private Const CLIPCAPS As Long = 36 "Clipping capabilities

Private Const RASTERCAPS As Long = 38 "Bitblt capabilities

Private Const ASPECTX As Long = 40 "Length of the X leg

Private Const ASPECTY As Long = 42 "Length of the Y leg

Private Const ASPECTXY As Long = 44 "Length of the hypotenuse

Private Const SHADEBLENDCAPS As Long = 45 "Shading and blending caps (IE5)

Private Const LOGPIXELSX As Long = 88 "Logical pixels/inch in X

Private Const LOGPIXELSY As Long = 90 "Logical pixels/inch in Y

Private Const SIZEPALETTE As Long = 104 "Number of entries in physical palette

Private Const NUMRESERVED As Long = 106 "Number of reserved entries in palette

Private Const COLORRES As Long = 108 "Количество цветов

Private Const VREFRESH As Long = 116 "Текущий рефрешь по вертикали в Гц

"(только для монитора)

Private Const DESKTOPVERTRES As Long = 117 "Размер десктопа по горизонтали

Private Const DESKTOPHORZRES As Long = 118 "Размер десктопа по вертикали

Private Const BLTALIGNMENT As Long = 119 "Preferred blt alignment

"Для списка режимов

Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean

Private Const CCDEVICENAME = 32

Private Const CCFORMNAME = 32

Private Type DEVMODE

dmDeviceName As String * CCDEVICENAME

dmSpecVersion As Integer

dmDriverVersion As Integer

dmSize As Integer

dmDriverExtra As Integer

dmFields As Long

dmOrientation As Integer

dmPaperSize As Integer

dmPaperLength As Integer

dmPaperWidth As Integer

dmScale As Integer

dmCopies As Integer

dmDefaultSource As Integer

dmPrintQuality As Integer

dmColor As Integer

dmDuplex As Integer

dmYResolution As Integer

dmTTOption As Integer

dmCollate As Integer

dmFormName As String * CCFORMNAME

dmUnusedPadding As Integer

dmBitsPerPel As Integer

dmPelsWidth As Long

dmPelsHeight As Long

dmDisplayFlags As Long

dmDisplayFrequency As Long

Private Sub Command1_Click()

Private Sub Form_Load()

Dim sBPPtype As String

Dim sFreqtype As String

Dim CurrBPP As Long

Dim CurrVFreq As Long

"Подписываем глубину цвета для удобства чтения

CurrBPP = GetDeviceCaps(hdc, BITSPIXEL)

Select Case CurrBPP

Case 4: sBPPtype = "(16 цветов)"

Case 8: sBPPtype = "(256 цветов)"

Case 16: sBPPtype = "(High Color)"

Case 24, 32: sBPPtype = "(True Color)"

CurrVFreq = GetDeviceCaps(hdc, VREFRESH)

Select Case CurrVFreq

Case 0, 1: sFreqtype = "(Определяется адаптером)"

Case Else: sFreqtype = "(Ручная настройка)"

Label1(0).Caption = "Разрешение по горизонтали: " & GetDeviceCaps(hdc, HORZRES) & " пикселей"

Label1(1).Caption = "Разрешение по вертикали: " & GetDeviceCaps(hdc, VERTRES) & " пикселей"

Label1(2).Caption = "Разрешение по горизонтали в миллиметрах: " & GetDeviceCaps(hdc, HORZSIZE) & " мм"

Label1(3).Caption = "Разрешение по вертикали в миллиметрах: " & GetDeviceCaps(hdc, VERTSIZE) & " мм"

Label1(4).Caption = "Качество цветопередачи: " & CurrBPP & " бит " & sBPPtype

Label1(5).Caption = "Количество цветов: " & 2 ^ CurrBPP

Label1(6).Caption = "Частота обновления экрана: " & CurrVFreq & " Гц " & sFreqtype

"Заполнение списка режимов

EnumDisplay lstmodes

Private Sub EnumDisplay(displaylistbox As ListBox)

Dim lTemp As Long, tDevMode As DEVMODE, lIndex As Long

lTemp = EnumDisplaySettings(0&, lIndex, tDevMode)

If lTemp = 0 Then Exit Do

displaylistbox.AddItem .dmPelsWidth & " x " & .dmPelsHeight & " , " & .dmBitsPerPel & " бит"

lIndex = lIndex + 1


Приложение 5 (листинг модуля окна тестирования дисков)

Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Declare Function GetLogicalDrives Lib "kernel32" () As Long

Private Declare Function GetTickCount Lib "kernel32" () As Long

Dim TStart As Long "переменная таймера только для этой процедуры

Dim TEnd As Long "переменная таймера только для этой процедуры

Dim Zapis(9) As Single

Dim Chten(9) As Single

Dim AStart As Single

Dim AEnd As Single

Private Sub Command1_Click()

Dim i As Long, j As Byte, Tmp As Single, Str1 As String

If MainForm.NumDrive = 3 Then

AStart = GetTickCount()

TStart = GetTickCount()

For i = 0 To 349524

TEnd = GetTickCount()

Zapis(j) = 1 / ((TEnd - TStart) / 2000)

Tmp = Tmp + Zapis(i)

Label1.Caption = "Средняя скорость записи " & FormatNumber(Tmp, 3) & " Мб/сек"

ProgressBar1.Value = Tmp

TStart = GetTickCount()

Str1 = Len(Input(LOF(1), 1))

TEnd = GetTickCount()

Chten(j) = 1 / ((TEnd - TStart) / 1000)

Tmp = Tmp + Chten(i)

ProgressBar2.Value = Tmp

AEnd = GetTickCount()

Label4.Caption = "Кол-во тестов: 10 на запись, 10 на чтение"

If MainForm.NumDrive = 2 Then

ProgressBar1.Max = 80

ProgressBar2.Max = 80

AStart = GetTickCount()

TStart = GetTickCount()

Open Combo1.Text & "\proba.txt" For Output As 1

For i = 0 To 349524

TEnd = GetTickCount()

Label1.Caption = "Cкорость записи " & FormatNumber(1 / ((TEnd - TStart) / 1000000), 3) & " Kb/sec"

ProgressBar1.Value = 1 / ((TEnd - TStart) / 1000000)

TStart = GetTickCount()

Open Combo1.Text & "\proba.txt" For Input As 1

Str1 = Len(Input(LOF(1), 1))

TEnd = GetTickCount()

Chten(j) = 1 / ((TEnd - TStart) / 10000)

Tmp = Tmp + Chten(i)

AEnd = GetTickCount()

Label2.Caption = "Средняя скорость чтения " & FormatNumber(Tmp, 3) & " Мб/сек"

Label3.Caption = "Общее время теста: " & FormatNumber(((AEnd - AStart) / 1000), 4) & " секунд"

ProgressBar2.Value = Tmp

Label4.Caption = "Кол-во тестов: 1 на запись, 4 на чтение"

Private Sub Command2_Click()

Private Sub Form_Load()

Dim i As Byte, drivetype As Long, k As Byte

FillCombo Combo1, True

For i = 0 To Combo1.ListCount - 1

Combo1.ListIndex = i

drivetype = GetDriveType(Combo1.Text + "\")

If drivetype = MainForm.NumDrive Then Combo1.AddItem Combo1.Text: k = k + 1

For i = 0 To Combo1.ListCount - k - 1

Combo1.RemoveItem 0

Combo1.ListIndex = 0

Call Command1_Click

Private Sub FillCombo(cbo As ComboBox, ByVal bUsed As Boolean)

Dim DriveNum As Long

For DriveNum = 0 To 25

If CBool(GetLogicalDrives And (2 ^ DriveNum)) = bUsed Then

cbo.AddItem Chr$(Asc("A") + DriveNum) & ":"

Типичный набор необходимого программного обеспечения для небольшой организации.

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

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

Набор программного обеспечения для офиса

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

Операционные системы

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

Самая популярная в настоящее время версия клиентской операционной системы — Microsoft Windows 7 Professional (цена от 4 150 руб.). Windows 7 Профессиональная — самая распространенная ОС, она простая и практичная в использовании, многофункциональная и быстродейственная, эффективная и надежная в работе, имеет хорошую совместимость с большинством компьютерного «железа». Также есть более современная версия, но пока еще менее распространенная ОС - это Windows 8, которая не уступает по своим качественным характеристикам Windows 7 и имеет еще более расширенные возможности.

Самой распространённой версией серверных ОС на сегодняшний день является Windows Server 2008 (цена от 24 000 руб.). Это хорошая серверная ОС, которая дает возможность совместной работы для сотрудников вашего офиса с различными файлами и периферийным оборудованием, позволяет организовать удаленный доступ и осуществляет поддержку безопасности IT-структуры. Для лицензирования операционной системы Windows Server 2008, как и для других серверных ОС нужно купить необходимое количество лицензий клиентского доступа, которое зависит от единиц пользователей в сети, подключенных к этому серверу. Более дешевым вариантом серверной операционной системы от компании Microsoft, является устаревшая Windows Server 2003 (цена от руб.). Windows Server 2012 - последняя версия серверной ОС от компании Microsoft. Она является современной заменой для Windows Server 2008/ 2003.
Некоторые организации пользуются серверными ОС семейства Linux, которые в большинстве случаев значительно дешевле серверных операционных систем от компании Microsoft, но в то же время требующих дорогостоящих обслуживающих специалистов.

Антивирусное программное обеспечение и Файрволлы

Информационная безопасность и сохранность данных имеют самый высокий приоритет для любой компании. Поражение системы компьютерным вирусом может привести к сбоям программ, утрате и повреждению важных рабочих документов и данных. Для предупреждения и предотвращения таких последствий необходимо использовать всевозможные эффективные системы компьютерной безопасности. Самыми популярными видами таких систем являются антивирусы. Антивирусные системы бывают как серверные, так и клиентские, а также для мобильных устройств. В настоящее время наиболее популярными и эффективными антивирусными программами являются Антивирус Касперского (цена от руб.), Eset NOD32, Norton Anti-Virus, Dr. Web, Avast. Это проверенные и эффективные продукты, которые имеют основные необходимые инструменты для качественной защиты компьютеров.

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

Прикладное программное обеспечение

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

Офисное программное обеспечение

Для любого современного офиса, необходимо предусмотреть возможность эффективной работы с документами, их редактирования, обмена и т.д. Для этого понадобятся текстовые и табличные редакторы, почтовые программы, ПО для создания презентаций и т.д. Самым популярным и эффективным решением на сегодняшний день является пакет приложений Microsoft Office 2010 (от 5 500 руб.), который включает в себя (в зависимости от версии) большинство необходимых инструментов для офисной работы Microsoft Word, Microsoft Outlook, Microsoft Excel, Microsoft PowerPoint и другие. Более дешевым пакетом офисных программ от компании Microsoft, являются устаревшие варианты, например Microsoft Office 2007 или 2003 (цена от руб.). Microsoft Office 2013 - новейшая версия пакета офисных приложений.

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

Полезные программы и утилиты


Также Вам могут понадобиться такие полезные программы и утилиты как Nero для записи информации на диски, ABBYY Lingvo —словарь, PROMT — переводчик текстов, WinRar - архивирование данных, Adobe Acrobat Reader - чтение файлов и другие.

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


© 2024
alerion-pw.ru - Про лекарственные препараты. Витамины. Кардиология. Аллергология. Инфекции