Подробно рассмотрены основные методы и нотации, применяемые при разработке сложного программного обеспечения. Особое внимание уделено проектированию программных систем с использованием структурного и объектного подходов. Приведена классификация и проанализированы принципы проектирования пользовательских интерфейсов программного обеспечения. Для студентов вузов, которые обучаются по снаправлениям, предполагающим изучение технологии программирования. Полезен при оформлении документации к курсовым и дипломным работам и проектам, связанным с разработкой программного обеспечения. Может быть интересен всем изучающим программирование самостоятельно.