- •Вопрос 1 Разрабо́тка програ́ммного обеспе́чения
- •Разделы дисциплины
- •Понятия процесса и методология разработки
- •Вопрос 2
- •Вопрос 3
- •Виды требований по уровням
- •По характеру
- •Источники требований.
- •Вопрос 4 Какие должны быть требования, их характеристика:
- •Как выявляются требования
- •Вопрос 5 Проверка требований
- •Анализ требований
- •Документирование требований
- •Изменение требований
- •Вопрос 6 Проектирование программного обеспечения
- •Инженерия программного обеспечения
- •Вопрос 7 Тестирование
- •Критерии качества программных средств.
- •Вопрос 8 Классификация тестирование по
- •Вопрос 9 Уровни тестирования по
- •Вопрос 10 Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •Вопрос 11 Качество исходного кода
- •Факторы качества
- •С точки зрения пользователя
- •Вопрос 12 Определение
- •Процессы жизненного цикла по
- •Вопрос 13 Основные процессы жизненного цикла
- •Приложения
- •Вопрос 14 Вспомогательные процессы жизненного цикла автоматизированной системы (ас)
- •Организационные процессы жизненного цикла ас.
- •Вопрос 15 Каскадная модель
- •Вопрос 16 Итеративная и инкрементальная модель – эволюционный подход
- •Вопрос 17 Спиральная модель
- •Вопрос 18 Общие требования к методологии и технологии
- •Вопрос 19
- •Вопрос 20
- •Вопрос 33 Определение
- •Основные элементы и понятия idef0
- •Построение модели
- •Вопрос 34 Предназначение idef3
- •Два типа диаграмм в idef3
- •Обозначение
- •Вопрос 35 er-диаграммы
- •Семантические модели данных
- •Основные понятия модели Entity-Relationship (Сущность-Связи)
Изменение требований
В общем случае требования изменяются со временем. После того, как требования определены и одобрены, изменения должны попадать под контроль внесения изменений. Для многих проектов требования изменяются до завершения создания системы. Это происходит частично из-за сложности программного обеспечения и того факта, что пользователи не знают что им нужно на самом деле. Эта особенность требований привела к появлению управления требованиями.
Вопрос 6 Проектирование программного обеспечения
Проектирование программного обеспечения — процесс создания проекта программного обеспечения (ПО), а также дисциплина, изучающая методы проектирования.
Проектирование подразумевает выработку свойств системы на основе анализа постановки задачи, а именно: моделей предметной области, требований к ПО, а также опыта проектировщика.
Модель предметной области накладывает ограничения на бизнес-логику и структуры данных.
Требования к ПО определяют внешние (видимые) свойства программы, рассматриваемой как чёрный ящик.
Определению внутренних свойств системы и детализации её внешних свойств собственно и посвящено проектирование.
Проектирование ПО является частным случаем Проектирования продуктов и Проектирования систем.
В зависимости от класса создаваемого ПО, процесс проектирования может обеспечиваться как «ручным» проектированием, так и различными средствами его автоматизации. В процессе проектирования ПО для выражения его характеристик используются различные нотации — блок-схемы, ER-диаграммы, UML-диаграммы, DFD-диаграммы, а также макеты.
Проектированию обычно подлежат:
Архитектура ПО
Устройство компонентов ПО
Пользовательские интерфейсы
В российской практике результат проектирования представляется в виде комплекса документов под названием «Эскизный проект», «Технический проект», в зарубежной — Software Architecture Document, Software Design Document.
Инженерия программного обеспечения
Инженерия программного обеспечения (англ. Software Engineering) — приложение систематического, дисциплинного, измеримого подхода к развитию, оперированию и обслуживанию программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению (все это коддинг).
Программная инженерия — это интегрирование принципов математики, информатики и компьютерных наук с инженерными подходами, разработанными для производства осязаемых материальных артефактов.
Дисциплина программной инженерии включается в круг вопросов компьютинга (англ. computing) и может рассматриваться как инженерная область, имеющая более тесные связи со своей базовой дисциплиной — компьютерными науками, — чем другие инженерные области. Среди других инженерных дисциплин она качественно выделяется нематериальностью программного обеспечения и дискретной природой его функционирования. Основываясь на математике и компьютинге, программная инженерия занимается разработкой систематических моделей и надежных методов производства высококачественного программного обеспечения, и данный подход распространяется на все уровни — от теории и принципов до реальной практики создания программного обеспечения, которая лучше всего заметна сторонним наблюдателям.