Курс «Инженерия программного обеспечения» является основным курсом специальности «Инженерия программного обеспечения». Это комплексный курс, в котором используются инженерные методы для разработки, обслуживания и управления программным обеспечением. Содержание включает в себя теории и технологии, связанные с анализом, проектированием, реализацией программного обеспечения. техническое обслуживание и управление проектами, методы и инструменты CASE.
⚫Ключевые моменты, которые нужно освоить
программное обеспечение Инженерное делоОсновные понятия
和базовыйпринцип
;
⚫В сочетании с нынешней ситуацией в нашей стране обеспечение Бизнес дляпрограммное обеспечениеразвиватьизнуждаться,Овладеть и уметьиспользовать
программное обеспечение Инженерное делобазовыйпринцип
и практичныйизпрограммное обеспечениеразвиватьтехнология
и базовыйизтехнология управления
;
⚫учиться
программное обеспечениепроектдисциплинаизструктура знаний
。
⚫(1) Концепции программной инженерии и основные элементы программной инженерии ⚫(2) программный процесс ⚫(3) Требования к программному обеспечению и спецификации требований к программному обеспечению ⚫(4) Технические характеристики системы и дизайн программного обеспечения ⚫(пять) тестирование программного обеспечения ⚫(6) Управление программной инженерией ⚫(7) Качество программного обеспечения, характеристики качества и обеспечение качества программного обеспечения. ⚫(восемь) Компьютерная разработка программного обеспечения CASE Инструменты и среда
[Программное обеспечение]: программы, данные и все документы, необходимые для разработки, использования и обслуживания программ. в
Программа: описание объектов обработки и правил обработки расчетной транзакции, представляющее собой набор инструкций; Данные: объект программной обработки и обработки. Документация: текстовая или графическая информация о функциях, дизайне, подготовке и использовании компьютерной программы.
Особенности: Программное обеспечение является логическим продуктом.
❖ Функциональное подразделение программного обеспечения: системное программное обеспечение; прикладное программное обеспечение; ❖ Методы работы программного обеспечения делятся на: обработку в реальном времени; интерактивную обработку с разделением времени; ❖ Классификация размера программного обеспечения: микро; средний; ❖ Подразделение объектов сервисного обслуживания программного обеспечения: заказное программное обеспечение общего назначения; ❖ Классификация последствий сбоя программного обеспечения: критическое программное обеспечение; ❖ Платные модели делятся на: коммерческое программное обеспечение; условно-бесплатное программное обеспечение (с ограниченным использованием); ❖ Является ли исходный код общедоступным: программное обеспечение с закрытым исходным кодом (исходный код не является общедоступным); программное обеспечение с открытым исходным кодом (исходный код является общедоступным);
1968 год,Компьютерные ученые НАТО проводят международную конференцию в Федеративной Республике Германия,обсуждатькризис программного обеспечениявопрос , официально предложил и использовал концепцию «программной инженерии», ознаменовав официальное рождение программной инженерии. 【кризис программного обеспечения】:
Ряд серьезных проблем, возникших при разработке и сопровождении компьютерного программного обеспечения.
Программное обеспечение для решения проблем содержит два аспекта вопросов:
Как разрабатывать программное обеспечение для удовлетворения растущих и все более сложных потребностей. Как поддерживать постоянно растущее количество программных продуктов
Принять инженерные концепции、принцип、технологии иметод Приходитьразвиватьи обслуживаниепрограммное обеспечение,Пучок Верность проверена временемизтехнология управления
и в настоящее время доступенизТехнологияметод
объединить Приходить,Приходитьгидпрограммное обеспечениеизразвиватьи обслуживание。 Две очевидные характеристики технологии разработки программного обеспечения:
Акцент на стандартизации Акцент на документации
Основа разработки программного обеспечения состоит из
цели разработки программного обеспечения, деятельность по разработке программного обеспечения принципы разработки программного обеспечения Он состоит из трех аспектов содержания.
Цель: создавать правильные, удобные и доступные программные продукты. Корректность: Степень, в которой программный продукт функционирует должным образом. Удобство использования: степень, в которой базовая структура, реализация и документация программного обеспечения доступны пользователям. Экономическая эффективность: степень, в которой вся стоимость разработки и эксплуатации программного обеспечения соответствует требованиям пользователя.
решенный:программный Выбор процесса, процессмодели и метода проектирования.
Деятельность: Произвести продукт, который в конечном итоге отвечает потребностям и достигает инженерных целей. Шаги, необходимые для базового программного продукта. 1、
нуждаться
:Анализ проблемы
:нуждатьсяполучить и определить,также известный какпрограммное обеспечениенуждаться Статут。нуждатьсяанализировать
:генерироватьпрограммное Функциональная спецификация обеспечения. 2、дизайн
:обзордизайн
:построить весьпрограммное обеспечениеиз Архитектура,включая подсистемы、Описание модулей и связанных с ними уровней、каждый модульиз Определение интерфейса и т. д.。подробныйдизайн
:Генерировать программатор доступениз Описание модуля,Включает описание структуры данных и описание обработки в каждом модуле. 3、выполнить
:Пучокдизайн Результат можно преобразовать восуществлятьизпрограммный код。 4、подтверждать
:черезразвиватьпроцесс,Подтвердите готовые результаты,Убедитесь, что продукты удовлетворяют пользователейиз Требовать。 5、поддерживать
: Модифицировать и улучшать деятельность.
Возьмите соответствующую разработку Модель
:Управление является переменнымизнуждаться;Используйте подходящий метод дизайна
:нуждатьсяпрограммное обеспечение Модуляризация, абстрагирование и сокрытие информации, локализация, согласованность и адаптируемость и т. д. требуют поддержки соответствующего дизайн-метода.Обеспечить высокийкачествоизпроектподдерживать
:программное обеспечениеинструменти окружающая средапрограммный поддержка процесса.Уделите внимание управлению технологическим процессом
:Доступно эффективное использованиеизресурс、Производите программные продукты, соответствующие вашим целям、улучшатьпрограммное обеспечение производственных мощностей организации и т.д.
1. Сосредоточьтесь на разработке крупных программ. 2. Центральный вопрос — контроль сложности. 3. Требования к контролю часто меняются. 4. Повышение эффективности разработки программного обеспечения. 5. Поддержка совместного развития 6. Получите эффективную поддержку клиентов
1 Управление с помощью поэтапного плана (жизненного цикла) 2 Провести обзор этапа 3 Внедрить строгий контроль продукции 4 Используйте современные технологии программирования 5 Четко просмотрите результаты 6. Признайте необходимость постоянного совершенствования методов разработки программного обеспечения.
Совокупность приемов, методов и инструментов, используемых на протяжении жизненного цикла программного обеспечения, называется методологией. Методология разработки программного обеспечение: инженерная дисциплина, сформированная путем тесной интеграции технологий и управления. Набор технических методов, используемых на протяжении жизненного цикла программного обеспечения, обычно называют методологией (также называемой парадигмой). paradigm)
метод
: Заканчиватьпрограммное обеспечениеразвивание технических методов для различных задач (анализ, проектирование и т.п.), ответы на вопросы «как сделать».процесс
: структура ряда задач, которые необходимо выполнить для получения высококачественного программного обеспечения, и оговаривает этапы работы для выполнения каждой задачи.инструмент
: Автоматическое или полуавтоматическое программное обеспечение для процесса, метод обеспечение инженерного обеспечения окружающей среды.
Деятельность, непосредственно связанная с производством
1. Получение процесса: действия, определенные для стороны спроса, инициирование, торги, контракты, надзор за поставщиком, приемка и т. д. ; 2. Процесс поставки: действия, определенные для поставщика, инициирование, подготовка предложений, подписание контрактов, подготовка планов, исполнение, поставка и завершение; 3. Разработкапроцесса: Деятельность, определенная для разработки: требования, проектирование, кодирование, тестирование, установка, приемка; 4. Операции: действия, определенные для операторов: запуск тестов, системные операции, поддержка пользователей. ; 5. Процесс сопровождения: действия, определенные для сопровождающих: анализ проблем и модификаций, внедрение модификаций, проверка/принятие сопровождения, миграция, программное обеспечение. обеспечение Ушедший на пенсию
программное обеспечениежизненный цикл Модельдапрограммное обеспечениеразвивать Структурную основу для всех программ, мероприятий и задач. Он может интуитивно выражать программное обеспечение обеспечение развития процесса, четко определяя основные виды деятельности, задачи и разрабатывая стратегии, которые необходимо выполнить. Также известен как: программное обеспечение обеспечениеразвивать Модель,программное обеспечениеразвиватьпроцесс Модель。
программный процесс
дарабочий продукт Строитьвремя местоосуществлятьизсерия мероприятий、действия и задачиизсобирать。Активность( activity)
основнойвыполнитьширокийиз Цель(например, общение с заинтересованными сторонами),и области применения、Размер проекта、Сложность результата или реализация программного обеспечения Обеспечение Важность проекта не связана напрямую.действие (действие, как в архитектурном дизайне)
Включать Понятноосновнойрабочий продукт(например, архитектурадизайн Модель)Производствопроцесссерединаизряд задач。Задача( task)
сосредоточиться Небольшие, ясные цели, приводящие к созданию реального продукта (например, создание модульного теста).
Какова структура процесса?
процессрамка( process framework) определяет несколько действий структуры для достижения полной версии программного обеспечения. обеспечение Инженерный процесс заложил основу. Эти действия могут широко применяться ко всем программам. обеспечениеразвивать проекты, независимо от их размера и сложности. Кроме того, структура процесса также содержит некоторую информацию, относящуюся ко всему программному обеспечению. процессиз Универсальность Активность(umbrella activity)。 Универсальное программное обеспечение Структура процесса разработки программного обеспечения обычно включает пять действий: коммуникацию, планирование, моделирование, создание и развертывание. для многих программ Для проекта обеспечения рамочные мероприятия могут применяться итеративно по мере продвижения проекта. Другими словами, такие действия, как общение, планирование, моделирование, строительство и развертывание, повторяются на протяжении нескольких итераций проекта. Результатом каждой итерации проекта является программное обеспечение. обеспечение Приращение(software приращение), каждое приращение программного обеспечения реализует часть возможностей и функций программного обеспечения. С каждым шагом программное обеспечение будет постепенно улучшаться.
Чтодапрограммный процесс универсальной деятельности?
программное Деятельность по обеспечению инженерных процессов дополняется многими универсальными видами деятельности. Обычно эти универсальные действия выполняются в рамках программного обеспечения. программное обеспечение всегда поможет программному обеспечению обеспечение Команда управляет и контролирует ход проекта, его качество, изменения и риски. Типичные универсальные виды деятельности включают программное обеспечение программное обеспечение Контроль и отслеживание проектов, управление рисками, программное обеспечение обеспечение Гарантия качества, техническая проверка, измерение, программное обеспечение обеспечение Конфигурация и управление, многоразовое управление, подготовка и производство рабочих продуктов.
Адаптация процесса:
программное Процесс разработки программного обеспечения не является догматическим законом и не требует программного обеспечения. обеспечение Команды работают механически, а не должны быть гибкими и адаптируемыми (согласно программному обеспечению); обеспечение Решаемые проблемы, характеристики проекта, развивать командную и организационную культуру и т. д., вносить адаптивные коррективы). Поэтому процесс проекта, используемый в разных проектах, может существенно различаться. Эти различия в основном отражаются в следующих аспектах: ● Общий поток и взаимозависимости действий, действий и задач. ●В каждой структуре деятельности указана степень детализации действий и задач. ●Определение и объем требований к рабочему продукту. ●Как применяются мероприятия по обеспечению качества. ● Способ применения мероприятий по отслеживанию и контролю проекта. ●Уровень детализации и строгости описания. ● Степень участия клиентов и заинтересованных сторон в проекте. ●Автономия, предоставленная команде программного обеспечения. ●Четкость организации команды и ролей.
Основа практики разработки программного обеспечения. Общие действия структуры — коммуникация, планирование, моделирование, создание и развертывание, а также всеобъемлющие действия формируют схему архитектуры усилий по разработке программного обеспечения.
7 принципов общей практики разработки программного обеспечения: Существуйте ценность, придерживайтесь брифа, сохраняйте видение, фокусируйтесь на пользователях, смотрите в будущее, заранее планируйте повторное использование и тщательно думайте.
Стратегия развития:
Молекулярные системы (компоненты) разрабатываются по частям, пока не будет завершена вся система.
развиватьпроцесс:
Определить общие требования Определить приращение разработки Проектирование архитектуры системы Разработка системных приращений окончательная система
Основные преимущества:
В первую очередь разрабатываются основные функции, чтобы снизить риск провала проекта; Программное обеспечение может поставляться по частям, поэтому пользователи могут использовать его как можно раньше и получить преимущества; Ранние приращения служат прототипами и помогают определить требования для последующих приращений.
Основные недостатки:
Архитектура системы должна быть определена в первую очередь и оставаться стабильной.
Цель каскадной модели или модели быстрого прототипирования — создать продукт, который удовлетворяет все потребности пользователя за один раз. Инкрементная модель разлагает весь программный продукт на множество дополнительных компонентов и постепенно доставляет продукт пользователям в пакетах.
Стратегия развития:
Повторяйте несколько раз, от грубого к более точному, и постепенно уточняйте.
Основные преимущества:
Сначала разрабатываются основные функции; Программное обеспечение поставляется по частям, поэтому пользователи могут использовать его заранее и получить преимущества; Отзывы пользователей определяют направление следующей итерации.
Основные недостатки:
Дизайну не хватает целостности и он повторно использует предыдущий. Итеративная разработка обходится дороже
Стратегия развития:
Прототип — это ранняя версия программной системы. Он используется для демонстрации и проверки решений, обнаружения существующих проблем и поиска возможных решений.
Основные преимущества:
Вдохновлять и проверять системные требования; Изучите и утвердите варианты дизайна; отбраковка или окончательный выпуск продукта.
Основные недостатки:
Игнорируйте нефункциональные требования, такие как надежность, надежность и производительность; Отсутствие необходимой документации затрудняет обслуживание.
Применимые поля:
Неопределенные области спроса
Стратегия развития:
Спиральная модель = водопадная модель + модель прототипа + анализ рисков
Основные преимущества:
Строительство поэтапно; ориентированный на риск; Клиенты участвуют на протяжении всего процесса.
Основные недостатки:
Цикл разработки длительный.
Области применения:
Крупное программное обеспечение с высоким уровнем риска.
Основные особенности:
В основном используется для поддержки объектно-ориентированного инновационного процесса, воплощающего программное обеспечение. обеспечение Итеративные и безупречные характеристики, присущие творчеству.
Преимущества модели фонтана:
Модель фонтана не похожа на модель водопада, которая требует, чтобы действия по анализу были завершены до завершения действий по проектированию, а действия по проектированию должны быть завершены до начала действий по кодированию. Различные этапы Модели не имеют четких границ, и персонал может осуществлять модернизацию одновременно. Преимущество в том, что оно может улучшить программное обеспечение. проект программного обеспечения повышает эффективность, экономит время, адаптирован к объектно-ориентированному программному обеспечению обеспечениеразвиватьпроцесс。
Недостатки фонтанной модели:
Поскольку различные этапы разработки модели фонтана перекрываются, для разработки процесса требуется большое количество персонала, что не способствует управлению проектом. Кроме того, такая Модель требует строгого управления документами, что усложняет проверку, особенно в ситуациях, когда различная информация, потребности и материалы могут быть добавлены в любое время.
Пример:
Проект разработки корпоративного приложения разрабатывается с использованием фонтанной модели. Команда разработчиков проводит итеративную разработку каждые две недели. Требования переоцениваются и корректируются перед каждой итерацией, чтобы гарантировать, что конечный продукт соответствует потребностям пользователей.
RUPВключать6индивидуальныйпроцесс Рабочий процесс(Process Рабочий процесс) и 3 вспомогательных рабочих процесса (Поддержка Workflow)。
1.Бизнес-моделирование Моделирование): смоделируйте бизнес-среду и масштаб системы, чтобы гарантировать, что все участники имеют общее понимание системы разработки. 2. Анализ требований (Требования): Определите функции системы и другие нефункциональные требования, результатом будет спецификация требований к программному обеспечению (SRS). 3.Анализ и проектирование and Проектирование): Предоставьте план реализации, основанный на системных требованиях, и результатом будет спецификация проекта программного обеспечения (SDS). 4. Внедрение: определение организационной структуры кода, внедрение кода, модульное тестирование и системная интеграция. 5. Тест : Проверить взаимодействие и интеграцию различных подсистем. Тесты проводятся с точки зрения надежности, функциональности и производительности системы соответственно. 6. Развертывание: успешно создать версию и распространить программное обеспечение среди конечных пользователей. 7. Управление конфигурацией и изменениями (Конфигурация and Change Управление): управлять параллельной разработкой и распределенной разработкой, автоматически создавать проекты, фиксировать причины модификации продукта, время, персонал и записи аудита; 。 8. Управление проектом Управление): Обеспечить эффективную поддержку планирования, выполнения и мониторинга проектов разработки программного обеспечения. 9. Окружающая среда: Обеспечивает поддержку управления и управления организацией.
RUP делит жизненный цикл программного обеспечения на несколько отдельных циклов разработки. И разделен на четыре этапа: инициализация, доработка, строительство и доставка. .
Основная задача – представить контуры будущей системы и определить необходимость и осуществимость проекта. Необходимо разработать экономическое обоснование (Business Case), установить базовую модель варианта использования, план проекта, первоначальную оценку рисков и описание проекта. В центре внимания этого этапа — бизнес-моделирование и требования.
Основная задача – провести дальнейший анализ проблемной области, уловить большую часть функциональных требований системы, установить базовую структуру системы, выявить риски и меры противодействия, с которыми придется столкнуться в ходе реализации проекта, определить технические меры по развитию, определить распределение средств и ресурсов, а также сформулировать план развития проекта. Стадия доработки занимает около 1/5 всего проекта. Фаза разработки может быть завершена, когда специалисты по проектированию смогут точно оценить усилия, необходимые для каждого варианта использования, а также когда важные риски будут выявлены и устранены. Основное внимание на этом этапе уделяется требованиям, анализу и рабочему процессу проектирования.
Основная задача – выполнение всех требований, анализ и проектирование. Все остальные компоненты и функциональность приложения одновременно интегрируются в продукт, и вся функциональность детально тестируется.
Основными задачами являются выпуск разработанного программного обеспечения для пользователей, установка и развертывание разработанного программного обеспечения в реальной производственной среде пользователя, проведение обучения пользователей, получение обратной связи от пользователей, а также внесение необходимых корректировок и оптимизаций в программное обеспечение.
Создание процесса: Результаты «Проект процесс Программа»
1. Выберите модель жизненного цикла программного обеспечения. 2. Уточнить выбранную модель жизненного цикла. 3. Определите подходящее количество экземпляров для каждого действия или задачи. 4. Определить временную взаимосвязь мероприятий и проверить поток информации. 5. Создайте документацию по технологическому плану.
процессмонитор:
1.программное мониторинг процесса жизненного цикла обеспечения 2.программное оценка влияния процесса на жизненный цикл программного обеспечения 3. Внедрение изменений 4. Внедрить изменения
1) Начальный уровень (Initial):
программное В отрасли время от времени возникает хаос. Лишь немногие рабочие места строго определены, и успех часто зависит от чьей-то мудрости и упорного труда.2) Повторяемый уровень (Repeatable):
建立Понятнобазовыйизуправление проектомпроцесс。шаг за шагомдизайн Функция、Отслеживание затрат,развиваться согласно графику проекта. для подобных проектов,Можно повторно использовать то, что было сделано ранееразвиватьуспехизчасть。3) Определенный уровень:
программное Инженерная деятельность и управленческая деятельность по обеспечениюразвития документируются и стандартизируются и интегрируются в стандартный производственный процесс организации. Все проекты и техническое обслуживание настраиваются на основе этого стандарта.4) Управляемые:
дляпрограммное хорошо изложены детали обеспечения развития процесса и тестирования качества продукции, И продукты, и производственный процесс можно разбить на части и контролировать количественно.5) Уровень оптимизации:
Создавразвиватьпроцессиз Механизм количественной обратной связи,Постоянно генерировать новые идеи, принять Новая технология для оптимизации производственного процесса.
Эта серия блогов является безопасной Блоги, посвященные программному обеспечению, эта статья — первая часть программного обеспечения обеспечение Обзор проекта ипрограммный процесс。