Основы программной инженерии
Технологические аспекты промышленного производства программных систем . 
Копия странички курса (иногда сайт ИСП РАН медленно загружается). 
Лектор: к.ф.-м.н. В. В. Кулямин 
  
    | Весной 2016 года проводится по понедельникам (нечетная неделя, 10:30-12:05, П13) и вторникам (8:45-10:20, П13).Пере- и досдача тестов (можно переписать любую часть) состоится 23.05.2016(10:30-12:05, П13), 24.05.2016 (8:45-10:20, П13).
 Выложены результаты тестов 29.03, 19/26.04, 10/16.05.2016. | 
Курс предназначен для студентов 3 курса. 
Курс знакомит слушателей с технологическими проблемами разработки крупномасштабных программных систем, отличающими ее от разработки небольших программ, и методами решения этих проблем. 
Примерное содержание курса 
Разработка сложного ПО: источники проблем и методы их решения. Основные приемы преодоления сложности. 
Жизненный цикл ПО. Основные процессы и модели жизненного цикла. 
Моделирование предметной области. Потребности и требования к ПО. Качество ПО. Методы его обеспечения и контроля. 
Архитектура ПО. Элементы UML. Проектирование ПО и шаблоны проектирования. Архитектура распределенных приложений на примере современных Web-приложений. 
Компонентная разработка ПО. Элементы языков программирования Java и C#. Разработка Web-приложений в технологиях J2EE и .NET. 
Принципы разработки пользовательского интерфейса. Разработка пользовательского интерфейса с помощью JSP и ASP.NET. 
Направления развития компонентных технологий. 
Управление проектами по разработке ПО. 
Варианты экзаменационных вопросов
В этом документе перечислены варианты вопросов, которые могут быть в экзаменационных билетах.
Результаты  экзаменов
  
    | Дата | Ссылка | 
  
    | 2016 год, тесты 29.03, 19/26.04, 10/16.05.2016 | Результаты | 
  
    | 2015 год, тесты 30.03/21/22/27/28.04/05.05.2015. | Результаты | 
  
    | 2014 год, тесты 31 марта/6 мая/20 мая/28 мая 2014 | Результаты | 
  
    | 2012 год, осенний семестр (11 декабря 2012) | Результаты | 
  
    | 2011 год, осенний семестр (8 декабря 2011) | Результаты | 
  
    | 2010 год, осенний семестр (6 декабря 2010) | Результаты | 
  
    | 2010 год, весенний семестр (28 апреля 2010) | Результаты | 
  
    | 2008 год, осенний семестр (15 декабря 2008) | Результаты | 
  
    | 2007 год, осенний семестр (17 декабря 2007) | Результаты | 
  
    | 2006 год, осенний семестр (14 декабря 2006) | Результаты | 
Лекции
Эти документы представляют базовый материал курса, который может как-то перераспределяться между реальными лекциями. 
Основная литература 
  -  И. Соммервилл. Инженерия программного обеспечения. М.: Вильямс, 2002. 
-  Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. СПб.: Питер, 2006. 
-  У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002. 
-  Г. Буч, Дж. Рамбо, А. Джекобсон. Язык UML. Руководство пользователя. М.: ДМК, 2000. 
-  Л. Константайн, Л. Локвуд. Разработка программного обеспечения. СПб.: Питер, 2004. 
-  Э. Дж. Брауде. Технология разработки программного обеспечения. СПб.: Питер, 2004. 
- Е. А. Жоголев. Лекции по технологии программирования: Учебное пособие. М., Издательский отдел факультета ВМиК МГУ, 2001. 
-  Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. М.: Вильямс, 2002. 
-  А. Якобсон, Г. Буч, Дж. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002. 
-  К. Бек. Экстремальное программирование. СПб.: Питер, 2002. 
-  В. В. Липаев. Методы обеспечения качества крупномасштабных программных средств. М., Синтег, 2003. 
-  Э. Хант, Д. Томас. Программист-прагматик. М.: Лори, 2004. 
-  Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер-ДМК, 2001. 
-  М. Фаулер и др. Архитектура корпоративных программных приложений. М.: Вильямс, 2004. 
- Р. Монсон-Хейфел. Enterprise JavaBeans. СПб ., Символ-Плюс, 2002. 
- Р. Андерсон и др. ASP.NET для профессионалов. Тома I, II. Лори, 2005. 
-  J. Gosling, B. Joy, G. Steele, and G. Bracha. Java Language Specification, 3-rd edition. Addison Wesley Professional, 2005. 
 http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf .
-  C# Language Specification. Standard ECMA-334. 4-th edition, June 2006. 
 http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf.
Дополнительная литература 
  - Software Engineering Body of Knowledge, 2005.
 http://www.swebok.org/ironman/pdf/SWEBOK_Guide_2004.pdf.
-  А. Коберн. Современные методы описания требований к системам. М.: Лори, 2002. 
-  Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного обеспечения. М.: Мир, 1991. 
- E. Yourdon. Modern Structured Analysis. Prentice Hall, 1988. 
-  T. DeMarco. Structured Analysis and System Specification. A Yourdon Book , Yourdon Inc., NY, 1979. 
- Дж. Рамбо, А. Якобсон, Г. Буч. UML: Специальный справочник. СПб.: Питер, 2002. 
- М. Фаулер, К. Скотт. UML в кратком изложении. М., Мир, 1999.
-  M. Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1997. 
-  F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern-Oriented Software Architecture. A System of Patterns. Wiley, 2002. 
-  D. Schmidt, M. Stal, H. Rohnert, F. Buschmann. Pattern-Oriented Software Architecture. Volume 2. Patterns for Concurrent and Networked Objects. Wiley, 2000. 
-  S. Ambler. Process Patterns: Building Large-Scale Systems using Object Technology. Cambridge University Press, Cambridge, MA, 1998. 
- C. Szyperski. Component Software Beyond Object-Oriented Programming. Boston, MA: Addison-Wesley and ACM Press, 1998. 
-  F. Bachmann, L. Bass, C. Buhman, S. Comella-Dorda, F. Long, J. Robert, R. Seacord, K. Wallnau. Volume II: Technical Concepts of Component-Based Software Engineering, 2nd Edition/ Technical Report CMU/SEI-2000-TR-008. 
 http://www.sei.cmu.edu/pub/documents/00.reports/pdf/00tr008.pdf.
-  Б. Майер. Объектно-ориентированное программирование. Концепции разработки. М.: Русская редакция, 2004. 
-  Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000. 
- Б. Лисков, Дж. Гатег. Использование абстракций и спецификаций при разработке программ. М.: Мир, 1989. 
- Э. Таненбаум, М. ван Стеен. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. 
-  Э. Таненбаум. Современные операционные системы. 2-е издание. СПб.: Питер, 2002. 
-  Э. Таненбаум. Компьютерные сети. 4-е издание. СПб.: Питер, 2003. 
-  Т. Кормен, Ч. Лейзерсон, Р. Ривест. Алгоритмы: построение и анализ. М.: МЦНМО, 1999. 
-  Э. М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. М.: МЦНМО, 2002. 
- G. Alonso, F. Casati, H. Kuno, V. Machiraju. Web Services. Concepts, Architectures and Applications. Springer-Verlag, 2004. 
 Сайт этой книги http://www.inf.ethz.ch/personal/alonso/WebServicesBook .
-  Э. Ньюкомер. Веб-сервисы. Для профессионалов. СПб.: Питер, 2003. 
- Документация по технологиям Java http://java.sun.com/docs/index.html  
-  Java Platform Enterprise Edition Specifications, version 1.4. 
 http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf .
-  Java Platform Enterprise Edition Specifications, version 5.
 http://java.sun.com/j2ee/5.0/index.jsp.
