Программная инженерия





Скачать 480.47 Kb.
НазваниеПрограммная инженерия
страница1/4
Дата публикации22.05.2015
Размер480.47 Kb.
ТипДокументы
100-bal.ru > Информатика > Документы
  1   2   3   4




Жизненный цикл разработки программного обеспечения – проектная деятельность по

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


http://www.intuit.ru/img/empty.gif

http://www.intuit.ru/img/empty.gif

http://www.intuit.ru/img/empty.gif

Программная инженерия


Итак, чем же программирование отличается от программной инженерии? Тем, что первое является некоторой абстрактной деятельностью и может происходить во многих различных контекстах. Можно программировать для удовольствия, для того, чтобы научиться (например, на уроках, на семинарах в университете), можно программировать в рамках научных разработок. А можно заниматься промышленным программированием. Как правило, это происходит в команде, и совершенно точно – для заказчика, который платит за работу деньги. При этом необходимо точно понимать, что нужно заказчику, выполнить работу в определенные сроки и результат должен быть нужного качества – того, которое удовлетворит заказчика и за которое он заплатит. Чтобы удовлетворить этим дополнительным требованиям, программирование "обрастает" различными дополнительными видами деятельности: разработкой требований, планированием, тестированием, конфигурационным управлением, проектным менеджментом, созданием различной документации (проектной, пользовательской и пр.).

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

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

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

Все эти и другие дополнительные виды деятельности, выполняемые в процессе промышленного программирования и необходимые для успешного выполнения заказов и будем называть программной инженерией (software engineering). Получается, что так мы обозначаем, во-первых, некоторую практическую деятельность, а во-вторых, специальную область знания. Или другими словами, научную дисциплину. Ведь для облегчения выполнения каждого отдельного проекта, для возможности использовать разнообразный положительный опыт, достигнутый другими командами и разработчиками, этот самый опыт подвергается осмыслению, обобщению и надлежащему оформлению. Так появляются различные методы и практики (best practices) – тестирования, проектирования, работы над требованиями и пр., архитектурных шаблонов и пр. А также стандарты и методологии, касающиеся всего процесса в целом (например, MSF, RUP, CMMI, Scrum). Вот эти-то обобщения и входят в программную инженерию как в область знания. Необходимость в программной инженерии как в специальной области знаний была осознана мировым сообществом в конце 60-х годов прошлого века, более чем на 20 лет позже рождения самого программирования, если считать таковым знаменитый отчет фон Неймана "First Draft of a Report on the EDVAC", обнародованный им в 1945 году. Рождением программной инженерии является 1968 год – конференция NATO Software Engineering, г. Гармиш (ФРГ), которая целиком была посвящена рассмотрению этих вопросов. В сферу программной инженерии попадают все вопросы и темы, связанные с организацией и улучшением процесса разработки ПО, управлением коллективом разработчиков, разработкой и внедрением программных средств поддержки жизненного цикла разработки ПО. Программная инженерия использует достижения информатики, тесно связана с системотехникой, часто предваряется бизнес-реинжинирингом. Немного подробнее об этом контексте программной инженерии.

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

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

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

Связь программной инженерии (как области практической деятельности) с информатикой, системотехникой и бизнес-реинжинирингом показана на рис.1.1

http://www.intuit.ru/department/se/inprogeng/1/01-01.jpg
Рис. 1.1. 
  1   2   3   4

Добавить документ в свой блог или на сайт

Похожие:

Программная инженерия iconРабочая программа Дисциплины (модуля) Математическое модел ирование...
«Программная инженерия» на кафедре «Информационные системы» факультета Информационных систем и технологий
Программная инженерия icon231000. 62 Программная инженерия (указывается код направления/специальности,...
Рабочая программа составлена в соответствии с фгос впо по направлению подготовки 231000. 62 Программная инженерия, утвержденным приказом...
Программная инженерия icon231000. 62 Программная инженерия (указывается код направления/специальности,...
Рабочая программа составлена в соответствии с фгос впо по направлению подготовки 231000. 62 Программная инженерия, утвержденным приказом...
Программная инженерия icon231000. 62 Программная инженерия (указывается код направления/специальности,...
Рабочая программа составлена в соответствии с фгос впо по направлению подготовки 231000. 62 Программная инженерия, утвержденным приказом...
Программная инженерия iconМетодические указания к курсовому проекту по дисциплине «Программная инженерия»
Документирование процесса разработки программных средств с использованием uml: Методические указания к курсовому проекту по дисциплине...
Программная инженерия iconПрограмма дисциплины «Основы информатики и программирования» для...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 231000....
Программная инженерия iconПрограмма дисциплины «Информатика, математическая логика и теория...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000....
Программная инженерия iconРеферат Объем работы
Выпускная квалификационная работа по направлению 231000. 62 Программная инженерия подготовки бакалавра
Программная инженерия iconПрограмма предназначена для преподавателей, ведущих данную дисциплину,...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 231000....
Программная инженерия iconПрограмма дисциплины «Психология» для направления 231000. 62 «Программная...
Охватывает все основное содержание программного материала
Программная инженерия iconУльяновский государственный технический университет
«Программная инженерия» магистерская программа «Методы и средства разработки программных систем» на кафедре «Информационные системы»...
Программная инженерия icon2 2 Ключевые вопросы сопровождения программного обеспечения 152
Программная инженерия и сущность инженерного подхода к созданию программного обеспечения 9
Программная инженерия iconКурсовой проект является составной частью учебной дисциплины «Программная инженерия»
...
Программная инженерия iconПрограмма по формированию навыков безопасного поведения на дорогах...
Программа предназначена для студентов направления 231000. 62 «Программная инженерия», изучающих дисциплину «Информационно-библиотечная...
Программная инженерия iconПрограмма дисциплины «Система управления качеством» для направления...
Повышение достоверности оценки качества подготовки водителей общественного транспорта
Программная инженерия iconПрограмма дисциплины Экономика
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки231000....


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


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