Semenalidery.com

IT Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Основные технологии программирования

Технологии программирования

Для начала разберёмся с тем, что такое технология. Постараюсь изъясняться простым языком, пусть даже это будет не очень точно. Зато понятно.

Итак, технология — это некий набор знаний (способов, инструментов), которые позволяют достичь желаемой цели. Исходя из этого

Технологии программирования — это способы создания программ. Эти способы включают в себя как определённые знания (например, знание языка программирования), так и определённые инструменты (например, средства разработки программ).

То есть технология программирования — это совокупность знаний и способов, использование которых приведёт к созданию нужной программы — от идеи до результата.

Различают также технологию программирования и методологию программирования. Но мы в эти дебри лезть не будем — оставим это удовольствие лютым теоретикам.

Развитие технологий программирования

Развитие технологий программирования — это эволюция способов разработки программ. Эту эволюцию можно разбить на следующие этапы (на текущий момент — в будущем может быть придумают что-то ещё):

  1. Стихийное программирование. То есть “как Бог даст”, как получится. Можно сказать, что на этом этапе какие-либо технологии отсутствовали. На этом этапе случился переход от машинных кодов к ассемблерам. А затем к алгоритмическим языкам программирования. На этом этапе обычно сначала создавали кучу подпрограмм, а потом пытались объединить их в одну программу. Первое время это удавалось. Но по мере усложнения задач, решать их в разумные сроки становилось всё труднее. Поэтому возникла необходимость перехода на второй этап.
  2. Структурное программирование. Появились структурированные языки программирования. Изначально Паскаль был именно таким языком. А язык С, можно сказать, таким языком и остался. Структурный подход представлял собой технологию, когда большая задача разбивалась на несколько относительно небольших, и представлялась в виде некой иерархической (древовидной) структуры.
  3. Модульное программирование. Эта технология рождалась почти одновременно со структурным программированием. Идея заключалась в том, чтобы разбивать программы на модули. В модули включали подпрограммы, близкие по своему назначению.
  4. Объектно-ориентированное программирование (ООП). Технология объектно-ориентированного программирования — это уже современный подход, хотя начиналось это ещё с середины 80-х годов 20-го века. Суть ООП заключается в представлении программы в виде совокупности объектов. Каждый из объектов имеет свои свойства (характеристики) и методы (функции). При этом программисту часто не обязательно знать, как устроен объект. Достаточно только общего описания свойств и методов. Объектно-ориентированные языки программирования — это С++, Object Pascal, Delphi и т.п.
  5. Компонентый подход и CASE-технологии. Развиваются с середины 90-х прошлого столетия. Программы создаются из отдельных компонентов. Большинство из этих компонентов уже имеются в средствах разработки. CASE-технологии позволяют не только создавать, но и сопровождать программное обеспечение от “рождения до смерти”, то есть на всём жизненном цикле ПО. Компонентный подход в совокупности с ООП на сегодняшний день и является наиболее используемой технологией программирования.

Ну и, как вы понимаете, на всех этих этапах было много чего придумано и создано. То есть эти эти группы можно разбить на подгруппы, а подгруппы — снова разбить и т.д.

Например, к компонентным технологиям можно отнести технологию OLE, разработанную всем известной компанией Microsoft. И к ним же можно отнести технологию CORBA.

То есть представленный выше список — это лишь основные технологии программирования. Точнее даже будет сказать, что это виды технологий программирования.

И в каждом из этих видов есть немало конкретных технологий, таких как OLE, API или .NET. Так что тема эта очень обширная и очень интересная. Как говорится — не переключайтесь ))))

Технология программирования

Технологии программирования — технологии разработки программ для ЭВМ, которые будут использоваться людьми для решения различных задач на ЭВМ.

Содержание

Разработка ПО — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.

Надежность и качества программ для ЭВМ

Надежность программ для ЭВМ — это одно из основных качеств не только программ для ЭВМ, но и любого типа техники, приборов, машин и устройств, используемых в быту, в жизни, транспорте, связи и на производстве.

