Системная инженерия Лекция 3.ppt
- Количество слайдов: 11
ПРОГРАММНАЯ ИНЖЕНЕРИЯ Системная инженерия лекция 3
Разработчики международных стандартов • ISO International Organization for Standardization – Международная организация по стандартизации. Наиболее представительная и влиятельная организация, разрабатывающая стандарты почти во всех областях деятельности, в том числе и в IT. • ACM Association for Computing Machinery –Ассоциация по вычислительной технике. Всемирная научная и образовательная организация в области вычислительной технике. • SEI Software Engineering Institute Институт Программной Инженерии. Исследования в области программной инженерии с упором на разработку методов оценки и повышения качества ПО. Стандарты по качеству ПО и зрелости организаций, разрабатывающих ПО. • PMI Project Management Institute Международный Институт Проектного Менеджмента (Управления Проектами). Некоммерческая организация, целью которой является продвижение, пропаганда, развитие проектного менеджмента в разных странах. • IEEE Институт инженеров по электронике. Поддержка научных и практических разработок в области электроники и вычислительной техники. Системная инженерия лекция 3 2
Определение программной инженерии Систематическое применение научных и технических знаний, методов и опыта для разработки, реализации, тестирования и документирования программного обеспечения. ISO/IEC 2382 -1 • По Соммервиллу: Инженерия программного обеспечения — это инженерная дисциплина, которая охватывает все аспекты создания ПО от начальной стадии разработки системных требований через соз дание ПО до его использования. В этом определении присутствует две ключевые фразы. Системная инженерия лекция 3 3
SWEBOK: РУКОВОДСТВО К СВОДУ ЗНАНИЙ ПО ПРОГРАММНОЙ ИНЖЕНЕРИИ SWEBOK (Software Engineering Body of Knowledge) — документ, подготавливаемый комитетом Software Engineering Coordinating Committee, в который вовлечено сообщество IEEE Computer Society. Назначение SWEBOK — в объединении знаний по инженерии программного обеспечения (разработке программного обеспечения). Системная инженерия лекция 3 4
10 областей знаний программной инженерии (по SWEBOK) • • • Software Requirements — требования к ПО. Software Design — проектирование ПО. Software Construction — конструирование ПО. Software Testing — тестирование ПО. Software Maintenance — сопровождение ПО. Software Configuration Management — управление конфигурацией. Software Engineering Management — управление IT проектом. Software Engineering Process — процесс программной инженерии. Software Engineering Tools and Methods — методы и инструменты. Software Quality — качество ПО. Системная инженерия лекция 3 5
Первые пять областей знаний SWEBOK Системная инженерия лекция 3 6
Вторые пять областей знаний SWEBOK Системная инженерия лекция 3 7
РАЗЛИЧИЯ МЕЖДУ ПРОГРАММНОЙ ИНЖЕНЕРИЕЙ (SOFTWARE ENGINEERING) И ИНФОРМАТИКОЙ (COMPUTER SCIENCE) Существенное различие заключается в том, что информатика охватывает теорию и методы построения вычислительных и программных систем, тогда как инженерия программного обеспечения акцентирует внимание на практических проблемах разработки ПО. Знание информатики необходимо специалистам по программному обеспечению так же, как знание физики — инженерам электронщикам. Системная инженерия лекция 3 8
РАЗЛИЧИЯ МЕЖДУ ПРОГРАММНОЙ ИНЖЕНЕРИЕЙ И СИСТЕМНОЙ ИНЖЕНЕРИЕЙ Компьютерная программа – это (в отличие от объектов других инженерий) не материальный объект. Отсюда следуют следующие отличия. Фаза производства состоит в копировании образца на другие носители. Стоимость фазы исчезающее мала. Если кодирование считать элементом проектирования (что очень близко к истине), то отсутствует также и фаза создания образца (строится компилятором и линковщиком). Отсюда следуют следующие выводы: • Стоимость программы – это стоимость только ее проектирования • Стоимость проектирования коробочных продуктов «размазывается» по копиям • Стоимость заказных продуктов (массово не копируемых) остается высокой Системная инженерия лекция 3 9
Типовое распределение стоимости между основными этапами разработки ПО • 15% спецификация – формулировка требований и условий разработки • 25% проектирование – разработка и верификация проекта • 20% разработка – кодирование и тестирование компонент • 40% интеграция и тестирование – объединение и сборочное тестирование продукта Системная инженерия лекция 3 10
КОДЕКС ЭТИКИ И ПРАКТИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ ИНЖЕНЕРИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 1) не использовать компьютер с целью повредить другим людям; 2) не создавать помех и не вмешиваться в работу других пользователей компьютерных сетей; 3) не пользоваться файлами, не предназначенными для свободного использования; 4) не использовать компьютер для воровства; 5) не использовать компьютер для распространения ложной информации; 6) не использовать ворованное программное обеспечение; 7) не присваивать чужую интеллектуальную собственность; 8) не использовать компьютерное оборудование или сетевые ресурсы без разрешения или соответствующей компенсации; 9) думать о возможных общественных последствиях программ, которые Вы пишите или систем, которые Вы разрабатываете; 10) использовать компьютер с самоограничениями, которые показывают Вашу предупредительность и уважение к другим людям. Системная инженерия лекция 3 11
Системная инженерия Лекция 3.ppt