
Методичка Фролов
.pdfОкончание табл. 1.6
|
|
|
Схема |
|
Схема ра- |
Схема |
Схема ре- |
Наименование сим- |
Схема |
|
|
взаимодей- |
|||
|
програм- |
|
боты сис- |
сурсов |
|||
вола |
данных |
|
мы |
|
темы |
ствия под- |
системы |
|
|
|
|
|
|
программ |
|
|
|
|
|
|
|
|
|
Бумажная лента |
+ |
|
– |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
Дисплей |
+ |
|
– |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
|
|
|
Символы процесса |
|
|
||
|
|
|
|
|
|
|
|
Процесс |
+ |
|
+ |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
Предопределенный |
– |
|
+ |
|
+ |
+ |
– |
процесс |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ручная операция |
+ |
|
– |
|
+ |
+ |
– |
|
|
|
|
|
|
|
|
Подготовка |
+ |
|
+ |
|
+ |
+ |
– |
|
|
|
|
|
|
|
|
Решение |
– |
|
+ |
|
+ |
– |
– |
|
|
|
|
|
|
|
|
Параллельные дей- |
– |
|
+ |
|
+ |
+ |
– |
ствия |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Граница цикла |
– |
|
+ |
|
+ |
– |
– |
|
|
|
|
|
|
|
|
|
|
|
Символы линий |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Основные |
|
|
|
|
|
|
|
|
|
|
|
|
Линия |
+ |
|
+ |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
|
|
|
Специфические |
|
|
|
|
|
|
|
|
|
|
|
|
Передача управления |
– |
|
– |
|
– |
+ |
– |
|
|
|
|
|
|
|
|
Канал связи |
+ |
|
– |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
Пунктирная линия |
+ |
|
+ |
|
+ |
+ |
+ |
|
|
|
|
|
|
||
|
|
Специальные |
символы |
|
|
||
|
|
|
|
|
|
|
|
Соединитель |
+ |
|
+ |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
Терминатор |
+ |
|
+ |
|
+ |
– |
– |
|
|
|
|
|
|
|
|
Комментарий |
+ |
|
+ |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
Пропуск |
+ |
|
+ |
|
+ |
+ |
+ |
|
|
|
|
|
|
|
|
41
2. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
При создании программного обеспечения возникает вопрос выбора языка программирования. На данный момент последним звеном их эволюции являются визуальные среды разработки программ, в основе которых лежат объектно-ориентированные языки программирования. В таких языках логика программы строится на объектах, каждый из которых имеет собственные свойства, методы и события, которые могут быть унаследованы потомками этого объекта. При работе в визуальной среде выбирается объект – компонент, перетаскивается на форму, и у разработчика уже в процессе создания программы появляется возможность видеть то, что должно получиться в результате. Среда берет на себя почти всю работу по созданию кода.
На современном рынке программного обеспечения наиболее востребованным является прикладное программирование. Утилиты, программы общего назначения, программы для работы с базами данных. Здесь бесспорным лидером среди визуальных сред разработки программ является Delphi. История Delphi началась в 60-х годах, когда профессор Н. Вирт разработал язык высокого уровня Pascal. Это был лучший язык для изучения программирования, и для создания программ для операционной системы MS-DOS. Затем, в 1983 году, А. Хейлсберг совместно с другими программистами, которые организовали компанию Borland, разработал компилятор Turbo Pascal, который стал следующим шагом в эволюции Delphi. Затем появился Object Pascal, который уже использовал объектноориентированный подход к программированию. Когда появилась первая версия Windows – Windows 3.10, программисты Borland создали Delphi 1.
Это уже была объектно-ориентированная среда для визуальной разработки программ, основанная на языке Object Pascal.
С появлением Windows 95 появилась Delphi 2, затем Delphi 3, 4, 5. Язык
42
программирования Object Pascal, который являлся стержнем Delphi, претерпел такие существенные изменения, что с появлением Delphi 6 компания Borland, которая уже превратилась в корпорацию, официально объявила о переименовании Object Pascal в Delphi. Поэтому Delphi можно считать как визуальной средой разработки программ, так и языком программирования.
Основу Delphi составляет не только сам язык, но и RAD (Rapid Application Development) – среда быстрой разработки программ. Благодаря визуальному программированию, а также достаточно большой библиотеке визуальных компонентов, Delphi позволяет создавать программы наиболее быстро и эффективно, принимая на себя основную работу, и оставляя разработчику творческий процесс.
Кратко рассмотрим концепцию объектно-ориентированного программирования. Базовое понятие объектно-ориентированного программирования – класс. Класс – это категория объектов, обладающих одинаковыми свойствами и поведением. При этом объект представляет собой просто экземпляр какого-или класса. Например, в Delphi тип «форма» (окно) является классом, а переменная этого типа – объектом. Метод – это процедура, которая определена как часть класса и инкапсулирована (содержится) в нем. Методы манипулируют полями и свойствами классов (хотя могут работать и с любыми переменными) и имеют автоматический доступ к любым полям и методам своего класса. Доступ к полям и методам других классов зависит от уровня “защищенности” этих полей и методов. Например, в приведенном ниже коде метод Button2Click класса TForm1, реагирующий на событие OnButton2Click (нажатие на кнопку) отвечает за «обнуление» объектов Edit.
procedure TForm1.Button2Click(Sender: TObject); begin
43
Edit1.Text:='';
Edit2.Text:='';
………
Edit33.Text:=''; end;
2.1. Модели жизненного цикла программного обеспечения
Модель жизненного цикла – структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования.
К настоящему времени наибольшее распространение получили следующие основные модели ЖЦ:
–каскадная модель (70-80-е годы XX века);
–спиральная модель (80-90-е годы XX века).
Визначально существовавших однородных ИС каждое приложение представляло собой единое целое. Для разработки такого типа приложений применялся каскадный способ. Его основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем (рис. 2.1). Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Положительные стороны применения каскадного подхода заключаются
вследующем:
–на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
–выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
44

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

