Курсовые работы / ПРИС КП_10
.pdf11.Ревунков Г.И. Проектирование баз данных [электронный ресурс]:
учебное пособие / Г.И. Ревунков. – М: МГТУ им. Н.Э. Баумана (Московский
государственный технический университет имени Н.Э. Баумана): 2009. – 20 с.
Режим доступа: http://e.lanbook.com/books/element.php?pl1_id=52390
12.Методология IDEF1X / Статьи раздела BPWin // ITteach.ru [электронный ресурс]. 2016. URL : http://itteach.ru/bpwin/metodologiya-idef1x (дата обращения 03.11.17).
13.Васильев В. С. Диаграммы классов UML / В. С. Васильев // Блог программиста [электронный ресурс]. 07.06.2017. URL : https://pro-
prof.com/archives/3212 (дата обращения 03.11.17).
14 Гущин А.Н. Базы данных [электронный ресурс]: учебно-методическое пособие / А.Н. Гущин. - Электронные текстовые данные. - М.: Директ-Медиа, 2015.
- 311 с.
15 Дьяков И.А. Базы данных. Язык SQL [электронный ресурс]: учебное пособие / И.А. Дьяков. - Электронные текстовые данные. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2012. - 82 с.
16 Документация для пользователей // Всемирная Группа Разработчиков
PostgreSQL. URL: http:// postgresql.ru.net/ userdocs.html (дата обращения: 03.11.17) 17 Weinberg P., Groff J., Oppel A., SQL.The Complete Reference, Third Edition. 18 Документация по фреймворку Ruby on Rails на русском языке
[Электронный ресурс] URL: http://rusrails.ru/
19 Руби С., Томас Д., Хэнссон Д. Гибкая разработка веб-приложений в среде
Rails. 4-e издание – СПб.: Питер, 2014. – 448с.
20 Проць С. Методы тестирования программного обеспечения и их сравнение./ С. Проць // Информационный портал FB.ru [электронный ресурс]. 2016. URL : http://fb.ru/article/247668/metodyi-testirovaniya-programmnogo-obespecheniya- i-ih-sravnenie-testirovanie-metodom-chernogo-yaschika-i-testirovanie-metodom- belogo-yaschika (дата обращения 03.11.17).
42
ПРИЛОЖЕНИЕ А Глоссарий
Информационные технологии (ИТ) – это процесс, состоящий из четко регламентированных правил выполнения операций над информацией,
циркулирующей в ИС и использующий совокупность методов и средств реализации операций сбора, регистрации, передачи, накопления и обработки информации на базе программно-аппаратного обеспечения для решения управленческих задач экономического объекта.
Бизнес-процесс – это совокупность взаимосвязанных мероприятий или работ, направленных на создание определённого продукта или услуги для потребителей.
Клиент-серверная архитектура – вычислительная или сетевая архитектура, в
которой задания или сетевая нагрузка распределены между поставщиками услуг,
называемыми серверами, и заказчиками услуг, называемыми клиентами.
Логическая модель –визуальное графическое представление структур данных, их атрибутов и связей. Логическая модель представляет данные таким образом, чтобы они легко воспринимались бизнес-пользователями.
Физическая модель – логическая модель, выраженная в терминах языка описания данных конкретной СУБД.
Сущность – некоторый объект, явление из рассматриваемой предметной области.
Атрибут – данные, описывающие свойства сущности.
Модуль – это отдельная функционально-законченная программная единица,
которая структурно оформляется стандартным образом по отношению к компилятору и по отношению к объединению ее с другими аналогичными единицами и загрузке.
Model-View-Controller (MVC, «Модель-Представление-Контроллер», «Модель-Вид-Контроллер») — схема разделения данных приложения,
пользовательского интерфейса и управляющей логики на три отдельных
43
компонента: модель, представление и контроллер — таким образом, что модификация каждого компонента может осуществляться независимо.
«Черный ящик» – стратегия (метод) тестирования функционального поведения объекта (программы, системы) с точки зрения внешнего мира, при котором не используется знание о внутреннем устройстве тестируемого объекта.
Под стратегией понимаются систематические методы отбора и создания тестов для тестового набора.
44
ПРИЛОЖЕНИЕ Б
Модель бизнес-процесса по стандарту IDEF0
Рисунок Б.1 – Организация автоматизации учета работы сотрудников (0 уровень)
Рисунок Б.2 – Авторизация в системе (уровень 1)
45
Рисунок Б.3 –Смена пароля (уровень 2.1)
Рисунок Б.4 – Введение данных о результатах проведенной работы (уровень 3)
Рисунок Б.5 – Ввод данных (уровень 3.1)
46
Рисунок Б.6 – Ввод данных о сотруднике (уровень 311)
Рисунок Б.7 – Вывод отчета (уровень 4)
47
ПРИЛОЖЕНИЕ В
Текст модулей объектов
Листинг В.1 – Контроллеры системы
class AdminController < ApplicationController def index
end end
class AllAvariiController < ApplicationController def index
end
def search
@month_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).month
@day_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).day
@month_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).month
@day_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).day
end end
class ApplicationController < ActionController::Base protect_from_forgery with: :exception before_action :authorize
protected def authorize
unless User.find_by(id: session[:user_id])
redirect_to login_url, notice: "Пожалуйста, пройдите авторизацию"
end end end
class AvariisController < ApplicationController before_action :set_avarii, only: [:show, :edit, :update,
:destroy] def index
@avariis = Avarii.all end
def show end
def new
@avarii = Avarii.new end
def edit end
def create
@avarii = Avarii.new(avarii_params)
respond_to do |format| if @avarii.save
format.html { redirect_to @avarii, notice: 'Новая авария была успешно добавлена' }
format.json { render :show, status: :created, location: @avarii }
else
format.html { render :new }
format.json { render json: @avarii.errors, status: :unprocessable_entity }
end end
end
def update
respond_to do |format|
if @avarii.update(avarii_params)
format.html { redirect_to @avarii, notice: 'Avarii was successfully updated.' }
format.json { render :show, status: :ok, location: @avarii }
else
format.html { render :edit }
format.json { render json: @avarii.errors, status: :unprocessable_entity }
end end
end
def destroy @avarii.destroy respond_to do |format|
format.html { redirect_to avariis_url, notice: 'Avarii was successfully destroyed.' }
format.json { head :no_content } end
end
private
def set_avarii
@avarii = Avarii.find(params[:id]) end
def avarii_params params.require(:avarii).permit(:brigada_id,
:vidremonta, :result, :data, :status, :s_delete) end
end
class BrigadasController < ApplicationController before_action :set_brigada, only: [:show, :edit, :update,
:destroy]
def index
@brigadas = Brigada.all end
def show
48
end
def new
@brigada = Brigada.new end
def edit end
def create
@brigada = Brigada.new(brigada_params)
respond_to do |format| if @brigada.save
format.html { redirect_to @brigada, notice: 'Бригада была успешно добавлена.' }
format.json { render :show, status: :created, location: @brigada }
else
format.html { render :new }
format.json { render json: @brigada.errors, status: :unprocessable_entity }
end end
end
def update
respond_to do |format|
if @brigada.update(brigada_params)
format.html { redirect_to @brigada, notice: 'Бригада была успешно изменена.' }
format.json { render :show, status: :ok, location: @brigada }
else
format.html { render :edit }
format.json { render json: @brigada.errors, status: :unprocessable_entity }
end end
end
def destroy @brigada.destroy respond_to do |format|
format.html { redirect_to brigadas_url, notice: 'Бригада была успешно удалена.' }
format.json { head :no_content } end
end
private
def set_brigada
@brigada = Brigada.find(params[:id]) end
def brigada_params params.require(:brigada).permit(:nomer, :status,
:s_delete) end
end
class ExamenController < ApplicationController
before_action :set_examan, only: [:show, :edit, :update, :destroy]
def index
@examen = Examan.all end
def show end
def new
@examan = Examan.new end
def edit end
def create
@examan = Examan.new(examan_params)
respond_to do |format| if @examan.save
format.html { redirect_to @examan, notice: 'Экзамен был успешно добавлен' }
format.json { render :show, status: :created, location: @examan }
else
format.html { render :new }
format.json { render json: @examan.errors, status: :unprocessable_entity }
end end
end
def update
respond_to do |format|
if @examan.update(examan_params)
format.html { redirect_to @examan, notice: 'Экзамен был успешно обновлен' }
format.json { render :show, status: :ok, location: @examan }
else
format.html { render :edit }
format.json { render json: @examan.errors, status: :unprocessable_entity }
end end
end
def destroy @examan.destroy respond_to do |format|
format.html { redirect_to examen_url, notice: 'Экзамен был успешно удален' }
format.json { head :no_content } end
end
private
def set_examan
49
@examan = Examan.find(params[:id]) end
def examan_params params.require(:examan).permit(:sotrudnik_id,
:resultat, :data, :sleddata, :status, :s_delete) end
end
class GraficsController < ApplicationController before_action :set_grafic, only: [:show, :edit, :update,
:destroy]
def index
@grafics = Grafic.all end
def show end
def new
@grafic = Grafic.new end
def edit end
def create
@grafic = Grafic.new(grafic_params)
respond_to do |format| if @grafic.save
format.html { redirect_to @grafic, notice: 'График был успешно создан' }
format.json { render :show, status: :created, location: @grafic }
else
format.html { render :new }
format.json { render json: @grafic.errors, status: :unprocessable_entity }
end end
end
def update
respond_to do |format|
if @grafic.update(grafic_params)
format.html { redirect_to @grafic, notice: 'График был успешно обновлен' }
format.json { render :show, status: :ok, location: @grafic }
else
format.html { render :edit }
format.json { render json: @grafic.errors, status: :unprocessable_entity }
end end
end
def destroy @grafic.destroy
respond_to do |format|
format.html { redirect_to grafics_url, notice: 'График был успешно удален' }
format.json { head :no_content } end
end
private
def set_grafic
@grafic = Grafic.find(params[:id]) end
def grafic_params params.require(:grafic).permit(:sotrudnik_id, :data,
:otrabotannoevrema, :vid, :status, :s_delete) end
end
class MaxController < ApplicationController def index
end
def search
@month_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).month
@day_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).day
@month_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).month
@day_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).day
end end
class SdachaExzamenaController < ApplicationController
def index end
def search
@month_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).month
@day_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).day
@month_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).month
@day_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[
50
:finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).day
end end
class SessionsController < ApplicationController skip_before_action :authorize
def new end
def create
user = User.find_by(name: params[:name])
if user and user.authenticate(params[:password]) session[:user_id] = user.id
redirect_to admin_url else
redirect_to login_url, alert: "Неверная комбинация имени и пароля"
end end
def destroy session[:user_id] = nil
redirect_to login_url, notice: "Сеанс работы завершен" end
end
class SnsController < ApplicationController before_action :set_sn, only: [:show, :edit, :update,
:destroy]
def index @sns = Sn.all
end
def show end
def new
@sn = Sn.new end
def edit end
def create
@sn = Sn.new(sn_params)
respond_to do |format| if @sn.save
format.html { redirect_to @sn, notice: 'Нарушение было успешно записано' }
format.json { render :show, status: :created, location: @sn }
else
format.html { render :new }
format.json { render json: @sn.errors, status: :unprocessable_entity }
end end
end
def update
respond_to do |format|
if @sn.update(sn_params)
format.html { redirect_to @sn, notice: 'Нарушение было успешно обновлено' }
format.json { render :show, status: :ok, location: @sn
}
else
format.html { render :edit }
format.json { render json: @sn.errors, status: :unprocessable_entity }
end end
end
def destroy @sn.destroy respond_to do |format|
format.html { redirect_to sns_url, notice: 'Нарушение было успешно удалено' }
format.json { head :no_content } end
end
private
def set_sn
@sn = Sn.find(params[:id]) end
def sn_params params.require(:sn).permit(:sotrudnik_id,
:vidnarushenium_id, :status, :s_delete) end
end
class SotrsController < ApplicationController def index
respond_to do |format| format.html format.xls
end end
def search
@month_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).month
@day_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:s tart]["written_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).day
@month_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).month
@day_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[ :finish]["written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).day
end end
51