Аннотация издательства: Подробно рассмотрены основные методы и нотации, применяемые при разработке сложного программного обеспечения. При этом особое внимание уделено проектированию программных систем с использованием структурного, объектного и компонентного подходов. Детально разобраны основные приемы обеспечения требуемых технологических свойств. Приведена классификация и проанализированы принципы проектирования пользовательских интерфейсов программного обеспечения. Изложение материала иллюстрируется большим количеством примеров и поясняющих рисунков. Содержание учебника соответствует курсу лекций, который автор читает в МГТУ им. Н.Э.Баумана. Для студентов вузов, обучающихся по специальностям, связанным с информатикой. Может быть полезен всем изучающим программирование самостоятельно.