Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| pps [2018/08/31 15:10] – user | pps [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Курс Проектирование программных систем (осень 2019) ====== | ||
| + | Консультация перед экзаменом - **ТОДО** | ||
| + | |||
| + | Перейти в раздел **[[mdd: | ||
| + | |||
| + | Курс читается студентам 4 курса Факультета инноваций и высоких технологий (ФИВТ) школы ФПМИ Московского Физико-Технического Института (МФТИ). Осенний семестр 2019-2020 | ||
| + | |||
| + | Форум по курсу (Q&A): | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== Описание курса ===== | ||
| + | |||
| + | {{pps-program-2017.pdf|Программа курса}} | ||
| + | |||
| + | Целью данного курса является ознакомление студентов с основами проектирования и формирование представления о существующих методологиях проектирования программного обеспечения. | ||
| + | |||
| + | В процессе обучения, | ||
| + | |||
| + | Темы и подробный план лекций выкладывается [[lectures2016|здесь]] | ||
| + | |||
| + | ===== Семестровая контрольная работа ===== | ||
| + | |||
| + | Проводится на семинаре **13.12.2019** и включает три части: | ||
| + | |||
| + | - Тест на UML, вопросы похожи на те, что в экзамене OCUP-Fundamental. (см. google.com/ | ||
| + | - Задачи на проектирование с применением UML. | ||
| + | - Вопросы по методам проектирования. | ||
| + | |||
| + | Список тем 2019 года {{exam_topics-2019.doc|здесь}} | ||
| + | |||
| + | ===== Учебный проект ===== | ||
| + | |||
| + | **[[courseproject|Описание учебных проектов и требований к ним.]]** | ||
| + | |||
| + | Адрес для отправки решений заданий: | ||
| + | |||
| + | ==== Примеры и методички ==== | ||
| + | |||
| + | * Пример модели (задание 1 + задание 2), демонстрирующий основные диаграммы и связи между элементами модели {{pps.spring2011-theater.zip|Театральная касса (пример)}}. | ||
| + | * Пример отчета по первому заданию с подробными пояснениями по структуре и разделам {{pps-report-analysis-20121002.doc|Театральная касса (пример отчета)}} | ||
| + | * Методичка по выполнению проектов с пояснениями и примерами {{uml-studreport.pdf|здесь}} | ||
| + | * Критерии оценки заданий по проектам с пояснениями и рекомендациями {{uml-verification-proc.pdf|здесь}} | ||
| + | * Методичка по SOLID {{ood-khritankov_-_20161207-fix.pdf|здесь}} | ||
| + | * {{bigpicture.png|The Big Picture}} | ||
| + | |||
| + | ==== Перечень задач (предварительный) ==== | ||
| + | |||
| + | ^ # ^ Название ^ Описание ^ | ||
| + | | 1. | [[design: | ||
| + | | 2. | [[design: | ||
| + | | 3. | [[design: | ||
| + | | 4. | [[design: | ||
| + | | 5. | [[design: | ||
| + | | 6. | [[design: | ||
| + | | 7. | [[design: | ||
| + | | 8. | [[design: | ||
| + | |||
| + | **Использование проектов инновационного практикума** | ||
| + | |||
| + | По согласованию с семинаристом и ментором проекта инновационного практикума. Перечень принятых задач будет размещен на сайте ниже. | ||
| + | |||
| + | См. также [[design: | ||
| + | |||
| + | ===== Формирование оценки по курсу ===== | ||
| + | |||
| + | ==== Проектный трек ==== | ||
| + | |||
| + | **Итоговый балл** формируется следующим образом: | ||
| + | |||
| + | ИБ = 0,5 * ПР + 0,75 * КЗ, | ||
| + | |||
| + | где ПР – оценка по десятибалльной шкале за активность на семинарах, | ||
| + | |||
| + | ==== Практический трек ==== | ||
| + | |||
| + | **Итоговый балл** рассчитывается по формуле | ||
| + | |||
| + | ИБ = 0,5 * ПР + 0,75 * КР, | ||
| + | |||
| + | где ПР – оценка по десятибалльной шкале за активность на семинарах, | ||
| + | |||
| + | **Соответствие баллов итоговой оценке по курсу** | ||
| + | |||
| + | ^ Итоговый балл ^ Оценка за экзамен ^ Рекомендуемая оценка ^ | ||
| + | | От 0 до 4.0 | Менее 5 | от 0 до 3 | | ||
| + | | | от 5 до 8 | от 2 до 5 | | ||
| + | | | от 8 до 10 | от 4 до 6 | | ||
| + | | От 4.1 до 6.0 | Менее 5 | от 1 до 5 | | ||
| + | | | от 5 до 7 | от 3 до 7 | | ||
| + | | | от 7 до 10 | от 5 до 8 | | ||
| + | | От 6.1 до 8.0 | Без сдачи | от 3 до 4 | | ||
| + | | | Менее 4 | от 2 до 6 | | ||
| + | | | от 4 до 6 | от 5 до 7 | | ||
| + | | | от 6 до 10 | от 6 до 9 | | ||
| + | | Свыше 8.1 | Без сдачи | от 5 до 8 | | ||
| + | | | Менее 4 | от 4 до 7 | | ||
| + | | | от 4 до 7 | от 6 до 10 | | ||
| + | | | от 7 до 10 | от 9 до 10 | | ||
| + | |||
| + | Получение итоговой оценки по курсу на экзамене без ответа на билет возможно в случае, | ||
| + | |||
| + | Решение о выставлении оценки без ответа принимает преподаватель по обращению студента непосредственно на экзамене до получения билета. | ||
| + | |||
| + | ==== Теоретический трек ==== | ||
| + | |||
| + | Количество мест на треке ограничено - 20 человек. Преимущество тем, кто записался раньше (по дням) и тем, у кого разработка ПО не является профильным предметом. | ||
| + | |||
| + | **Условия**. Посещение всех кроме одной лекций и обязательная сдача экзамена. Допуск к экзамену по результатам ответа на несколько коротких вопросов по курсу. | ||
| + | |||
| + | Посещать семинары, | ||
| + | |||
| + | ^ Экзамен ^ Итоговая ^ | ||
| + | | От 0 до 4 | удовл (3-4) | | ||
| + | | От 4 до 8 | хор (5-7) | | ||
| + | | От 8 до 10 | отл (8+) | | ||
| + | |||
| + | ===== Инструменты моделирования ===== | ||
| + | |||
| + | Для подготовки заданий допускается использовать | ||
| + | |||
| + | * Modelio, взять можно на сайте [[http:// | ||
| + | * ТОДО по решению семинариста | ||
| + | |||
| + | ===== Литература ===== | ||
| + | |||
| + | Основная литература: | ||
| + | |||
| + | - М. Фаулер. UML. Основы. Третье издание. (любой издатель) | ||
| + | - Ф. А. Новиков, | ||
| + | - Роберт С. Мартин. Гибкая разработка программ на Java и C++: принципы, | ||
| + | - Грейди Буч, Джеймс Рамбо, Айвар Джекобсон. Язык UML. Руководство пользователя 2-е Изд. | ||
| + | - Нотация UML 2 {{uml2-notation.zip|uml2-notation.zip}} | ||
| + | - Гамма Э., Хелм Р., Джонсон Р. Приемы объектно-ориентированного проектирования. Паттерны проектирования, | ||
| + | - R. Pressman. Software Engineering: | ||
| + | - С. А. Орлов. Технологии разработки программного обеспечения. Разработка сложных программных систем. Для студентов и преподавателей высших учебных заведений. – Питер, 2004. – 527 с. | ||
| + | - Л. Басс, П. Клементс, | ||
| + | - C. Амблер, | ||
| + | - Linda M. Laird and M. Carol Brennan. Software Measurement and Estimation: A Practical Approach | ||
| + | |||
| + | Дополнительная литература: | ||
| + | |||
| + | - Б. Мейер, Объектно-ориентированное конструирование программных систем. - Русская Редакция, | ||
| + | - B. Liskov, J. Guttag. Program Development in Java: Abstraction, | ||
| + | - Microsoft. Руководство Майкрософт по проектированию архитектуры приложений, | ||
| + | |||
| + | Интернет-источники: | ||
| + | |||
| + | - Введение в гибкое моделирование (www.agilemodeling.com) | ||
| + | - INTUIT.RU: Интернет-Университет Информационных Технологий: | ||
| + | - InformIT. Статьи по ИТ и разработке | ||
| + | - Спецификация UML 2.5 на сайте OMG. ([[http:// | ||
| + | |||
| + | Статьи методам проектирования: | ||
| + | |||
| + | - (discussion) P. Ralph, R. Mohanani. Is Requirements Engineering Inherently Counterproductive? | ||
| + | - N. Wirth. Program Development by Stepwise Refinement. ([[http:// | ||
| + | - D. Parnas. On the Criteria to be used in Decomposing System into Modules ([[http:// | ||
| + | - D. Garlan, M. Shaw. An Introduction to Software Architecture ([[http:// | ||
| + | - Kent Beck, Ward Cunningham. A Laboratory For Teaching Object-Oriented Thinking / OOPSLA89 ([[http:// | ||
| + | - Doug Rosenberg, Kendall Scott, The ICONIX Process, ([[http:// | ||
| + | - B. Liskov. Programming with abstract data types | ||
| + | - *Friedrich Steimann, Philip Mayer. Patterns of Interface-Based Programming | ||
| + | - *Rebecca Wirfs-Brock, | ||
| + | - *Robert C. Sharblet, Samuel S. Cohen. The object-oriented brewery. A comparison of two object-oriented development methods | ||
| + | - *P. Krutchen. Architectural Blueprints—The “4+1” View Model of Software Architecture, | ||
| + | - IEEE Recommended practice for architectural description of software intensive systems, ([[http:// | ||
| + | - M. Fowler. Who need an Achitect?, [[http:// | ||
| + | - *D. Greer, Interactive Application Architecture, | ||
| + | - *Frank DeRemer, Hans Kron. PROGRAMMING-IN-THE LARGE VERSUS PROGRAMMING-IN-THE-SMALL | ||
| + | - *The Agile Method and Other Fairy Tales (google it) | ||
| + | - *A RATIONAL DESIGN PROCESS: HOW AND WHY TO FAKE IT (google it) | ||
| + | - *Edward V. Berard. Be Careful With “Use Cases” | ||
| + | - *(beware!)Chidamber Kemerer Metrics Suite. A Measurement Theory Perspective | ||
| + | - *McCabe. A complexity measure | ||
| + | |||
| + | Паттерны | ||
| + | |||
| + | - Antipatterns Wiki, [[http:// | ||
| + | - Паттерны обработки ошибок, | ||
| + | - GoF. Design Patterns: elements of reusable object-oriented software | ||
| + | - Статья на c2.com про DoubleDispatch и DoubleDispatchExample, | ||
| + | - Jenifer Tidwell, Designing Interfaces | ||
| + | - Scott Ambler, Process Patterns | ||
| + | - Martin Fowler, Analysis Patterns | ||
| + | - Martin Fowler, Patterns of Enterprise Application Architecture | ||
| + | - G. Hohpe, Enterprise Integration Patterns | ||
| + | - D. Greer, Interactive Application Architecture, | ||
| + | - Pattern-Oriented Software Architecture (несколько томов), | ||
| + | - C++ Idioms, [[http:// | ||
| + | - Linda Rising - Patterns Almanac 2000, [[http:// | ||
| + | |||
| + | ===== Преподаватели ===== | ||
| + | |||
| + | Контактный адрес: course [at] objectoriented.ru | ||
| + | |||
| + | **Хританков Антон Сергеевич**, | ||
| + | |||
| + | **Андрианов Андрей Иванович**, | ||
| + | |||
| + | **Межуев Игорь Юрьевич**, | ||
| + | |||
| + | В прошлом семинары по курсу вели | ||
| + | |||
| + | **Ахтямов Павел Ибрагимович** | ||
| + | |||
| + | **Старичков Никита Юрьевич** | ||
| + | |||
| + | **Штукатуров Алексей Николаевич** | ||
| + | |||
| + | **Сергей Зыков Викторович** | ||
| + | |||
| + | **Шестаков Роман** | ||
| + | |||
| + | **Ивахненко Андрей Александрович** | ||