Разработка и проектирование программного обеспечения

Разработка информационной системы для автоматизации работы крупного предприятия. Формализация требований с использованием модели прецедентов. Определение системных операций, разработка диаграммы взаимодействия. Выбор средств разработки программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.04.2018
Размер файла 1010,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Анализ предметной области
  • 1.1 Словесное описание задачи
  • 1.2 Анализ риска
  • 1.3 Формализация требований с использованием модели прецедентов
  • 2. Проектирование
  • 2.1 Выделение классов (Модель предметной области)
  • 2.2 Определение системных операций
  • 2.3 Разработка диаграммы взаимодействия
  • 3. Разработка программы
  • 3.1 Выбор средств разработки
  • 3.2 Требования к ИС
  • 3.2.1 Требования к функциям (задачам)
  • 3.2.2 Требования к видам обеспечения
  • Заключение
  • Список использованных источников
  • Приложение

Введение

автоматизация информационный программа

Целью данного курсового проекта является закрепление и углубление теоретических знаний, и приобретение практических навыков по разработке и проектированию ПО. Основными задачами курсового проекта являются:

- анализ возможных подходов и методов решения с обоснованием выбранного подхода;

- выбор или разработка модели (математической, структурной, информационной), необходимой для достижения цели;

- выбор эффективных алгоритмов с учетом их точности, устойчивости, сходимости;

- анализ полученных результатов работы программного обеспечения.

1. Анализ предметной области

1.1 Словесное описание задачи

Требуется разработать информационную систему для автоматизации работы крупного предприятия, такого как РЖД. Система должна обеспечивать нижеперечисленные возможности:

- предоставление каталога работ или услугу;

- прием заказов выбранных клиентом;

- реализация функции оформления заказа;

- формирование платежной ведомости;

- обеспечение прямой связи с соответствующим клиентом для решения интересующих вопросов;

- реализация online оповещения;

- формирование отчетов.

Данная информационная система предусмотрена для работы следующих групп пользователей:

1 администратор системы;

2 администратор БД;

3 работники коммерческого отдела;

4 внешние пользователи;

5 клиенты.

Администратор системы реализует следующие функции:

- регистрация новых пользователей в системе;

- расстановка привилегий пользователя;

- редактирование данных;

- обработка и рассылка по отделам сформированных документов (отчеты, счет-фактуру, договор, акт, указ, приказ);

- проверка корректности данных;

- создание новых разделов в каталоге.

При использовании системы работники коммерческого отдела выполняют следующие задачи:

1 Контроль актуальности выставленного на показ контента сайта.

2 Обновление содержания разделов каталога.

Для загрузки нового вида товара работнику необходимо зайти в режим модератора, выбрать соответствующий раздел каталога и заполнить значения полей специальной формы. В форме содержатся следующие сведения о клиента:

- регистрационный номер (табельный);

- должность, отдел;

- коэффициенты;

- дата устройства на работу;

- фотографии.

После заполнения формы администратор или сотрудник коммерческого отдела сохраняет ее, и клиент добавляется в выбранный раздел каталога.

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

1 Загрузка и удаление новостной информации.

Администраторы осуществляют прямую связь с клиентом через диалоговую форму, где авторизованный пользователь задает интересующий вопрос, либо непосредственно с помощью телефонной связи, доступной по активной ссылке.

Внешние пользователи имеют возможность просматривать общедоступный информационный контент, а также запросить регистрацию в системе. Чтобы пройти регистрацию необходимо заполнить специальную форму регистрации:

- логин;

- пароль;

- специальность, ;

- ФИО/портфолио.

Клиент может:

1 Просматривать информационный контент.

2 Производить online совещания или консультации.

3 Формировать отчет.

Клиент осуществляет прямую связь с авторизованным пользователем через диалоговую форму или по телефону.

1.2 Анализ риска

Размерно-ориентированные метрики прямо измеряют программный продукт и процесс его разработки. Основываются размерно-ориентированные метрики на LOC-оценках. LOC-оценка - это количество строк в программном продукте.

Функционально-ориентированные метрики косвенно измеряют программный продукт и процесс его разработки. Вместо подсчета LOC-оценки при этом рассматривается не размер, а функциональность или полезность продукта. Для этого используется 5 информационных характеристик:

1 Количество внешних вводов пользователя (все вводы пользователя, по которым поступают разные прикладные данные).

