Курс по технологиям программирования
Основы программной инженерии
Технологические аспекты промышленного производства программных систем .
Основная страничка курса.
Лектор: к.ф.-м.н. В. В. Кулямин
Весной 2017 года проводится по понедельникам (нечетная неделя, 10:30-12:05, П13) и вторникам (8:45-10:20, П13).
Пере- и досдача 1-й части тестов состоится 28.03.2017(8:45-10:20, П13).
Выложены результаты тестов 21/28.03, 18/24/25.04, 02/16/23/25/30.05.2017. |
Курс предназначен для студентов 3 курса.
Курс знакомит слушателей с технологическими проблемами разработки крупномасштабных программных систем, отличающими ее от разработки небольших программ, и методами решения этих проблем.
Примерное содержание курса
Разработка сложного ПО: источники проблем и методы их решения. Основные приемы преодоления сложности.
Жизненный цикл ПО. Основные процессы и модели жизненного цикла.
Моделирование предметной области. Потребности и требования к ПО. Качество ПО. Методы его обеспечения и контроля.
Архитектура ПО. Элементы UML. Проектирование ПО и шаблоны проектирования. Архитектура распределенных приложений на примере современных Web-приложений.
Компонентная разработка ПО. Элементы языков программирования Java и C#. Разработка Web-приложений в технологиях J2EE и .NET.
Принципы разработки пользовательского интерфейса. Разработка пользовательского интерфейса с помощью JSP и ASP.NET.
Направления развития компонентных технологий.
Управление проектами по разработке ПО.
Варианты экзаменационных вопросов
В этом документе перечислены варианты вопросов, которые могут быть в экзаменационных билетах.
Результаты экзаменов
Дата |
Ссылка |
2017 год, тесты 21/28.03, 18/24/25.04, 02/16/23/25/30.05.2017 |
Результаты |
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.
Старая страничка спецкурса находится здесь.