Файл: Интегрированные среды и разработки программ(МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ ПРОДУКТОВ).pdf
Добавлен: 16.05.2023
Просмотров: 32
Скачиваний: 2
ВВЕДЕНИЕ
Ни для кого не секрет, что программирование является достаточно непростой наукой. Научиться программированию сложно. Еще сложнее научиться программировать на профессиональном уровне – быстро и правильно создавать эффективные программы.
Успех в любой сфере человеческой деятельности возможен только при условии освоения эффективной технологии конкретной деятельности. В данном случае технологией называется наука о мастерстве – совокупность систематизированных знаний о различных способах решения тех или иных задач.
Основой современного программирования является объектно-ориентированная технология, которая не только позволяет повысить качество разрабатываемых программных продуктов, но и уменьшает объем нового кода за счет использования ранее написанного.
Использование концепции объектно-ориентированного программирования является очень удобным при разработке крупных программных проектов. Чем больше и сложнее проект, тем больше выгоды может быть получено при использовании данной технологии.
Объектно-ориентированное программирование (ООП) предполагает отстранение от классического характерного представления о программировании, которое долгие годы считалось стандартным. Однако именно благодаря этому объектно-ориентированная технология становится более доступной в понимании, более наглядной и представляет собой превосходное средство решения ряда задач, вызывающих сложности при использовании традиционного подхода.
Все вышесказанное объясняет актуальность рассматриваемой темы. Очевидно, что для удобной разработки сложных программных продуктов необходимы удобные средства - среды разработки. Среда разработки программного продукта представляет собой комплекс различных функциональных и технических средств, призванных упростить разработку.
Объект исследования данной работы – интегрированные среды разработки программных продуктов.
Предмет исследования – среды Delphi, Visual Studio и Eclipse.
Цель работы – сравнить указанные выше среды разработки с точки зрения проектирования программ.
Для достижения данной цели предстоит решить ряд задач:
- проанализировать литературу по заданной теме;
- изучить методологии проектирования программного обеспечения;
- сравнить среды Visual Studio и Eclipse.
Структурно работа состоит из двух глав – теоретической и практической.
При написании работы в качестве опорных источников использовались:
- Д.В. Лучанинов, А.В. Ленкин – «Анализ сред разработки программного обеспечения на языке С++»;
- В.В. Кузнецов – «Современное программирование на Java».
ГЛАВА 1. МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ ПРОДУКТОВ
Проектирование алгоритмов и программ является одним из наиболее ответственных этапов всего жизненного цикла программных продуктов. Именно на данном этапе определяется, насколько создаваемая программа отвечает требованиям и спецификациям со стороны конечных пользователей. Затраты на разработку, сопровождение и последующую эксплуатацию программных продуктов, научно-технический уровень разработки, время морального устаревания и многое другое - все это также отпределяется выбранными проектными решениями.
В настоящее время существует целое множество различных методов проектирования алгоритмов и программ, которые могут быть классифицированы по различным признакам, важнейшими из которых являются:
- степень автоматизации проектных работ;
- принятая методология процесса разработки.
С точки зрения степени автоматизации проектирования алгоритмов и программ можно выделить следующие методы:
- традиционного (неавтоматизированного) проектирования - данные методы чаще всего применяются при разработке небольших по трудоемкости и структурной сложности программных продуктов, которые не требуют участия большого количества разработчиков. Полученные программы при этом имеют преимущественно прикладной характер. Нарушение описанных ограничений приведет к существенному сокращению производительности труда разработчиков, качества разработки, и, как ни парадоксально, к росту трудозатрат и итоговой стоимости программного продукта;
- автоматизированного проектирования (CASE-технология и ее элементы) - данные методы призваны сократить затраты на проектные работы, сроки их выполнения, а также создать типовые шаблоны алгоритмов и программ, которые могут быть многократно использованы для различных разработок, координации работ большого коллектива программистов, стандартизации алгоритмов и программ. Автоматизация проектирования способна охватывать не только отдельные этапы жизненного цикла программного продукта, но и полностью весь цикл. При этом работы этапов могут изолироваться друг от друга, либо объединяться в комплекс, последовательно выполняемый во времени. В большинстве случаев автоматизированный подход требует программного и технического «перевооружения» труда самих разработчиков (мощных компьютеров, повышения квалификации разработчиков, дорогостоящего программного инструментария и т.п.). В силу высокой стоимости данные методы могут применяться только крупным фирмам, занимающимися разработкой определенного класса программных продуктов, обладающих устойчивым положением на рынке программных средств.
В основе проектирования алгоритмов и программ могут лежать различные подходы, наиболее популярными среди которых являются (см. рисунок 1):
- структурное проектирование программных продуктов;
- информационное моделирование предметной области и связанных с ней приложений;
- объектно-ориентированное проектирование программных продуктов.
Основой структурного проектирования является последовательная декомпозиция, в результате которой происходит целенаправленное структурирование исходной задачи на более мелкие составляющие. Данный подход зародился еще в 60-е гг. прошлого столетия. Методы структурного проектирования представляют собой комплекс технических и организационных принципов системного проектирования.
К типичным методам структурного проектирования принято относить следующие (см. рисунок 2):
- структурное проектирование (программирование);
- модульное программирование;
- нисходящее проектирование, кодирование и тестирование программ и т.д.
В зависимости от объекта структурирования принято выделять:
- функционально-ориентированные методы - заключаются в последовательном разбиении задачи на отдельные элементарные составляющие, характеризующиеся функциональной определенностью. При использовании таких методов важно учитывать заданные функции обработки данных, согласно с которыми определяется состав и логика работы (алгоритмы) отдельных компонентов программного продукта. С изменением содержания функций обработки, их состава, соответствующего им информационного входа и выхода требуется перепроектирование программного продукта. Таким образом, основной упор в структурном подходе делается на моделирование процессов обработки данных;
- методы структурирования данных - использование данной группы методов предполагает наличие первичного анализа, структурирование и создание моделей данных, применимо к которым устанавливается необходимый состав функций и процедур обработки. В данном случае разрабатываемые программные продукты тесно связаны со структурой обрабатываемых данных, изменение которой отражается на логике обработки (алгоритмах) и обязательно требует перепроектирования программного продукта.
К основным элементам структурного подхода относятся (см. рисунок 3):
- диаграммы потоков данных (информационно-технологические схемы) - отображают процессы и информационные потоки между ними с учетом «событий», инициирующих процессы обработки;
- интегрированная структура данных предметной области (ER-диаграммы и инфологическая модель);
- диаграммы декомпозиции - структура и декомпозиция целей, функций управления, приложений;
- структурные схемы - архитектура программного продукта, представленная в виде иерархии взаимосвязанных программных модулей с идентификацией связей между ними, а также детальная логика обработки данных программных модулей в виде блок-схем.
Для полного представления о программном продукте также требуется текстовая информация описательного характера.
Большую значимость информационные модели и структуры данных имеют для информационного моделирования предметной области, в основе которого лежит положение об определяющей роли данных при проектировании алгоритмов и программ. Данный подход был сформирован в условиях развития программных средств организации хранения и обработки данных - систем управления базами данных (СУБД) [10].
Дж. Мартин, являющийся одним из основоположников информационной инженерии, выделял следующие составляющие данного подхода:
- информационный анализ предметных областей (бизнес-областей);
- информационное моделирование - построение комплекса взаимосвязанных моделей данных;
- системное проектирование функций обработки данных;
- детальное конструирование процедур обработки данных.
На первом этапе строятся информационные модели различных уровней представления:
- информационно-логическая модель, которая не зависит от средств программной реализации хранения и обработки данных и отражает интегрированные структуры данных предметной области;
- даталогические модели, которые ориентированы на среду хранения и обработки данных. Они имеют два уровня представления - логический и физический. Логический уровень данных применимо к СУБД реализуется в виде:
- концептуальной модели - перечень интегрированных структур данных под управлением СУБД;
- внешних моделей данных - подмножество структур данных для реализации приложений.
Физический уровень соответствует организации хранения данных в памяти компьютера.
При помощи средств структур данных реализуется моделирование функций предметной области, слежение взаимосвязи между функциями обработки, уточнение состава входной и выходной информации, логики преобразования входных структур данных в выходные.
Алгоритм обработки данных может быть представлен в виде совокупности процедур преобразований структур данных в соответствии с внешними моделями данных.
Выбор средств реализации программного продукта определяет вид даталогической модели и, следовательно, алгоритмов преобразования данных.
В основе объектно-ориентированного подхода к проектированию программных продуктов лежат:
- выделение классов объектов;
- определение характерных свойств объектов и методов их обработки;
- разработка иерархии классов, наследовании свойств объектов и методов их обработки.
Каждый объект при таком подходе хранит не только данные, но и программу обработки этих данных и относится к определенному классу. При помощи класса один и тот же программный код может использоваться для различных объектов, относящихся к нему.
Использование объектного подхода при разработке алгоритмов и программ предполагает:
- объектно-ориентированный анализ предметной области;
- объектно-ориентированное проектирование.
Объектно-ориентированный анализ заключается в анализе предметной области и выделении объектов, определении их свойств и методов обработки объектов, а также установление их взаимосвязей.
Объектно-ориентированное проектирование объединяет процесс объектной декомпозиции и представления с использованием моделей данных проектируемой системы на логическом и физическом уровнях, в статике и динамике.
Для проектирования программных продуктов разработаны специальные объектно-ориентированные технологии, в состав которых входят специализированные языки программирования и инструментальные средства разработки пользовательского интерфейса.
Традиционные подходы к разработке программных продуктов всегда подчеркивали различия между данными и процессами их обработки. Так, технологии, ориентированные на информационное моделирование, сперва определяют данные, а после описывают процессы, использующие эти данные. Технологии структурного подхода в первую очередь ориентируются на процессы обработки данных с дальнейшим установлением необходимых для этого данных и организации информационных потоков между связанными процессами.
Объектно-ориентированная технология разработки программных продуктов позволяет объединить данные и процессы в логические сущности - объекты, обладающие способностью наследовать характеристики (методы и данные) одного или более объектов, за счет чего обеспечивается повторное использование программного кода. Это приводит к существенному сокращению затрат на создание программных продуктов, повышает эффективность жизненного цикла программных продуктов, а также уменьшает длительность фазы разработки [1].
ГЛАВА 2. ИНТЕГРИРОВАННАЯ СРЕДА DELPHI
Delphi представляет собой среду разработки программных продуктов, ориентированных на работу в операционной системе семейства Microsoft Windows. Основой идеологии Delphi является методология объектно-ориентированного программирования и технология визуального проектирования.