2 Количество внешних выводов (все выводы по которым пользователю поступают рассчитанные данные, документы).

3 Количество внешних запросов (диалоговый ввод, который приводит к немедленному программному ответу без дополнительных вычислений).

4 Внутренние логические файлы.

5 Внешние интерфейсные файлы.

На основе этих и других оценок получают оценку FP. С помощью, которой затем вычисляют LOC-оценку. При этом все расчеты и оценки проводятся до создания программного продукта позволяя оценить затраты до начала работ. С помощью этих характеристик и рассчитывается проект, разработанный в данной работе. Расчет транзакций приведен в таблицах 1.2.1, 1.2.2,1.2.3,1.2.4, 1.2.5.

Таблица 1.2.1 - Внешние вводы

Транзакции: Внешние вводы

Название ввода

Поля ввода и элементы данных

Кол-во элементов данных

Ссылки на файлы

Ранг

Кол-во вводов

Общая сложность (общ. ранг)

Регистрация

Кнопка: Зарегистрироваться;

Поля:

Логин,

Пароль.

3

0-1

Низкий =3

1

3*1=3

Вход

Копка:

Войти;

Поля:

Логин,

Пароль.

3

0-1

Низкий =3

1

3*1=3

Добавление/редактирование записи

Копка:

Добавить,

Сохранить;

Поля:

Регистрационный номер,

Должность,

специальность,

Портфолио,

Дата поступления,

Фотографии.

9

2

Средний=4

1

4*1=4

Бухгалтерия

Копка:

Добавить,

Сохранить;

Удалить.

Поля:

Ввод.

4

0-1

Низкий =3

1

3*1=3

Оплата зарплата/

премия

Копка:

Оплатить.

Поля:

Фамилия,

Имя,

Вид карты,

Номер карты,

Срок действия(2 поля - месяц, год),

CVV2

7

2

Средний =4

1

4*1=4

Таблица 1.2.2 - Внешние выводы

Транзакции: Внешние выводы

Название вывода

Поля вывода и элементы данных

Кол-во элементов данных

Ссылки на файлы

ранг

Кол-во выводов

Общая сложность (общ. ранг)

Вывод ландинга

Поле: Картинка

1

1

Низкий=4

1

4*1=4

Вывод каталога

клиента

Поле: Отдел, Должность, Специальность, Портфолио

4

1

Низкий=4

2

4*2=8

Просмотр

Поле:

Текстовое поле,

Изображение

2

1

Низкий=4

2

4*2=8

Результаты поиска

Поле:

Текстовое поле

1

1

Низкий=4

1

4*1=4

Таблица 1.2.3 - Внешние запросы

Транзакции: Внешние запросы

Название запроса

Поля ввода и элементы данных

Кол-во элементов данных

Ссылки на файлы

ранг

Кол-во запросов

Общая сложность (общ. ранг)

Кнопки меню

Кнопки:

Главная,

Каталог,

Услуги,

Помощь клиентам,

О нас, Контакты

6

1

Низкий=3

1

3*1=3

Поиск

Кнопки:

Искать;

Поля:

Поле ввода

2

1

Низкий=3

1

3*1=3

Вопрос

Кнопки:

Отправить;

Поля:

Текстовое поле

2

1

Низкий=3

1

3*1=3

Запрос на продолжение программы в режиме редактирования

MessageBox

Кнопки: Продолжить

2

0-1

Низкий=3

1

3*1=3

Запрос на переход в главное меню

Пункт меню:

Главное меню

1

0-1

Низкий=3

2

3*2=6

Запрос авторизацию

MessageBox

2

0-1

Низкий=3

1

3*1=3

Таблица 1.2.4 - Внутренние логические файлы

Внутренние логические файлы

Название файла

Поля ввода и элементы данных

Кол-во элементов данных

Кол-во элементов данных-записей

ранг

Кол-во файлов

Общая сложность (общ. ранг)

Логический Файл `*.jpeg'

Картинки

2500

1

Низкий (7)

1

7*1=7

Логический

Файл `html'(сформированный документ)

-

1

Низкий

(7)

1

7*1=7

Таблица 1.2.5 - Внешние интерфейсные файлы

Внешние интерфейсные файлы

Название файла

Поля ввода и элементы данных

Кол-во элементов данных

Кол-во элементов данных-записей

ранг

Кол-во файлов

Общая сложность (общ. ранг)

База данных клиентов

Копка:

Добавить,

Сохранить;

Поля:

