Раздел 1Введение
Введение в программную инженерию, включающее в себя обзор методов разработки ПО и различные подходы к жизненному циклу.
Лекции
1. Введение в программную инженерию
Первая лекция по программной инженерии посвящена ее назначению и месту в науке. Детальнее→
2. Дисциплины программной инженерии
Во второй лекции по программной инженерии делается попытка выделить ее основные аспекты в виде пяти дисциплин: научной, инженерной, производственной, управленческой и экономической. Детальнее→
3. Основные области знаний SWEBOK
В третьей лекции по программной инженерии речь идет о пяти основных областях знаний из стандарта SWEBOK. Эти области соответствуют пяти процессам разработки программного обеспечения: инженерия (выработка) требований; проектирование; конструирование (т.е. написание кода); тестирование; сопровождение. Детальнее→
4. Организационные области знаний SWEBOK
Четвертая лекция по программной инженерии описывает вспомогательные области знаний SWEBOK. Их, как и основных областей, пять: управление конфигурацией ПО; управление инженерией; процесс инженерии; инструменты и методы программной инженерии; инженерия качества. Детальнее→
5. Жизненный цикл ПО
В этой лекции рассматривается жизненный цикл программ — от первоначальной задумки до выпуска конечного продукта. Как оказывается, разрабатывать ПО можно существенно различными способами в зависимости от характеристик продукта (скажем, его объема) и от расстановки приоритетов заказчиком (нужны ли частые выпуски? требуется ли высокая надежность?). Детальнее→
Темы для самостоятельной работы
- История разработки ПО в СССР и на Западе.
- Исторический обзор моделей жизненного цикла ПО.
- Парадигма Rapid Application Development.
- Сравнение моделей разработки, соответствующих гибкой методологии.
Контрольные вопросы
- Место и задачи программной инженерии.
- Место ПИ среди компьютерных наук.
- История развития программной инженерии в СССР и на Западе. Эволюция подхода к разработке компьютерных программ.
- Дисциплины программной инженерии.
- ПИ как наука. Связь программной инженерии с дисциплинами дискретной математики.
- Роль стандартов и повторного использования в разработке программного обеспечения.
- Сущность дисциплины управления ПИ.
- Стандарт жизненного цикла ISO 12207.
- Категории процессов жизненного цикла.
- Определение и цели моделей жизненного цикла ПО.
- Каскадная модель жизненного цикла, ее преимущества и недостатки и области применения.
- Эволюционная модель жизненного цикла, ее преимущества и недостатки и области применения.
- Инкрементная модель жизненного цикла, ее преимущества и недостатки и области применения.
- Основные положения гибкого подхода к разработке ПО.
- Методы гибкой методологии разработки: непрерывная интеграция, парное программирование, разработка через тестирование.
- Виды гибкой методологии.
- Экстремальное программирование.
Литература
- Лаврищева Е.М. Методы программирования. Теория, инженерия, практика. — К.: Наукова думка. — 2006. — 451 с.
- Лаврищева Е.М., Петрухин В.А. Методы и средства программного обеспечения. — М:. Мин. образования РФ. — 2007. — 415 с.
- Лаврищева Е.М. Программная инженерия. Учебник. — К.: Академпериодика. —
- — 319 с.
- Sommerville I. Software engineering, 9th ed. — Boston, Massachusetts: Addison-Wesley. — 2011. — 790 p.
- A Guide to the Project Management Body of Knowledge (PMBOK Guide), 5th ed. – Project Management Institute. — 2013. — 589 p.
- Guide to the Software Engineering Body of Knowledge, Version 3.0. / ed. by P. Bourque and R.E. Fairley. — IEEE Computer Society. — 2014.
- McConnell S. Rapid Development: Taming Wild Software Schedules. — Microsoft Press Books. — 1996. — 647 p.
- Kerr J.M., Hunter R. Inside RAD: How to Build a Fully Functional System in 90 Days or Less. — McGraw-Hill. — 1994. — 213 p.
- Shore J., Warden S. The art of agile development. — Sebastopol, California: O’Reilly Media. — 2008. — 409 p.
- Beck K., Andres C. Extreme programming explained. — Boston, Massachusetts: Addison-Wesley. — 2004. — 180 p.
- Martin R.C. Agile Software Development: Principles, Patterns, and Practices. — Pearson Education. — 2003. — 529 p.
- Software Engineering Body of Knowledge, Version 3.0.
- Selecting a development approach.