2 2 Ключевые вопросы сопровождения программного обеспечения 152





Название2 2 Ключевые вопросы сопровождения программного обеспечения 152
страница2/26
Дата публикации24.02.2015
Размер3.04 Mb.
ТипДокументы
100-bal.ru > Математика > Документы
1   2   3   4   5   6   7   8   9   ...   26

1Основы программной инженерии

1.1Кризисы программирования и возникновение программной инженерии


На рубеже 60-х – 70-х годов прошлого века стоимость программного обеспечения стала приближаться к стоимости аппаратного обеспечения (компьютеров), а динамика её роста позволяла прогнозировать, что к середине 90-годов все человечество будет заниматься разработкой программ Это событие явилось первым кризисом программирования. Благодаря ему появилась идея для сокращения стоимости программ использовать инженерные методы в производстве программ, которая постепенно оформилась в программную инженерию (или технологию программирования в нашей стране).

С тех пор программная инженерия бурно развивается. Причём этапы её развития связаны с решением очередной системной проблемы:

  1. Появление модульного подхода к программированию

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

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

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

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

  1. Формирование структурного подхода к программированию

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

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

  • использование нисходящего функционального проектирования, основанном на методе пошаговой структурной декомпозиции;

  • применение специальных языков проектирования, которые сейчас принято называть CASE-средствами и средств автоматизации использования этих языков;

  • стандартизация всех этапов жизненного цикла программного комплекса;

  • стандартизация оформления и содержания программных документов;

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

  1. Становление объектно-ориентированного подхода

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

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

  1. Инкапсуляция – объединение в классе свойств и методов.

  2. Наследование – возможность порождения нового класса из существующего с частичным изменением свойств и методов.

  3. Полиморфизм – определение свойств и методов объекта по контексту.

Объектно-ориентированный подход позволил успешно перейти к спиральной модели разработки программных продуктов, значительно снизив потери от необходимости учёта всё новых требований заказчика.
Таким образом, развитие программной инженерии, направленной на снижение себестоимости создания программ, стимулируется всё новыми проблемами и очевидно ещё далеко от завершения.
1   2   3   4   5   6   7   8   9   ...   26

Похожие:

2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconРабочая программа учебной дисциплины технологии разработки программного обеспечения
Охватывает данный подход? Какие модели используются в качестве функциональных спецификаций при структурном подходе? Какие характеристики...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconПонятие программы, программного обеспечения. Классификация программного...
Понятие программы, программного обеспечения. Классификация программного обеспечения
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconМетодические рекомендации по организации внеаудиторной самостоятельной...
Пм 01 Разработка программных модулей программного обеспечения для компьютерных систем
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconСамарский государственный технический университет утверждаю
Целью данного курса является: обновление теоретических и практических знаний педагогических работников образовательных учреждений...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconМетодические рекомендации по установке и использованию стандартного...
Успешное внедрение и эффективное использование сбппо в образовательной деятельности общеобразовательного учреждения зависит от создания...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconАнкета на выявление особенностей психологического сопровождения кууд уважаемый психолог!
Просим вас ответить на вопросы, касающиеся сопровождения коммуникативных ууд в сош
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconПрограмма дисциплины «Конструирование программного обеспечения»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000....
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconОтветы на вопросы по курсу “системное программирование”, 1997 г
История развития вт в связи с историей развития системного программного обеспечения
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconТематический план Введение. Предмет курса и его связь со смежными...
Целью изучения дисциплины является получение общих представлений о содержании и тенденциях развития базовых информационных технологий...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Способностей средствами информационно-коммуникативных технологий и прикладного программного обеспечения. Воспитание ответственного...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconО доступе к информационным ресурсам и информационно – телекоммуникационным...
Программное обеспечение: «Первая помощь. 0 + пакет свободного программного обеспечения»
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconРабочая программа учебной практики профессионального модуля уп. 02....
Рабочая программа учебной практики «Разработка программного обеспечения» разработана в соответствии с требованиями федерального государственного...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconФилософские науки
Адрес рабочий – г. Москва, Кочновский проезд д. 3, к. 619. Тел. +7 (495) 152-12-81, факс +7 (495), 152-03-01. E-mail
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconФилософские науки
Адрес рабочий – г. Москва, Кочновский проезд д. 3, к. 620. Тел. +7 (495) 152-12-81, факс +7 (495), 152-03-01. E-mail
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconМетодические рекомендации к самостоятельной работе студентов по дисциплине...
Содержание внеаудиторной самостоятельной работы студентов по дисциплине ««Автоматизация бухгалтерского учета с использованием программного...
2 2 Ключевые вопросы сопровождения программного обеспечения 152 iconПрограмма текущего контроля успеваемости студентов по пм02 Разработка,...
Осударственного образовательного стандарта (далее – фгос) по специальности среднего профессионального образования (далее – спо) 09....


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск