Следуя А. П. Ершову, мы употребляем термин «теоретическое программирование» в качестве названия математической дисциплины, изучающей синтаксические и семантические свойства программ, их структуру, преобразования, процесс их составления и исполнения. Это словосочетание построено по аналогии с названиями таких наук, как теоретическая физика, теоретическая механика и т. д. В такой аналогии есть глубокий смысл: во всех случаях теоретическая научная дисциплина изучает фундаментальные понятия и законы основной науки и на основании обнаруженных закономерностей строит более частные математические модели исследуемых объектов, на которых ставит и решает прикладные задачи. В нашем случае ситуация усложняется еще тем, что объект моделирования – программа – уже представляет собой абстрактный объект.
В настоящее время сложились следующие основные направления исследований теоретического программирования.
1. Математические основы программирования. Основная цель исследований – развитие математического аппарата, ориентированного на теоретическое программирование, разработка общей теории машинных вычислений. Эта теория тесно соприкасается с теорией алгоритмов и вычислимых функций, теорией автоматов и формальных языков, логикой, алгеброй, с теорией сложности вычислений.
Современные нотации описания бизнес-процессов
2. Теория схем программ. В этих работах внимание концентрируется на изучении структурных свойств и преобразований программ, а именно тех, которые отличают программы от других способов задания алгоритмов. Главным объектом исследования становится схема программы – математическая модель программы, в которой с той или иной степенью детализации отражено строение программы, взаимодействие составляющих ее компонентов.
3. Семантическая теория программ. Семантика программы или отдельных конструкций языков программирования – это их смысл, математический смысл для программиста и описание функционирования для машины. Этот раздел теоретического программирования изучает методы формального описания семантики программ, семантические методы преобразования и доказательства утверждений о программах. В частности, работы по методам проверки семантической правильности программ нацелены на автоматизацию их отладки и автоматический синтез программ.
4. Теория вычислительных процессов и структур (теория параллельных вычислений). Исследования в этой области направлены на разработку и обоснование новых методов программирования, прежде всего методов программирования параллельных процессов. В частности, изучаются модели, структуры и функционирование операционных систем, методы распараллеливания алгоритмов и программ, ведется поиск новых архитектурных принципов конструирования вычислительных машин и систем на основе результатов и рекомендаций теоретического программирования и вычислительной математики.
5. Прикладные задачи теоретического программирования. Сюда в первую очередь относятся разработка и обоснование алгоритмов трансляции и алгоритмов автоматической оптимизации программ.
Схема бизнес процесса Как нарисовать схему процесса в BPMN за 2 минуты?
Две дисциплины государственного стандарта специальности 220400 – Программное обеспечение вычислительной техники и автоматизированных систем – «Теория языков программирования и методы трансляции» и «Теория вычислительных процессов» рассматривают основы теоретического программирования. Первая дисциплина охватывает первый и последний пункты нашей, не претендующей на классификационную строгость и полноту, рубрикации. Вторая дисциплина, составляющая предмет настоящего курса, раскрывает пункты 2 – 4.
Программа как формализованное описание процесса обработки данных
Целью программирования является описание процессов обработки данных (в дальнейшем — просто процессов). Данные — это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в некоем процессе, а информация — это смысл, который придается данным при их представлении.
Обработка данных — это выполнение систематической последовательности действий с данными. Данные представляются и хранятся на носителях данных. Совокупность носителей данных, используемых при какой-либо обработке данных, будем называть информационной средой. Набор данных, содержащихся в какой-либо момент в информационной среде, будем называть состоянием этой информационной среды. Процесс можно определить как последовательность сменяющих друг друга состояний некоторой информационной среды.
Описать процесс — значит определить последовательность состояний заданной информационной среды. Если мы хотим, чтобы по заданному описанию требуемый процесс порождался автоматически на компьютере, необходимо, чтобы это описание было формализованным. Такое описание называется программой.
С другой стороны, программа должна быть понятной и человеку, так как и при разработке программ, и при их использовании часто приходится выяснять, какой именно процесс она порождает. Поэтому программа составляется на понятном человеку формализованном языке программирования, с которого она автоматически переводится на язык соответствующего компьютера с помощью другой программы, называемой транслятором. Программисту, прежде чем составить программу, приходится проделывать большую подготовительную работу по уточнению постановки задачи, выбору метода ее решения, выяснению специфики применения требуемой программы, прояснению общей организации разрабатываемой программы и многое другое.
Источник: mydocx.ru
Примерная структура процесса и организации, занимающейся разработкой программных продуктов.
Для организации предсказуемого и управляемого процесса компании необходимы организационные, технические и нетехнические средства (рис. 4.3).
Организационные средства включают в себя определенный перечень различных должностей и иерархию подчинения сотрудников вышестоящему руководству.
Общее управление работой компании выполняет генеральный директор. Вопросы, связанные с ходом выполнения различных проектов, курирует исполнительный директор, а вопросы, связанные с организацией и обеспечением процесса компании (т.е. свода правил, процедур, рекомендаций и других руководящих документов, в соответствии с которыми компания действует) и работы по обеспечению качества ПП, – заместитель генерального директора. Такое распределение работ лишний раз подчеркивает важность создания в компании процесса и проведения работ по обеспечению качества ПП.
По каждому проекту создается обычно две группы – группы процесса и группы обеспечения качества. Вместо двух групп в компании может быть только одна группа процесса, но при этом она должна также выполнять все действия по обеспечению качества ПП. Кроме этого, в каждом проекте должен быть выбран ответственный за качество ПП. Обычно это руководитель проекта или один из ведущих инженеров. Ответственный за качество является представителем групп процесса и обеспечения качества (если эти группы существуют самостоятельно) в своем проекте и отвечает за выполнение всех действий, связанных с процессом компании и обеспечением качества.
Независимый тестировщик, как видно из рис. 4.3, участвует в работе над проектом, но не зависит от руководителя проекта. Это позволяет проводить независимое объективное тестирование документации и ПП, разрабатываемого в данном проекте. Часто бывает так, что тестировщик одновременно принимает участие в нескольких проектах, особенно если их текущие этапы не совпадают. Нередко создают отдельную группу тестирования, куда входят все тестировщики компании.
Технические средства предназначены для организации соответствующих условий работы над проектами и поддержанию процесса компании, а также работ по обеспечению качества программного продукта. Например, автоматизированное рабочее место (АРМ) программиста позволяет повысить производительность его работ и качество разрабатываемого ПП, а компьютерная сеть – обеспечить электронный документооборот в компании и связь между сотрудниками. База данных дает возможность хранить всю информацию, связанную с ходом выполнения как текущих проектов, так и выполненных ранее.
Нетехнические средства включают в себя разработанные или принятые к использованию стандарты и планы, а также книгу процесса, которая содержит подробное описание процесса компании. По метрикам процесса оценивают его основные характеристики (ключевые процессы) и результаты оценки заносят в паспорт процесса. Этот паспорт позволяет отслеживать соблюдение процесса, а также планировать действия по его совершенствованию.
КАЧЕСТВО ПП
Как любой другой продукт человеческой деятельности, программу можно охарактеризовать с самых разных сторон и установить, в какой мере она обладает необходимыми свойствами. Программные продукты в отличие от традиционных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при их создании, либо эти характеристики невозможно заранее точно указать или оценить. Даже время и затраты на разработку программных продуктов не могут быть заранее определены с большой степенью точности.
Характеристиками программ не требующими комментариев являются:
· состав и глубина проработки реализованных функций обработки;
· полнота и системность функций обработки;
· требования к техническим средствам обработки со стороны программ;
· размер оперативной памяти для запуска программ;
· объем дисковой памяти;
· версия операционной системы;
· наличие вычислительной сети и др.
В условиях существования рынка программных продуктов важными характеристиками являются:
· время нахождения на рынке (длительность продаж);
· известность фирмы-разработчика и программы;
· наличие программных продуктов аналогичного назначения.
Программные продукты имеют многообразные показатели, которые отражают различные профессиональные аспекты их создания и эксплуатации. С этой точки зрения ПП в первую очередь характеризуются достигаемым качеством программ при применении соответствующих технологий и надежностью.
Источник: mykonspekts.ru
Программа как формализованное описание процесса обработки данных. Программное средство
Целью программирования является описание процессов обработки данных (в дальнейшем — просто процессов). Данные — это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в некоем процессе, а информация — это смысл, который придается данным при их представлении.
Обработка данных — это выполнение систематической последовательности действий с данными. Данные представляются и хранятся на т.н. носителях данных. Совокупность носителей данных, используемых при какой-либо обработке данных, будем называть информационной средой. Набор данных, содержащихся в какой-либо момент в информационной среде, будем называть состоянием этой информационной среды. Процесс можно определить как последовательность сменяющих друг друга состояний некоторой информационной среды.
Описать процесс — значит определить последовательность состояний заданной информационной среды. Если мы хотим, чтобы по заданному описанию требуемый процесс порождался автоматически на каком-либо компьютере, необходимо, чтобы это описание было формализованным. Такое описание называется программой.
С другой стороны, программа должна быть понятной и человеку, так как и при разработке программ, и при их использовании часто приходится выяснять, какой именно процесс она порождает. Поэтому программа составляется на удобном для человека формализованном языке программирования, с которого она автоматически переводится на язык соответствующего компьютера с помощью другой программы, называемой транслятором. Человеку (программисту), прежде чем составить программу на удобном для него языке программирования, приходится проделывать большую подготовительную работу по уточнению постановки задачи, выбору метода ее решения, выяснению специфики применения требуемой программы, прояснению общей организации разрабатываемой программы и многое другое. Использование этой информации может существенно упростить задачу понимания программы человеком, поэтому весьма полезно ее как-то фиксировать в виде отдельных документов (часто не формализованных, рассчитанных только для восприятия человеком).
Обычно программы разрабатываются в расчете на то, чтобы ими могли пользоваться люди, не участвующие в их разработке (их называют пользователями). Для освоения программы пользователем помимо ее текста требуется определенная дополнительная документация.
Программа или логически связанная совокупность программ на носителях данных, снабженная программной документацией, называется программным средством (ПС). Программа позволяет осуществлять некоторую автоматическую обработку данных на компьютере. Программная документация позволяет понять, какие функции выполняет та или иная программа ПС, как подготовить исходные данные и запустить требуемую программу в процесс ее выполнения, а также: что означают получаемые результаты (или каков эффект выполнения этой программы). Кроме того, программная документация помогает разобраться в самой программе, что необходимо, например, при ее модификации.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru