- •1. Технология разработки программного обеспечения. Определение. Основные этапы на примере классического жизненного цикла.
- •2. Два взгляда на по: научная разработка, программное изделие. Свободное по.
- •3. Парадигмы проектирования программных систем. Макетирование.
- •4.Парадигмы проектирования пс. Инкрементная модель.
- •5. Парадигмы проектирования программных систем. Быстрая разработка приложений.
- •6. Парадигмы проектирования программных систем. Спиральная модель.
- •7. Парадигмы проектирования программных систем. Компонентно-ориентированная модель.
- •8. Парадигмы проектирования программных систем. Унифицированный процесс. Rup.
- •1. Начало
- •2. Уточнение
- •3. Построение (Конструирование)
- •4. Внедрение
- •9. Парадигмы проектирования программных систем. Экстремальное программирование.
- •10. Спецификация требований. Виды требований.
- •1) Пользовательские требования
- •2) Системные требования
- •3) Проектная системная спецификация.
- •11. Функциональные требования.
- •12. Нефункциональные требования.
- •13. Требования предметной области.
- •14. Пользовательские требования.
- •15. Системные требования.
- •16. Описание технического задания по гост.
- •17. Прецеденты. Определение. Актеры. Сценарии.
- •18. Задачи и рамки прецедентов.
- •19. Степень формализации прецедентов. Сжатый, свободный и развёрнутый формат описания.
- •20. Пояснения к прецедентам. Предусловия и постусловия. Альтернативные сценарии.
- •22. Объектно-ориентированные анализ и проектирование программных систем. Основные определения.
- •23. Основные принципы объектно-ориентированной разработки программ.
- •24. Обязанности объектов. Разложение системы на объекты. Crc-карты.
- •25. Инкапсуляция. Связность внутри классов и зацепление между классами.
- •26. Композиция и наследование. Абстрактные классы. Интерфейс класса. Рекомендации.
- •27. Методы, операции, сообщения. Разделение команд и запросов.
- •28. Проектирование по контракту. Предусловия и постусловия в методах. Инварианты.
- •29. Паттерны проектирования. Определение. Формат описания.
- •30. Виды паттернов по уровню абстракции и по цели. Примеры.
- •36. Минимальное грубое тестирование
- •37. Автоматизированные тесты. Основные определения. XUnit
- •38. Разработка через тестирование
- •39. Особенности командной разработки по
- •40. Оценка стоимости по. Модели и методики. Модель cocomo
13. Требования предметной области.
Эти требования могут быть представлены в виде новых функциональных требований, в виде новых функциональных требований, в виде ограничений на существующие функциональные требования или указаний как и где система должна работать. Требования к предметной области очень важны, т.к. их невыполнение приводит к выходу системы из строя.
Примеры:
Интерфейс, предоставляющий доступ к базам данных, должен быть разработан с учетом определенных стандартов.
Для соблюдения авторских прав некоторые документы должны быть удалены из системы сразу после получения.
Торможение поезда вычисляется по формуле...
Требования предметной области используют языки обозначения, присущие данной предметной области.
14. Пользовательские требования.
Должны описывать функциональные и нефункциональные требования так, чтобы они были понятны даже пользователю, не имеющему специальных технических знаний. Соответственно эти требования должны определять только внешнее поведение системы, должны быть написаны естественным языком с использованием понятных иллюстраций. Вследствие этого возникают следующие проблемы:
Отсутствие четкости изложения.
Смешение требований.
Объединение требований.
Чтобы свести к минимуму неясности, рекомендуется придерживаться следующих правил:
Разработать стандартную форму для записи пользовательских требований и ее придерживаться.
Различать обязательные и описательные требования. Описательные требования не являются абсолютно необходимыми.
Выделять ключевые части требований.
Избегать компьютерного и технического жаргона.
15. Системные требования.
//по лекции:
Системные требования - детализированное описание системных функций и ограничений (функциональная спецификация). Основа для заключения контракта между покупателями системы и разработчиком.
Пользователь должен иметь возможность определять тип внешних файлов.
Для каждого типа внешних файлов должно иметься средство, применяющееся к этому файлу.
Внешний файл каждого типа должен быть представлен соответствующей диаграммой.
//из интернета:
Системные требования включают в себя:
Требования к архитектуре системы. Например, число и размещение хранилищи серверов приложений.
Требования к параметрам оборудования. Например, частота процессоров серверов и клиентов, объём хранилищ, размер оперативной и видео памяти, пропускная способность канала и т.д.
Требования к параметрам системы. Например, время отклика на действие пользователя, максимальный размер передаваемого файла, максимальная скорость передачи данных, максимальное число одновременно работающих пользователей и т.д.
Требования к программному интерфейсу.
Требования к структуре системы. Например, Масштабируемость, распределённость, модульность, открытость.
масштабируемость – возможность распространения системы на большое количество машин, не приводящая к потере работоспособности и эффективности, при этом способность системы наращивать свою мощность должна определяться только мощностью соответствующего аппаратного обеспечения.
распределенность - система должна поддерживать распределённое хранение данных.
модульность - система должна состоять из отдельных модулей, интегрированных между собой.
открытость - наличие открытых интерфейсов для возможной доработки и интеграции с другими системами.
Требования по взаимодействию и интеграции с другими системами. Например, использование общей базы данных, возможность получения данных из баз данных определённых систем и т.д.