Процесс создания приложения можно разделить на следующие этапы
Цели:
1) проверить знания учащихся по пройденным темам;
2) дать понятие об интегрированной среде разработки приложений Lazarus;
3) научить открывать, запускать и сохранять проект;
4) познакомить учащихся с интерфейсом программы, с планом разработки программы.
Задачи урока:
Учебная – научиться работать в ИСРП Lazarus.
Развивающая – развитие интереса к визуальному программированию, развитие памяти, внимательности.
Воспитательная – воспитание познавательного интереса, логического мышления
Tип урока: комбинированный.
Методы обучения: словесный, наглядно-демонстрационный, практический.
ТСО: презентация, проектор, персональные компьютеры, приложение Lazarus.
Ход урока:
I. Организация класса к уроку
II. Актуализация прежних знаний
1. Что называется методом программирования?
2. Назовите известные методы и технологии программирования.
3. Как называется метод программирования, в котором используются объекты?
4. В приложении Word существует класс объектов Документ. Опишите его свойства, методы, события.
5. Выберите любой объект на экране компьютера (ярлык, окно, кнопка) и опишите его свойства, методы, события.
Выполнение тестовых заданий. (Приложение 1). Взаимопроверка.
IV. Изучение нового материала
Lazarus - свободная среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичную Delphi. Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LSL), также совместимых с Visual Component Library (VCL) – объектно-ориентированная библиотека для разработки программного обеспечения.
Кроссплатформенное программное обеспечение – программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.
Free Pascal - кроссплатформенный язык на уровне компиляции, т.е. для него существуют компиляторы под различные платформы. Таким образом, разработанные приложения могут функционировать практически под любой ОС.
Все что мы видим на экране во время работы различных приложений, все элементы (кнопки, бегунки, меню и т.п.) можно реализовать в Lazarus.
В Lazarus используется технология визуального программирования, т.е. пользователь оформляет будущую программу и видит результаты своей работы еще до запуска самой программы.
Визуальное программирование – способ создания программы путем манипулирования графическими объектами вместо написания ее текста.
Процесс создания приложения можно разделить на следующие этапы:
1. Формирование окна программы – расположение необходимых элементов, задание размеров, изменение свойств;
2. Написание программного кода, описание свойств элементов, доступных только во время работы приложения, описание реакций на событие появления окна, нажатие на кнопку и других;
3. Отладка программы.
Запуск программы
Пуск→Все программы→Lazarus→Lazarus – запускается оболочка создания приложений называемая интегрированной средой разработки IDE (Integrated Development Enviroment).
Интерфейс программы:
Проект Lazarus представляет собой набор программных единиц — модулей.
1. Главное окно.
Здесь располагаются меню, панель инструментов и палитра компонентов.
На палитре компонентов, представляющую множество тематических вкладок, располагаются визуальные и невизуальные компоненты будущей программы.
Невизуальные компоненты видны только на первом этапе создания приложения – при проектировании.
Панель инструментов находится под главным меню и содержит наборы компонентов, заготовок будущих объектов. Для удобства эти компоненты объединены в различные группы — стандартные компоненты (Standart), расширенные компоненты (Additional), диалоги (Dialogs) и другие.
Главное окно остается открытым все время работы IDE. Закрывая его, мы закрываем Lazarus и все открытые в нем окна.
2. Окно Инспектор объектов содержит 4 страницы:
1. Свойства – отображает доступные свойства выбранного компонента. В левой колонке список существующих для выделенного объекта свойства, в правой – текущие значения по умолчанию. Общие для большинства компонентов свойства: цвет – Color, имя – Name, размер (Width – ширина, Height – высота) и т.п. Например, для будущего окна вашего приложения (формы) свойство Name имеет значение Form1, и его можно изменить в Инспекторе объектов
2. События – содержит возможные обработчики событий для выбранного компонента. В левой колонке расположены названия события, в правой соответствующие процедуры. Реакция на событие – это результат произошедшего системного события, например, щелчок мыши, нажатие на кнопку.. Например если пользователь выполняет клик по кнопке, производится копирование файла.
3. Избранное.
4. Ограничения.
3. Окно Редактор кода. На момент первого запуска имеет заголовок Unit 1. В редакторе кода могут быть открытыми сразу несколько файлов, размещенных на отдельных страницах.
В окне кода пишется текстовая часть программы, и само окно похоже на обычные текстовый редактор.
Строки пронумерованы, все служебные слова выделяются жирным цветом, знаки препинания становятся красными, строки с ошибками выделяются коричневым цветом, комментарии могут заключаются в <> или (**), начинаться с // и выделяются синим.
Текст программы разбивается на процедуры и функции, которые работают независимо. Основная работа программиста происходит именно здесь.
4. Окно Проектировщик форм. При запуске Lazarus автоматически предлагает пользователю новый проект, окно под названием Form 1, и назначает его главным окном. Перенося на него элементы из палитры компонетов, тем самым оформляете его. Главное окно в проекте может быть только одно, все другие создаваемые окна будут дочерними.
Для создания нового проекта выполните команду Файл→Создать→Проект и выберите Приложение, Или выполните команду Проект →Создать проект.
Для сохранения проекта Файл→Сохранить все. Каждый проект сохраняется в отдельный каталог.
Файлы проекта:
Модуль программы - Unit1.pas
Проект – project1.lpi
Файл Unit.lfm – файл с данными о проектировщике форм
Резервные копии файлов – папка backup
Запуск Приложения на выполнение можно сделать нажатием клавиши F9, или через пункт в меню Запуск или выбором соответствующей кнопки на панели инструментов
V. Закрепление.
Вопросы и задания.
1. В чем принцип визуального программирования?
2. Назовите основные окна программы.
3. Назовите этапы создания приложения.
4. Как сохраняются проекты?
5. Как запускается созданное приложение?
VI. Практическое задание:
1. Запустите программу Lazarus с компьютера.
2. Измените имя формы «Моя первая программа».
3. Поместите компонент Button на форму, измените его имя, свойства.
4. Поместите компонент Label. Введите текст «Я программист!».
5. Измените шрифт, цвет, расположение.
6. Сохраните проект.
VII. Подведение итогов урока.
VIII. Домашнее задание. §6, стр. 36
Построение повторяющихся элементов изображения имеет смысл включать в операторы цикла. Операторы цикла условно можно разделить на циклы по условию и циклы по количеству повторений (циклы-счетчики).
Когда точно известно количество повторяющихся элементов изображения удобно использовать цикл for .
for счетчик := значение to конечное_значение do
for счетчик := значение downto конечное_значение do
При переходе к обработке оператора цикла for управляющей переменной счетчик присваивается заданное начальное значение. Затем в цикле выполняется исполнительный оператор (или составной оператор begin..end). Каждый раз при выполнении исполнительного оператора управляющая переменная увеличивается на 1 (для for. to) или уменьшается на 1 (для for. downto). Цикл завершается при достижении управляющей переменной своего конечного значения.
Пример использования оператора цикла for при построении забора из 20 элементов.
procedure TForm1. Button1Click ( Sender : TObject ) ;
Var maxX , maxY : Integer ;
i : Integer ;
maxX := PaintBox1. Width ;
maxY := PaintBox1. Height ;
// Количество повторений
for i := 1 to 20 do begin
// Определение цвета досок забора
PaintBox1. Canvas . Brush . Color := RGBToColor ( 200 , 160 , 0 ) ;
// Отрисовка досок забора
PaintBox1. Canvas . Rectangle ( i * 20 , maxY , 19 + i * 20 , maxY - 80 ) ;
// Верхняя шапка забора
PaintBox1. Canvas . Polygon ([ Point ( i * 20 , maxY - 80 ) ,
Point ( 10 + i * 20 , maxY - 95 ) , Point ( 19 + i * 20 , maxY - 80 )]) ;
// Круглые отверстия в шапке
PaintBox1. Canvas . Brush . Color := clWhite;
PaintBox1. Canvas . Ellipse ( 7 + i * 20 , maxY - 82 , 13 + i * 20 , maxY - 88 ) ;
// Поперечные перекладины
PaintBox1. Canvas . Brush . Color := RGBToColor ( 200 , 200 , 0 ) ;
PaintBox1. Canvas . Rectangle ( 0 , maxY - 20 , 620 , maxY - 25 ) ;
PaintBox1. Canvas . Rectangle ( 0 , maxY - 55 , 620 , maxY - 60 ) ;
Если количество элементов не известно, то можно воспользоваться циклом по условию. Например, строить элементы изображения пока не будет достигнут край экрана (или поля для рисования). Различают циклы с предусловием и с постусловием. Цикл с предусловием
while expression do statement;
При выполнении этого оператора вначале вычисляется значение логического выражения expression. Если это значение истинно, выполняется оператор statement, затем значение выражения проверяется вновь и т. д., до тех пор, пока выражение не примет значение «ложь». Если выражение принимает значение «ложь» при первой же проверке, то оператор statement не выполняется вообще.
Пример использования оператора цикла while при построении морских волн.
procedure TForm1. Button1Click ( Sender : TObject ) ;
Var maxX , maxY : Integer ;
x : Integer ;
maxX := PaintBox1. Width ;
maxY := PaintBox1. Height ;
// Построение паруса
PaintBox1. Canvas . Brush . Color := clYellow;
PaintBox1. Canvas . Polygon ([ Point ( 250 , maxY - 35 ) , Point ( 280 , maxY - 250 ) , Point ( 150 , maxY - 65 )]) ;
// Построение корпуса лодки
PaintBox1. Canvas . Brush . Color := RGBToColor ( 150 , 150 , 0 ) ;
PaintBox1. Canvas . Polygon ([ Point ( 50 , maxY - 25 ) ,
Point ( 300 , maxY - 25 ) , Point ( 340 , maxY - 50 )]) ;
// Построение волн в виде полуокружностей.
PaintBox1. Canvas . Brush . Color := clBlue;
while x < maxX do begin
PaintBox1. Canvas . Pie ( 0 + x , maxY , 40 + x , maxY - 30 ,
40 + x , maxY - 15 , 0 + x , maxY - 15 ) ;
Понятие процедуры, функции и метода класса
Важной составной частью программирования в Object Pascal является использование подпрограмм - специальным образом оформленных и логически законченных блоков инструкций. Подпрограмму можно вызывать любое число раз из других мест программы, или из других подпрограмм. Таким образом, использование подпрограмм позволяет сделать исходный код более стройным и наглядным.
Подпрограммы в Pascal делят на процедуры и функции. Процедуры - это такие подпрограммы, которые выполняют предназначенное действие и возвращают выполнение в точку вызова. Функции в целом аналогичны процедурам, за тем исключением, что они еще и возвращают результат своего выполнения.
Процедуры и функции, объявленные внутри класса называют методами класса.
Процедуры и функции могут иметь свой собственный набор переменных, объявленных внутри нее и называемых локальными переменными. По завершению работы значения таких переменных теряются.
procedure Stars ( N : Integer ); // N - параметр, определяющий количество звезд
i : Integer ; // Локальная переменная, используемая в операторе цикла
for i := 1 to N do
Form1 . PaintBox1 . Canvas . Pixels [Random( PaintBox1 . Width ), Random( PaintBox1 . Height )]:= clRed ;
Обмен значениями между различными процедурами возможен через параметры, глобальные переменные и возвращаемые в функциях значения.
Переменные объявленные в разделе Var модуля являются глобальными для всех процедур и классов модуля и доступны в любой процедуре, функции и методе класса данного модуля. Однако, работа с такими переменными напрямую внутри процедур считается "не красивым" и усложняет отлов ошибок. Поэтому удобно использовать передачу параметров и возвращаемые значения.
Передача параметров
Pascal позволяет передавать параметры в функции и процедуры либо по значению, либо по ссылке. Передаваемый параметр может иметь любой встроенный или пользовательский тип либо являться открытым массивом. Параметр также может быть константой, если его значение в процедуре или функции не меняется.
Передача параметров по значению
Этот режим передачи параметров применяется по умолчанию. Если параметр передается по значению, создается локальная копия данной переменной, которая и предоставляется для обработки в процедуру или функцию. Посмотрите на следующий пример:
procedure Test ( s : string );
При вызове указанной процедуры будет создана копия передаваемой ей в качестве параметра строки s, с которой и будет работать процедура Test. При этом все внесенные в строку изменения никак не отразятся на исходной переменной s.
Этот способ передачи является у большинства самым излюбленным, но в тоже время является и самым не практичным, т.к. для выполнения метода выделяется дополнительная память для создания точной копией передаваемой переменой. Для решения этой проблемы следует использовать один из способов описанных ниже.
Примечание: в случае если в процедуру передается переменная объекта, то в данном случае произойдет передача по ссылке (даже если это не указано явно).
Передача параметров по ссылке
Pascal позволяет также передавать параметры в функции или процедуры по ссылке — такие параметры называются параметрами-переменными. Передача параметра по ссылке означает, что функция или процедура сможет изменить полученные значения параметров. Для передачи параметров по ссылке используется ключевое слово var , помещаемое в список параметров вызываемой процедуры или функции.
procedure ChangeMe ( var x : longint );
x := 2 ; // Параметр х изменен вызванной процедурой
Вместо создания копии переменной x , ключевое слово var требует передачи адреса самой переменной x , что позволяет процедуре непосредственно изменять ее значение.
Передача параметров констант
Если нет необходимости изменять передаваемые функции или процедуре данные, можно описать параметр как константу. Ключевое слово const не только защищает параметр от изменения, но и позволяет компилятору сгенерировать более оптимальный код передачи строк и записей. Вот пример объявления параметра-константы:
procedure Test ( const s : string );
Пример использования процедуры Star для построения звездного неба
Процедура Star объявлена внутри класса TForm1 и по сути является методом этого класса, позволяющим рисовать звезды на форме. При создании процедуры удобно использовать горячие клавиши (Ctrl-Shift+C), которые автоматически создадут тело процедуры внутри блока implementation . Для этого необходимо прописать заголовок процедуры в разделе public или private и нажать горячие клавиши Ctrl-Shift+C.
В процедуру передаются параметры x,y - координаты расположения звезды, Size - размер и Color - цвет отрисовки. Используя цикл задается 100 звезд разного цвета и размера.
unit Unit1 ;
Classes , SysUtils , FileUtil , Forms , Controls , Graphics , Dialogs , StdCtrls ,
Среда программирования Lazarus в школьном курсе информатики используется сравнительно недавно.
Уроки предназначены для учащихся 10 классов и всех тех, кто хочет самостоятельно освоить Lazarus.
В этом уроке дается краткая справочная информация о среде программирования Lazarus, рассказывается об основных инструментах среды разработки программ, определяются основные этапы создания приложений.
В заключении вы можете посмотреть видеоурок, из которого узнаете о различиях проектов Lazarus и Delphi.
Краткая справочная информация
Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL).
Таким образом, разработанные приложения могут функционировать практически под любой операционной системой.
Все, что вы видите на экране во время работы различных приложений, все элементы (кнопки, бегунки, меню и т.п.) можно реализовать в Lazarus.
В Lazarus используется технология визуального программирования. Пользователь для создания графического интерфейса приложения использует готовые компоненты, значки которых находятся на панели компонентов. После того как он помещает компонент на форме, программный код для него генерируется автоматически. Вручную остается запрограммировать только те действия, которые будет выполнять это приложение.
Процесс создания приложения можно разделить на следующие этапы:
1. Создание проекта. В результате на экране появляется пустая форма (окно будущего приложения).
3. Написание программного кода, который определит, что будет делать ваша программа.
4. Отладка программы.
Чтобы познакомится с основными инструментами среды разработки, запустим среду программирования.
Для этого выполните команду:
Пуск => Все программы => Lazarus => Lazarus.
При этом запускается оболочка создания приложений, называемая интегрированной средой разработки IDE (Integrated Development Environment). На экране появиться набор окон.
Вы видите все основные инструменты среды разработки Lazarus:
2. Главное окно, содержащее три панели: меню, панель инструментов, палитру компанентов. Палитру компанентов вы будете использовать для выбора необходимых вам для создания пользовательского интерфейса помпонент.
3. Окно Инспектор объектов, содержащее файлы проекта и окно со вкладкой Свойства, в котором вы будете настраивать свойсктва помещенных на форму объектов.
4. Окно Редактор исходного кода, в котором вы будете писать программный код.
Дадим появившимся окнам краткую характеристику.
Главное окно. Здесь располагаются меню, панель инструментов и палитра компонентов.
На Палитре компонентов, представляющей собой множество тематических вкладок, располагаются визуальные и невизуальные компоненты для вашей будущей программы.
Главное окно остается открытым все время работы IDE. Закрывая его, вы, тем самым, закрываете Lazarus и все открытые в нем окна.
Инспектор объектов содержит четыре страницы
Значения свойств можно менять еще до запуска проектируемой программы. Например, для будущего окна вашего приложения (формы) свойство Name имеет значение Form1. Для изменения имени достаточно изменить его в Инспекторе объектов.
Окно Редактора кода. На момент первого запуска оно имеет заголовок Unit1.
В окне Редактор исходного кода вы будите писать программный код программы, и само окно очень похоже на обычный текстовый редактор. Для удобства при редактировании текста программы строки пронумерованы, предусмотрено выделение цветами:
- все служебные слова выделяются жирным шрифтом;
- знаки препинания становятся красными;
- строки с ошибками выделяются коричневым цветом;
- комментарии могут заключаться в фигурные скобки <> и выделяются синим.
Основную работу программист производит именно здесь.
Проектировщик форм. У каждого Windows-приложения должно быть хотя бы одно окно.
Lazarus при первом запуске автоматически предлагает пользователю новый проект, открывая пустую форму под названием Form1, и назначает его главным окном.
Перенося на него элементы из палитры компонентов, вы тем самым, предварительно оформляете его.
Главное окно в проекте может быть только одно. Все другие создаваемые окна будут дочерними. Закрывая главное окно стандартной кнопкой закрытия окна, или программно, вы закрываете и все дочерние окна.
В этом уроке мы познакомились с основными инструментами разработки программ. В следующем уроке мы напишем свою первую программу.
Задание для самостоятельного выполнения
Практическое руководство от команды студии мобильной разработки Winfox для тех, кто начинает делать свое приложение.
Что именно входит в создание приложения? Вопрос, который нам чаще всего задают клиенты. Они хотят знать, сколько денег и времени от них потребуется, как строится работа, с чего начать и как в результате заработать, а не потерять.
Этот важный вопрос, на который нельзя ответить в двух словах, вдохновил нас на публикацию этого цикла статей. В них не будет туманных советов из серии «как сделать приложение: три простых шага». Зато будет опыт, накопленный нами за пять с лишним лет работы на рынке мобильной разработки, примеры из практики и руководство к действию.
В предыдущих материалах мы рассказывали:
Сейчас поговорим о том, как строится работа над созданием мобильного приложения: что включает в себя этап аналитики и что должно быть в техническом задании.
Мы в студии обычно строим работу так:
- аналитика;
- техническое задание;
- проектирование и дизайн;
- разработка;
- тестирование и стабилизация;
- публикация в сторах;
- поддержка и развитие.
Каждый проект — особенный. Для одного можно объединить несколько этапов в один, чтобы реализовать задуманное быстрее и дешевле. Для другого целесообразно пройти все этапы. Мы поможем выбрать оптимальный путь.
Каждое приложение начинается с идеи. Вы рассказываете нам, какие задачи должен решать будущий сервис, и мы приступаем к сбору аналитики. Глубокий срез рынка, анализ уже существующих решений, изучение конкурентов и моделей поведения покупателей… На каждом этапе анализа мы помним о конечном пользователе и продумываем жизненный цикл клиента. Это помогает нам вместе понять, как люди будут использовать новое приложение — и сделать его максимально удобным, понятным и полезным. Такой сервис принесет пользу и вашему бизнесу.
Что в результате: референсы по функциональности и дизайну.
Аналитика — принципиально важный этап. Не надо от него отказываться и начинать работу над проектом с технического задания. В процессе анализа мы понимаем, кто есть на рынке, на кого ориентироваться, а как лучше не делать. Мы обычно собираем лучшие практики и предлагаем клиенту проверенные решения, которые 100% сработают.
Мы составляем подробное описание функциональности и дизайна будущего приложения. Определяем персонажи пользователей, описываем пользовательские истории (User Story), составляем карту путешествия пользователей (Customer Journey Map) и формируем технические требования к сервису. То есть фиксируем, каким должно быть приложение, что оно должно уметь и как это будет работать.
Благодаря такому техническому заданию (ТЗ) наша команда дизайнеров и разработчиков четко понимает, какой сервис хочет получить заказчик, и поэтапно реализует первоначальную идею.
Что в результате:
- перечень функций, которые должны быть в приложении;
- требования к интерфейсу, ролям пользователя, безопасности, производительности и другие нефункциональные требования;
- описание того, как будут реализованы все эти требования;
- смета проекта.
Пользовательские истории (User Story) пошагово описывают, как пользователь ведет себя в приложении: проходит авторизацию, просматривает каталог, оформляет заказ, совершает покупку. Такая история описывает задачу пользователя, которую он решает с помощью и приложения, и его конечную выгоду. В результате мы получаем список требований, который позволяет определить функциональность будущего приложения и сделать его максимально удобным для пользователя.
Допустим, вы хотите сделать приложение, с помощью которого можно будет распечатывать фотографии как фотоальбом. Основными пользовательскими историями будут создание аккаунта, выбор фотографий из фотогалереи, выбор размера альбома, оплата за альбом с помощью карты, доступ к истории заказов. Мы всегда работаем над пользовательскими историями всей командой и обязательно вместе в заказчиком. Это помогает продумать все нюансы и взглянуть на всю систему целиком, а в будущем избежать сложностей на этапе проектирования и разработки.
Карта путешествия пользователя (Customer Journey Map) позволяет наглядно представить, как разные персонажи будут пользоваться приложением в каждой из пользовательских историй. На такой карте виден весь путь пользователя — перемещение между экранами и клики на кнопки.
Составление карты помогает понять, как технически реализовать все функции приложения.
Мы делаем карту путешествия пользователя в Miro. Вся команда может работать над картой в реальном времени, а заказчик — смотреть результат в режиме презентации.
У каждой студии разработки свой подход к составлению этого документа. Мы считаем, что для успешной реализации проекта в нем должно быть отражено следующее.
1. Общие сведения:
- цель создания сервиса;
- совместимость с платформами: это будет приложение для iOS, Android или других платформ;
- масштабируемость: умеет ли приложение быстро адаптироваться к внезапным изменениям и пиковым нагрузкам, например к росту числа пользователей или объема передачи данных;
- отказоустойчивость: должно ли приложение продолжить свою работу, если откажет один или несколько его компонентов.
2. Функциональные требования к приложению:
- роли пользователей: какие уровни доступа должны быть у разных пользователей, например у гостя и авторизованного пользователя;
- форматы данных: как будет реализован обмен данными в приложении;
- интеграция: должно ли приложение поддерживать совместную работу с другими сервисами, например с платежными системами и почтовыми серверами;
- интерфейсы доступа: как приложение будет обмениваться данными с внешними сервисами;
- дополнительные функции: должно ли приложение уметь что-то еще, например работать с файлами или библиотеками шифрования;
- конфигурация и администрирование: с помощью каких элементов администратор будет управлять приложением;
- состав системы: из чего состоит мобильное приложение, то есть экраны, пуш-уведомления, система аутентификации и т.д.
3. Нефункциональные требования к приложению:
- безопасность: требования к безопасности приложения;
- логирование: нужно ли системе формировать и сохранять отчеты об ошибках, которые возникли при работе приложения, и для каких типов событий это надо делать;
- производительность: требования к работе приложения, например к скорости работы базы данных;
- требования к аппаратному обеспечению сервера: перечень технических характеристик.
4. Реализация функциональности приложения:
- экран загрузки;
- регистрация и авторизация;
- основной экран;
- меню;
- поиск;
- …
- уведомления.
Не отказывайтесь от этапа аналитики. В процессе анализа мы понимаем, кто есть на рынке, на кого ориентироваться, а как лучше не делать.
Благодаря грамотно составленному ТЗ наша команда дизайнеров и разработчиков четко понимает, какой сервис хочет получить заказчик, и поэтапно реализует первоначальную идею. Чтобы правильно составить ТЗ, используйте наш чек-лист.
В следующем материале мы расскажем, что нужно знать заказчику про проектирование, дизайн и разработку.
Этот цикл статей основан на книге, которую мы недавно сделали для своих клиентов. В этой книге мы постарались ответить на основные вопросы, которые у них возникают:
- как понять, что моему бизнесу нужно мобильное приложение;
- для чего компании делают свои мобильные сервисы;
- сколько стоит разработка и как на ней сэкономить;
- как строится работа над мобильным приложением;
- с кем лучше работать — с фрилансером или студией;
- что делать после того, как приложение готово.
Остались вопросы? Не согласны с нами? Хотите высказать свою точку зрения или поделиться опытом? Пишите в комментариях. Давайте обсуждать!
Что же такое Lazarus? Это среда для объектно-ориентированного программирования на языке Free Pascal. Визуально очень напоминает Delphi, но в отличии от нее Lazarus – свободная программа, используя ее вы не нарушаете ни чьих прав. Существует версия для Windows-систем, а также версии для MacOS и Linux. Как у любого программного средства имеет свои недостатки, в частности достаточно большой размер получаемых файлов, нестабильная работа на некоторых системах. Lazarus является идеальным средством для изучения языка программирования Паскаль в школах и вузах в полном соответствии с Концепцией развития разработки и использования свободного программного обеспечения в Российской Федерации. В пакете свободного программного обеспечения (ПСПО) для образовательных учреждений РФ Free Pascal и Lazarus также имеются. Объект исследования: создание примитивных изображений средствами объектно-ориентированного программирования. Предмет исследования: создание графических изображений в среде ООП Lazarus. Цель: выявить способы создания изображений в ООП Lazarus. Задачи исследования: 1. Изучить и проанализировать специальную и научно-исследовательскую литературу по теме исследования. 2. Дать теоретическое обоснование основ работы с открытой средой разработки Lazarus. 3. Познакомиться с разделом графики в ООП Lazarus. 4. Подготовить изображения выполненные в среде Lazarus. Методы исследования: изучение специальной литературы, анализ, синтез, обобщение, моделирование.
ГЛАВА I. ГРАФИКА В СРЕДЕ ОБЪЕКТНО - ОРИЕНТИРОВАННОГО ПРОГРАМИРОВАНИЯ LAZARUS
1. Интегрированная среда Lazarus
Lazarus – среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичная Delphi. Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL). Кроссплатформенное программное обеспечение – это программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Free Pascal – это компилятор языков Pascal и Object Pascal, работающий под Windows, Linux, Mac OS X, FreeBSD, и другими ОС. Таким образом, разработанные приложения могут функционировать практически под любой операционной системой. Все, что видно на экране во время работы различных приложений, все элементы (кнопки, бегунки, меню и т.п.) можно реализовать в Lazarus. В Lazarus используется технология визуального программирования. Пользователь для создания графического интерфейса приложения использует готовые компоненты, значки которых находятся на панели компонентов. После того как он помещает компонент на форме, программный код для него генерируется автоматически. Вручную остается запрограммировать только те действия, которые будет выполнять это приложение. Процесс создания приложения можно разделить на следующие этапы:
Привет, сегодня мы с Вами поговорим о том, как создаются высококачественные программы, а точнее, я расскажу на какие этапы делится этот процесс, поэтому если Вы хотите создавать классные приложения, то Вам обязательно стоит соблюдать все эти этапы, ну или по крайней мере большую их часть.
Зачем нужно проектировать программу и соблюдать этапы разработки?
Так, например, при строительстве сарая у себя на даче Вы не будете что-то там детально планировать, исследовать, инспектировать, но в случае, скажем, со строительством электростанции все будет очень детально спланировано, спроектировано, режим работы рабочих будет расписан поминутно, так как цена ошибки на любом этапе будет значительно выше, чем в случае со строительством простого сарая.
Точно так же происходит и при разработке ПО, если проект крупный и очень важный, который возможно будет влиять на жизни людей или связан с огромными финансовыми рисками, все этапы разработки ПО будут соблюдаться, т.е. детально проработаны и даже будут добавляться новые этапы, микроэтапы и так далее.
Все это делается для того, чтобы не допустить появления ошибок и реализовать тот продукт, который действительно нужен.
Чем раньше будут обнаружены ошибки или выявлен неправильных подход в реализации того или иного действия, тем цена этих ошибок будет меньше. Иными словами, в зависимости от этапа обнаружения ошибки ее цена может меняться от 10 до 100 раз. Например, если на самом начальном этапе цена исправления ошибки будет равняться 100 рублей, то на этапе тестирования она может вылиться в 10000. Поэтому этапы разработки ПО очень важны, и разработчик должен их соблюдать и попытаться донести это видение до менеджеров, которым всегда нужен только результат. Так как они или отводят на это слишком мало времени или и вовсе не считают это необходимым, например, зачем при программировании вырабатывать какие-то требования или что-то там проектировать.
Основные этапы разработки ПО
Вот этапы, которые в большинстве случаев должны соблюдаться при разработке программного обеспечения:
Некоторым может показаться, что это слишком сложный план, но если Вы будете работать над крупным проектом, то столкнётесь со всем этим, и даже более детализированным планом.
Сейчас давайте рассмотрим каждый этап, т.е. узнаем, какие действия необходимо выполнять на каждом этапе.
Этап 1 – Определение проблемы
Перед тем как приступать к кодированию, необходимо четко сформулировать проблему, которую Ваша будущая программа должна решать. Так как, не имея хорошего определения проблемы, Вы можете потратить много усилий и времени на решение не той проблемы, которую требуется решить.
На данном этапе проводится простая формулировка сути проблемы без каких-либо намеков на ее возможные решения, при этом формулировать ее следует на языке, понятном пользователю, т.е. она должна быть описана с пользовательской точки зрения.
Определение проблемы – это фундамент всего процесса программирования!
Этап 2 – Выработка требований
Что такое требования и зачем их нужно выработать?
Требования к программе – это подробное описание всех возможностей программы и действий, которые должна выполнять программа. Такие требования иногда также называют «Функциональной спецификацией» или просто «Спецификацией».
Требования вырабатывают для того, чтобы свести к минимуму изменения системы после начала непосредственной разработки. Такие требования должны быть обязательно официальными, т.е. документально оформлены. Так как это гарантирует то, что функциональность системы определяется заказчиком, а не программистом. Даже в случае с внутрикорпоративными разработками такие требования должны быть зафиксированы, например, в виде технического задания, подписанного всеми задействованными лицами, тем самым Вы избежите лишних разговоров и споров, например, о том, что реализованный функционал делает не все или не так.
Выработка требований очень важна, так как она позволяет определить функциональность программы до начала программирования.
Этап 3 – Создание плана разработки
На данном этапе Вы уже должны в формальном виде составить план разработки программного обеспечения с учётом существующей проблемы и выработанных требований. Иными словами, Вы должны составить план того, как Вы будете действовать дальше.
Этап 4 – Разработка архитектуры системы или высокоуровневое проектирование
Архитектура системы – это каркас программы, это высокоуровневое проектирование программы.
Данный этап также очень важный, так как, не имея хорошей архитектуры, Вы можете решать правильную проблему, но прийти к неправильному решению. Хорошая архитектура программы упрощает программирование, а плохая архитектура усложняет его.
Архитектура системы обычно включает:
- Общее описание системы;
- Основные компоненты;
- Формат и способ хранения данных;
- Специфические бизнес-правила;
- Способ организации пользовательского интерфейса;
- Подход к безопасности системы;
- Оценки производительности;
- Возможности масштабирования;
- Моменты, связанные с интернациональностью, т.е. будет ли система интернациональной.
Кроме того, в архитектуру необходимо включить подтверждение того, что при разработке этой архитектуры рассматривались альтернативные варианты в каждом из вышеперечисленных направлений, с обоснованием окончательного выбора и подхода.
Этап 5 – Детальное проектирование
На этом этапе проводится проектирование программы на низком уровне, иными словами, здесь проектируются классы и методы, рассматриваются, оцениваются и сравниваются различные варианты и причины выбора окончательных подходов и способов реализации.
При разработке небольших программ программисты обычно сами проектируют программу на таком уровне, это выглядит как написание псевдокода или рисование схем, поэтому часто этот этап рассматривается как часть непосредственного кодирования и в таких случаях итоговый документ (если того требует формальность) состоит преимущественно из различных набросков и заметок программистов.
Но при реализации крупных проектов данному процессу отводится отдельный этап и проектирование в этом случае проводится с очень высокой степенью детальности.
Этап 6 – Кодирование и отладка
Это как раз тот этап, который все знают и, наверное, думают, что это единственный этап в процессе разработке программного обеспечения – это непосредственное написание кода и его отладка. Но, как видите, это далеко не первый и не единственный этап разработки ПО.
Если все вышеперечисленные этапы выполнены, то данный этап подразумевает чисто механическую работу, т.е. кодинг. Программисту в этом случае не нужно что-то выдумывать и самостоятельно разрабатывать, ему нужно просто написать код, который реализует заданный, очень детально описанный в проекте, алгоритм.
После того как код написан, программисту необходимо отладить этот код, чтобы в нем не было никаких ошибок.
Этап 7 – Тестирование компонентов
После того, как код написан, и проведена отладка, необходимо провести тестирование реализованного функционала. Если программа состоит из нескольких компонентов, сначала тестируют каждый компонент в отдельности, так как очень крупные программы включают огромный функционал, который часто разделяют на отдельные компоненты, разработка которых осуществляется по отдельности. В менее крупных проектах этот этап может включать просто тестирование отдельных классов.
Этап 8 – Интеграция компонентов
Когда тестирование всех компонентов закончено, можно переходить к интеграции всех компонентов в единый программный комплекс, этот этап как раз и подразумевает процесс интеграции, т.е. слияния всех компонентов в единую систему.
В небольших проектах этот этап может заключаться в объединении нескольких классов, на что будет затрачено не больше одного дня, но в крупных проектах этот этап может длиться не один месяц.
Этап 9 – Тестирование всей системы
На данном этапе проводится тестирование всей системы, уже с учётом интеграции всех компонентов. На этом этапе можно выявить проблемы взаимодействия компонентов и устранить их. Также на этом этапе основным предметом тестирования является безопасность, производительность, утечка ресурсов и другие моменты, которые невозможно протестировать на более низких уровнях тестирования.
Этап 10 – Сопровождение, внесение изменений, оптимизация
После запуска программы в промышленную эксплуатацию осуществляется сопровождение этой программы, т.е. внесение изменений на основе выявленных недочетов в процессе эксплуатации системы, а также проводится оптимизация функционала или добавление нового.
Если Вы хотите погрузиться глубже в мир проектирования и конструирования программного обеспечения, то рекомендую почитать книгу Стива Макконнелла «Совершенный код», в которой очень детально рассказывается о том, как нужно разрабатывать программу, и как правильно писать код. С помощью нее Вы не научитесь какому-нибудь языку программирования, но Вы научитесь писать правильный код, иными словами, она для тех, кто уже владеет базовыми знаниями в программировании.
Если Вы еще не умеете программировать, и даже не знаете, с чего начать, то в этом случае я рекомендую Вам начать с книги «Как стать программистом? 14 советов по достижению поставленной цели», в ней приведены советы и рассмотрен конкретный план действий, которые помогут Вам стать программистом.
Читайте также: