- •Введение. Этапы развития трпо;
- •Основные понятия. Классификация программного обеспечения. Системное по. Пакеты прикладных программ. Среды разработки по;
- •Проблемы проектирования по. Оценка стоимости некачественного проектирования;
- •Требования к по. Особенности формирования;
- •Проблемы корректности требований к по;
- •Оценка качества разработки. Стандарты, критерии.
- •Сертификация по;
- •Жизненный цикл по. Модели жизненного цикла по;
- •Анализ требований к программным продуктам;
- •Архитектура программного обеспечения;
- •11. Структура и формат данных. Классификация;
- •12. Простые и статические структуры данных;
- •13. Полустатические и динамические структуры данных;
- •14. Модульное программирование. Методические основы;
- •15. Модульное программирование. Прочность и сцепление модулей;
- •16. Модульное программирование. Прочность и сцепление модулей;
- •17. Модульное программирование. Рутинность и связность модулей;
- •18. Методы разработки при модульном программировании. Классификация;
- •19. Восходящая модульная разработка. Архитектурный подход;
- •20. Нисходящая модульная разработка. Конструктивный подход;
- •21. Спецификации и требования при структурном подходе;
- •22. Схематическое представление алгоритмов. Блок схемы;
- •23. Схематическое представление алгоритмов. Псевдокоды и Flow – формы;
- •24. Диаграммы Насси-Шнейдермана. Словарь терминов;
- •25. Диаграммы переходов состояний;
- •26. Функциональные диаграммы;
- •27. Диаграммы потоков данных. Нотации Йордана и Гейна – Сарсона;
- •28. Диаграммы сущность – связь. Примеры er – диаграмм. Понятие сущности. Типы связей между сущностями;
- •29. Анализ требований и определение спецификаций при объектном подходе;
- •30. Унифицированный язык моделирования uml. Основные понятия;
- •31. Определение прецедентов при объектном подходе. Диаграммы вариантов использования;
- •32. Построение концептуальной модели при объектном подходе;
- •33. Объектный подход. Классы. Диаграммы классов;
- •34. Объектный подход.. Атрибуты и операции класса. Экземпляр класса;
- •35. Описание поведение системы. Диаграммы последовательностей;
- •36. Описание поведение системы. Диаграммы деятельности и состояний;
- •37. Технологии программирования. Концепции программирования;
- •38. Объектно – ориентированное программирование. Принципы;
- •39. Платформы java и net. Web - программирование;
- •40. Тестирование и отладка программного обеспечения. Уровни тестирования. Принципы разработки тестов. Автоматизация тестирования;
- •41. Тестирование и отладка программного обеспечения. Модульное тестирование;
- •42. Тестирование и отладка программного обеспечения. Интеграционное тестирование;
- •43. Технологии разработки. Выбор языка программирования;
- •44. Технологии разработки. Среды программирования;
- •45. Тестирование и отладка программного обеспечения. Системное тестирование;
- •46. Сопровождение программного обеспечения. Основные проблемы и пути решения.
Проблемы корректности требований к по;
По определению Гауса и Вайнберга, проблема — это разница между желаемым и воспринимаемым. Иногда самым простым решением является изменение бизнес-процесса, а не создание новой системы. Как всегда, начинать следует с определения цели. Цель анализа состоит в том, чтобы добиться лучшего понимания решаемой проблемы до начала разработки. Для этого необходимо осуществить следующие пять этапов:
Достигнуть соглашения об определении проблемы.
Выделить основные причины — вопросы, стоящие за
проблемой.
Выявить заинтересованных лиц и пользователей.
Определить границу системы решения.
Выявить ограничения, которые необходимо наложить на
решение.
Этап 1. Достижение соглашения об определении проблемы. Первый шаг состоит в достижении соглашения об определении проблемы, которую необходимо решить. Один из простейших способов заключается в том, чтобы просто записать проблему и выяснить, все ли согласны с такой постановкой. В рамках этого процесса зачастую полезно рассмотреть преимущества предлагаемого решения, причем их следует описывать на языке клиентов/пользователей. Это обеспечивает дополнительную содержательную основу для понимания реальной проблемы. Рассматривая эти преимущества с точки зрения клиента, программисты также достигают лучшего понимания их взгляда на проблему в целом. Часто бывает полезно записать проблему в стандартной форме. Создание подобной таблицы является простым, но действенным средством, чтобы удостовериться в том, что все участники проекта работают вместе над осуществлением общей цели.
Этап 2. Выявление основных причин — вопросов, стоящих за проблемой.
На данном этапе важно понять корневые причины, лежащие в основе проблемы, и ее проявления. Например, электронный магазин решил бороться с проблемой недостаточной прибыльности. Для этого был проведен анализ причин плохих продаж. Получено, что следующие причины ведут к слишком большим остаткам продукции на складе:
1) устаревшие готовые изделия;
2) неправильные заказы на покупку;
3) повреждения при доставке;
4) производственные дефекты;
5) возвраты клиентами;
6) прочее.
Однако нужно ли устранять все эти причины? Зачастую нет. Некоторые корневые причины просто не стоят того, чтобы их устранять. Нужно определить влияние каждой корневой причины и устранять только те, которые наиболее серьезно влияют на саму проблему. В примере, допустим, наибольшее влияние оказывает корневая причина «Неправильные заказы на покупку».
Этап 3. Выявление заинтересованных лиц и пользователей.
В этом процессе могут помочь ответы на следующие вопросы:
• Кто является пользователем системы?
• Кто является заказчиком (экономическим покупателем) системы?
• На кого еще окажут влияние результаты работы системы?
• Кто будет оценивать и принимать систему, когда она будет представлена и развернута?
• Существуют ли другие внешние или внутренние пользователи системы, чьи потребности следует учесть?
• Кто будет заниматься сопровождением новой системы?
• Не забыли ли мы кого-нибудь?
Этап 4. Определение границ системы.
Мир делится на две части (рис. 2.2):
• создаваемая система;
• то, что взаимодействует с системой, — фактор.
Очень важно правильно определить факторы. Для этого следует ответить на приводимые ниже вопросы.
• Кто будет управлять системой?
• Кто будет осуществлять сопровождение системы?
• Откуда система получает информацию?
• Какие внешние системы будут взаимодействовать с системой?
Этап 5. Выявление ограничений, налагаемых на решение.
Ограничения уменьшают степень свободы, которой располагают разработчики при реализации решения. Каждое ограничение может существенно сузить возможность создания предполагаемого решения. Следовательно, в процессе планирования необходимо тщательно изучить все ограничения