- П. Аллен, Дж. Бамбара, М. Ашнаульт, Зияд Дин, Т. Гарбен, Ш. Смит. J2EE. Разработка бизнес-приложений. СПб.: ДиаСофт, 2002. 
-  Р. Монсон-Хейфел. Enterprise JavaBeans. СПб.: Символ-Плюс, 2002. 
-  Б. У. Перри. Java сервлеты и JSP: сборник рецептов. М.: Кудиц-Образ, 2005. 
-  Х. Дейтел, П. Дейтел, С. Сантри. Технологии программирования на Java 2. Книга 3: Корпоративные системы, сервлеты, JSP, Web-сервисы. М.: Бином, 2003. 
-  C. Cavaness. Programming Jakarta Struts. O'Reilly, 2002. 
-  H. Bergsten. JavaServer Faces. O'Reilly, 2004. 
-  Web-сайт проекта Spring http://www.springframework.org/. 
-  Web-сайт проекта Hibernate http://www.hibernate.org/. 
-  C. Bauer, G. King. Hibernate in Action. Manning, 2004. 
-  B. A. Tate, J. Gehtland. Better, Faster, Lighter Java. O'Reilly, 2004. 
-  R. Johnson, J. Hoeller, A. Arendsen, T. Risberg, C. Sampaleanu. Professional Java Development with the Spring Framework. Wiley, 2005. 
-  D. Jordan, C. Russell. Java Data Objects. O'Reilly, 2003. 
-  D. Crane, E. Pascarello, D. James. Ajax in Action. Manning, 2005. 
-  Страница для разработчиков на .NET http://www.microsoft.com/net/developers.mspx . 
-  Документация по платформе .NET. 
 http://msdn.microsoft.com/library/default.asp.
- Д. Просиз. Программирование для Microsoft.NET. М.: Русская редакция, 2003. 
-  А. Феррара, М. Мак-Дональд. Программирование web-сервисов для .NET. СПб.: Питер-BHV, 2003.
-  XML 1.1, 2004. 
 http://www.w3.org/TR/xml11/ .
-  Annotated XML 1.0, 1998.
 http://www.xml.com/axml/axml.html .
-  Расширяемый язык разметки (XML) 1.0 (русский перевод первой версии стандарта).
 http://www.rol.ru/news/it/helpdesk/xml01.htm.
-  Hypertext Transfer Protocol - HTTP/1.1. RFC 2616. 
 http://www.w3.org/Protocols/rfc2616/rfc2616.html.
-  http://www.opennet.ru/docs/RUS/http/index.html. 
-  Capability Maturity Model Integration (CMMI), Version 1.1. CMMI for Systems Engineering, Software Engineering, Integrated Product and Process Development, and Supplier Sourcing (CMMI-SE/SW/IPPD/SS, V1.1). Staged Representation. SEI Technical Report CMU/SEI-2002-TR-012, Software Engineering Institute, Pittsburgh, March 2002. 
 http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr012.pdf.
-  ISO/IEC 12207:1995, Information Technology - Software life cycle processes, 1995. Amendments 2002, 2004.
-  ISO/IEC 15504-1-9, Information technology - Process assessment, Parts 1-9. 
 15504-1,3,4:2004, 15504-2:2003/Cor 1:2004, TR 15504-5:2004.
-  IEEE 830-1998. Recommended Practice for Software Requirements Specifications. New York: IEEE, 1998. 
-  IEEE 1233-1998. Guide for Developing System Requirements Specifications. New York: IEEE, 1998. 
-  ISO/IEC 9126-1:2001. Software engineering - Software product quality - Part 1: Quality model. 
-  IEEE 1471-2000 Recommended Practice for Architectural Description of Software-Intensive Systems.
- Управление проектами. Сборник статей под ред. Дж. Пинто. СПб.: Питер, 2004. 
-  Руководство к Своду знаний по управлению проектами (PMBOK Guide). ANSI/PMI 99-001-2004. 
-  Ф. Брукс. Мифический человеко-месяц или Как создаются программные системы. СПб.: Символ-Плюс, 2001.
-  Т. Демарко, Т. Листер. Человеческий фактор: успешные проекты и команды. СПб.: Символ-Плюс, 2005. 
-  К. Бланшар, П. Зигарми, Д. Зигарми. Одноминутный менеджер и ситуационное руководство. Минск: Попурри, 2002. 
-  В. В. Головач. Дизайн пользовательского интерфейса. 
 http://www.uibook1.ru .
-  J. Nielsen. Usability Engineering. Academic Press, Boston, 1993. 
-  Р. Дж. Торрес. Практическое руководство по проектированию и разработке пользовательского интерфейса. М.: Вильямс, 2002. 
-  А. Купер. Психбольница в руках пациентов. СПб.: Символ-Плюс, 2004. 
-  Я. Нильсен. Веб-дизайн: книга Якоба Нильсена. СПб.: Символ-Плюс, 2001. 
-  Я. Нильсен, М. Тахир. Дизайн Web-страниц. Анализ удобства и простоты использования 50 узлов. М.: Вильямс, 2002. 
Старая страничка спецкурса находится здесь.