Основные критерии надежности в технике:

  1. отказоустойчивость,
  2. ремонтопригодность,
  3. живучесть.

Отказоустойчивость — это отсутствие отказов и сбоев в работе машин, приборов и устройств. В том числе — отсутствие сбоев и отказов в работе ЭВМ — электронных вычислительных машин (компьютеров). Наличие сбоев и отказов в работе машин, приборов и устройств говорит о их недостаточной или низкой надежности.

Ремонтопригодность — возможность внесения исправлений в машины, приборы и устройства при обнаружении в них сбоев, отказов или других дефектов. В том числе — в компьютерах, вычислительных устройствах, машинах, системах и комплексах.

Особенности программ для ЭВМ — программы не ломаются и не подлежат износу в отличии от всей остальной техники, приборов, машин и устройств. В этом смысле программы для ЭВМ обладают исключительной жизнестойкостью.

Наличие сбоев и отказов в работе ЭВМ при выполнении программ являются их конструктивными ошибками и дефектами, закладываемых при разработке или отладке программ на ЭВМ. Количество ошибок и продолжительность отладки программ обычно считается неизвестным.

Ни в одном виде науки и техники нет такого положения с выявлением и исправлением ошибок и дефектов, как в программировании и разработке программного обеспечения для ЭВМ. Одна из крупнейших иностранных фирм объявила о появлении в их программной продукции неисправимых ошибок .

Программная продукция

Программная продукция — это программы для ЭВМ, поставляемые потребителям для ее установки и использования на ЭВМ или в сетях ЭВМ. Программная продукция должна являться одним из видов промышленной продукции и отвечать требованиям международных стандартов ISO.

Одно из основных требований международных стандартов ISO к промышленной продукции — это ее надежность поставляемых приборов, машин и устройств и в частности и в первую очередь — отказоустойчивость и отсутствие конструктивных ошибок и дефектов в поставляемой промышленной продукции.

Согласно Закону РФ «О защите прав потребителей» любой товар при обнаружении в нем дефектов подлежит замена либо возврату денежных средств за его приобретение и сопутствующие издержки.

Программный продукт в соответствии с международными требованиями ISO не должен содержат ошибок и дефектов, которые приводят к сбоям и отказам при выполнении этих программ на ЭВМ либо в сети ЭВМ.

Программы с дефектами и ошибками — это не продукт.

Основные этапы разработки программ

разработка ПО имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин и космических проектов.

Технологии программирование включают:

  1. Анализ и постановка задач
  2. Проектирование — разработка спецификаций
  3. Проектирование — разработка алгоритмов
  4. Написание исходных текстов программ
  5. Тестирование и отладка программ
  6. Испытания и сдача программ
  7. Сопровождение программ

Основная часть работы программистов связана с написанием исходных текстов программ на одном из языков программирования, а также тестированием и отладкой программ на ЭВМ .

Исходные тексты программ, а также исполняемые файлы являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.

Структурное проектирование программ

Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильности алгоритмов и разработки программ без алгоритмических ошибок.

Данная методология программирования направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.

Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надежных программ самого различного назначения.

Одним из больших проектов надежной разработки надежного ПО была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовался бортовой компьютер для автоматического управления аппарата, совершившего успешный старт и посадку космического корабля.

Читать еще:  Языки программирования баз данных

Обучение технологиям программирования

Обучение технологиям разработки ПО на основе методологии структурного проектирования программ была начата в начале 80-ых годов в МИЭМ при подготовке инженеров-математиков по специальности «Программное обеспечение ЭВМ» и изложена в наших учебниках информатики и программирования.

Наибольший успех — разработка базовых пакетов программ по информатике для отечественных и импортных персональных ЭВМ — БК, Корвет, УКНЦ, Ямаха и IBM PC, которые разошлись по всей стране в виде свободного и открытого ПО в конце 80-ых гг.

