Разработка информационного и программного обеспечения прототипа автоматизированной информационной системы в заданной предметной области
Постановка задачи
Для разработки объектно-ориентированного приложения по теме курсового проектирования всеми студентами должны быть выполнены следующие этапы
Анализ предметной области.
1.1. Выявление объектов и отношений между ними (использовать литературу, интернет, прототипы, консультации со специалистами и руководителем).
1.2. Описание классов. Разработка диаграммы классов.
1.3. Определение функциональных требований.
1.3.1. Определение операций по манипулированию объектами. Манипулирование объектами в обязательном порядке должно включать операции по добавлению объектов, удалению объектов, изменению объектов, получению списка всех объектов и объектов заданного типа, сортировку объектов по заданному критерию, поиск объектов по заданному критерию, сохранение объектов в файле, чтение объектов из файла.
1.3.2. Определение операций по обработке и визуализации данных. Программа должна реализовывать функциональность, реально автоматизирующую предметную область. Обработка данных может заключаться в реализации различных статистических операций, например: вычисление суммарных, средних, максимальных, минимальных значений показателей, значений показателей за период времени и т.д. Запросы по обработке данных уточняются и согласовываются с руководителем работы после выполнения анализа предметной области.
Проектирование.
2.1. Проектирование интерфейса пользователя.
2.2. Проектирование структуры программы.
2.3. Разработка алгоритмов.
Программная реализация проекта.
3.1. Использование стандартных коллекций для хранения объектов в памяти компьютера и манипулирования ими.
3.2. Реализация запросов по манипулированию объектами, хранящимися в коллекции (добавление, удаление, изменение).
3.3. Реализация запросов поискового и расчетного характера.
3.4. Определение способа сохранения данных на диске и реализация ввода-вывода.
3.5. Обработка исключений.
3.6. Использование диалоговых окон.
Тестирование программы.
4.1. Разработка тестовых данных и их обработка.
4.2. Подготовка файла с исходными данными для контрольного примера.
Неполный перечень функциональных требований на примере программы «Библиотека».
Объекты: книга, автор, каталог книг, карточка читателя (читатель, список книг).
Добавление, удаление и модификация объектов (книг, авторов, читателей).
Вывод информации о книге (автор, издательство, жанр, рейтинг книги, серия, …). Отбор книг по жанру, автору, рейтингу, году издания, …
Определение местонахождения книги (если книга на полке, то на какой, если на руках, то у кого {ФИО, адрес, телефон читателя} и когда ее должны вернуть).
Какие книги требуют ремонта.
Какие книги являются ветхими.
Какие книги не выдаются на руки.
Список уничтоженных книг.
Какие книги имеют наибольший спрос.
Каких книг нет и их нужно закупить (заказы читателей).
Информация об авторах (какие книги были изданы, краткая биография, рейтинг, …).
Алфавитный поиск авторов (см. Интернет www.tululu.ru: алфавит a авторы a автор a книги a книга).
Вывод информации о читателях, какие книги брал данный читатель, самый читающий читатель. Вывод сведений о читателях-должниках.
Какие читатели брали данную книгу.
Программа должна иметь две реализации: для библиотекаря и для читателей (абонентов).
Рекомендации по разработке приложения.
Примечание. Рекомендации носят необязательный характер, однако их необоснованное игнорирование может привести к снижению оценки за КР.
Рекомендации по использованию языковых средств и библиотечных классов.
Программа ни при каких условиях не должна аварийно завершаться или выдавать неверный результат из-за ошибок пользователя!
Алгоритмы должны быть эффективными и простыми. Программа должна быть читабельной и содержать комментарии. Один класс (по выбору) закомментировать XML-комментариями. В начале первой формы требуется поместить комментарий с ФИО разработчика, контактным телефоном, темой проекта и фамилией руководителя.
Должна быть реализована концепция ООП (инкапсуляция, и т.д.). На каждый тип объектов должен быть создан свой класс. Не концентрировать информацию о сущностях разного типа в одном классе. Класс должен содержать методы, делающие класс законченным.
Рекомендуется в качестве хранилища объектов использовать коллекции List, BindingList, LinkedList или BindingSource.
Для организации открытия и сохранения файла объектов на диске использовать технологию MS Office: открыть, сохранить, сохранить как,…
Запоминать, если необходимо, параметры программы в файле App.config, а при запуске программы читать файл и производить ее настройку на эти параметры. В качестве параметров могут быть запомнены: имя файла объектов, в котором при выходе из программы была сохранена информация; состояние переключателей и флажков, настройки окна, … При запуске программы автоматически открывать запомненный файл.
Реализовать работу с программой пользователей разного уровня (администратор, внешний пользователь).
Везде, где это необходимо, использовать обработку исключений. Проверять преобразование исходных данных.
Необходимо в максимальной степени использовать возможности, предоставляемые библиотечными классами, например, привязку. Если можно, то используйте базовую функциональность элементов управления, например, сетка реализует возможности для изменения, добавления и удаления объектов.