Лекция 3.2 - ФС. Пример - управление несоответствиями

advertisement
СОВРЕМЕННЫЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ ПО
Лекция 3.2:
Функциональные
спецификации:
примеры
Постановка задачи
• На предприятии есть система
менеджмента качества
• ISO 9001:2008, качество продукции:
•
•
•
•
планирование качества;
управление качеством;
обеспечение качества;
улучшение качества.
2
Постановка задачи
• Процесс улучшения качества:
• аудит;
• анализ данных;
• анализ со стороны руководства,
ведущий к
- предупреждающим действиям
(предотвращение событий)
- корректирующим действиям
(предотвращение рецидивов)
3
Постановка задачи
Обнаружение несоответствий:
• Соответствие (conformity) = выполнение
требования
• Несоответствие (nonconformity) =
невыполнение требования
• Дефект (defect) = несоответствие,
связанное с использованием продукции
4
Задача
Нужна система управления несоответствиями:
• Операторы регистрируют несоответствия
• Начальник утверждает ответственных за
анализ
• Ответственные анализируют
несоответствия, предлагают
корректирующие действия
• Начальник проверяет и утверждает план
действий
5
Варианты использования
Подход №1
Управление несоответствиями
SetOwner
Report error
«include»
Plain user
«include»
«include»
AssignError
«include»
SendEMail
«include»
«include»
Process owner
RejectFix
«include»
AcceptFix
Report error fix
RejectError
Responsible
SetupTables
SetupUser
Administrator
6
Варианты использования
Подход №1
Управление несоответствиями
BrowseErrorReports
Фрагмент UseCase-диаграммы.
Общие для всех пользователей действия.
GenerateReport
User
Plain user
Responsible
Process owner
7
Варианты использования
Подход №2
Управление несоответствиями
Operator
Executive
Register
Disparity
See RF4.1.9
Pt.#1
Browse
Disparity
See RF4.1.9
Pt.#3
View
Report
See RF4.1.9
Pt.#4
Register
Corrective
Action
See RF4.1.9
Pt.#1
See RF4.1.9
Pt.#5
Investigate
Corrective
Action
Manager
«include»
«include»
Reject
Corrective
Action
Approve
Corrective
Action
Reassign
Manager
See RF4.1.9
Pt.#2
Reject
Disparity
See RF4.1.9
Pt.#3
Specify
See RF4.1.9
Disparity«include» Pt.#1, Pt.#4
Assign
Executive
8
Истории пользователя
Псевдокод
Псевдокод варианта использования
«Обнаружение несоответствия»
BEGIN
ShowForm;
While (button not pressed)
ProcessOtherFormEvents;
end While
If (button = "Send")
If (Database.CreateRecord)
Database.SendData;
MailDaemon.SendNotification;
Else
ShowError;
end If
Else If (button = "Close")
// close later
Else
// something strange has happened
ShowError;
end If
Псевдокод варианта использования
«Выполнение корректирующего действия»
ShowForm
StartToEditDisparity
GetCorrectiveActionsDescription
If (UserChoice == ClickOK) then
SaveChanges
Disparity.SetState(stateActionsPerformed)
Disparity.GetManager().SendNotification
Else
Cancel Changes
End If
CloseForm
CloseForm;
END
9
Истории пользователя
Текст №1: всё просто
Вариант «Смена владельца процесса»
Основной сценарий:
1. Менеджер просматривает несоответствие
2. Менеджер выбирает нового владельца процесса
3. Менеджер сохраняет изменения несоответствия
4. Менеджер завершает просмотр несоответствия
Альтернативный сценарий:
1. Менеджер просматривает несоответствие
2. Если менеджер не знает, на кого переназначить
несоответствие, то он не изменяет владельца
3. Менеджер завершает просмотр несоответствия
10
Истории пользователя
Текст №2: Рассказ (в 2х частях)
Анализ несоответствия
• Однажды в студёную зимнюю пору, менеджеру Иванову
пришло сообщение по электронной почте. В нем
указывалось, что заказчик Сидоров обнаружил
критическое несоответствие своих ожиданий
отпечатанным недавно сигаретным упаковкам. Подумав
немного и выпив кофе для успокоения, Иванов приступил
к анализу несоответствия.
• Для этого он открыл приложение "Управление
несоответствиями", нашёл там данное несоответствие и
приступил к заполнению его полей.
• В первую очередь он предположил, что причиной всему
являются кривые руки печатников, что и указал в поле
"Причина возникновения ошибки". В качестве
корректирующих действий (в строке 1) он указал
"выпрямление рук", ответственным назначил штатного
фельдшера Петрову, а срок выполнения - "ещё вчера".
11
Истории пользователя
Текст №2: Рассказ (окончание)
• Подумав ещё немного, Иванов решил, что неплохо было
бы также исправить настройки печатной машины, что
послужили причиной появления несоответствия. Для этого
он выбрал из выпадающего списка в строке 2 печатника
Быстрова. В качестве причины он написал "ИСПРАВИТЬ
НЕМЕДЛЕННО, Я СКАЗАЛ!!!!". А дату в спешке
установить он забыл.
• Неожиданно Иванову позвонили по телефону и вызвали к
шефу. Возвращаясь с достаточно неприятного для него
совещания, Иванов вспомнил, что давно не обедал.
Вернувшись в 16 на рабочее место он увидел, что его всё
ещё ожидает оставленная утром форма. Недолго думая,
он нажал кнопку "Регистрация" и пошёл домой.
12
Диаграмма деятельности
Подход №1
Блок-схема для варианта использования
«Просмотр списка несоответствий»
ShowForm
WaitForUserEvent
[else]
[close button pressed]
[button is pressed]
ProcessFormButton
13
Диаграмма деятельности
Подход №1: детали
Диаграмма деятельности для процедуры
«ProcessFromButton
[clear button pressed]
[export button pressed]
[show record button pressed]
[query button pressed]
[list not empty]
ClearForm
ClearRecordsList
ExportReport
[record selected]
SetFilter
ShowRecordForm
[else]
[else]
QueryRecords
FillRecordsList
14
Диаграмма деятельности
Подход №2
Загрузить все данные
для несоответствия из БД,
включая корректирующие действия
Открыть форму
Отобразить несоответствие
Проверить права доступа
[else]
[роль=менеджер]
Менеджер принимает
или отклоняет
выполненные действия
исполнителя
Разрешить редактирование
[менеджер принял действие]
Перевести несоответствие
в состояние "Закрыто"
Открыть в режиме просмотра
[else]
Отправить уведомление
об отклонении действий
исполнителю
Отправить уведомление пользователю
об устранении несоответствия
Закрыть форму
15
Диаграммы состояний
Подход №1
SetOwner
Active
after: 1 day
ReportError
Active
H
[date >= error.timeoutDate] / SendEMail
[else]
RejectError
Submitted
AssignError
Rejected
Closed
AssignError
Assigned
RejectFix
ReportErrorFix
Fixed
AcceptFix
16
Диаграммы состояний
Подход №2
Обнаружено несоответствие / Создать несоответствие
Изменение владельца / Назначить нового
Несоответствие
Спецификация / Сообщить исполнителям,Описать ошибку
Applied
Disparity
New
Disparity
[отклонено или не окончено]
Открыть заново
Отправить уведомление
Произведена коррекция
[Пользователь не принял]
[принято владельцем]
Закрытие несоответствия [Несоответствие отклонено]
Closed
Disparity
17
Диаграммы классов
Reporter
+Generate()
1
1
Browser
1
+Browse()
+Open()
+SetFilter()
+ShowFilteredData()
+SelectDisparity()
1
Disparity
User
+Notify()
1
*
+Register()
+SetAction()
+Analize()
+Create()
+SetType()
18
Диаграммы классов
MailDaemon
+SendNotification(in user : User, in text)
Notification interface
Owner interface
RecordForm
Responsible interface
Common user interface
BrowseForm
Browsing interface
User
-name
Responsible
Owner
*
*
-Owns
-Owned by
Error
-Responsible for
0..4
19
1
+SetResponsible()
+SetOwner()
Диаграммы взаимодействия
Сценарий: регистрация несоответствия
2: Type
1: GetType()
3: SetType()
4: Register()
5: Notify()
Пользователь
Несоответствие
Менеджер
Тип Несоответствия
20
Диаграммы взаимодействия
Сценарий: назначение исполнителя
Error
Mail Daemon
6: EMail
tio
n
en
dN
oti
fic
a
:S
5.2
5.1: SetResponsible()
s
le
ib
ns le
po sib
es n
R po
st s ve
Li e a
et tR S
G Se 5 :
3: 4:
1: OpenRecord
Process Owner
2: OpenRecordForm
BrowseForm
RecordForm
Responsible
21
Диаграммы
последовательности действий
Диаграмма последовательности для варианта использования
"Переназначение владельца процесса"
BrowseForm
OldOwner
OpenRecord OpenRecordForm
RecordForm
GetListOwners
Error
MailDaemon
NewOwner
owners list
SetOnwer
Save
SetOwner()
SendNotification
EMail
CloseForm
22
Диаграммы
последовательности действий
Диаграмма последовательности для варианта использования
"Просмотр несоответствия"
Operator
Open()
Browser
SetFilter()
ShowFilteredData()
SelectDisparity()
Open Form
DisparityForm
Show Disparity
Close Disparity Form
23
Диаграммы размещения
Вариант №1
Server
Workstation
Microsoft Exchange
DataBase
Microsoft Outlook
OutlookAddIn
24
Диаграммы размещения
Вариант №2
Database Server
Workstation
+server
+client
Disparity Control
Disparity Database
1
*
1
Intranet
1
Exchange Server
Exchange
25
Ссылки
• ГОСТ-Р-ИСО-9000-2008 «Системы
менеджмента качества. Основные
положения и словарь»
• http://www.sapanet.ru/Kafedra/Podrazd/UMU/
umo/GOST_P_ISO_9000_2008.pdf
• ГОСТ-Р-ИСО-9001-2008 «Системы
менеджмента качества»
• http://smk.nspu.ru/file.php/1/GOST_R_ISO/_9
001-2008.pdf
26
Download