каждого этапа работ, требования к ИС «заморожены» в виде технического задания на все время ее создания.
Рис. 2.2. Схема реального процесса разработки ПС по каскадной схеме
Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания ПС пользователи получают систему, не удовлетворяющую их потребностям. Модели (как функциональные, так и информационные) автоматизируемого объекта могут устареть одновременно с их утверждением.
Для преодоления перечисленных проблем была предложена спиральная модель ЖЦ (рис. 2.3), делающая упор на начальные этапы ЖЦ: анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует
46

созданию фрагмента или версии ПС, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации.
Рис. 2.3. Схема спиральной модели жизненного цикла
Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждом этапе позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная же задача — как можно быстрее показать пользователям системы работоспо-
47
собный продукт, тем самым активизируя процесс уточнения и дополнения требований.
Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляеся на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
2.2. Структура среды программирования Delphi
Внешний вид среды программирования Delphi отличается от большинства программ для Windows, которые являются MDI – приложениями. MDI (Multiple Document Interface) – определяет особый способ управления нескольких дочерних окон внутри одного большого окна. Delphi в свою очередь следует другой спецификации – SDI (Single Document Interface), и состоит из нескольких отдельно расположенных окон.
Основными составными частями среды программирования являются
(рис. 2.4):
1.Дизайнер Форм (Form Designer)
2.Окно Редактора Исходного Текста (Editor Window)
3.Палитра Компонент (Component Palette)
4.Инспектор Объектов (Object Inspector)
5.Управление проектом (Project Manager)
6.Список объектов на форме (Object TreeView)
48

Рис. 2.4. Общий вид среды программирования Delphi 7
Дизайнер форм служит для создания визуального интерфейса разрабатываемой программы. Первоначально он состоит из одного пустого окна, которое в процессе разработки заполняется всевозможными объектами, выбранными на Палитре Компонент.
Для использования Палитры Компонент достаточно щелкнуть мышкой на требуемый объект и затем – на Дизайнере Форм. В результате выбранный объект появится на окне проектируемой программы и им можно манипулировать с помощью мыши. Палитра Компонент использует постраничную группировку объектов. Вверху Палитры находится набор закладок. Среди них следует отметить наиболее часто используемые: Standard, Additional, Dialogs. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе (на странице Additional есть компоненты для организации стра-
49
ниц с закладками сверху и снизу).
Редактор исходного текста служит для написания непосредственно программного кода, заготовки для которого создаются средой программирования автоматически. Приведем пример кода модуля, форма которого содержит объекты Label (метка) и Button (кнопка) и опишем назначение содержащихся в нем разделов.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations } end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
50