Файл: Основы проектирования программ. Этапы создания программного обеспечения ( Основы разработки программ).pdf
Добавлен: 29.02.2024
Просмотров: 42
Скачиваний: 0
Содержание:
Введение
Внедрение электронно-вычислительных машин, современных средств переработки и передачи информации послужило началом нового процесса, называемым информатизацией общества. Широкое распространение получил научно-технический прогресс. В настоящее время одним из направлений научно-технического прогресса является компьютеризация практически всех сфер человеческой деятельности.
Сейчас компьютер является неотъемлемой частью работы людей. Компьютеры используются в школах и университетах. Они помогают систематизации полученные данных, как в рабочих целях, так и в учебных. Но, ни один компьютер не обходится без программ и программных обеспечений.
Характер математического и программного обеспечения АСУ существенно меняется по мере развития возможностей технических средств. В нашей стране принята программа всеобщей компьютерной грамотности и массового выпуска персональных микроЭВМ, обладающих высокой производительностью, развитой памятью и возможностью объединения в локальные вычислительные сети.
В этих условиях программное обеспечение направлено на работу с ЭВМ непрофессиональных программистов, самостоятельно создающих программы для своих задач в конкретной предметной области.
Разработчики АСУ, продолжая создавать алгоритмы и программы сложных и типовых задач, подготовка которых пользователями затруднительна, все в большей степени должны готовить программные средства поддержки для непрофессиональных программистов. Это повышает требования к разработчикам АСУ в части знания ими методов подготовки и отладки программ, автоматизации программирования.
Совершенствуются и развиваются языки программирования высокого уровня, появились непроцедурные языки, близкие к естественному. Облегчая работу пользователя, эти языки требуют развитого системного программного обеспечения, содержание которого все чаше становится различным для разных пользователей и должно определяться в процессе проектирования конкретной системы.
Целью данной курсовой работы является рассмотрение не маловажной, для начинающих программистов, темы - «Основы проектирования программ. Этапы создания программного обеспечения».
1 Проектирование программного обеспечения
1.1 Основы разработки программ
Проектирование программ — это процесс разработки проекта программы. Также под этим термином понимается учебная дисциплина, в которой изучают различные способы проектирования. Проектирование программ является частным случаем проектирования продуктов и процессов.
Цель проектирования заключается в установлении свойств программы и оформлении её интерфейса исходя из условий заказчика и другим требований к аналогичным программным продуктам.
От состава требований, выбранного способа зависит ход процесса проектирования, а также его результаты.
Процесс программирования может сопровождаться как «ручным» проектированием, так автоматизированным. Это зависит от класса создаваемого продукта. В процессе проектирования программы для выражения его характеристик используются различные нотации — блок-схемы, ER-диаграммы, UML-диаграммы, DFD-диаграммы, а также макеты.
Проектированию обычно подлежат:
- Архитектура программного обеспечения;
- Устройство компонентов программного обеспечения;
- Пользовательские интерфейсы.
Архитектура программного обеспечения включает в себя определение структурированного решения, соответствующего всем техническим и рабочим требованиям, одновременно оптимизируя общие атрибуты качества, такие как производительность, безопасность и управляемость. Сюда входит серия решений, основанных на широком диапазоне факторов, и каждое из этих решений может значительно влиять на качество, производительность, поддерживаемость и общий успех программного обеспечения.
Пользовательский интерфейс (ПИ) - система правил и средств, регламентирующая и обеспечивающая взаимодействие программы с пользователем. В понятие пользовательского интерфейса (ПИ) входит не только, и даже не столько, картинка на экране - трехмерная, анимированная или просто выполненная в модном дизайне, а способы взаимодействия пользователя с системой.
Отправной точкой хорошего интерфейса является метафора. Обстановка на экране и способы взаимодействия с системой должны апеллировать к ситуации, хорошо знакомой пользователю. Так, оконный интерфейс задумывался как метафора рабочего стола с документами. Использование метафоры очень важно. Во-первых, пользователю легче понимать и интерпретировать изображение на экране. Во-вторых, ему не нужно каждый раз заглядывать в руководство, чтобы узнать, как выполняется то или иное действие. По крайней мере, некоторые действия должны «естественно» следовать из метафоры. В-третьих, у пользователя возникает чувство психологического комфорта, характерного для встречи с чем-то знакомым.
1.2 Жизненный цикл
Неотъемлемым элементом процесса разработки программ является жизненный цикл. Жизненный цикл можно представить в виде совокупности следующих этапов, на которых необходимо выполнять следующие действия:
- Провести анализ предметной области и составить техническое задание (на этом этапе разработчики взаимодействуют с заказчиком)
- Разработать структуру программы
- Набрать программный код согласно проектной документации
- Протестировать и произвести отладку
- Внедрить программное обеспечение в эксплуатацию
- Сопроводить программное обеспечение
- Утилизировать.
Предметную область это часть сферы деятельности человека, выделенную и описанную согласно установленным критериям. Описываемое понятие должно состоять из следующих сведений:
- сведения об элементах,
- сведения о явлениях,
- сведения об отношениях,
- сведения о процессах.
Все эти сведения должны отражать различные аспекты этой деятельности. Также к описанию предметной области относятся характеристики возможного влияния окружающей среды на элементы и явления предметной области, а также обратные воздействия этих элементов и явлений на среду. От работы по изучению и анализу предметной области зависит эффективность дальнейших этапов работы.
Изучение предметной области – это одно из первых действий выполняемых программистом. От предметной области зависят будущие аспекты проекта, такие как, требования к системе, взаимодействие с пользователем, модель хранения данных, реализацию и т.д.
Анализ предметной области, позволяет выделить ее сущности, определить первоначальные требования к функциональности и определить границы проекта. Модель предметной области должна быть документирована, храниться и поддерживаться в актуальном состоянии до этапа реализации. Для документирования могут быть использованы различные средства.
Сначала производится проектирование архитектуры программной системы. Это предполагает первичную стадию проектирования структуры системы.
Следующим шагом является детальное проектирование. На этом этапе происходит процедурное описание программы, выбор и оценка алгоритма для реализации каждого модуля.
Для проектирования модульных программ применяются два основных метода: нисходящего и восходящего проектирования.
В соответствие с методом нисходящего проектирования сначала кодируются, тестируются и отлаживаются модули самого высокого уровня.
Применение метода нисходящего проектирования основано на пошаговой детализации решения задачи. Начиная с верхних, самых общих шагов, на каждом следующем происходит все большее уточнение функций, выполняемых программой, до полной их реализации.
Понятие жизненного цикла (software life cycle) рассматривают как, период с момента возникновения идеи до изъятия его из эксплуатации. Жизненный цикл включате в себя довольно сложный процесс создания и использования (software process). Организация этого процесса зависит от класса программного продукта и коллектива разработчиков.
На рисунке 1 приводится пример взаимосвязи между стандартными процессами и стадиями жизненного цикла.
Рисунок 1. Пример взаимосвязи между стандартными процессами и стадиями
На сегодняшний день выделяют следующие основные подходы к организации процесса создания и использования программного обеспечения.
Водопадный подход (каскадный). Этот подход подразумевает что все этапы образуют цепочку. По окончанию каждого этапа создаются документы, которые используются на следующем. В начальном документе определяются требования к программным продуктам. На конечном этапе формируются документы, которые включаются в программное средство. Схема водопадного подхода приведена на рисунке 2.
Рисунок 2. Водопадный подход
Следующий подход - Исследовательское программирование. В этом подходе предполагается быстрая реализация рабочих версий программ, которые выполняют основные требования. После экспериментального использования реализованных программ разработчики модифицируют программу, добавляя новые функции необходимые пользователю. Эти действия повторяются до тех пор, пока программный продукт не будет удовлетворять всем условиям клиента. Данный способ применялся раннее, когда технологиям программирования не придавалось большого значения (использовалась интуитивная технология). На данный момент этот способ используется только для таких программных продуктов, где клиенты не имеют возможности формулировать свои требования.
Еще одним подход является прототипирование. В этом подходе сначала моделируется начальная фаза исследовательского программирования. Моделируются и рабочие версии программного продукта, которые используются экспериментов. Цель таких экспериментов - установление требований к программе. Дальнейшая разработка проводится по любым другим подходам, например каскадным. Модель прототипирования изображена на рисунке 3.
Рисунок 3 - Модель прототипирования
Следующий подход – подход формальных преобразований. Этот подход состоит из разработки формальных спецификаций программы и преобразование их в программы путем корректных преобразований. Этот подход лежит в основе компьютерных технологий (CASE-технологий) разработки программных средств. Схема процессов в CASE-технологиях приведена на рисунке 4.
Рисунок 4 - Схема процессов в CASE-технологиях
И еще один подход - сборочное программирование. Этот подход используется в таких случаях, когда его можно собрать из готовых компонентов.
2 Этапы разработки программного обеспечения
2.1 Этапы разработки ПО согласно ГОСТ 2.103-68
Среди российских программистов распространена практика создания программ согласно стадиям ГОСТ 2.103-68:
- Техническое предложение,
- Эскизный проект,
- Технический проект,
- Рабочий проект.
На каждом из этапов формируется свой комплект документов, называемый проектом (проектной документацией).
На стадии Техническое предложение выполняются следующие виды работ:
- Подбор материалов.
- Разработка технического предложения с присвоением документам литеры «П».
- Рассмотрение и утверждение технического предложения
Стадия Эскизный проект характеризуется следующими работами:
- Разработка эскизного проекта с присвоением документам литеры «Э».
- Изготовление и испытание макетов (при необходимости)
- Рассмотрение и утверждение эскизного проекта.
Для стадии Технический проект характерны следующие действия:
- Разработка технического проекта с присвоением документам литеры «Т».
- Изготовление и испытание макетов (при необходимости).
- Рассмотрение и утверждение технического проекта.
Стадия Рабочий проект самая объемная по количеству работ. На этой стадии выполняются такие действия, как:
- Рассмотрение и утверждение технического проекта.
- Разработка конструкторской документации, предназначенной для изготовления и испытания опытного образца (опытной партии), без присвоения литеры.
- Изготовление и предварительные испытания опытного образца (опытной партии).
- Корректировка конструкторской документации по результатам изготовления и предварительных испытаний опытного образца (опытной партии) с присвоением документам литеры «О».
- Приемочные испытания опытного образца (опытной партии).