Все студенты МИЭМ с начала первого курса осваивали и осваивают псевдокод для описания алгоритмов и документирования всех разрабатываемых программ на языках Паскаль, Бейсик, Си, Фортан, ПЛ/1 и т.д. и т.п., а с третьего или даже второго курса приступают к разработкам ПО.

Наибольший успех достигался при обучении инженеров-математиков в МИЭМ и инженеров-экономистов в МАТИ, которые уже на первом курсе начинали разработки программ с доказательствами правильности составляемых алгоритмов относительно математических постановок решаемых задач.

Примеры решения задач с разработками алгоритмов и доказательствами их правильности изложены в вузовсих и школьных учебниках информатики Каймина, которые разошлись по всей нашей стране миллионным тиражом и вошли в стандарты образования в качестве спецификаций ЕГЭ по информатике.

50 тысяч школьников в 2009г. успешно сдали экзамены ЕГЭ по информатике, в спецификациях которых заложены основы алгоритмизации, логика, анализ правильности алгоритмов и элементы технологии программирования — основы современного профессионального программирования.

Этапы развития технологии программирования. (см. пункт первый)

Технология программирования. Основные этапы ее развития (второй вопрос тут же рассматривается).

2. Этапы развития технологии программирования.

3. Технологии COM и CORBA.

4. Проблемы, возникающие при разработке сложных программных систем.

5. Блочно-иерархический подход к созданию сложных систем.

6. Жизненный цикл и этапы разработки программного обеспечения. Кратко охарактеризуйте основные этапы.

7. Постановка задачи, анализ требований и определение спецификаций.

8. Проектирование, реализация и сопровождение.

9. Модели жизненного цикла программного обеспечения.

11. Технология RAD.

12. Оценка качества процессов создания программного обеспечения.

13. Использование CMM при оценке качества процессов создания программного обеспечения.

14. Использование стандартов ISO 9000 и SPICE при оценке качества процессов создания программного обеспечения.

15. Понятие технологичности программного обеспечения.

16. Модули и их свойства.

17. Сцепление модулей.

18. Связность модулей.

19. Нисходящая и восходящая разработка программного обеспечения.

20. Структурное программирование.

21. Средства описания структурных алгоритмов.

22. Стиль оформления программы.

23. Эффективность и технологичность программного обеспечения.

24. Программирование с «защитой от ошибок».

25. Сквозной структурный контроль.

26. Классификация программных продуктов по функциональному признаку.

27. Эксплуатационные требования к программным продуктам.

28. Предпроектные исследования предметной области.

29. Техническое задание. Основные разделы.

30. Архитектура программного обеспечения.

31. Тип пользовательского интерфейса.

32. Выбор языка и среды программирования.

33. Спецификация программного обеспечения при структурном подходе.

34. Язык описания разработки программных продуктов UML.

35. Тестирование программного обеспечения.

Технология программирования. Основные этапы ее развития. (и 2 вопрос тут же)

совокупность методов и средств, используемых в процессе разработки ПО,представляет собой набор технологических инструкций, включающих:

· указание последовательности выполнения технологических операций;

· перечисление условий, при которых выполняется та или иная операция;

· описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т.п.

Определяет способ описания проектир системы,те модели,использ на конкретн .этапе разработки.

1 этап — «стихийное» программирование.(до сер.60х) . Первые программы имели простейшую структуру,состояли из программы на машинном языке и обрабатываемых ею данных.Сложность программ в машинных кодах ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение данных при программировании.

Появление ассемблеров. Программы стали более «читаемыми».

Создание языков программирования высокого уровня(fortran,algol), существенно упростило программирование вычислений, снизив уровень детализации операций. Это, в свою очередь, позволило увеличить сложность программ.

2 этап — структурный подход к программированию (60-70-е годы XX в.). представляет собой совок-ть рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки ПО. В основе — декомпозиция(разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших подпрограмм. С появлением других принципов декомпозиции (объектного, логического и т.д.) данный способ получил название процедурной декомпозиции(Pascal, С).Структурный подход требовал представления задачи в виде иерархии подзадач простейшей структуры. Проектирование осуществлялось «сверху – вниз» и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм.

Тз-за роста сложности и размеров разр-го ПО потребо развитие структурирования данных. Cлед-но в языках появляется возможность определения пользовательских типов данных. — появилась и начала развиваться технология модульного программирования.Модульное программирование -выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули (библиотеки подпрограмм), Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным) запрещен( поддерживают языков Pascal, С,C++).

3 этап — объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.). Объектно-ориентированное программирование — технология создания сложного ПО, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.

Были созданы среды, поддерживающие визуальное программирование(,Delphi, Visual C++ ) При использовании визуальной среды появляется возм-ть проектировать некоторую часть, например, интерфейсы будущего продукта, с применением визуальных средств добавления и настройки специальных библиотечных компонентов.

4этап компонентный подход иCASE-технологии (с сер. 90-х годов XX в. до нашего вр).Компонентный подход — построение ПО из отдельных компонентов – физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. В отличие от обычных объектов объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде (без исходных текстов) и использовать в любом языке программирования, поддерживающем соответствующую технологию.

Отличительной особенностью современного этапа развития технологии программирования, кроме изменения подхода, является создание и внедрение автоматизированных технологий разработки и сопровождения программного обеспечения, .которые были названы CASE-технологиями (Computer-Aided Software/System Engineering — разработка программного обеспечения/программных систем с использованием компьютерной поддержки). На сегодня существуют CASE-технологии, поддерживающие как структурный, так и объектный (в том числе и компонентный) подходы к программированию.

Появление нового подхода не означает, что отныне все программное обеспечение будет создаваться из программных компонентов, но анализ существующих проблем разработки сложного программного обеспечения показывает, что он будет применяться достаточно широко.

Этапы развития технологии программирования. (см. пункт первый)

Технологии COM и CORBA.

Технология СОМ определяет общую совок взаимодействия программ любых типов: библиотек, приложений, ос, т. е. позволяет одной части ПО использовать функции (службы), предоставляемые другой, независимо от того, функционируют ли эти части в пределах одного процесса, в разных процессах на одном компьютере или на разных компьютерах.

Модификация СОМ, обеспечивающая передачу вызовов между компьютерами, называется DCOM (Distributed COM – распределенная СОМ).

По технологии СОМ приложение предоставляет свои службы, используя специальные объекты – объекты СОМ, которые являются экземплярами классов СОМ. Объект СОМ так же, как обычный объект включает поля и методы, но в отличие от обычных объектов каждый объект СОМ может реализовывать несколько интерфейсов, обеспечивающих доступ к его полям и функциям. Это достигается за счет организации отдельной таблицы адресов методов для каждого интерфейса (по типу таблиц виртуальных методов). При этом интерфейс обычно объединяет несколько однотипных функций.

Кроме того, классы СОМ поддерживают наследование интерфейсов, но не поддерживают наследования реализации, т. е. не наследуют код методов, хотя при необходимости объект класса-потомка может вызвать метод родителя.

Читать еще:  Использование инструментов программирования является примером

Каждый интерфейс имеет имя, начинающееся с символа «I» и глобальный уникальный идентификатор IID.Любой объект СОМ обязательно реализует интерфейс lUnknown (на схемах этот интерфейс всегда располагают сверху). Использование этого интерфейса позволяет получить доступ к остальным интерфейсам объекта.

Объект всегда функционирует в составе сервера – динамической библиотеки или исполняемого файла, которые обеспечивают функционирование объекта. Различают три типа серверов:

· внутренний сервер – реализуется динамическими библиотеками, которые подключаются к приложению-клиенту и работают в одном с ними адресном пространстве – наиболее эффективный сервер, кроме того, он не требует специальных средств;

