Разделы презентаций


Основные стандарты SE по предмету Программная инженерия

Содержание

На сегодняшний день нет единого определения понятия «программная инженерия». Сам термин – software engineering (программная инженерия) - впервые был озвучен в октябре 1968 года на конференции подкомитета НАТО по науке и

Слайды и текст этой презентации

Слайд 1Презентация на тему: «Основные стандарты SE» по предмету Программная инженерия.
Бушковской

Анастасии
(группа 32-13)

Презентация на тему: «Основные стандарты SE» по предмету Программная инженерия.Бушковской Анастасии(группа 32-13)

Слайд 2На сегодняшний день нет единого определения понятия «программная инженерия».
Сам

термин – software engineering (программная инженерия) - впервые был озвучен

в октябре 1968 года на конференции подкомитета НАТО по науке и технике (г.Гармиш, Германия). Присутствовало 50 профессиональных разработчиков ПО из 11 стран. Рассматривались проблемы проектирования, разработки, распространения и поддержки программ. Там впервые и прозвучал термин «программная инженерия» как некоторая дисциплина, которую надо создавать и которой надо руководствоваться в решении перечисленных проблем.

Вскоре после этого в Лондоне состоялась встреча 22-х руководителей проектов по разработке ПО. На встрече анализировались проблемы и перспективы развития ПО. Отмечалась возрастающее воздействие ПО на жизнь людей. Впервые серьезно заговорили о надвигающемся кризисе ПО. Применяющиеся принципы и методы разработки ПО требовали постоянного усовершенствования. Именно на этой встрече была предложена концепция жизненного цикла ПО (SLC – Software Lifetime Cycle) как последовательности шагов-стадий, которые необходимо выполнить в процессе создания и эксплуатации ПО. Вокруг этой концепции было много споров.

На сегодняшний день нет единого определения понятия «программная инженерия». Сам термин – software engineering (программная инженерия) -

Слайд 3Что такое программная инженерия?
Программная инженерия — это инженерная дисциплина,

которая связана со всеми аспектами производства ПО от начальных стадий

создания спецификации до поддержки системы после сдачи в эксплуатацию. В этом определении есть две ключевые фразы:
Инженерная дисциплина
Все аспекты производства ПО
Что такое программная инженерия? Программная инженерия — это инженерная дисциплина, которая связана со всеми аспектами производства ПО

Слайд 4Инженерная дисциплина.

Инженеры – это те специалисты, которые

выполняют практическую работу и добиваются практических результатов. Ученый может сказать:

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


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

Слайд 5Инженеры работают в условиях ограниченных ресурсов: временных, финансовых и организационных

(оборудование, техника, люди). Иными словами, продукт должен быть создан в

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

Слайд 6Все аспекты производства ПО.
Программная инженерия занимается не только

техническими вопросами производства ПО (специфицирование требований, проектирование, кодирование,…), но и

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

Слайд 8Методы программной инженерии
Метод программной инженерии — это структурный подход

к созданию ПО, который способствует производству высококачественного продукта эффективным в

экономическом аспекте способом. В этом определении есть две основные составляющие: (а) создание высококачественного продукта и (б) экономически эффективным способом. Иными словами, метод – это то, что обеспечивает решение основной задачи программной инженерии: создание качественного продукта при заданных ресурсах времени, бюджета, оборудования, людей. Начиная с 70-х годов создано достаточно много методов разработки ПО. Наиболее известны:
Метод структурного анализа и проектирования Том ДеМарко (1978),
Метод сущность-связь проектирования информационных систем Чен (1976) ·
Метод объектно-ориентированного анализа Буч (1994), Рамбо (1991).
Методы программной инженерии Метод программной инженерии — это структурный подход к созданию ПО, который способствует производству высококачественного

Слайд 9Методы должны включать в себя следующие компоненты:
Описание моделей системы и

нотация, используемая для описания этих моделей (например, объектные модели, конечно-автоматные

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

Слайд 10Профессиональные и этические требования
Развитие средств вычислительной техники, коммуникаций и

программных систем (Internet, телекоммуникации, распределенные системы, IP телефония, компьютерные игры

и обучающие программы) оказывает все большее воздействие на общество. Роль специалистов по программному обеспечению при этом все время возрастает. Они работают в определенном правовом и социальном окружении, находятся под действием, международных, национальных и местных законодательств. Ясно, что программисты, как и специалисты других профессий, должны быть честными и порядочными людьми. Но вместе с тем, программисты не могут руководствоваться только моральными нормами или юридическими ограничениями, т.к. они обычно бывают связаны более тонкими профессиональными обязательствами…
Профессиональные и этические требования Развитие средств вычислительной техники, коммуникаций и программных систем (Internet, телекоммуникации, распределенные системы, IP

Слайд 11Такими, как:
Конфиденциальность – программные специалисты должны уважать конфиденциальность в отношении

своих работодателей или заказчиков независимо от того, подписывалось ли ими

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

Слайд 12Кодекс этики IEEE-CS/ACM
В разработке таких этических обязательств

ведущую роль играют профессиональные сообщества. Такие общества, как ACM (Association

for Computing Machinery - Ассоцтация по вычислительной технике), IEEE (Institute of Electrical and Electronic Engineers – Институт инженеров по электротехнике и электронике) и BCS (British Computer Society – Британское компьютерное общество) совместно разработали и опубликовали IEEECS/ACM Software Engineering Code of Ethics and Professional Practices – Кодекс этики и профессиональной практики программной инженерии. Члены этих организация принимают обязательство следовать этому кодексу в момент вступления в организацию. Кодекс содержит восемь Принципов, связанных с поведением и решениями, принимаемыми профессиональными программистами, включая практиков, преподавателей, менеджеров и руководителей высшего звена. Кодекс распространяется также на студентов и «подмастерьев», изучающих данную профессию. Кодекс имеет краткую и полную версии
Кодекс этики IEEE-CS/ACM  В разработке таких этических обязательств ведущую роль играют профессиональные сообщества. Такие общества, как

Слайд 13Краткая версия кодекса
суммирует стремления кодекса на высоком уровне абстракции.
полная

версия показывает как эти стремления отражаются на деятельности профессиональных программистов.
без

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

Слайд 14Программные инженеры должны добиваться, чтобы анализ, спецификация, проектирование, разработка, тестирование

и сопровождение программного обеспечения стали полезной и уважаемой профессией. В

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

ОБЩЕСТВО - программные инженеры будут действовать соответственно общественным интересам.
КЛИЕНТ И РАБОТОДАТЕЛЬ - программные инженеры будут действовать в интересах клиентов и работодателя, соответственно общественным интересам.
ПРОДУКТ - программные инженеры будут добиваться, чтобы произведенные ими продукты и их модификации соответствовал высочайшим профессиональным стандартам.
СУЖДЕНИЕ - программные инженеры будут добиваться честности и независимости в своих профессиональных суждениях.
МЕНЕДЖМЕНТ - менеджеры и лидеры программных инженеров будут руководствоваться этическим подходом к руководству разработкой и сопровождением ПО, а также будут продвигать и развивать этот подход.

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

Слайд 156. ПРОФЕССИЯ - программные инженеры будут улучшать целостность и репутацию

своей профессии соответственно с интересами общества.
7. КОЛЛЕГИ - программные

инженеры будут честными по отношению к своим коллегам и будут всячески их поддерживать.
8. ЛИЧНОСТЬ - программные инженеры в течение всей своей жизни будут учиться практике своей профессии и будут продвигать этический подход к практике своей профессии.
6. ПРОФЕССИЯ - программные инженеры будут улучшать целостность и репутацию своей профессии соответственно с интересами общества. 7.

Слайд 16Стандарты программной инженерии
Как отмечалось, по происхождению

программные продукты бывают двух типов: заказные (под заказ конкретного потребителя)

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

Слайд 17Какие бывают стандарты?
Среди всего многообразия стандартов принято выделять следующие

основные типы стандартов:

Корпоративные стандарты разрабатываются крупными фирмами (корпорациями) с

целью повышения качества своей продукции. Такие стандарты разрабатываются на основе собственного опыта и с учетом требований мировых стандартов. Корпоративные стандарты не сертифицируются, но являются обязательными для применения внутри корпорации. В условиях рыночной конкуренции могут иметь закрытый характер.
Отраслевые стандарты действуют в пределах организаций некоторой отрасли (министерства). Например, СНИП – строительные нормы и правила. Разрабатываются с учетом требований мирового опыта и специфики отрасли. Являются, как правило, обязательными для отрасли. Подлежат сертификации.
Государственные стандарты (ГОСТы) принимаются государственными органами, в некоторых случаях имеют силу закона. Разрабатываются с учетом мирового опыта или на основе отраслевых стандартов. Могут иметь как рекомендательный, так и обязательный характер (стандарты безопасности). Для сертификации создаются государственные или лицензированные органы сертификации.
Международные стандарты. Разрабатываются, как правило, специальными международными организациями на основе мирового опыта и лучших корпоративных стандартов. Имеют сугубо рекомендательный характер. Право сертификации получают организации (государственные и частные), прошедшие лицензирование в международных организациях.
Какие бывают стандарты? Среди всего многообразия стандартов принято выделять следующие основные типы стандартов: Корпоративные стандарты разрабатываются крупными

Слайд 18Кто разрабатывает стандарты программной инженерии?
Основными разработчиками международных стандартов являются

следующие организации:

ISO - International Organization for Standardization – Международная

организация по стандартизации. Наиболее представительная и влиятельная организация, разрабатывающая стандарты почти во всех областях деятельности, в том числе и в IT.
ACM - Association for Computing Machinery –Ассоциация по вычислительной технике. Всемирная научная и образовательная организация в области вычислительной технике. Известна также и разработкой образовательных стандартов. 21
SEI - Software Engineering Institute - Институт Программной Инженерии. Исследования в области программной инженерии с упором на разработку методов оценки и повышения качества ПО. Стандарты по качеству ПО и зрелости организаций, разрабатывающих ПО.
PMI - Project Management Institute - Международный Институт Проектного Менеджмента (Управления Проектами). Некоммерческая организация, целью которой является продвижение, пропаганда, развитие проектного менеджмента в разных странах. PMI разрабатывает стандарты проектного менеджмента, занимается повышением квалификации специалистов.
IEEE - Институт инженеров по электронике. Поддержка научных и практических разработок в области электроники и вычислительной техники. Большие вложения в разработку стандартов в этой области.
Кто разрабатывает стандарты программной инженерии? Основными разработчиками международных стандартов являются следующие организации: ISO - International Organization for

Слайд 19Основные стандарты программной инженерии
Наиболее известными стандартами программной инженерии являются:

ISO/IEC

12207 - Information Technology - Software Life Cycle Processes -

Процессы жизненного цикла программных средств. Стандарт содержит определения основных понятий программной инженерии (в частности программного продукта и жизненного цикла программного продукта), структуры жизненного цикла как совокупности процессов, детальное описание процессов жизненного цикла.
SEI CMM - Capability Maturity Model (for Software) - модель зрелости процессов разработки программного обеспечения. Стандарт отвечает на вопрос: «Какими признаками должна обладать профессиональная организация по разработке ПО?». Профессионализм организации определяется через зрелость процесса, применяемого этой организацией. Выделяются пять уровней зрелости процесса.
Основные стандарты программной инженерии Наиболее известными стандартами программной инженерии являются:ISO/IEC 12207 - Information Technology - Software Life

Слайд 20 ISO/IEC 15504 - Software Process Assessment - Оценка и

аттестация зрелости процессов создания и сопровождения ПО. Является развитием и

уточнением ISO 12207 и SEI CMM. Содержит расширенное по отношению ISO 12207 количество процессов жизненного цикла и 6 уровней зрелости процессов. Дается подробное описание схемы аттестации процессов, на основе результатов которой может быть выполнена оценка зрелости процессов и даны рекомендации по их усовершенствованию.

PMBOK - Project Management Body of Knowledge - Свод знаний по управлению проектами. Содержит описания состава знаний по следующим 9 разделам (областям знаний) управления проектами

SWBOK - Software Engineering Body of Knowledge - Свод знаний по программной инженерии - содержит описания состава знаний по 10 разделам (областям знаний) программной инженерии.
ACM/IEEE CC2001 - Computing Curricula 2001 – Академический образовательный стандарт в области компьютерных наук. Выделены 4 основных раздела компьютерных наук: Computer science, Computer engineering, Software engineering и Information systems, по каждому из которых описаны области знаний соответствующего раздела, состав и планы рекомендуемых курсов

ISO/IEC 15504 - Software Process Assessment - Оценка и аттестация зрелости процессов создания и сопровождения ПО.

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика