Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Spisok_voprosov (1).docx
Скачиваний:
6
Добавлен:
22.09.2019
Размер:
3.9 Mб
Скачать
  1. Жизненный цикл программного продукта.

Жизненный цикл программного продукта – это период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.

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

a) маркетинг рынка программных средств, спецификация требований к программному продукту;

b) проектирование структуры программного продукта;

c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;

d) документирование программного продукта, подготовка эксплуатационной и технологической документации;

e) выход на рынок программных средств, распространение программного продукта;

f) эксплуатация программного продукта пользователями;

g) сопровождение программного продукта;

h) снятие программного продукта с продажи, отказ от сопровождения. 

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

  1. Этапы решения задач на эвм.

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

1. Постановка задачи:

сбор информации о задаче;

формулировка условия задачи;

определение конечных целей решения задачи;

определение формы выдачи результатов;

описание данных (их типов, диапазонов величин, структуры и т.п. ). 

2. Анализ и исследование задачи, модели:

анализ существующих аналогов;

анализ технических и программных средств;

разработка математической модели;

разработка структур данных. 

3. Разработка алгоритма:

выбор метода проектирования алгоритма;

выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

выбор тестов и метода тестирования;

проектирование алгоритма. 

4. Программирование:

выбор языка программирования;

уточнение способов организации данных;

запись алгоритма на выбранном языке программирования. 

5. Тестирование и отладка:

синтаксическая отладка;

отладка семантики и логической структуры;

тестовые расчёты и анализ результатов тестирования;

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

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.

7. Сопровождение программы:

доработка программы для решения конкретных задач;

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

  1. Критерии качества программ.

  • Корректность – очевидно, что программа должна работать правильно, иначе нет смысла ее писать.

  • Надежность – программа не должна «зависать» или «зацикливаться» при любых исходных данных.

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

  • Эргономичность – удобство для пользователя. Не забывайте, что первым пользователем Вашей программы будете Вы сами.

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

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

    2. Принято вложенные блоки писать со смещением вправо.

    3. Используйте везде, где можно, аккуратные столбцы.

    4. Не жалейте пробелов – «а + b» читается лучше, чем «a+b».

    5. Не прячьте операторные скобки (begin … end в Паскале, {…} в С) в конец строки – в этом случае их трудно найти и определить начало и конец блока.

  • Переносимость – программа должна работать не только на Вашем компьютере, но и на других!

  1. Категории специалистов, занятых разработкой и эксплуатацией программного обеспечения. Основная категория специалистов, занятых разработкой программ — это программисты (programmer). Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных. Системный программист (system /software programmer, toolsmith) занимается разработкой, эксплуатацией и сопровождением системногопрограммного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач. Прикладной программист (application programmer)осуществляет разработку и отладку программ для решения функциональных задач. Программист-аналитик (programmer-analyst)анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области. Постановщики задач участвуют в процессе создания программ на начальной стадии работ Администратор базы данных организует поддержку базы данных, если база данных является интегрированной, обеспечивающая работу с данными многих приложений. Конечный пользователь (end user) является основным потребителем программ, относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ. Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками —операторами ЭВМ. Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рис. 1.2. В ряде случаев один специалист совмещает несколько видов деятельности. Администратор базы данных и системный программист осуществляют подготовку информационных и программно-технических условий для работы программ. Пунктирные линии означают участие специалиста в качестве консультанта.

                                                 

  1. Алгоритм. Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения. Алгоритм — это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней. Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности возможных исходных данных и направленный на получение определенных этими исходными данными результатов. Термин вычислительный процесс распространяется и на обработку других видов информации, например, символьной, графической или звуковой. Если вычислительный процесс заканчивается получением результатов, то говорят, что соответствующий алгоритм применим к рассматриваемой совокупности исходных данных. В противном случае говорят, что алгоритм неприменим к совокупности исходных данных. Любой применимый алгоритм обладает следующими основными свойствами:

  • результативностью;

  • определенностью;

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

  • набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;

  • правило начала;

  • правило непосредственной переработки информации (описание последовательности действий);

  • правило окончания;

  • правило извлечения результатов.

  • Способы записи алгоритма. Блок-схемы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]