· локальный сервер – создается отдельным процессом (модулем, ехе), который работает на одном компьютере с клиентом;

· удаленный сервер – создается процессом, который работает на другом компьютере.

Для обращения к службам клиент должен получить указатель на соответствующий интерфейс. Перед первым обращением к объекту клиент посылает запрос к библиотеке СОМ, хранящей информацию обо всех, зарегистрированных в системе классах СОМ объектов, и передает ей имя класса, идентификатор интерфейса и тип сервера. Библиотека запускает необходимый сервер, создает требуемые объекты и возвращает указатели на объекты и интерфейсы. Получив указатели, клиент может вызывать необходимые функции объекта.(на бахе комтехнология ActiveX)

Технология CORBA, реализует подход, аналогичный СОМ, на базе объектов и интерфейсов CORBA. Программное ядро CORBA реализовано для всех основных аппаратных и программных платформ и потому эту технологию можно использовать для создания распределенного ПО в гетерогенной (разнородной) вычислительной среде. Организация взаимодействия м/у объектами клиента и сервера осуществляется с помощью спец посредника, названного VisiBroker, и другого спец-го ПО.

Дата добавления: 2018-02-15 ; просмотров: 1661 ;

ВВЕДЕНИЕ

На ранних этапах развития программирования, когда программы писались в виде последовательностей машинных команд, какая-либо технология программирования отсутствовала. По достижении сначала кажущегося непреодолимого уровня сложности возникла инженерия программирования.

До конца 70-х годов программирование, как правило, было работой отдельных одаренных людей. Из-за несовершенства первых методик программирования даже относительно короткие программы (длиной около 600 строк) создавались в течение нескольких месяцев.

Начало 80-х годов соответствовало широкому внедрению в практику программирования методов проектирования, заимствованных из техники. Например, по примеру техники, внедряется ГОСТ 19.102—77, регламентирующий стадии и этапы программных разработок. Данный стандарт входит в группу стандартов единой системы программной документации (ЕСПД). ЕСПД сыграла значимую положительную роль в практике отечественного программирования и пережила без значительных изменений уже несколько новых технологий программирования, например, технологию структурного программирования и технологию объектно-ориентированного программирования.

Технология программирования — это научная и практически апробированная стратегия разработки программ, содержащая описание совокупности методов и средств разработки программ, а также порядок применения этих методов и средств.

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

С появлением систем авоматизированного проектирования (САПР) в 80-х годах были сделаны обобщения теории проектирования технических систем и устройств с выявлением инвариантов в виде проектных процедур, особенно эвристических. Были намечены пути и сделаны первые попытки их автоматизации. Наиболее высокую трудность представляет автоматизация ранних этапов проектирования. На этих этапах для удовлетворения потребности преодоления дискомфорта необходимо синтезировать идеи реализации систем и устройств.

Параллельное развитие теории программирования и теории проектирования сделало актуальным их системное исследование. Цель исследований, отраженных в данной книге, состояла в достижении позитивного дальнейшего взаимного проникновения этих теорий.

Внедрение учебника в учебный процесс авторы рекомендуют осуществить следующим образом. Лучше всего материалы гл. 4 и 5 изучить в предшествующих дисциплинах. Если рабочей программой курса предусмотрена семестровая работа, то после лекционного прочтения первой главы можно частично изложить материалы второй главы и далее приступить к изучению одной из технологий программирования (гл. 7, 8). После изложения материалов для выполнения семестровой работы можно вернуться к последовательному изложению материала. Окончательное закрепление навыков и знаний рекомендуется осуществить в ходе учебной практики, проводимой под контролем преподавателей.

Для тех, кто хочет приобрести навыки профессионального программиста самостоятельно, авторы рекомендуют прочитывать материал двух первых глав и параллельно с изучением языка программирования овладеть материалом четвертой главы.

Первая глава содержит сведения по основам теории проектирования, необходимые для ознакомления с терминологией проектирования вообще и основными принципами проведения программных проектов. Даются такие методологические понятия проектирования, как элементы системного подхода, а также одного из его важнейших методов — блочно-иерархического подхода. В главе поясняется место стандартов в программировании. Вводятся понятия жизненного цикла программного изделия, а также стадий и этапов проведения программных разработок. Раскрываются основные понятия моделирования систем и роль моделирования при разработке проектов программных систем, проводятся примеры моделей.

Во второй главе рассматриваются методы активизации мышления на ранних этапах проектирования программных изделий, что позволяет решить задачу выбора наилучшего варианта из множества допустимых проектных решений, которые удовлетворяют предъявленным требованиям. Методы поискового конструирования, заимствованные из техники, адаптируются применительно к программам. Даются примеры видов диалогов программ, что позволяет повысить эффективность разработки внешних функциональных спецификаций. Для полного освоения ряда положений главы может потребоваться несколько лет. Но ведь надо когда-то начинать становиться системным аналитиком.

В третьей главе излагается инженерный технологический подход к разработке программ, согласно которому достигается сокращение сроков разработки программных продуктов благодаря комбинации этапов и видов работ, ориентированной на разные классы программного обеспечения и на особенности коллектива разработчиков.

Четвертая глава раскрывает понятия физической и логической структуры данных программ. В главе рассматривается набор операций над структурами данных программ, приводится классификация логических структур данных, разбираются базовые структуры данных, динамические и динамически связанные структуры данных, а также файловые структуры данных. Рассматриваются способы документирования структур данных.

Пятая глава содержит описание методики разработки структурированных алгоритмов в форме проектной процедуры разработки функциональных описаний. Даются рекомендации по использованию проектной процедуры применительно областей, находящихся вне сферы программирования: техники, организационного обеспечения.

В шестой главе вводится понятие архитектуры программной системы, приводятся сведения по ряду способов объединения отдельных программ в единый программный комплекс.

Седьмая глава содержит описание технологии структурного программирования, которая считается устаревшей, но в настоящее время еще используется как самостоятельно, так и в гибридных объектно-ориентированных проектах. Ряд фундаментальных идей данной технологии был воспринят современными технологиями.

В восьмой главе рассматривается технология объектно-ориентированного проектирования. Разбираются основные понятия технологии. Даются шаги этапов выполняемых работ. Рассматриваются примеры выполнения проектов малой и средней сложности.

Девятая глава содержит понятие технологий визуального программирования. Данная технология позволяет в диалоговом режиме создавать «скелет» программы.

В десятой главе раскрывается понятие САПР программных разработок, основанных на CASE-средствах, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения программного проекта и разрабатывать приложения в соответствии с информационными потребностями пользователей. В главе рассматривается CASE-средство Rational Rose фирмы «Software Corporation» (США), предназначенное для автоматизации этапов анализа и проектирования программных систем, а также для генерации кодов на различных языках и выпуска проектной документации.

Одиннадцатая глава посвящена тестированию программ, позволяющих достичь заданного уровня важнейшего критерия качества программных изделий — надежности. В главе излагаются аксиомы тестирования, приемы отладки, различные подходы к тестированию программ.

В двенадцатой главе описываются основные принципы менеджмента программных разработок. Даются принципы организации коллектива разработчиков программных изделий, должностные обязанности и функции отдельных работников.

Приложение 1 необходимо для понимания стадий и этапов разработки программ по ГОСТ 19.102—77, но оно не заменяет, возможно, изменившийся текст стандарта.

Приложение 2 содержит пример выполнения учебного технического задания. Данный пример раскрывает принципы составления технического задания, но также не заменяет стандарт.

Приложение 3 дает представление о фонде эвристических приемов проектирования программ.

Приложение 4 содержит описание элементов языка программирования Object Pascal, оно необходимо для лучшего понимания гл. 8 и 9.

Читать еще:  Математическая формулировка задачи линейного программирования

Приложение 5 раскрывает основные термины и определения, используемые в книге.

X Международная студенческая научная конференция Студенческий научный форум — 2018

ИНСТРУМЕНТАРИЙ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

При создании ПО, как и при создании любого другого вида продукции, предназначенного для решения поставленных задач, разработчику необходимы определенные инструменты. Технологии программирования предоставляют инструментарий для разработки приложений. Иными словами, технология программирования – это различные технологии разработки программ для компьютеров, которые будут использоваться людьми для решения различных задач на компьютерах. Технологии программирования включают себя как сами языки программирования, так и средства для их разработки.

База данных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

Многие специалисты указывают на распространённую ошибку, состоящую в некорректном использовании термина «база данных» вместо термина «система управления базами данных», и указывают на необходимость различения этих понятий.

ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

В технологии программирования основное внимание уделяется изучению процессов разработки ПС (технологических процессов) и порядку их прохождения: методы и инструменты разработки ПС участвуют в этих процессах, их применении и формировании технологических процессов. В разработке программного обеспечения различные методы и инструменты для разработки ПС изучаются с точки зрения достижения определенных целей. Эти методы могут использоваться в различных технологических процессах [1].

Рассмотрим несколько аспектов развития технологии программирования:

«Стихийное» программирование — это отсутствие четко сформулированных технологий программирования. Этот период охватывает 60-е годы XX века. Разработка технологии должна изменить язык компьютера ассемблерами, а затем алгоритмическими языками. Также была заменена повторное использование подпрограмм. Разработка «снизу в верх» использовалась спонтанно, подход, в котором были разработаны и внедрены первоначально относительно простые подпрограммы, из которых они позже пытались построить сложную программу. За это время начался кризис программирования. Это было выражено в том, что фирмы превысили все предельные сроки завершения программных проектов и их стоимость. В результате многие проекты еще не завершены.

Структурный подход к программированию. Этот период охватывает 60-70-е годы XX века. Структурный подход был набором технологических методов. Этот подход основан на принципе разложения сложных частей с целью их последующей реализации в виде отдельных подпрограмм. Структурный подход представляется в виде иерархии подзадач простейшей структуры. Алгоритм представлялся «сверху вниз» и подразумевал реализацию общей идеи, обеспечивающей разработку интерфейсов подпрограмм. Были введены ограничения на разработку алгоритмов, рекомендованы формальные модели для их описания, а также специальный метод разработки алгоритмов — метод пошаговой детализации. Поддержка принципов структурного программирования была заложена в основу языков процедурного программирования (PL / 1, Algol-68, Pascal, C).

Объектный подход. Сформирован с середины 80-х и до конца 90-х годов XX века. Объектно-ориентированное программирование или ООП определяется технологией создания сложного программного обеспечения на основе представления программы в виде объектов, каждый из которых является экземпляром определенного класса. Классы, в свою очередь, образуют иерархию с наследованием свойств. Основным преимуществом ООП по сравнению со структурным подходом является более естественное разложение программного обеспечения, что значительно упрощает разработку программы.

Компонентный подход и CASE-технологии (с середины 90-х годов 20-го века до нашего времени). Этот подход включает в себя создание программного обеспечения из отдельных компонентов — физически отдельных частей программного обеспечения, которые взаимодействуют друг с другом посредством стандартизованных двоичных интерфейсов. В отличие от обычных объектов объекты компонента могут быть собраны в динамически называемые библиотеки или исполняемые файлы, распределенные в двоичной форме (без исходного кода) и используемые на любом языке программирования, который поддерживает соответствующую технологию. В настоящее время рынок компонентов поддерживается в Интернете, массовой рекламе и публикациях. Принципы компонентного подхода были разработаны Microsoft, начиная с технологии OLE (Object Linking and Embedding), которая использовалась в более ранних версиях Windows для создания составных документов. Его разработкой стало появление COM-технологии (Component Object Model), а затем ее распределенной версии (DCOM), на основе которой были разработаны различные технологии [2].

