Дипломная работа: Диплом Разработка АС управления персоналом

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Явная поддержка функционального программирования присутствует только в будущем стандарте c++0x. Данный пробел устраняется различными библиотеками (Loki, Boost), использующими средства метапрограммирования для расширения языка функциональными конструкциями (например, поддержкой лямбд/анонимных методов), но качество подобных решений значительно уступает качеству встроенных в функциональные языки решений. Такие возможности функциональных языков, как сопоставление с образцом, вообще крайне сложно эмулировать средствами метапрограммирования.

Некоторые считают недостатком языка C++ отсутствие встроенной системы сборки мусора. С другой стороны, средства C++ позволяют реализовать сборку мусора на уровне библиотеки. Противники сборки мусора полагают, что RAII является более достойной альтернативой. С++ позволяет пользователю самому выбирать стратегию управления ресурсами.

2.3. Разработка формы входных и выходных данных

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

В данной работе почти все входящие данные имеют тип String. Так как никаких вычислений в программе не предполагается, соответственно, это упрощает процесс планирования кода. Что касается запретов на ввод определенных символов, они легко реализуются и с данными строкового типа. Список данных типа Integer (целочисленные) будет приведен ниже.

Современное программное обеспечение, предназначенное для пользователя (в отличие от системного ПО), должно быть ориентировано не только на правильность и точность поставленных задач, но и на удобство использования. С этой целью программа должна иметь внятный, легкий в использовании интерфейс. Ввод данных практически всегда осуществляется с помощью такого компонента, как однострочный редактор (edit). Он удобен в использовании, с его помощью легко упорядочивать данные программным способом. Из родственных компонентов можно отметить многострочные поля ввода Memo, однако у них есть существенный недостаток – данные, которые вводятся с их помощью, не подлежат сортировке, фильтрации и индексированию, т.к. требуют намного больших вычислительных мощностей. Это нецелесообразно. Иногда на помощь при вводе данных также используют компоненты ListBox и ComboBox, данные в которых, как правило, предустановлены и пользователь только выбирает подходящие для себя значения. В настоящей разработке такие компоненты также применяются. Иногда роль компонентов, позволяющих осуществить ввод данных, могут взять на себя CheckBox и RadioButton, но это большая редкость – в этом случае речь идет о простом выборе из ограниченного набора каких-либо значений. Довольно часто применяется ввод данных в компонент Table, однако у него специфические свойства, ограничивающие его применение.

Вывод данных можно осуществлять в компоненты Edit, Memo, Label, Table и т.п.

Что касается типов данных Integer, они присутствуют в данной разработке в Unit2, Unit4, Unit5, Unit13, Unit16 и объявлены в виде глобальных переменных.

2.4. Разработка алгоритма решения задачи

Рисунок 2.1. Общая схема алгоритма работы программы

Примеры алгоритмов решения различных задач разработки:

Рисунок 2.2. Алгоритм работы формы «Увольнение сотрудника»

Рисунок 2.3.Добавление должности в подразделение

2.5. Разработка интерфейсной части

Рисунок 2.4. Проектирование главного окна приложения.

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

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

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

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

Основными компонентами главной формы приложения являются кнопки (компонент Button). Основным событием, которое связано с кнопкой, является щелчок мышью (событие OnClick). Описание программного кода главной формы дано в приложении Б (Руководстве программиста), внешний вид модулей в среде Embarcadero – в следующей теме.

Рисунок 2. 5.Создание формы «Увольнение сотрудника».

В данной форме появляются такие компоненты, как Edit и Label. Свойства компонента Label (Надпись) особого смысла перечислять нет – он не задействован в программе и играет роль простой надписи. Об edit следует рассказать чуть подробнее – во всех формах, этой и тех, о которых речь идет далее, они используются для ввода данных.

У этого объекта достаточное количество интересных и полезных для программиста свойств. То, что видит пользователь – иногда результат многочасовых усилий программистов. Например, свойство MaxLength – ограничитель количества вводимых символов. Смысл этого ограничения будет описан позже.

Свойство Font регулирует параметры шрифта – размер, цвет, начертание.

Маска ввода – данные вводятся согласно определенным правилам.

Но в основном свойства компонента Edit регулируются программным способом.

Также в данной работе встречается компонент ListBox, едва ли не главным свойством которого является Items. Собственно говоря, это не что иное, как набор данных, которые отображаются в компоненте. Источником данных может быть что угодно – например, какой-нибудь список из текстового файла. Это достаточно легко программируется. У объекта имеются свойства, делающие его возможности разнообразными – к примеру, Multiselect, когда можно выделить сразу несколько строк данных (по умолчанию этот параметр отключен). Sorted – свойство, означающее сортировку данных в алфавитном порядке, однако это действие требуется далеко не всегда.

Источник: https://files.student-it.ru/previewfile/593