Регистрационный номер,

Должность,

Специальност,

Портфолио

Дата поступления,

Изображение.

8

>5

Средний (7)

1

7*1=7

База данных пользователей

Копка:

Добавить,

Сохранить;

Поля:

Логин,

Имя,

Пароль.

5

>5

Средний

(7)

1

7*1=7

Таблица 1.2.6 - Исходные данные для расчета

Имя характеристики

Ранг, сложность, количество

Низкий

Средний

Высокий

Итого

Внешние вводы

3x3= 9

2x4 =8

0x6 = 0

= 17

Внешние выводы

6x4 =24

0x5 =0

0x7 = 0

= 24

Внешние запросы

7х3 = 21

0x4 =0

0x6 =0

= 21

Внутренние логические файлы

2x7= 14

0x5 = 0

0x 10= 0

2x7 = 14

0x15 = 0

0x10 =0

= 14

= 14

Общее количество S =

90

Таблица 1.2.7 - Определение системных параметров приложения

Системный параметр

Описание

Fi

Передача данных

F1= 5

Обработка данных

F2= 4

Производительность

F3= 1

Распространенность

F4= 5

Скорость транзакций

F5= 4

Оперативный ввод данных

F6=3

Эффективность работы

F7= 3

Оперативное обновление

F8= 3

Сложность обработки

F9= 3

Повторная используемость

F10= 5

Легкость инсталляции

F11= 3

Легкость эксплуатации

F12=4

Разнообразные условия размещения

F13=5

Простота изменений

F14=3

Итого

51

После сбора всей необходимой информации приступаем к расчету FP-метрики по формуле (1).

FP = SЧ (0,65+ 0,01 Ч) (1)

где S - общее количество транзакций.

FP=90Ч (0,65+0,01Ч51)=104,4

Пересчет FP-оценок в LOC-оценки производится по формуле (2).

LOC= FPЧ53 (2)

LOC=104,4Ч53=5533,2

Расчет COCOMO-метрик вычисляется по формуле (3).

ЗАТРАТЫ = А Ч Ме ЧРАЗМЕРв [чел.-мес], (3)

где А - масштабный коэффициент А = 2,5;

РАЗМЕР - размер ПО выраженный в тысячах LOC;

Мe - множитель поправки зависит от 7 формирователей затрат, характеризующих работу, процесс и персонал (см. табл. ниже);

В - отражает нелинейную зависимость затрат от размера проекта (от длины кода LOC).

Значение показателя степени В изменяется в диапазоне 1,01... 1,26, зависит от 5 масштабных факторов Wi и вычисляется по формуле (4).

. (4)

Общая характеристика масштабных факторов Wi приведена в таблице 1.2.8, а таблица 1.2.9 позволяет определить оценки этих факторов. Оценки принимают 6 значений: от очень низкой (5) до сверхвысокой (0).

Таблица 1.2.8 - Характеристика масштабных факторов Wi

Масштабный фактор (Wi)

Пояснение

Wi

1 Предсказуемость, наличие прецедентов PREC

Отражает предыдущий опыт организации в реализации проектов этого типа. Очень низкий (=5) означает отсутствие опыта. Сверхвысокий (=0) означает, что организация полностью знакома с этой прикладной областью (ранее такое уже выполняли)

5 нет опыта

2 Гибкость разработки FLEX

Отражает степень гибкости процесса разработки. Очень низкий означает, что используется заданный процесс. Сверхвысокий означает, что клиент установил только общие цели

3 среднее

3 Разрешение архитектуры / Разрешение рисков в архитектуре RESL

Отражает степень выполняемого анализа риска. Очень низкий (=5) означает малый анализ. Сверхвысокий (=0) означает полный и сквозной анализ риска

3 среднее

4 Связность группы TEAM

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

0 - один в группе, сам студент выполняет

5 Зрелость процесса РМАТ

Означает зрелость процесса в организации. Вычисление этого фактора может выполняться по вопроснику СММ

2 -низкое

=13

=1,14

Таблица 1.2.9 - Формирователи затрат EMi для раннего этапа проектирования

Обозначение

Название

EMi

1 PERS

Возможности (способности) персонала (Personnel Capability)

1

2 RCPX

Надежность и сложность продукта (Product Reliability and Complexity)

0.5

3 RUSE

Требуемое повторное использование (Required Reuse)

Необходимость повторного использования

1

4 PDIF

Трудность (сложность) платформы (Platform Difficulty)

HTML

средне сложная = 0.7

5 PREX

Опытность персонала (Personnel Experience)

1

6 FСIL

Средства поддержки (Facilities)

Возможности

1

7 SCED

График (Schedule)

Сроки

Сроки не жесткие = 0.6

Итого:

=1*0.5*1*0.7*1*1*0.6=0,21

ЗАТРАТЫ = 2.5 Ч 0,21Ч5,5331,14 [чел.-мес]=3.7 [чел.-мес]

Данный проект может быть выполнен одним человеком примерно за 3.7 месяца.

1.3 Формализация требований с использованием модели прецедентов

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

Каждая такая диаграмма - это описания сценария поведения, которому следуют действующие лица (Актеры).

Рассмотрим общую и расширенную диаграммы прецедентов на Рисунке 1.3.1 и Рисунке 1.3.2.

Рисунок 1.3.1- Общая диаграмма прецедентов деятельности

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

Таблица 1.3.1 Шаблон для написания сценария отдельного варианта

Главный раздел

Раздел «Типичный ход событий»

Раздел

«Исключения»

Раздел

«Примечания»

Имя варианта использования

Типичный ход событий, приводящий к успешному выполнению варианта использования

Исключение №1

Исключение №2

Исключение №3

Примечания

Клиенты

Цель

Краткое описание

Тип

Ссылки на другие варианты использования

На основе предложенного шаблона разработан текстовый сценарий. Он будет дополнять диаграмму, раскрывая содержание отдельных действий, выполняемых системой и клиентам в процессе формирования заданий.

В следующем разделе сценария описывается последовательность действий, которая приводит к успешному выполнению данного варианта использования. В данном случае инициатором действий выступает администратор ИС.

Таблица 1.3.2 Раздел «Типичный ход событий»

Действия актеров

Отклик системы

1 Администратор ИС выбирает сортировку данных по алфавиту или по возрастанию.

Исключение №1: администратор ИС не имеет возможности упорядочить все данные сразу, а только по одному параметру.

2 Система отображает записи в соответствии с параметрами сортировки в БД.

3 Администратор ИС выбирает поиск работ.

Исключение №2: администратор ИС не имеет права доступа:

ввод / редактирование / удаление информации.

4 Система выдает работы (услуги) по заданному критерию.

5 Пользователь (клиент) выбирает формирование отчетов.

Исключение №3: отсутствие записей

6 Система формирует отчет.

Таблица 1.3.3 Раздел «Исключения»

Действия клиентов

Отклик системы

Исключение №1: администратор ИС не имеет возможности упорядочить все данные сразу, а только по одному параметру.

7. Пользователь (клиент) отменяет упорядочивание данных.

Система предлагает отменить упорядочивание данных.

Исключение №2: администратор ИС не имеет прав доступа ввод / редактирование / удаление информации о лекарствах.

8. Пользователь (клиент) отменяет добавление / удаление / изменение данных по продажам лекарств.

Система предлагает отменить добавление / удаление / изменение данных по продажам лекарств.

Исключение №3: отсутствие записей по работам за месяц.

9. Пользователь (клиент) отменяет формирование отчета.

Система предлагает не формировать отчет.

2. Проектирование

2.1 Выделение классов (Модель предметной области)

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

Концептуальный класс - это представление идеи или объекта. Можно рассматривать в терминах:

– символы (symbol) - слова или образы, представляющие концептуальный класс;

– содержание (intension) - определение концептуального класса;

– расширение (extension) - набор примеров, к которым применим концептуальный класс.

Для выделения концептуальны классов нам необходимо воспользоваться одним из методов:

– Использование списка категорий концептуальных классов

– Метод основанный на выделении существительных

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

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

Так как готового шаблона для данной системы не существует, воспользуемся методом, основанном на выделение существительных. При рассмотрении предметной области можно выделить следующие классы, необходимые для должного функционирования системы: Клиент, который объединяет под собой понятия сотрудник, должность, портфолио, в свою очередь заказ состоит из Строк, в которых содержится информация о необходимой работе или услуг, Сотрудников можно подобрать в Каталоге, разделенном по категориям.

Рисунок 2.1.1- Диаграмма классов предметной области

2.2 Определение системных операций

Системная операция - операция, входящая в открытый интерфейс системы для обработки входных системных событий, которые система выполняет как чёрный ящик. Весь набор системных операций, выполняемых в процессе всех прецедентов, определяет открытый системный интерфейс, в ракурсе которого система рассматривается как единый компонент или класс.

При описании системных операций используют следующие понятия:

- операция (имя операции и её параметры);

- ссылки (прецеденты, в рамках которых может выполняться эта операция);

- предусловия (предположение о состоянии системы или объектов модели предметной области до выполнения операции; выполнение этих условий не проверяется в рамках логики выполнения данной операции, а предполагается, что они истинны);

- постусловия (состояния объектов модели предметной области после завершения операции).

Описание операции ОП1 Добавить товар представлено в таблице 2.2.1.

Таблица 2.2.1 добавление клиентов

Код клиента

Должность

Портфолио

Адрес

Телефон

Таблица2.2.2 Форма заявки

Код заявки_________

Код клиента

Должность

Наименование работ (услуг)

Количество

Единица измерения

Дата заявки ___________________

2.3 Разработка диаграммы взаимодействия

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

Процесс авторизации пользователя в системе показан на Рисунке 2.3.1. Для совершения заказа клиенту необходимо войти в систему, что реализуется по следующему алгоритму: пользователь вводит свои данные в специальные поля на странице идентификации, после чего происходит отправка данных на сервер. Сервер в свою очередь посылает запрос в базу данных, чтобы получить хранящиеся там эталонные логин и пароль. Получив эти данные, сервер сравнивает их с тем, что ввел пользователь и выдает ответ. Сообщение о прохождении авторизации отображается для пользователя на странице идентификации.

Рисунок 2.3.1- Диаграмма последовательности процесс «Авторизация»

3. Разработка программы

3.1 Выбор средств разработки

Выбор среды разработки следует начать с анализа существующих информационных систем, позволяющих произвести автоматизацию необходимых процессов.

Предприятие пр. РЖД.

Плюсы для клиента:

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

- Широкая сфера применения. Данный фактор является очень серьёзной причиной, из-за которой большинство людей предпочитает пользоваться смартфонами. В самом деле - благодаря огромному выбору самых разнообразных действий процесс работы значительно упрощается;

- Полноценная замена связи. Доступно очень много информации, характеристики, о которой обычные работодатели вполне могут умолчать;

- Удобная оплата труда. Клиент может отслеживать зачисления на счет и при необходимости изменить его.

- Различные варианты связи. Любой клиент всегда может рассчитывать на консультацию или запросить помощь, причём в кратчайшие сроки;

- Универсальность доступа. Не требует наличие определенной операционной системы на используемом устройстве.

Плюсы для предпринимателя:

- Возможность удаленного управления бизнесом и свобода перемещения (взяв с собой ноутбук или смартфон, можно выполнять обязанности, откуда угодно);

- Возможность постоянного обновления контента;

- Общение с клиентом в режиме онлайн;

- Регулирование процесса работы, на любом этапе.

Мобильное приложение.

- Скорость и автономность. Мобильное приложение работает быстрее, чем сайт в мобильном браузере. И может работать даже без интернета;
- Интегрированность. Можно шире задействовать возможности устройства (всплывающие уведомления, камера и др.);
- Привлекательность. Просто наличие иконки приложения в телефоне уже напоминает пользователю о себе и побуждает им воспользоваться.

3.2 Требования к ИС

3.2.1 Требования к функциям (задачам)

Информационная система должна реализовывать следующие функции

- ввод и редактирование данных в соответствии с допуском;

- должен осуществляться поиск данных;

- формирования списков;

- обработка данных.

3.2.2 Требования к видам обеспечения

Для функционирования ИС необходим ПК с минимальными системными требованиями; на смартфоне должна быть установленная версия Android не ниже 4.4(KitKat).

Оптимальными для работы ИС являются широко распространённые и поддерживающие большинство программных продуктов операционные системы Windows 2000/XP и конфигурация: процессор с тактовой частотой не меньше 2000 MHz; ОЗУ - 512 МB; Video - 128 МВ; ПО - Java 6.0, MS Access; мышь / клавиатура.

Данные вводятся в таблицы Access через экранные формы, разработанные в среде Java 6, производится их обработка (расчет суммы, сортировка, выборка), вывод результатов также производится с помощью экранных форм Java. Планируемый объем поступающей информации не должен превысить объема жесткого диска, поэтому он должен быть не меньше 128 Gb. Информация будет представляться в виде отчетов (в электронном варианте), с возможностью отправки на печать - необходимо наличие принтера.

