Форум Сообщества Аналитиков

Общий раздел => Примеры => Задачи студентов => Тема начата: yakrasafcheg от 04 Сентября 2010, 17:50:07

Название: Курсовая по технологии программирования
Отправлено: yakrasafcheg от 04 Сентября 2010, 17:50:07
Привет всем! Помогите с кусовой:

Задание
АСУ школы.
Разработать программное обеспечение первой очереди АСУ средней общеобразовательной школы,
Первая очередь АСУ представляет собой простую базу данных об учениках школы. Программное обеспечение  должно:
• Предоставлять информацию о конкретном ученике и его родителях
• Информация об ученике содержит
  1. фамилия, имя, отчество;
  2. пол;
  3. домашний адрес;
  4. телефон;
  5. дата рождения;
  6. класс.
  7. ссылку на информацию о родителях
  8. ссылку на текущий табель успеваемости
  9. текущий рейтинг
• Информация о родителях содержит для каждого из родителей
  1. фамилию, имя, отчество
  2. дату рождения
  3. домашний адрес
  4. телефон
  5. место работы
• Редактировать информацию.
• При удалении ученика вся информация о нем стирается, включая данные о родителях.
• Удалять всех учеников класса.
• Предоставлять список класса.
• Предоставлять рейтинг учеников по классу и параллели.
Разработать формы исходных документов и формы отчетов.
Предусмотреть печать отчетов.

В качестве инструментальной среды проектирования используется Rational Software Architect.
Для описания модели используется язык UML.
Процесс проектирования – Rational Unified Process(RUP).

В проекте должна быть представлена UML- модель в виде следующих диаграмм:
• Модель вариантов использования:
  - диаграммы вариантов использования (сценариев)- Use case diagram
  - диаграммы активности(видов деятельности) – Activity diagram
• Модель анализа:
  - диаграммы взаимодействия – Interaction diagram
   - диаграммы последовательностей –Sequence diagram
   - диаграммы кооперации – Collaboration diagram
  - диаграмма классов со стереотипами
• Модель проектирования:
  - диаграммы состояний – Statechart diagram
  - диаграммы классов проектирования – Class diagram
  - диаграммы компонент – Component diagram

Название: Use Case диаграмма
Отправлено: yakrasafcheg от 04 Сентября 2010, 17:52:58
Use Case диаграмма
Название: Диаграмма USE-CASE переработанная
Отправлено: yakrasafcheg от 07 Сентября 2010, 11:06:58
Диаграмма USE-CASE переработанная:

1. Получить информацию об оценках, родителях - это все можно отнести к ВИ  "Получить информацию об ученике"
2. Актер "База Данных" убран, так как не обладает поведением, не является актером
Название: Re: Курсовая по технологии программирования
Отправлено: Galogen от 07 Сентября 2010, 12:48:06
Я бы систему назвал АРМ учителя. Поскольку на АСУ не тянет, поскольку контекст ориентирован на учителя.

Потому тут можно иметь актера АСУ школы, если в ходе выполнения задач учителя АРМ учителя обращается за информацией или другими сервисами к АСУ школы или подсистемам АСУ
Название: ВИ «Получить информацию об ученике»
Отправлено: yakrasafcheg от 07 Сентября 2010, 19:55:01
ВИ «Получить информацию об ученике»
1.0. Имя прецедента:
Получить информацию об ученике
1.1. Краткое описание:
Этот вариант использования дает учителю возможность получить информацию об ученике.
2.0. Поток событий:
2.1. Основной поток событий:
Данный вариант использования начинает выполняться, когда учителю требуется получить информацию об ученике.
2.1.1. Запуск программы:
Учитель запускает программу. Программа отображает список классов.
2.1.2. Выбор класса
Учитель выбирает класс, программа отображает список учеников. Иначе выполняется альтернативный поток 2.2.1.
2.1.3. Выбор ученика:
Пользователь программы выбирает ученика.
2.1.4. Информация об ученике:
Пользователь программы вызывает диалог с информацией об ученике.
2.2. Альтернативные потоки:
2.2.1. Поиск ученика:
Пользователь программы запускает поиск ученика, вводит фамилию ученика для поиска, после чего если ученики с такой фамилией найдены система выводит их список.
3.0. Специальные требования:
Отсутствуют.
4.0. Предусловия:
Учитель запустил программу.
5.0. Постусловия:
Отсутствуют.
6.0. Точки расширения:
Отсутствуют.
Название: Re: Курсовая по технологии программирования
Отправлено: Galogen от 08 Сентября 2010, 14:40:54
Общее замечание - много чисел, трудно читаемый текст, заструктурированный я бы сказал

ВИ «Получить информацию об ученике»
1.0. Имя прецедента:
Получить информацию об ученике
К чему повтор?
Цитировать
1.1. Краткое описание:
Этот вариант использования дает учителю возможность получить информацию об ученике.
2.0. Поток событий:
2.1. Основной поток событий:
Данный вариант использования начинает выполняться, когда учителю требуется получить информацию об ученике.
2.1.1. Запуск программы:
Учитель запускает программу. Программа отображает список классов.
Вряд ли ВИ должен начинаться с запуска программы. Это предусловие для исполнения ВИ, очевидное по умолчанию. Программа запущена. Отображено главное окно - главное меню приложения. Отображен список классов
Цитировать
2.1.2. Выбор класса
Учитель выбирает класс, программа отображает список учеников. Иначе выполняется альтернативный поток 2.2.1.
А вот это уже первый шаг данного ВИ (возможно, я бы еще уточнил, что открыт список учеников конкретного класса)
Цитировать
2.1.3. Выбор ученика:
Пользователь программы выбирает ученика.
Т.е. Это может быть первым шагом ВИ
Почему вдруг Пользователь, Сначала выл Учитель - а где реакция системы - вторго ДЛ по сути?
Цитировать
2.1.4. Информация об ученике:
Пользователь программы вызывает диалог с информацией об ученике.
Смотри цитату выше
Цитировать
2.2. Альтернативные потоки:
2.2.1. Поиск ученика:
Пользователь программы запускает поиск ученика, вводит фамилию ученика для поиска, после чего если ученики с такой фамилией найдены система выводит их список.
Лучше спроектировать как отдельная спецификация

Цитировать
4.0. Предусловия:
Учитель запустил программу.
Вот как я и писал выше
Название: Re: Курсовая по технологии программирования
Отправлено: yakrasafcheg от 12 Сентября 2010, 12:09:03
1.0. Имя прецедента:
Получить информацию об ученике
1.1. Краткое описание:
Этот вариант использования дает учителю возможность получить информацию об ученике.
2.0. Поток событий:
2.1. Основной поток событий:
Данный вариант использования начинает выполняться, когда учителю требуется получить информацию об ученике.
2.1.1. Выбор класса
Учитель выбирает класс ученика, информация о котором требуется, программа отображает список учеников, иначе выполняется альтернативный поток 2.2.1.
2.1.2. Выбор ученика:
Учитель выбирает ученика.
2.1.3. Информация об ученике:
Учитель вызывает диалог с информацией об ученике. Учитель просматривает данные ученика, также может просмотреть оценки и информацию о родителях ученика.
2.2. Альтернативные потоки:
2.2.1. Поиск ученика:
Учитель запускает поиск ученика, вводит фамилию ученика для поиска, после чего если ученики с такой фамилией найдены система выводит их список.
3.0. Специальные требования:
Отсутствуют.
4.0. Предусловия:
Учитель запустил программу.
5.0. Постусловия:
Отсутствуют.
6.0. Точки расширения:
Отсутствуют.
Название: Re: Курсовая по технологии программирования
Отправлено: yakrasafcheg от 12 Сентября 2010, 12:11:53
Activity Diagramm "Получить информацию об ученике"
Название: USE-CASE диаграмма
Отправлено: yakrasafcheg от 13 Сентября 2010, 21:59:02
Добавил еще один ВИ "Поиск ученика"
Название: ActivityDiagramm ВИ "Поиск ученика"
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:16:29
ActivityDiagramm ВИ "Поиск ученика"

Предусловия: Учитель запустил программу.
Краткое описание:
Этот вариант использования дает учителю возможность найти ученика по фамилии.
Поток событий:
1 Запустить диалог поиска:
Учитель запускает диалог поиска ученика. Программа отображает окно с полем  для ввода фамилии требуемого ученика.
2 Отобразить диалог поиска:
Программа отображает окно с полем  для ввода фамилии требуемого ученика.
3 Ввести фамилию ученика:
Учитель вводит фамилию ученика и запускает поиск.
4 Отобразить список найденных учеников:
Программа отображает список найденных учеников.
Альтернативные потоки и исключения:
3а Не найдены ученики с заданной фамилией:
Программа уведомляет учителя, что учеников с заданной фамилией не найдено.

Название: ActivityDiagram ВИ "Получить информацию об ученике"
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:24:12
ActivityDiagram ВИ "Получить информацию об ученике"


Краткое описание:
Этот вариант использования дает учителю возможность получить информацию об ученике.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1 Выбор класса
Учитель выбирает класс ученика, информация о котором требуется.
2 Отобразить список класса:
Программа отображает список учеников выбранного класса.
3 Выбор ученика:
Учитель выбирает ученика.
4 Информация об ученике:
Учитель вызывает диалог с информацией об ученике. Учитель просматривает данные ученика.

Альтернативные потоки:

1а Поиск ученика:
Учитель для перехода к записи ученика запускает поиск ученика – выполняется ВИ «Поиск ученика».
Название: Activity Diagramm ВИ «Изменить информацию об ученике»
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:31:16
Activity Diagramm ВИ «Изменить информацию об ученике»

Краткое описание:
Этот вариант использования дает учителю возможность изменить информацию об ученике.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1. Выбор класса
Учитель выбирает класс ученика, изменить информацию которого требуется.
2. Отобразить список класса:
Программа отображает список учеников выбранного класса.
3. Выбор ученика:
Учитель выбирает ученика.
4. Информация об ученике:
Учитель вызывает диалог с информацией об ученике. Учитель изменяет данные ученика.
5. Сохранить изменения:
Учитель сохраняет внесенную информацию. Система сохраняет изменения в базе.

Альтернативные потоки:

1a. Поиск ученика:
Учитель для перехода к записи ученика запускает поиск ученика – выполняется ВИ «Поиск ученика».
5a. Данные ученика не заполнены:
Программа выдает ошибку о том, что не все поля данных ученика заполнены.
5б. Отмена сохранения:
Учитель после вноса изменений ученика и закрытия диалога отказывается от сохранения изменений. Система не сохраняет изменения.
Название: ActivityDiagram ВИ «Добавить запись об ученике»
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:39:12
Краткое описание:
Этот вариант использования дает учителю возможность добавить запись ученика.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1. Выбор класса
Учитель выбирает класс, в который требуется добавить ученика.
2. Отобразить список класса:
Программа отображает список учеников выбранного класса.
3. Добавление записи:
Учитель выбирает добавление записи ученика.
4. Отобразить диалог ввода данных ученика.
Программа отображает диалог ввода данных ученика.
5. Ввод данных нового ученика:
Учитель вводит данные нового ученика.
6. Сохранить изменения:
Учитель сохраняет внесенную информацию. Система сохраняет изменения в базе.

Альтернативные потоки:

