- •1. Проблемы разработки по и пути их решения.
- •2. Характеристики качества по, важные для пользователя. Факторы, влияющие на качество по.
- •3. Временной и «пространственный» аспекты системного подхода к разработке по.
- •5. Конструирование по и внутренние критерии качества по, важные для разработчика.
- •6. Стандарты по разработке по. Два вида стандартов, их значения, требования стандартов.
- •7. Три группы процессов создания по.
- •8. Жизненный цикл по и процессы верификации.
- •9. Тестирование, верификация, валидация и V-образная модель жизненного цикла по.
- •11. «Тяжёлые и быстрые» технологии разработки по. Экстремальное (xp) программирование.
- •12. Три вида программных разработок с точки зрения конструирования, технологии создания и эксплуатации. Сравнение методов планирования, конструирования, отладки и т. П.
- •13. Виды документов, выпускаемых на по, по этапам разработки системы.
- •16. Case технологии разработки по. Проблемно ориентированные технологии разработки по. Пакеты scada.
- •18. Структура системы, иерархия управления и структура по.
- •19. Цикличность (периодичность) во времени решения задач управления и работы.
- •20. Временная диаграмма работы системы и по.
- •1. Кризис программного обеспечения (по). Проблемы и цели программной инженерии. Определение инженерии по.
- •2. Что такое по. Типы программных продуктов, их отличие друг от друга.
- •3. Характеристики качественного по.
- •5. Профессиональные и этические требования к специалистам по программному обеспечению.
- •2. Функциональная схема типового процессора.
- •4. Состав, устройство и принцип действия основной памяти.
- •5. Конструкция устройств ввода-вывода информации.
- •6. Принцип действия цифровых комбинационных устройств.
- •8. Многомашинные и многопроцессорные вс. Классификация Флинна.
- •10. Прямой, обратный и дополнительный коды двоичных чисел.
Конструирование ПО
1. Проблемы разработки по и пути их решения.
ПО нужно много. Появление новых эффективных ЯП полностью не решает проблему растущей потребности в ПО. Современный подход к данной проблеме – использование ранее разработанных программных компонент и их параллельная модернизация, по аналогии с электротехникой, где так же переиспользуют имеющиеся наборы БИС.
Проблема сложности ПО. Сложность ПО может возрастать из-за сложности структуры ПО, которая проявляется в ходе разработки, и из-за сложности поведения в ходе работы ПО. Сложность структуры и поведения коррелирует со сложностью программируемых систем.
Сложной системой будет считаться та, у которой все возможные связи между структурными элементами человек перебрать не в состоянии. Хотя даже это определение не даёт чёткую границу сложной и простой системы, ведь простая в структуре система может быть сложной и непредсказуемой в своём поведении.
Тем не мене справится со сложностью систем помогает декомпозиция. Рекомендуемое число взаимодействующих элементов системы <=7, тогда число связей в предельном случае «каждый с каждым» будет не более 15. Так как каждую связь нужно программно реализовать, поддерживать и отлаживать, это число будет являться предельным. С увеличением числа элементов число связей будет расти. Например, 14 элементов дадут 78 связей, который попросту нецелесообразно поддерживать в программе. В таком случае можно декомпозировать систему на две простых системы по 7 элементов и получить в крайнем случае 28 связей.
Это работает и в случае ПО. Главный способ борьбы с его сложностью – разбиение на доступные для понимания части. Это разбиение вытекает из методов структурного и объектно-ориентированного проектирования. Разбиение упрощает и улучшает все процессы разработки ПО.
В последнее время сложность ПО также может быть связана с его территориальным распределением по различным хостам. В этом случае необходимо использовать средства реализации прозрачности распределения. Они дадут возможность рассматривать и разрабатывать ПО как единое целое.
Проблема борьбы с ошибками. Грубые ошибки, которые не позволяют программе работать, обнаруживаются и устраняются сразу и речь идёт не о них. Опасность представляют скрытые ошибки, которые проявляются при определённых наборах исходных данных. В их устранении помогают средства тестирования и отладки кода. Причём тестирование может быть автоматическое, что даст разрабатываемому ПО свойство устойчивости к ошибкам.
Уменьшению первичных ошибок в ПО также способствует уменьшение семантического разрыва между задачами системы и их представлением в коде программы. Этого можно добиться, используя объектно-ориентированный подход в разработке.
Проблема изменяемости ПО. В большинстве случаев ПО разрабатывается в обстоятельствах, когда требования к нему недостаточно определены. Они уточняются по мере продвижения разработки системы и ПО для неё. Для сохранения возможности внесения безболезненных изменений в программу требуется структурировать ПО так, чтобы изменения были изолированы в отдельных частях ПО и не затрагивали другие части при их внесении.