Факторы, относящиеся к эксплуатационным характеристикам компьютера:

-компьютеры данной конфигурации имеются на предприятии;

-пользователи уже имеют необходимый опыт работы на компьютере;

-выполнены все условия эксплуатации.

На выбор ОС оказывают влияние следующие факторы:

-совместимость с другими ОС;

-возможность использования различных устройств ввода-вывода;

-требование поддержки сетевой технологии;

-необходимое число поддерживаемых программных продуктов;

-быстродействие;

-наличие дружественного интерфейса и простота использования;

-возможность настройки и установки на новые аппаратные средства;

-поддержка новых информационных технологий.

Всеми этими качествами обладает ОС Windows 7 и для данной конфигурации P5-3000/2048 Mb/128Gb/4096 Mb AGP/CD-ROM-80x/SB Live 128 - является оптимальной, компьютера такой мощности вполне достаточно для функционирования системы.

Основные факторы, влияющие на выбор методов и средств проектирования ПО системы:

-совместимость;

-получение качественного продукта;

-сокращение времени и стоимостных затрат на проектирование;

Для реализации функций ИС применяется СУБД MS Access. Выбор обусловлен тем, что она отвечает предъявляемым требованиям:

-масштаб применения СУБД (персональная - настольная СУБД);

-язык общения;

-выполняемые функции (информационные - хранение информации и доступ к ней, операционные функции - связанные с обработкой информации);

-сфера возможного применения.

Для входа или регистрации необходимо заполнить форму:

Рисунок 3.2.1 - Страница авторизации на сайте

При переходе на страницу новости пользователь попадает в раздел Записи, где видит сообщения(Рис.3.2.2).

Рисунок 3.2.2 - Каталог новостей

Клиент получает уведомления (Рисунок 3.2.3)

Рисунок 3.2.3 - Уведомления.

Рисунок 3.2.4 - Настройки

Заключение

В ходе курсовой работы была спроектирована информационная система Android приложения. Также был спроектирован интерфейс программы.

При анализе и проектировании проекта были использованы средства разработки и моделирования Android Studio 6.2.

В ходе разработки проекта активно использовался язык UML для построения диаграммы классов, прецедентов и последовательности.

Список использованных источников

1 Хассан Гома. UML. Проектирование систем реального времени, распределенных и параллельных приложений - ДМК Пресс, 2011. - 500 c.

2 Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем. - Феникс- 2009. -512с.

3 Вендров, А.М. Практикум по проектированию программного обеспечения экономических информационных систем/ А.М. Вендров. - М.: Финансы и статистика, 2004.-192 с.

4 Избачков, Ю.С. Информационные системы. 2-е издание/ Ю.С. Избачков, В.Н. Петров-СПб.: Питер, 2005.-161 с.

5 Марков, А.С. Базы Данных. Введение в теорию и методологию/ А.С. Марков, К.Ю. Лисовский-М.: Финансы и статистика, 2006. - 55 с.

6 Хомоненко, А.Д. Работа с базами данных в Delphi/. А.Д. Хомоненко, В.Э. Гофман-СПб.: БХВ - Петербург, 2003.-624 с.

7 Рогозов Ю.И., Стукотий Л.Н., Свиридов А.С. «Моделирование систем» ТРТУ, 2004.

Приложение

FavFragment -- фрагмент, который используется для отображения списка избранного, а так же позволяет клиенту (пользователю, администратору ИС/БД)

открывать и удалять элементы списка.

package app.wordpress.test.fav.ui;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.database.Cursor;

import android.os.Bundle;

import android.support.v4.app.ListFragment;

import android.view.ContextMenu;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView.AdapterContextMenuInfo;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.SimpleCursorAdapter;

import app.wordpress.test.R;

import app.wordpress.test.fav.FavDbAdapter;

import app.wordpress.test.fav.FavRed;

/**

* This activity is used to display a list of favorites, and let the user

* open them & delete them

*/

public class FavFragment extends ListFragment {

@SuppressWarnings("unused")

private static final int ACTIVITY_CREATE=0;

private static final int ACTIVITY_EDIT=1;

@SuppressWarnings("unused")

private static final int INSERT_ID = Menu.FIRST;

private static final int DELETE_ID = Menu.FIRST + 1;

private FavDbAdapter mDbHelper;

private LinearLayout ll;

String menu;

String noconnection;

/** Called when the activity is first created. */

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

ll = (LinearLayout) inflater.inflate(R.layout.fragment_fav, container, false);

setHasOptionsMenu(true);

return ll;

}

