- •Архитектуры и модели программ и знаний
- •Процесс разработки программного
- •Процесс разработки программного
- •F.P. Brooks: Основные организационные проблемы при разработке программного продукта
- •Software Process: Бригада
- •Software Process: Бригада
- •Организация компании- разработчика программ
- •Email как инструмент организации процесса разработки программ
- •Цикл улучшения процесса (И. Сомммервилл)
- •Качество процесса и продукта
- •Главные факторы качества процесса (И. Соммервилл)
- •Факторы качества
- •Классификация процесса
- •Применимость процесса (И. Соммервилл)
- •Инструментальная поддержка процесса
- •Goal-Question-Metric
- •Элементы модели процесса 1 (И. Соммервилл)
- •Элементы модели процесса 2 (И. Соммервилл)
- •Деятельность по тестированию модулей (И. Соммервилл)
- •Список деятельностей при тестировании модулей (И. Соммервилл)
- •Процесс изменения процесса
- •CMMI
- •Сapability maturity model
- •Проблемы CMM
- •Модель CMMI
- •Компоненты модели
- •Области процесса CMMI 1 (И. Соммервилл)
- •Области процесса CMMI 2 (И. Соммервилл)
- •Цели CMMI (И. Соммервилл)
- •Практика CMMI (И. Соммервилл)
- •Оценка фирмы по модели CMMI
- •Поэтапная модель CMMI (И. Соммервилл)
- •Практика применения в организациях
- •Вопросы и домашнее задание к лекции 12
Качество процесса и продукта
Тесно связаны
Для создания хорошего продукта необходима хорошая организация процесса
Процесс определяет качество производства продукта
Главные факторы качества процесса (И. Соммервилл)
|
Development |
|
|
technology |
|
Process |
Product |
People |
quality |
quality |
quality |
Cost, time and schedule
Факторы качества
Для больших проектов главным фактором является качество процесса
Для малых проектов главный фактор – индивидуальные качества и уровень разработчиков
Технология разработки особенно важна для малых проектов
Во всех случаях качество продукта страдает из-за нереального графика
Классификация процесса
Неформальный
Нет детальной модели, каждый работает по-своему
Управляемый
Принята единая модель процесса, соблюдаемая всеми разработчиками
Методический
Процесс поддержан каким-либо методом разработки (например, XP, Scrum)
Поддерживаемый
Процесс поддерживается CASE- инструментами
Применимость процесса (И. Соммервилл)
Informal |
process |
Managed |
process |
Methodical |
process |
Prototypes |
Short-lifetime systems |
4GL business systems |
Small/medium-sized |
systems |
Large systems |
Long-lifetime oductspr |
Well-understood application domains Re-engineered systems
Инструментальная поддержка процесса
(И. Соммервилл)
Informal |
process |
Managed |
process |
Methodical |
process |
Improving |
process |
Generic |
Configuration |
Project |
Analysis and |
Specialised |
|
management |
management |
design |
|||
tools |
tools |
||||
tools |
tools |
workbenches |
|||
|
|
Goal-Question-Metric
парадигма
Цели
Какие цели преследуются процессом?
Вопросы
- Об областях, не полностью известных (нечетких). Для их решения требуются
методы инженерии знаний
Метрики
Численные характеристики процесса, которые требуется собрать для ответов на вопросы
Элементы модели процесса 1 (И. Соммервилл)
Activity
(shown as a round-edged rectangle with no drop shadow)
Process
(shown as a round-edged rectangle with drop shadow)
Deliverable
(shown as a rectangle with drop shadow)
An activity has a clearly defined objective, entry and exit conditions. Examples of activities are preparing a set of test data to test a module, coding a fu nction or a module, proof-reading a document, etc. Generally, an activity is atomic i.e. it is the responsibility of one person or group. It is not decomposed into sub- activities.
A p rocess is a set of activities which have some coherence and whose objective is generally agreed within an organisation. Examples of processes are requirements analysis, architectural design, test planning, etc.
A deliverable is a tangible output of an activity that is predicted in a project plan.
Condition |
A condition is either a pre-condition that must hold before a process |
(shown as a parallelogram ) |
or activity can start or a post-condition that holds after a p rocess or |
|
activity has finished. |
Элементы модели процесса 2 (И. Соммервилл)
Role
(shown as a circle with drop shadow)
A role is a bounded area of responsibility. Examples of roles might be configuration manager, test engineer, software designer, etc. One person may have several diff erent roles and a s ingle role may be associated with several different people.
Exception
(not shown in examples here but may be represented as a double edged box)
An exception is a description of how to modify the process if some anticipated or unanticipated event occurs. Exceptions are often undefined and it is left to the ingenuity of the project managers and engineers to handle the exception.
Communication |
An interchange of information between people or between people |
||
(shown as an arrow) |
and |
supporting |
computer systems. Commu nications may be |
|
informal or formal. Formal communications might be the approval |
||
|
of a |
deliverable |
by a p roject manager; informal communications |
|
might be the interchange of electronic mail to resolve ambiguities in |
||
|
a document. |
|
|
Деятельность по тестированию модулей (И. Соммервилл)
|
Role |
|
|
|
|
Post-condition |
|
Pre-condition |
Test |
All defined tests |
|
Module compiles |
engineer |
run on module |
|
|
|
||
without syntax |
Responsible |
|
|
errors |
Outputs |
||
|
for |
||
|
Test |
Signed-oftest |
|
Input |
module |
record |
|
Process |
|
||
Module |
Module test |
||
|
|||
specification |
|
data |