6а. Данные ученика не заполнены:
Программа выдает ошибку о том, что не все поля данных ученика заполнены.
6б. Отмена сохранения:
Учитель после вноса данных нового ученика и закрытия диалога отказывается от сохранения изменений. Система не сохраняет изменения.
Название: ВИ «Удалить запись об ученике»
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:45:48
Краткое описание:
Этот вариант использования дает учителю возможность удалить информацию об ученике.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1 Выбор класса
Учитель выбирает класс ученика, удалить информацию о котором требуется.
2 Отобразить список класса:
Программа отображает список учеников выбранного класса.
3 Выбор ученика:
Учитель выбирает ученика.
4 Удалить запись ученика:
Учитель выбирает удаление ученика.
5 Подтверждение удаления:
Программа запрашивает подтверждение удаления. Учитель подтверждает удаление, программа удаляет запись об ученике из базы.

Альтернативные потоки:

1а Поиск ученика:
Учитель для перехода к записи ученика запускает поиск ученика – выполняется ВИ «Поиск ученика».
6а Отмена удаления:
Учитель не подтверждает удаление записи ученика.
Название: ВИ «Удалить записи всех учеников класса»
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:50:34
Краткое описание:
Этот вариант использования дает учителю возможность удалить всех учеников класса.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1 Выбор класса
Учитель выбирает класс, учеников которого требуется удалить
2 Отобразить список класса:
Программа отображает список учеников выбранного класса.
3 Удалить записи всех учеников класса:
Учитель выбирает удаление всех записей учеников класса.
4 Подтверждение удаления:
Программа запрашивает подтверждение удаления, учитель подтверждает удаление, система удаляет записи из базы.

Альтернативные потоки:

4а Отмена удаления:
Учитель не подтверждает удаление записей учеников.
Название: ВИ «Получить рейтинг учеников по классу и параллели»
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:54:57
Краткое описание:
Этот вариант использования дает учителю возможность получить отчет по рейтингу учеников по классу и параллели.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1 Запустить диалог отчетов:
Учитель запускает диалог отчетов.
2 Выбрать тип отчета «Рейтинги»
3 Выбрать требуемые для включения в отчет классы.
4 Сформировать отчет:
Учитель запускает формирование отчета, программа выводит отчет.
5 Печать отчета:
Учитель запускает печать отчета

Альтернативные потоки:

1 Отмена печати отчета:
Учитель завершает ВИ без печати отчета.
Название: ВИ «Получить список учеников»
Отправлено: yakrasafcheg от 13 Сентября 2010, 22:59:23
Краткое описание:
Этот вариант использования дает учителю возможность получить отчет по списку учеников.

Предусловия:
Учитель запустил программу. Программа отобразила список классов.

Поток событий:

1 Запустить диалог отчетов:
Учитель запускает диалог отчетов.
2 Выбрать тип отчета «Список класса»
3 Выбрать требуемые для включения в отчет классы.
4 Сформировать отчет:
Учитель запускает формирование отчета, программа выводит отчет.
5 Печать отчета:
Учитель запускает печать отчета

Альтернативные потоки:

5а Отмена печати отчета:
Учитель завершает ВИ без печати отчета.
Название: Re: Курсовая по технологии программирования
Отправлено: Galogen от 13 Сентября 2010, 23:41:20
Да потрудился ты на славу. Чувствуешь каламбур :) Понимаешь, упорство тебе не занимать. Не скажу, что мне нравится все. Некий особый стиль написания ВИ у тебя, возможно такие у вас примеры? Но в целом неплохо, местами даже хорошо. Но местами не хватает стиля воздействие-реакция, а ведь стиль ВИ в первую очередь в этом. Однако не будем устраивать холивары.

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

Правда требования со вкусом реализации, как бы ты не старался, реализация изо всех щелей проглядывает :)

Некоторые альтернативные потоки - скорее дань их наличию, чем собственно альтернатива.

В таких случаях
5 Подтверждение удаления:
Программа запрашивает подтверждение удаления.
 Если Учитель подтверждает удаление, программа удаляет запись об ученике из базы.
 Если Учитель не подтверждает удаление записи ученика, программа остается в том же состоянии

Проще отображать как написано мною. Главное и понятнее.

Название: Диаграмма классов Поиск ученика
Отправлено: yakrasafcheg от 15 Сентября 2010, 21:28:16
Диаграмма классов со стереотипами модели анализа