Краткая история UML. Объектный подход к разработке программных средств. Визуальная среда программирования С Builder. Сведения о диаграмме вариантов использования. Диаграмма классов программы "Вычисления нерабочих дней". Алгоритм работы программы.
Аннотация к работе
Программирование интерфейса приложения при этом сводятся к составлению окна программы путем перетаскивания на него готовых элементов оформления: кнопок, окон, списков и программирования их свойств. При использовании таких визуальных средств программирования специалист, создающий программное решение какой-либо задачи, может сконцентрировать свои усилия на алгоритме, используя для оформления интерфейса программы стандартные объекты и методы. У этой программы есть подраздел, который содержит «Информацию о программе». Таким образом, объект воплощает некоторую сущность и имеет некоторое состояние, которое может изменяться со временем как следствие влияния других объектов, находящихся с первым в каких-либо отношениях. Отношение связывает некоторые объекты: можно считать, что объединение этих объектов обладает некоторым свойством.3) Программа при нажатии кнопки «Вычисление нерабочих дней» должна производить вычисления нерабочих дней в выбранном пользователем месяце. 4) Программа при нажатии кнопки «Информация о программе» должна скрывать предыдущее окно и открывать окно «Информация о программе». 5) Программа при нажатии на кнопку «ОК» должна закрывать окно «Информация о программе» и раскрывать окно «Вычисление нерабочих дней». Условия эксплуатации программы: 1) Условия эксплуатации данной программы не требует специальной подготовки и не требует особых температурных показателей. Требования к информационной и программной совместимости программы: Программа должна быть написана на языке программирования С и с помощью визуальной среды программирования С Builder 2007.Также необходимо подготовить комплект программной и эксплуатационной документации на программу. Эта документация отображает все сведения о разработанной программе, а также все сведения, необходимые для работы с программой и ее обслуживания.Дизайн формы 1 представлены на рисунке А1.//---------------------------------------------------------------------------void __fastcall TFORM1::Button1Click(TOBJECT *Sender) //---------------------------------------------------------------------------void __fastcall TFORM1::Button2Click(TOBJECT *Sender) //---------------------------------------------------------------------------void __fastcall TFORM1::Button3Click(TOBJECT *Sender) void __fastcall Button1Click(TOBJECT *Sender); void __fastcall Button2Click(TOBJECT *Sender);Для начала работы в данной программе необходимо ее запустить двойным щелчком правой кнопки мыши по ее ярлыку. Для закрытия программы необходимо нажать правой кнопкой мыши на компонент окна программы, который находится в крайнем верхнем, правом положении. Программа корректно функционирует при следующей конфигурации персонального компьютера: монитор, системных блок, клавиатура, оптический манипулятор «мышь».
Введение
Известно, что основной задачей первых трех десятилетий компьютерной эры являлось развитие аппаратных компьютерных средств. Это было обусловлено высокой стоимостью обработки и хранения данных. В 80-е годы успехи микроэлектроники привели к резкому увеличению производительности компьютера при значительном снижении стоимости.
Основной задачей 90-х годов и начала 21 века стало совершенствование качества компьютерных приложений, возможности которых целиком определяются программным обеспечением (ПО).
Современный персональный компьютер теперь имеет производительность большой электронно-вычислительной машины 80-х годов. Сняты практически все аппаратные ограничения на решение задач. Оставшиеся ограничения приходятся на долю программного обеспечения.
Чрезвычайно актуальными стали следующие проблемы: 1) аппаратная сложность опережает наше умение строить программное обеспечение, использующее потенциальные возможности аппаратуры;
2) наше умение строить программы отстает от требований к новым программам;
3) нашим возможностям эксплуатировать существующие программы угрожает низкое качество их разработки.
Ключом к решению этих проблем является грамотная организация процесса создания программного обеспечения, реализация технологических принципов промышленного конструирования программных систем.
Задача данной курсовой работы произвести все те действия, по созданию программного обеспечения и документации к нему, которые производятся входе создания программы в повседневной жизни.
Современные высокоуровневые языки программирования, предназначенные для создания пользовательских приложений. Такие средства являются средами программирования, в которые интегрированы библиотеки готовых объектов и методов для выполнения общих для большинства приложений задач. Программирование интерфейса приложения при этом сводятся к составлению окна программы путем перетаскивания на него готовых элементов оформления: кнопок, окон, списков и программирования их свойств.
При использовании таких визуальных средств программирования специалист, создающий программное решение какой-либо задачи, может сконцентрировать свои усилия на алгоритме, используя для оформления интерфейса программы стандартные объекты и методы.
1. Постановка задачи
Программа «Вычисление нерабочих дней» должна производить вычисление количества нерабочих дней, включая праздничные дни, в каждом месяце. Также она должна предоставлять пользователю возможность выбирать из списка месяцев нужный месяц.
У этой программы есть подраздел, который содержит «Информацию о программе». В этом подразделе указанна информация о версии программы, ее наименовании, авторе программы, а также сведения о правах на эту программу.
2. Теоретическая часть
2.1 Объектный подход к разработке программных средств
Сущность объектного подхода к разработке программных средств.
Окружающий нас мир состоит из объектов и отношений между ними. Таким образом, объект воплощает некоторую сущность и имеет некоторое состояние, которое может изменяться со временем как следствие влияния других объектов, находящихся с первым в каких-либо отношениях. Он может иметь внутреннюю структуру: состоять из других объектов, также находящихся между собой в некоторых отношениях. Исходя из этого, можно построить иерархическое строение мира из объектов.
Отношение связывает некоторые объекты: можно считать, что объединение этих объектов обладает некоторым свойством. Если отношение связывает «n» объектов, то такое отношение называется n-местным. На каждом месте объединения объектов, которые могут быть связаны каким-либо конкретным отношением, могут находиться разные объекты, но вполне определенные (в этом случае говорят: объекты определенного класса). Одноместное отношение называется простым свойством объекта соответствующего класса. Многоместное отношение объектов будем называть ассоциативным свойством объекта, если этот объект участвует в этом отношении. Состояние объекта может быть изучено по значению простых или ассоциативных свойств этого объекта. Множество всех объектов, которые обладают каким-то общим набором свойств, называется классом объектов.
Каждый объект информационно может быть представлен некоторой структурой данных, отображающей его состояние. Простые свойства этого объекта могут задаваться непосредственно в виде отдельных компонент этой структуры, либо специальными функциями над этой структурой данных.
При исследовании модельного мира пользователи могут по-разному получать информацию от компьютера.
В одних случаях пользователей может интересовать получение информации об отдельных свойствах определенных объектов или результаты какого-либо взаимодействия между некоторыми объектами модельного мира. Для удовлетворения таких запросов разрабатываются соответствующие программные средства, которые выполняют интересующие пользователей функции, или подходящие информационные системы, способные выдавать информацию об интересующих пользователей отношениях.
Сущность этого подхода состоит в систематическом использовании декомпозиции функций для описания и построения структуры программных средств (включая тексты программ). При этом сами объекты модельного мира, с которыми связаны заказываемые и реализуемые функции, представлялись фрагментарно (в том объеме, который необходим для выполнения этих функций) и в форме, удобной для реализации этих функций. Тем самым обеспечивалась эффективная реализация требуемых функций, но не создавалось цельного и адекватного компьютерного представления модельного мира, интересующего пользователя. Попытки даже незначительного расширения объема и характера информации об этом модельном мире, которую можно получить от Программных средств, могло потребовать серьезной модернизации этого программного средства. С точки зрения разработчиков программных средств следует различать следующие категории объектов: объекты модельного (вещественного или умственного) мира;
информационные модели объектов реального мира;
объекты процесса выполнения программ;
объекты процесса разработки программных средств.
Кроме того, в зависимости от способа представления в компьютере модельного мира и характера взаимодействия с ним со стороны пользователя следует различать пассивные и активные объекты.
Пассивный объект представляет собой некоторый фрагмент информационной среды, который способен хранить разные данные определенного типа, и с которым связан некоторый набор операций. Операции над таким объектом применяются под воздействием некоторой внешней по отношению к этому объекту активной силы, исходящей либо от пользователя, либо от какого-либо программного фрагмента в процессе его выполнения. Активный объект представляет собой такое расширение пассивного объекта, в котором фрагмент информационной среды способен также хранить и программные фрагменты, способные находиться в процессе выполнения. Активный объект, у которого какие-либо программные фрагменты находятся в активном состоянии, способен воспринимать сообщения или сигналы из операционной среды, в которую он погружен, и самостоятельно выполнять некоторые операции как реакцию на эти сообщения или сигналы. Когда говорят об объектно-ориентированном подходе к разработке программных средств, имеют в виду объектный подход с ориентацией на описание объектов модельного мира и построением их информационных моделей, причем используются, в основном, активные объекты. При этом многие процессы разработки программных средств приобретают «объектные» черты: использование системы понятий, позволяющих описывать объекты и их классы;
декомпозиция объектов является основным средством упрощения программных средств;
использование внепрограммных абстракций для упрощения процессов разработки;
предпочтение разработки структуры данных перед реализацией функций.
Основной задачей логического проектирования при объектном подходе является разработка классов для реализации объектов, полученных при объектной декомпозиции, что предполагает полное описание полей и методов каждого класса.
Физическое проектирование при объектном подходе включает объединение классов и других программных ресурсов в программные компоненты, а также размещение этих компонентов на конкретных вычислительных устройствах.
2.2 Визуальная среда программирования С Builder
Borland C Builder - выпущенное компанией Borland средство быстрой разработки приложений, позволяющее создавать приложения на языке C , используя при этом среду разработки и библиотеку компонентов Delphi.
Среда разработки C Builder. C Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода, рисунок 1.
Рисунок 1 - Среда разработки C Builder
Формы являются основой приложений C Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C Builder, называемых компонентами. Компоненты C Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.
Компоненты C Builder разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows 95 и др.). Они показаны на рисунке 2.
Рисунок 2 - Пример использования видимых и невидимых компонентов
Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.
Каждый компонент C Builder имеет три разновидности характеристик: свойства, события и методы.
Если выбрать компонент из палитры и добавить его к форме, инспектор объектов автоматически покажет свойства и события, которые могут быть использованы с ним компонентом. В верхней части инспектора объектов имеется выпадающий список, позволяющий выбирать нужный объект из имеющихся на форме. Это показано на рисунке 3.
Рисунок 3 - Инспектор объектов
Свойства компонентов являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанав иваемое по умолчанию (например, высота кнопок). Свойства компонента отображаются, а странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.
При определении свойств компонента во время проектирования нужно выбрать компонент на форме, открыть страницу свойств в инспекторе объектов, выбрать определяемое свойство и изменить его с помощью редактора свойств (это может быть простое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и т.д.).
Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows Vista или Windows 7 предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.
Для того чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить C Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок { ... }. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках. Данное действие показано на рисунке 4.
Рисунок 4 - Прототип обработчика событий
Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->, например: Edit1->Show();
Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.
Файлы, образующие приложение - формы и модули - собраны в проект. Менеджер проектов показывает списки файлов и модулей приложения и позволяет осуществлять навигацию между ними. Можно вызвать менеджер проектов , выбрав пункт меню View/Project Manager, показанный на рисунке 5. По умолчанию вновь созданный проект получает имя Project1.cpp. программный средство приложение дата
Рисунок 5 - Менеджер проектов
По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню. Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню менеджера проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, изза того, что форма связаны всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов.
Если выбрать кнопку Options в менеджере проектов, откроется диалоговая панель опций проекта, в которой можно выбрать главную форму приложения, определить, какие формы будут создаваться динамически, каковы параметры компиляции модулей (в том числе созданных в Delphi 2.0, так как C Builder может включать их в проекты) и компоновки. Эти действия показаны на рисунке 6.
Рисунок 6 - Установка опций проекта
Важным элементом среды разработки C Builder является контекстное меню, появляющееся при нажатии на правую клавишу мыши и предлагающее быстрый доступ к наиболее часто используемым командам.
Разумеется, C Builder обладает встроенной системой контекстно-зависимой помощи, доступной для любого элемента интерфейса и являющейся обширным источником справочной информации о C Builder.
Первым шагом в разработке приложения C Builder является создание проекта. Файлы проекта содержат сгенерированный автоматически исходный текст, который становится частью приложения, когда оно скомпилировано и подготовлено к выполнению. Чтобы создать новый проект, нужно выбрать пункт меню File/New Application.
C Builder создает файл проекта с именем по умолчанию Project1.cpp, а также make-файл с именем по умолчанию Project1.mak. При внесении изменений в проект, таких, как добавление новой формы, C Builder обновляет файл проекта, это показано на рисунке 7.
Рисунок 7 - Файл проекта
Проект или приложение обычно имеют несколько форм. Добавление формы к проекту создает следующие дополнительные файлы: 1) Файл формы с расширением DFM, содержащий информацию о ресурсах окон для конструирования формы
2) Файл модуля с расширением CPP, содержащий код на C .
3) Заголовочный файл с расширением .H, содержащий описание класса формы.
Когда вы добавляете новую форму, файл проекта автоматически обновляется.
Для того чтобы добавить одну или более форм к проекту, показанных на рисунке 8, выберите пункт меню File/New Form. Появится пустая форма, которая будет добавлена к проекту. Можно воспользоваться пунктом меню File/New, выбрать страницу Forms и выбрать подходящий шаблон из репозитория объектов.
Рисунок 8 - Шаблоны форм
Для того, чтобы просто откомпилировать текущий проект, из меню Compile нужно выбрать пункт меню Compile. Для того, чтобы откомпилировать проект и создать исполняемый файл для текущего проекта, из меню Run нужно выбрать пункт меню Run. Компоновка проекта является инкрементной (перекомпилируются только изменившиеся модули).
Если при выполнении приложения возникает ошибка времени выполнения, C Builder делает паузу в выполнении программы и показывает редактор кода с курсором, установленным на операторе, являющемся источником ошибки. Прежде чем делать необходимую коррекцию, следует перезапустить приложение, выбирая пункт меню Run из контекстного меню или из меню Run, закрыть приложение и, лишь затем вносить изменения в проект. В этом случае уменьшится вероятность потери ресурсов Windows.
3. Техническое задание
Вывод
Главной задачей в данном проекте является разработка программы и проверка ее работоспособности, пользуясь методами тестирования С Builder. Также необходимо подготовить комплект программной и эксплуатационной документации на программу. Эта документация отображает все сведения о разработанной программе, а также все сведения, необходимые для работы с программой и ее обслуживания. Процесс составления программной и эксплуатационной документации является очень трудоемким и требует большого количества времени на ее оформление. Выполненное приложение может быть использовано на практических работах по дисциплине «ТРПП», для демонстрации возможности визуальной среды по работе с датами.
В ходе курсовой работы были закреплены теоретические знания, полученные по предмету «Технология разработки программных продуктов» и приобретены практические навыки по составлению и оформлению комплекта программной и эксплуатационной документации на программное изделие.
Список литературы
1 Галявов И.Р., Borland C 5 для себя, ДМК, М., 2001 г., - 12 с.
2 С.А. Орлов. Технологии разработки программного обеспечения, С.-Петербург, Питер, 2003 г., - 148 с.
3 Л.Г. Гагарина, Б.Д. Виснадул, А.В. Игошин. Основы технологии разработки программных продуктов, М., Форум-Инфра-М, 2006 г., - 156 с.
4 Руководство по составлению и оформлению курсового проекта (работы), НТГЭ, 2003 г.
5 Методические указания к выполнению курсовой работы, НТГЭ, 2003 г. - 17 c.
6 Е. Кондратюк. С .Трюки и эффекты . СПБ., Питер, 2006 г., - 431 c.
7 Архангельский А.Я. С Builder 6. Справочное пособие в 2 книгах. М., - Бином, 2002., - 350 с.
8 Б. Пахомов. С/С Borland C Builder для начинающих. СПБ., - БХВ Петербург, 2006 г., - 810 с.
9 С. Бобровский. Технологии C Builder. Разработка приложений для бизнеса. СПБ. -Питер, 2007 г., - 212 с.