Курсовая работа (построение диаграмм UML)(критика)(Прочитано 46127 раз)
Сделал курсовую работу по теме "Модернизация задачи «Учет библиотечного фонда» ИС библиотеки предприятия ".
Необходима критика работы.



Сделал курсовую работу по теме "Модернизация задачи «Учет библиотечного фонда» ИС библиотеки предприятия ".
Необходима критика работы.
Как дисциплина называется?



ПОИС скорее всего программное обеспечение информационных систем



Одной из типичных ошибок является стремление отобразить на одной диаграмме все свои знания об исследуемой области. Диаграмма прецедентов на рис. 2.1 - наглядный пример.
С точки зрения эргономики, диаграмма нечитабельна.

Некоторые из прецедентов включения являются, скорее, элементарными действиями внутри включающего прецедента, и эти действия не являются существенными (достоиными выделения в самостоятельный модуль).
Критерий для выделения: основной (расширяемый) прецедент является работоспособным, полезным и может ограниченно использоваться без этой функциональности.

С другой стороны, некоторые прецеденты такие расплывшиеся, что они не будут выполняться целиком в одном сеансе взаимодействия субъекта (актера) с системой.

Совет (из RUPа):
- В модели прецедентов создайте пакеты UML для помещения прецедентов одной  функциональной области, и назовите их как прецеденты верхнего уровня. У Вас будет три таких пакета. В описании пакетов коротко опишите их назначение (фактически - повторение ваших длинных названий прецедентов). Перетащите в эти пакеты прецеденты, расширяющие соответствующие прецеденты верхнего уроня. Сами прецеденты верхнего уровня удалите из модели: это не use case!
- Удалите все прецеденты расширения, которые не являются таковыми. Сохраните только те, которые Вы действительно будете реализовывать как отдельные модули, т.е действительно будете расширять функциональности расширяемых прецедентов. Проверьте, xто в описании каждого прецедента кратко описана его функциональность. Например: "Формирование справочника "Тип литературы" должно включать следующие возможности: добавление нового типа, изменение типа, удаление типа)".
- В каждом пакете функциональной области нарисуйте свою маленькую диаграмму прецедентов "Прецеденты функциональной области..."
- Пересмотрите свое отношение к субъектам. Вместо одного появятся много, выполняющих прецеденты, соответствующие их ролям в библиотеке.

Диаграмма деятельности должна описывать последовательность взаимодействий для каждого прецедента в отдельност!
При этом Вы сможете обнаружить общие действия, полностью совпадающие в различных диаграммах деятельности, а значит - в прецедентах. Эти фрагменты - кандидаты в прецеденты включения. Если хватит духу - создайте в модели пакет "Прецеденты включения" и опишите там соответствующие фрагменты как абстрактные прецеденты включения (с диаграммами деятельности).
После этого:
- перетащите каждый включаемый прецедент на диаграммы, в которых есть прецеденты, которые его включают и установите соответствующую связь
- соответствующие фрагменты в диаграммах деятельности основных прецедентов могут быть заменены узлами "вызываемая операция".

На диаграмме классов:
- укажите множественности
- подумайте о типах ассоциаций
- название класса "Экземпляр" плохое, наталкивает на мысль, что Вы не знаете, что такое в UML спецификация экземпляра.

По диаграммам компонентов - без комментариев (см. замечание № 1)

Л. Новиков
http://lnew.ucoz.ru
lnew@yandex.ru
Л. Новиков
http://lnew.ucoz.ru
lnew@yandex.ru



Дисциплина называется Проектирование организационных информационных систем



Некоторые из прецедентов включения являются, скорее, элементарными действиями внутри включающего прецедента, и эти действия не являются существенными (достоиными выделения в самостоятельный модуль).
Согласно программе у меня получается следующее:
 есть главная форма->на ней есть кнопка "Отчеты"(нажав на неё открывается выпадающее меню
 с элементами выбора: Инвентарная книга, три разных документа КСУБФ, а также Акт прихода и Акт пожертвования).
 Пользователь может выбрать один из документов.
 Напр. при выборе Инвентарная книга -> появиться  автоматически форма с вопросом "Выбирите партию книг"->
  если пользователь выбрал партию, нажал ОК -> появится форма  Инвентарная книга (на форме есть кнопки Сохранить
  документ в формате,   печать документа  и т.д.)  в виде уже автоматически сгенерированнного документа
  "Инвентарная книга".
  При выборе любого из отчетов автоматически появляется соответствующая форма, а потом форма с  самим отчетом.
 



Модель прецедентов (диаграмма прецедентов и диаграмма деятельности) предназначены для документирования требований к будущей системе, а не для описания ее устройства.
Прецедент описывает набор последовательностей взаимодействий (удачных и неудачных), которые инициируются субъектом для достижения его цели. Название прецедента отражает эту цель.

Те действия, которые Вы описали, выполняются всеми актерами во всех прецедентах.
Можно спокойно создать абстрактный прецедент "Вход в систему", а дальше включить его во все прецеденты, а на диаграмме деятельности обозначить одним действием.

Субъектов и прецеденты придумали для того, чтобы облегчить работу (уменьшить сложность) путем ее декомпозиции. Ваш же подход предполагает создание единственного прецедента для систем любой сложности, т.к. в любом случае выполнение любой задачи на компьютере начинается со вставления вилки в розетку.

А вообще, когда программа уже сделана, диаграммы UML рисовать поздно!
Л. Новиков
http://lnew.ucoz.ru
lnew@yandex.ru



Удалите все прецеденты расширения, которые не являются таковыми. Сохраните только те, которые Вы
 действительно будете реализовывать как отдельные модули, т.е действительно будете расширять функциональности
  расширяемых прецедентов.
       
  У меня программа уже написана. На главной форме есть три кнопки:Справочники(в них содержутся
  данные необходимые для формирования  отчетов), Отчеты(их 6) и Библиотечный фонд.  При нажатии на кнопку "Справочники"
  появится выпадающее меню с элементами выбора, которые изображены  на диаграмме прецедентов как расширения для базового
  прецедента "Формирование справочников".Проблема в том что формы справочников однообразны и кнопки на них одни и теже
   Сохранить, Изменить, Удалить. Попытаюсь их скомпоновать по совету
  
  Совет (из RUPа):
- В модели прецедентов создайте пакеты UML для помещения прецедентов одной  функциональной области, и назовите
 их как прецеденты верхнего уровня. У Вас будет три таких пакета. В описании пакетов коротко опишите их назначение
  (фактически - повторение ваших длинных названий прецедентов). Перетащите в эти пакеты прецеденты, расширяющие
   соответствующие прецеденты верхнего уроня. Сами прецеденты верхнего уровня удалите из модели: это не use case!
  
                     



Успехов!
Л. Новиков
http://lnew.ucoz.ru
lnew@yandex.ru






Могу я еще дать рекомендации и некоторую критику?

Ну вопрос, конечно, риторический.

Для начала по стилистике работы.
Цитировать
Под функциональной задачей «Индивидуальный учёт» понимается учет каждого конкретного экземпляра документа и каждого названия документа, поступающего в фонд библиотеки или выбывающего из него.

Цитировать
ИНДИВИДУА'ЛЬНЫЙ, ая, ое; -лен, льна, льно [от латин. individuus — неделимый].
1. Отличный от других, свойственный данному индивидууму, личный (книжн.). Индивидуальные особенности учеников. || Отличительный, своеобразный (разг.). Индивидуальное качество этих часов. 2. Единоличный, производимый одним лицом (офиц.). Индивидуальное хозяйство. Индивидуальное требование. 3. Распространяющийся на каждого в отдельности, относящийся в отдельности к каждому (нов.). Индивидуальное кредитование. Индивидуальное обслуживание. 4. Предназначенный для одного человека, новый для каждого другого (спец.). Индивидуальная кисточка для бритья.

На лицо не верное использование слово индивидуальный. Нужно придумать другой термин. Кроме того имеется логическое нарушение.
Цитировать
индивидуальный учёт библиотечного фонда
и
Цитировать
учет каждого конкретного экземпляра документа
и
Цитировать
При списании документов выполняется внесение данных согласно документу «Список книг»
. Что же все-таки является предметом учета? Документ или книга?

По диаграмме использования уже было сказано ранее, повторяться не буду. Только все-таки такую диаграмму следует называть именно Диаграмма использования, а элементы использования - вариантами (способами) использования, а не прецедентами. Прецедент - не верный перевод с английского, исходное сочетание было usage case

По диаграмме классов и словарю классов. Класс - это сущность, абстракция, таксоном, архетип. Он отображает характеристики сходных по свойствам сущностей, а потому именуется единственным числом. Множественное число обычно используют для наименования таблиц - одним из способов хранения конкретных сущностей. Таблица - множество экземпляров одной сущности. Но сущность она одна.

Рассмотрим некоторые классы
Класс Книга (или как в оригинале Книги) - вновь семантический разрыв (см. выше). Почему есть операции только для внесения различных значений атрибутов, а нет операций чтения? В то же время область видимости private,

Класс Авторы - почему атрибут этого класса имеет тип того же самого класса? Довольно знаете ли странно

Цитировать
Реализация прецедента «Формирование библиотечного фонда» возможна тремя поведенческими аспектами:
Выбор кнопки Каталог книг,  Каталог экземпляров книг или Выход.
При открытии формы Каталог книг (см.описание диаграммы классов) главная форма остается открытой и возможен возврат к главной форме без закрытия формы Каталог книг.
Это не реализация - а описание того, как может действовать пользователь. Реализация должна описывать, как достигается исполнение варианта использования, и она достигается текстовым описанием, изображением сценариев последовательности, изображением диаграммами деятельности или диаграммами автоматов. У Вас же описывается конкретное действие - открыть Каталог книг

Диаграмма последовательности для прецендента «Формирование «Инвентарной книги»»  - к сожалению совершенно не то, что Вы пытаетесь передать

Диаграмма компонентов - попытка есть, но она не удалась. Вы пытаетесь применить шаблон Слой - это плюс, но компоненты переданы совершенно не корректно - это минус



Что же все-таки является предметом учета? Документ или книга?
Документ – информация, зафиксированная в виде текста(книги, журналы), звукозаписи, изображения или их сочетания, библиографически идентифицируемая, предназначенная для передачи во времени и пространстве.Документами в библиотеке являются книги, журналы и т.д. Согласен с замечанием  исправлю. Тогда предметом учета является книга, а документами являются Инвентарная книга и др.



Документ – информация, зафиксированная в виде текста(книги, журналы), звукозаписи, изображения или их сочетания, библиографически идентифицируемая, предназначенная для передачи во времени и пространстве.Документами в библиотеке являются книги, журналы и т.д. Согласен с замечанием  исправлю. Тогда предметом учета является книга, а документами являются Инвентарная книга и др.
Хм, интересно. Документ - ... По содержанию Д. делятся на научно-технические (статьи, книги, патенты, технические отчёты и описания), правовые (постановления, указы, договоры и др.), управленческие (приказы, директивы) и др...

Вроде бы получается, что книгу можно считать документом. Но мне кажется, все-таки не любую книгу. Даже если полагать, что книга - это документ (исходя из определения), то можно ли считать изданный научно-фантастический роман  книгой?
Все-таки видимо, Вам следует принять какое-то решение. По-моему, документ следует отличать от книги. Также как и библиотеку от архива. Архив документов и библиотека книг звучит правильнее, чем архив книг и библиотека документов

На каждый экземпляр книги, конечно, имеется формуляр - это уже документ. У каждого выпуска (издания) есть общее описание, характеризующее тираж. Вероятно, это описание - тоже документ. Правда, если в Вашей библиотеке хранятся только по сути уникальные документы, то видимо особой разницы нет. Но тогда следует различать документы учета, документы описания и т.п



Под функциональной задачей «Индивидуальный учёт» понимается учет каждого конкретного экземпляра документа и каждого названия документа, поступающего в фонд библиотеки или выбывающего из него.
Правильно так
Под функциональной задачей «Индивидуальный учёт» понимается учет каждого конкретного экземпляра книги и каждого названия книги, поступающего в фонд библиотеки или выбывающего из него.
 



Диаграмма прецедентов по совету
 Цитата: lnew от Сегодня в 03:21:07 pm
  Совет (из RUPа):
- В модели прецедентов создайте пакеты UML для помещения прецедентов одной  функциональной области, и назовите
 их как прецеденты верхнего уровня. У Вас будет три таких пакета. В описании пакетов коротко опишите их назначение
  (фактически - повторение ваших длинных названий прецедентов). Перетащите в эти пакеты прецеденты, расширяющие
   соответствующие прецеденты верхнего уроня. Сами прецеденты верхнего уровня удалите из модели: это не use case!
  - Удалите все прецеденты расширения, которые не являются таковыми. Сохраните только те, которые Вы действительно будете реализовывать как отдельные модули, т.е действительно будете расширять функциональности расширяемых прецедентов. Проверьте, xто в описании каждого прецедента кратко описана его функциональность. Например: "Формирование справочника "Тип литературы" должно включать следующие возможности: добавление нового типа, изменение типа, удаление типа)".
- В каждом пакете функциональной области нарисуйте свою маленькую диаграмму прецедентов "Прецеденты функциональной области..."
- Пересмотрите свое отношение к субъектам. Вместо одного появятся много, выполняющих прецеденты, соответствующие их ролям в библиотеке.




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19