Что такое программная инженерия? Когда и как она возникла и что изучает?

Что такое программная инженерия? Когда и как она возникла и что изучает?

Программная инженерия - виды деятельности, выполняемые в процессе промышленного программирования и необходимые для успешного выполнения заказов. Рождением программной инженерии является 1968 год - конференция NATO Software Engineering. В сферу программной инженерии попадают все вопросы и темы, связанные с организацией и улучшением процесса разработки ПО, управлением коллектива разработчиков, разработкой и внедрением программных средств поддержки жизненного цикла разработки ПО.

2. С какими дисциплинами и как связана программная инженерия? Чем она отличается от программирования?

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

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

Что такое программное обеспечение (ПО)?

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

Перечислите и охарактеризуйте свойства ПO.

1. Сложность программных объектов, которая существенно зависит от их размеров

2 Согласованность - ПО основывается не на объективных посылках, а должно быть согласовано с большим количеством интерфейсов, с которыми впоследствии оно должно взаимодействовать

3 Изменяемость - ПО легко изменить и, как следствие, требования к нему постоянно меняются в процессе разработки. Это создает много дополнительных трудностей при его разработке и эволюции.

4 Нематериальность - ПО невозможно увидеть, оно виртуально.

Расскажите о спиральной модели, ее достоинствах и недостатках.

Спиральная модель была предложена Бэри Боемом в 1988 году для преодоления недостатков водопадной модели, прежде всего, для лучшего управления рисками. Согласно этой модели разработка продукта осуществляется по спирали, каждый виток которой является определенной фазой разработки. В отличие от водопадной модели в спиральной нет предопределенного и обязательного набора витков, каждый виток может стать последним.

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

Спиральная модель не нашла широкого применения в индустрии и важна, скорее в историко-методологическом плане: она является первой итеративной моделью, имеет красивую метафору - спираль, - и, подобно водопадной модели, использовалась в дальнейшем при создании других моделей процесса и методологий разработки ПО.

Модель команды в MSF.

Главная особенность модели команды в MSF является то, что она «плоская», то есть не имеет официального лидера. Все отвечают за проект в равной степени, уровень заинтересованности каждого в результате очень высок, а коммуникации внутри группы четкие, ясные, дружественные и ответственные.

Каждый ролевой кластер представляет уникальную точку зрения на проект, и в то же время никто из членов проектной группы в одиночку не в состоянии успешно представлять все возможные взгляды, отражающие качественно различные цели. В MSF следующие ролевые кластеры:

· Управление продуктом. Основная задача этого ролевого кластера - обеспечить, чтобы заказчик остался довольным в результате выполнения проекта.

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

· Разработка. Этот ролевой кластер занимается, собственно, программированием ПО.

· Тестирование - отвечает за тестирование ПО.

· Удовлетворение потребителя. Дизайн удобного пользовательского интерфейса и обеспечение удобства эксплуатации ПО (эргономики), обучение пользователей работе с ПО, создание пользовательской документации.

· Управление выпуском - беспрепятственное внедрение проекта и его функционирование, сопровождениее, обеспечивая информированность членов проектной группы о последствиях их решений.

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

·

Один сотрудник может объединять несколько ролей. При этом некоторые роли нельзя объединять (разработка+тестирование)

Что такое программная инженерия? Когда и как она возникла и что изучает?

Программная инженерия - виды деятельности, выполняемые в процессе промышленного программирования и необходимые для успешного выполнения заказов. Рождением программной инженерии является 1968 год - конференция NATO Software Engineering. В сферу программной инженерии попадают все вопросы и темы, связанные с организацией и улучшением процесса разработки ПО, управлением коллектива разработчиков, разработкой и внедрением программных средств поддержки жизненного цикла разработки ПО.

2. С какими дисциплинами и как связана программная инженерия? Чем она отличается от программирования?

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

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

Наши рекомендации