@Override

public void onActivityCreated (Bundle savedInstanceState){

super.onActivityCreated(savedInstanceState);

mDbHelper = new FavDbAdapter(getActivity());

mDbHelper.open();

fillData();

registerForContextMenu(getListView());

}

@SuppressWarnings("deprecation")

private void fillData() {

Cursor favoritesCursor = mDbHelper.getFavorites();

getActivity().startManagingCursor(favoritesCursor);

String[] from = new String[]{FavDbAdapter.KEY_TITLE};

int[] to = new int[]{R.id.text1};

SimpleCursorAdapter favorites =

new SimpleCursorAdapter(getActivity(), R.layout.fragment_fav_row, favoritesCursor, from, to);

setListAdapter(favorites);

}

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

inflater.inflate(R.menu.favorite_menu, menu);

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case R.id.clear:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

builder.setMessage(getResources().getString(R.string.item_del_text))

.setPositiveButton(getResources().getString(R.string.item_del_confirmation), new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int id) {

//mDbHelper = new NotesDbAdapter(RssDetailActivity.this);

mDbHelper.emptyDatabase();

fillData();

}

})

.setCancelable(true);

// Create the AlertDialog object

builder.create();

builder.show();

return true;

default:

return super.onOptionsItemSelected(item);

}

}

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

super.onCreateContextMenu(menu, v, menuInfo);

menu.add(0, DELETE_ID, 0, "Delete");

}

@Override

public boolean onContextItemSelected(MenuItem item) {

switch(item.getItemId()) {

case DELETE_ID:

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

mDbHelper.deleteFav(info.id);

fillData();

return true;

}

return super.onContextItemSelected(item);

}

@Override

public void onListItemClick(ListView l, View v, int position, long id) {

super.onListItemClick(l, v, position, id);

Intent i = new Intent(getActivity(), FavRed.class);

i.putExtra(FavDbAdapter.KEY_ROWID, id);

startActivityForResult(i, ACTIVITY_EDIT);

}

@Override

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

super.onActivityResult(requestCode, resultCode, intent);

fillData();

}

}

Пишем код для кнопки Комментарии в методе loadCompletedPost после определения кнопки:

btnComment.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

Intent commentIntent = new Intent(WordpressDetailActivity.this, CommentsActivity.class);

if (disqusParseable != null) {

commentIntent.putExtra(CommentsActivity.DATA_PARSEABLE, disqusParseable);

commentIntent.putExtra(CommentsActivity.DATA_TYPE, CommentsActivity.DISQUS);

commentIntent.putExtra(CommentsActivity.DATA_ID, post.getId().toString());

} else {

if (post.getPostType() == PostItem.PostType.JETPACK) {

commentIntent.putExtra(CommentsActivity.DATA_PARSEABLE, JetPackProvider.getPostCommentsUrl(apiBase, post.getId().toString()));

commentIntent.putExtra(CommentsActivity.DATA_TYPE, CommentsActivity.WORDPRESS_JETPACK);

} else if (post.getPostType() == PostItem.PostType.REST){

commentIntent.putExtra(CommentsActivity.DATA_PARSEABLE, RestApiProvider.getPostCommentsUrl(apiBase, post.getId().toString()));

commentIntent.putExtra(CommentsActivity.DATA_TYPE, CommentsActivity.WORDPRESS_REST);

} else if (post.getPostType() == PostItem.PostType.JSON) {

commentIntent.putExtra(CommentsActivity.DATA_PARSEABLE, result.getCommentsArray().toString());

commentIntent.putExtra(CommentsActivity.DATA_TYPE, CommentsActivity.WORDPRESS_JSON);

}

}

startActivity(commentIntent);

}

});

В файле сборки Build.gradle уровня проекта добавьте

allprojects {

repositories {

jcenter()

maven {

url "https://maven.google.com"

}

}

}

drawer_top_gradient.xml для добавления градиента под имя приложения в панели навигации

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >

<gradient

android:type="linear"

android:endColor="#00c0c0c0"

android:startColor="#88000000"

android:angle="90"/>

</shape>

В классе HolderActivity:

в методе onOptionsItemSelected в секции case R.id.favorites: пишем метод открытия фрагмента:

openFragment(FavFragment.class, new String[0]);

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.