Методы и средства инженерии программного обеспечения

       

Software engineering) в  систематизированном виде


Цель данного учебника ­ – представить методы и средства программной инженерии ( Software engineering) в  систематизированном виде для  их  применения  на процессах  проектирования, тестирования и оценки  качества программных систем.
Современные университетские курсы  по информатике предусматривают обучение основам программирования, объектно-ориентированному подходу, UML–моделированию, параллельному программирования и др. Больше уделяется внимание   современным  языкам программирования (С++, JAVA)  для современных компьютеров. В результате студенты получают подготовку по этим методам и средствам  и недостаточные знания по инженерии проектирования и управления проектами,  качеству, конфигурации и  соответствующим стандартам.
В некоторых университетах проводятся лекционные курсы по теория алгоритмов, автоматов, математической логике, дискретной математике и другим формальным дисциплинам. Эти курсы основываются на  математических  дисциплинах (логика, алгебра,  комбинаторика) и способствуют развитию  математического мышления при проведении анализе предметной области, осмыслении постановок задач и разработке программ  для получения на компьютере  математического результата.
Производство и использование компьютерных программ в настоящее время является  массовой деятельностью,  разработкой программ занимаются почти семь миллионов человек, а их  используют в своей профессиональной деятельности по специальности  десятки миллионов. В связи с постоянно возрастающими объемами программных разработок требуется готовить кадровый потенциал, способный  решать проблемы создания новых программных продуктов на инженерной основе, используя накопленный запас знаний  в области программирования и управления системами.
Сложившуюся структуру и содержание подготовки специалистов надо расширить методами управления, планирования и регулирования работ, адаптируя их к условиям коллективной  разработки программных систем с гарантированным качеством. Предпосылками этого является становление новой специальности, получившей название программной инженерии или инженерии программного обеспечения (Software Engineering), впитавшей в себя накопленный запас знаний в практике и теории  программирования за последние десятилетия, а также обогатившейся инженерной дисциплиной выполнения процессов ЖЦ программного обеспечения.


В связи с этим предметом обучения современных студентов, будущих разработчиков программного обеспечения, менеджеров программных проектов, тестировщиков, верификаторов, контролеров качества и др. должны стать не только теоретические и прикладные методы проектирования, а и инженерные методы управления коллективом, планирования и оценивания качества выполняемых работ и укладывания в заданные сроки и  стоимость проекта.
Данный учебник посвящен систематическому описанию накопленных знаний в области  программирования, отражает  аспекты теории и практики программирования. Для применения в лекционных курсах окажется полезным представленное в учебнике  изложение современных  методов программирования и обеспечения  правильности программ, а также инженерии программирования (планирование,  управление и оценка продуктов и процессов), сформировавшейся под влиянием развития  программной инженерии – SE (Software Engineering) и стандартизации процессов программирования. В нем также представлены современные средства и инструменты поддержки процессов создания проектов (Project Management, Rational Rose, MSF,  RUP, CORBA, DCOM и др.).
Авторы надеются, что учебник  поднимет уровень знаний разработчиков ПО, поможет  им  овладеть не только представленными знаниями в области теории и практики  программирования, но инженерным программированием, включая методы планирования, управления и оценивания результатов своей деятельности.
Материал учебника апробирован при чтении лекций в Киевском национальном университете имени Тараса Шевченко (1985-1997 гг.) и в МФТИ  (2000-2006 гг.), а также на международных конференциях и семинарах.
                                                                                                                              Авторы
 
 
 
 
 
 
 
 
 
 
 
 
 

Содержание раздела