Инструментарий по технологиям программирования обеспечивают процесс разработки программы и включают специализированное программное обеспечение, которое является средством разработки. Программное обеспечение этого процесса находится на всех технологических этапах процесса проектирования, программирования, отладки и тестирования. Пользователи этого класса программного обеспечения являются системными и прикладными программами.

Выделяют две группы программных продуктов:

Инструменты для создания приложений.

Средства для создания информационных систем (CASE-технологии).

Средства для создания приложений

Средства для создания приложений делятся на локальные и интегрированные средства, рисунок 1.

Рисунок 1. Инструментарий технологии программирования

Локальные инструменты делятся на языки и системы программирования, а также на среду инструментов пользователя.

Язык программирования — формализованный язык для описания алгоритма решения проблемы на компьютере. Они делятся на классы [1]:

машинные языки — языки программирования, воспринимаемые аппаратным обеспечением компьютера (машинные коды);

машинно-ориентированные языки — языки программирования, которые отражают структуру конкретного типа компьютера (сборщиков);

алгоритмические языки — компьютерно-независимые языки программирования для отражения структуры алгоритма (Pascal, BASIC, FORTRAN);

процессно-ориентированные языки — языки программирования, где есть возможность описать программу как набор процедур (подпрограмм);

проблемно-ориентированные языки — предназначены для решения задач определенного класса (Lisp, Simula);

интегрированные системы программирования.

Под системой программирования понимается набор языков программирования и виртуальная машина, которая обеспечивает выполнение программ, написанных на этом языке [1].

Система программирования, помимо переводчика, включает в себя текстовый редактор, компоновщик, стандартную библиотеку программ, отладчик, средства визуальной автоматизации для программирования. Примерами таких систем являются Delphi, Visual Basic, Visual C ++, Visual FoxPro [3]. Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими как:

библиотека функций, процедур, объектов и методов обра­ботки;

клавишные и языковые макросы;

конструкторы экранных форм и отчетов;

языки запросов высокого уровня;

конструкторы меню и многое другое.

Средства для создания информационных систем (CASE-технологии)

CASE (Computer Aided Software/System Engineering) — в дословном переводе – разработка программного обеспечения информационных систем с помощью компьютера.

CASE-технология — программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.

Средства CASE-технологии делятся на две группы:

встроенные в систему реализации — все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);

независимые от системы реализации — все решения по проектированию ориентированы на унификацию (приведение к единообразию, к единой форме или системе) начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации.

Основное достоинство CASE-технологии — поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом [2].

Информационная система – взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной цели.

2. РАЗРАБОТКА КОНЦЕПТУАЛЬНОЙ МОДЕЛИ БАЗЫ ДАННЫХ

База данных предназначена для хранения информации о классификации инструментария технологии программирования, который делится на две основные группы: средства для разработки приложений и CASE-технологии. Как уже известно (рисунок 1) средства для разработки приложений делятся на локальные средства и интегрированные среды. Локальные средства, в текущей базе данных, будут включать в себя языки программирования и инструментальную среду пользователя. Так как инструментальная среда по своей сути является интегрированной средой программирования, учитывать её в модели текущей базы данных не будем.

CASE-технологии являются автоматизированными средами разработки различных приложений. Само проектирование баз данных можно отнести к одной из функций CASE-технологий. Данный раздел разделим на две группы: название программного обеспечения и язык программирования, который позволяет взаимодействовать с данной средой.

Построим ER диаграмму, описывающую нашу модель базы данных (рисунок 2).

3. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

Для разработки заданной базы данных выбрана СУБД Microsoft Access 2016.

С учетом типов данных и ограничений, принятых в MS Access, опишем требования к таблицам (таблица 1-3).

Таблица 1 – Требования к таблице “Язык программирования

Ссылка на основную публикацию
Adblock
detector