Файл: Интегрированные среды и разработки программ(МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ ПРОДУКТОВ).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 является методология объектно-ориентированного программирования и технология визуального проектирования.