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

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Автоматизация
  • 139 139 страниц
  • 45 + 45 источников
  • Добавлена 11.02.2019
2 500 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
1 АНАЛИТИЧЕСКАЯ ЧАСТЬ 7
1.1. Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности «КАК ЕСТЬ» 7
1.1.1. Характеристика предприятия и его деятельности 7
1.1.2. Организационная структура управления предприятием 8
1.1.3. Программная и техническая архитектура ИС предприятия 11
1.2. Характеристика комплекса задач, задачи и обоснование необходимости автоматизации 15
1.2.1. Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов 15
1.2.2. Определение места проектируемой задачи в комплексе задач и ее описание 19
1.2.3. Обоснование необходимости использования вычислительной техники для решения задачи 20
1.2.4. Анализ системы обеспечения информационной безопасности и защиты информации 23
Разработка модели нарушителя информационной безопасности 27
1.3. Анализ существующих разработок и выбор стратегии автоматизации «КАК ДОЛЖНО БЫТЬ» 34
1.3.1. Анализ существующих разработок для автоматизации задачи 34
1.3.2. Выбор и обоснование стратегии автоматизации задачи 36
1.3.3. Выбор и обоснование способа приобретения ИС для автоматизации задачи 37
1.4. Обоснование проектных решений 38
1.4.1. Обоснование проектных решений по информационному обеспечению 38
1.4.2. Обоснование проектных решений по программному обеспечению 39
1.4.3. Обоснование проектных решений по техническому обеспечению 41
II ПРОЕКТНАЯ ЧАСТЬ 42
2.1. Разработка проекта автоматизации 42
2.1.1. Процессы жизненного цикла проекта автоматизации 42
2.1.2. Ожидаемые риски на этапах жизненного цикла и их описание 43
2.1.3. Организационно-правовые и программно-аппаратные средства обеспечения информационной безопасности и защиты информации 46
2.2. Информационное обеспечение задачи 53
2.2.1. Информационная модель и её описание 53
2.2.2. Характеристика нормативно-справочной, входной и оперативной информации 56
2.2.3. Характеристика результатной информации 59
2.3. Программное обеспечение задачи 59
2.3.1. Общие положения (дерево функций и сценарий диалога) 59
2.4. Контрольный пример реализации проекта и его описание 75
3.1 Экономические параметры разработки ИС 81
3.3 Расчет себестоимости разработки и внедрения ИС 81
3.4 Обоснование целесообразности разработки и внедрения модуля ИС 90
3.5 Экономический эффект от внедрения модуля ИС 91
ЗАКЛЮЧЕНИЕ 93
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 95
ПРИЛОЖЕНИЕ 1 99
ПРИЛОЖЕНИЕ 2. 103

Фрагмент для ознакомления

getAllErrors();model.addObject("editTruck", editTruckDTO); model.addObject("errorsList", errors); logger.debug("edit truck page"); return model;}@RequestMapping(value = "/editDriverHome", method = RequestMethod.POST) public ModelAndView editDriver(ModelAndView model, Model m, @Valid @ModelAttribute("editTruck") TruckDTO editTruckDTO, BindingResult resultEditTruck,@Valid @ModelAttribute("additionalDriver") DriverDTO driverDTO, BindingResult resultDriver,@Valid @ModelAttribute("additionalTruck") TruckDTO truckDTO, BindingResult resultAddTruck,@Valid @ModelAttribute("editDriver") DriverDTO driverEdit, BindingResult result) {model.setViewName("managerPage");model.addObject("driverList", driverService.getAllDrivers()); model.addObject("truckList", truckService.getAllTrucks()); model.addObject("allOrders", orderService.getAllOrders()); List fieldErrors = result.getFieldErrors();DriverDTO save = driverService.getDriverById(driverEdit.getId()); if ( save !=){driverEdit.setUserId(save.getUserId()); driverEdit.setTruck(save.getTruck()); driverEdit.setStatus(save.getStatus()); model.addObject("editDriver", driverEdit);if (validation.checkUserEdit(save,driverEdit,fieldErrors)) { driverService.editDriver(driverEdit); model.addObject("driverList", driverService.getAllDrivers());model.addObject("truckList", truckService.getAllTrucks()); model.addObject("editDriver", driverEdit); return model;}}List errors = result.getAllErrors();DriverDTO editDriver = new DriverDTO(); model.addObject("editDriver", editDriver); model.addObject("errorsList", errors); logger.debug("edit driver page"); return model;}@RequestMapping(value = "/editDriverFilter", method = RequestMethod.GET) public@ResponseBodyDriverDTO getFilteredLogin(@RequestParam String login) { return driverService.getDriverByLogin(login);}@RequestMapping(value = "/deleteTruck", method = RequestMethod.GET) public@ResponseBodyString deleteTruck(@RequestParam String value) { return truckService.deleteTruck(value);}@RequestMapping(value = "/allDriverFilter", method = RequestMethod.GET) public@ResponseBodyListgetFiltered(@RequestParam String text) { return driverService.getFilteredDrivers(text);}@RequestMapping(value = "/allTruckFilter", method = RequestMethod.GET) public@ResponseBodyListgetFilteredTruck(@RequestParam String text) { return truckService.getFilteredTrucks(text);}@RequestMapping(value = "/addOrderSubmit", method = RequestMethod.GET) public ModelAndView endOfOrder() {userSession.submitOrder();userSession.cleanSession();ModelAndView model = new ModelAndView();DriverDTO driverDTO = new DriverDTO();DriverDTO driverDTOEdit = new DriverDTO();TruckDTO truckDTO = new TruckDTO();TruckDTO editTruckDTO = new TruckDTO(); model.addObject("editTruck", editTruckDTO); model.addObject("editDriver", driverDTOEdit);model.addObject("driverList", driverService.getAllDrivers()); model.addObject("truckList", truckService.getAllTrucks()); model.addObject("allOrders", orderService.getAllOrders()); model.addObject("additionalDriver", driverDTO); model.addObject("additionalTruck", truckDTO);model.setViewName("managerPage");return model;}private ModelAndView modelStandart(ModelAndView model, BindingResult result){{List errors = result.getAllErrors(); model.addObject("errorsList", errors);model.addObject("driverList", driverService.getAllDrivers()); model.addObject("allOrders", orderService.getAllOrders()); model.setViewName("managerPage"); return model;}}}©Controller @Scope("session") public class OrderController {private Validation validation; private UserSession userSession; private OrderService orderService; private static final Logger logger = Logger.getLogger(OrderController.class);@Autowiredpublic OrderController(UserSession userSessionComponent, Validation validation, OrderService orderService){this.userSession=userSessionComponent; this.validation = validation; this.orderService = orderService;}@RequestMapping(value = "/addOrder", method = RequestMethod.GET) public ModelAndView addOrder(){ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("orderAddview"); logger.debug("add order page"); return modelAndView;}@RequestMapping(value = "/addOrderPoint", method = RequestMethod.GET) public@ResponseBodyListaddPoint(@RequestParam String text) { if(validation.checkCity(text)) { orderService.addMap(text); userSession.addPoint(text);}logger.debug("add point to path"); return userSession.getPointDTOs();}@RequestMapping(value = "/delOrderPoint", method = RequestMethod.GET) public@ResponseBodyListdelPoint(@RequestParam String text) { userSession.delPoint(text); logger.debug("delete point from path"); return userSession.getPointDTOs();}@RequestMapping(value = "/selectChooseOrderPoint", method = RequestMethod.GET) public@ResponseBodyListselectPoint(@RequestParam String value) { logger.debug("select points ti choose");return userSession.choosePointSelect(value);}@RequestMapping(value = "/cargoAdd", method = RequestMethod.POST, consumes = "application/json", produces = "application/json") public@ResponseBodyListaddCargo(@RequestBody CargoDTO cargoDTO) {if(validation.checkWeight(cargoDTO.getWeightCargo())) {userSession.bindCargoToPoint(cargoDTO); logger.debug("add cargo");return userSession.getCargoDTOs();}else{logger.debug("cargo not valid"); return userSession.getCargoDTOs();}}@RequestMapping(value = "/cargoDel", method = RequestMethod.POST, consumes = "application/json", produces = "application/json") public@ResponseBodyListdelCargo(@RequestBody CargoDTO cargoDTO) {userSession.delCargoBind(cargoDTO); logger.debug("delete cargo"); return userSession.getCargoDTOs();}@RequestMapping(value = "/chooseTruck", method = RequestMethod.GET) public@ResponseBodyListchooseTruck() {logger.debug("choose truck");return userSession.getTrucks();}@RequestMapping(value = "/chosenTruck", method = RequestMethod.GET) public@ResponseBodyTruckJsonDTO chosenTruck(@RequestParam String text) {userSession.setRoadLengthAndTime(); logger.debug("chosen truck on");return userSession.setTruckNumber(text);}@RequestMapping(value = "/nextToDriver", method = RequestMethod.GET) public@ResponseBodyListnextToDriver() { logger.debug("choose driver to order");return userSession.getDriversByOrder();}@RequestMapping(value = "/driverSubmitByOrder", method = RequestMethod.GET) public@ResponseBodyListdriverSubmitByOrder(@RequestParam String text) {}@RequestMapping(value = "/driverDeleteByOrder", method = RequestMethod.GET) public@ResponseBodyListdriverDeleteByOrder(@RequestParam String text) {logger.debug("driver delete");return userSession.delDriver(text);}@RequestMapping(value = "/getOrderList", method = RequestMethod.GET) public@ResponseBodyOrderDTO driverDeleteByOrder() { logger.debug("order all");return userSession.getListOrder();}}@Controllerpublic class ValidationController { private Validation validation;@Autowiredpublic ValidationController(Validation validation){this.validation = validation;}@RequestMapping(value = "/validLogin", method = RequestMethod.GET) public @ResponseBody AjaxResponse checkLogin(@RequestParam String text ){AjaxResponse result = new AjaxResponse(); if(validation.checkLogin(text)){result.setCheckedField("Success");}else{result.setCheckedField("Fail");}return result;}@RequestMapping(value = "/validEmail", method = RequestMethod.GET) public @ResponseBody AjaxResponse checkEmail(@RequestParam String text ){AjaxResponse result = new AjaxResponse(); if(validation.checkEmail(text)){result.setCheckedField("Success");else{result.setCheckedField("Fail");}return result;}}@Entitypublic class Cargo { private int id; private String name; private double weight;private int status;private Collection pointHasCargos;public Cargo() {}public Cargo(String name, double weight, int status) { this.name = name; this.weight = weight;this.status = status;}@Id@GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}@Basic@Column(name = "Name", nullable = false, length = 10) public String getName() { return name;}public void setName(String name) { this.name = name;}@Basic@Column(name = "Weight", nullable = false, precision = 0) public double getWeight() { return weight;}public void setWeight(double weight) {this.weight = weight;@Basic@Column(name = "Status", nullable = false) public int getStatus() { return status;}public void setStatus(int status) { this.status = status;}@OneToMany(mappedBy = "cargoByCargoId")public Collection getPointsHasCargoById() { return pointHasCargos;}public void setPointsHasCargoById(Collection pointHasCargos){this.pointHasCargos = pointHasCargos;}©Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Cargo cargo = (Cargo) o;if (id != cargo.id) return false;if (Double.compare(cargo.weight, weight)!=0) return false;if (status != cargo.status) return false;if (name != null ?!name.equals(cargo.name):cargo.name != null) returnfalse;return true;}©Overridepublic int hashCode() { int result; long temp; result = id;result = 31 * result + (name != null ? name.hashCode() :0);temp = Double.doubleToLongBits(weight);result = 31 * result + (int) (temp A (temp >>> 32));result = 31 * result + status; return result;}}public class Driver { private int id; private String name; private String lastName; private int status;private int mapId; private Map mapByMapId; private User user;private Collection driverHasDriversshiftsById; private Collection driversplenById; private Collection driverstatsById;@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}@Basic@Column(name = "Name", nullable = false, length = 45) public String getName() { return name;}public void setName(String name) { this.name = name;}@Basic@Column(name = "LastName", nullable = false, length = 45) public String getLastName() { return lastName;}public void setLastName(String lastName) { this.lastName = lastName;}@Basic@Column(name = "Status", nullable = false) public int getStatus() { return status;}public void setStatus(int status) { this.status = status;}@Basic@Column(name = "Map_id", nullable = false) public int getMapId() { return mapId;}public void setMapId(int mapId) { this.mapId = mapId;}@Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;if (id != driver.id) return false; if (status != driver.status) return false; if (mapId != driver.mapId) return false;if (name != null ?!name.equals(driver.name):driver.name != null)return false;if (lastName != null ?!lastName.equals(driver.lastName):driver.lastName != null) return false;return true;}@ManyToOne@JoinColumn(name = "Map_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Map getMapByMapId() { return mapByMapId;}public void setMapByMapId(Map mapByMapId) { this.mapByMapId = mapByMapId;}@OneToMany(mappedBy = "driverByDriverId")public Collection getDriverHasDriversshiftsById() { return driverHasDriversshiftsById;}public void setDriverHasDriversshiftsById(Collection driverHasDriversshiftsById) {this.driverHasDriversshiftsById = driverHasDriversshiftsById;}@OneToMany(mappedBy = "driverByDriverId")public Collection getDriversplenById() { return driversplenById;}public void setDriversplenById(Collection driversplenById) { this.driversplenById = driversplenById;}@OneToMany(mappedBy = "driverByDriverId")public Collection getDriverstatsById() { return driverstatsById;}public void setDriverstatsById(Collection driverstatsById) { this.driverstatsById = driverstatsById;}@OneToOne(mappedBy = "driverByDriverId") public User getUserById() { return user;}public void setUserById(User user) { this.user = user;}DriverHasDriverShift@Entity@Table(name = "driver_has_driversshift", schema = "truckappdb" )@IdClass(DriverHasDriversshiftPK.class)public class DriverHasDriversshift implements Serializable { private int driverId; private int driversShiftId; private Driver driverByDriverId;private Driversshift driversshiftByDriversShiftId; private boolean current;@Id@Column(name = "Driver_id", nullable = false) public int getDriverId() { return driverId;}public void setDriverId(int driverId) { this.driverId = driverId;}@Id@Column(name = "DriversShift_id", nullable = false) public int getDriversShiftId() { return driversShiftId;}public void setDriversShiftId(int driversShiftId) { this.driversShiftId = driversShiftId;}@Column(name = "Current", nullable = false) public boolean getCurrent() { return current;}public void setCurrent(boolean current) { this.current = current;}@Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;DriverHasDriversshift that = (DriverHasDriversshift) o;if (driverId != that.driverId) return false; if (driversShiftId != that.driversShiftId) return false;return true;}@ManyToOne@JoinColumn(name = "Driver_id", insertable = false, updatable = false, referencedColumnName = "id")public Driver getDriverByDriverId() { return driverByDriverId;}public void setDriverByDriverId(Driver driverByDriverId) {this.driverByDriverId = driverByDriverld;@ManyToOne@JoinColumn(name = "DriversShift_id", insertable = false, updatable = false, referencedColumnName = "id")public Driversshift getDriversshiftByDriversShiftId() { return driversshiftByDriversShiftId;}public void setDriversshiftByDriversShiftId(Driversshift driversshiftByDriversShiftId) {this.driversshiftByDriversShiftId = driversshiftByDriversShiftId;}}public class Driversplan { private int id; private int driverId; private int month; private long workTime; private Driver driverByDriverId;@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}@Basic@Column(name = "Driver_id", nullable = false) public int getDriverId() { return driverId;}public void setDriverId(int driverId) { this.driverId = driverId;}@Basic@Column(name = "Month", nullable = false) public int getMonth() { return month;}public void setMonth(int month) { this.month = month;}@Basic@Column(name = "WorkTime", nullable = false) public long getWorkTime() { return workTime;}public void setWorkTime(long workTime) { this.workTime = workTime;}©Overridepublic boolean equals(Object o) { if(this == o) return true;if(o == null ||getClass() !=o.getClass()) return false;Driversplan that = (Driversplan) o;if (id != that.id) return false; if(driverId !=that.driverId)returnfalse;if(workTime !=that.workTime)returnfalse;return true;}@Overridepublic int hashCode() { int result = id;result = 31 * result + driverId;result = 31 * result + (int)(workTimeA(workTime>>>32));return result;}@ManyToOne@JoinColumn(name = "Driver_id", insertable=false,updatable=false,referencedColumnName = "id", nullable = false) public Driver getDriverByDriverId() { return driverByDriverId;}public void setDriverByDriverId(Driver driverByDriverId) { this.driverByDriverId = driverByDriverId;}}DriverShift@Entitypublic class Driversshift { private int id;private String factTime;private Collection driverHasDriversshiftsById; private Orders ordersById;@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}@Basic@Column(name = "FactTime", nullable = true) public String getFactTime() { return factTime;}public void setFactTime(String factTime) {this.factTime = factTime;@Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Driversshift that = (Driversshift) o; if (id != that.id) return false;if (factTime != null ?!factTime.equals(that.factTime):that.factTime!= null) return false;return true;}@Overridepublic int hashCode() { int result = id;result = 31 * result + (factTime != null ? factTime.hashCode() :0);return result;}@OneToMany(mappedBy = "driversshiftByDriversShiftId")public Collection getDriverHasDriversshiftsById() { return driverHasDriversshiftsById;}public void setDriverHasDriversshiftsById(Collection driverHasDriversshiftsById) {this.driverHasDriversshiftsById = driverHasDriversshiftsById;}@OneToOne(mappedBy = "driversshiftByDriversShiftId") public Orders getOrdersById() { return ordersById;}public void setOrdersById(Orders ordersById) { this.ordersById = ordersById;}}DriverStat@Entitypublic class Driverstat { private int id; private int driverId; private float accuracy; private int lateness; private String comment; private Driver driverByDriverId;@Id@GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) public int getId() { return id;}©Basic0Column(name = "Driver_id", nullable = false) public int getDriverId() { return driverId;}public void setDriverId(int driverId) { this.driverId = driverId;}©Basic0Column(name = "Accuracy", nullable = false) public float getAccuracy() { return accuracy;}public void setAccuracy(float accuracy) { this.accuracy = accuracy;}©Basic0Column(name = "Lateness", nullable = false) public int getLateness() { return lateness;}public void setLateness(int lateness) { this.lateness = lateness;}©Basic0Column(name = "Comment", nullable = true, length = -1) public String getComment() { return comment;}public void setComment(String comment) { this.comment = comment;}©Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Driverstat that = (Driverstat) o;if(id != that.id) return false;if(driverId!=that.driverId)returnfalse;if(accuracy!=that.accuracy)returnfalse;if(lateness!=that.lateness)returnfalse;if (comment != null ?!comment.equals(that.comment):that.comment !=null) return false;return true;}©Overridepublic int hashCode() { int result = id;result = 31 * result + driverId;result = 31 * result + lateness;result = 31 * result + (comment != null ? comment.hashCode() :0);return result;}@ManyToOne@JoinColumn(name = "Driver_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Driver getDriverByDriverId() { return driverByDriverId;}public void setDriverByDriverId(Driver driverByDriverId) { this.driverByDriverId = driverByDriverId;}}@Entitypublic class Orders { private int id; private boolean status; private int pathId; private int timeId; private String truckId; private int driversShiftId; private int userId; private Path pathByPathId; private Time timeByTimeId; private Truck truckByTruckId;private Driversshift driversshiftByDriversShiftId; private User userByUserId;@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}@Basic@Column(name = "Status", nullable = false) public boolean getStatus() { return status;}public void setStatus(boolean status) { this.status = status;}@Basic@Column(name = "Path_id", nullable = false) public int getPathId() { return pathId;}public void setPathId(int pathId) { this.pathId = pathId;©Basic©Column(name = "Time_id", nullable = false) public int getTimeId() { return timeId;}public void setTimeId(int timeId) { this.timeId = timeId;}©Basic©Column(name = "Truck_id", nullable = false, length = 7) public String getTruckId() { return truckId;}public void setTruckId(String truckId) { this.truckId = truckId;}©Basic©Column(name = "DriversShift_id", nullable = false) public int getDriversShiftId() { return driversShiftId;}public void setDriversShiftId(int driversShiftId) { this.driversShiftId = driversShiftId;}©Basic©Column(name = "User_id", nullable = false) public int getUserId() { return userId;}public void setUserId(int userId) { this.userId = userId;}©Overridepublic boolean equals(Object o) { if (this == o) return true;if(o == null|| getClass()!= o.getClass()) return false;Orders orders= (Orders) o;if (id != orders.id) return false; if(status !=orders.status)returnfalse;if(pathId !=orders.pathId)returnfalse;if(timeId !=orders.timeId)returnfalse;if (driversShiftId != orders.driversShiftId) return false; if (userId != orders.userId) return false;if (truckId != null ?!truckId.equals(orders.truckId):orders.truckId!= null) return false;return true;}©ManyToOne©JoinColumn(name = "Path_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false)public Path getPathByPathId() { return pathByPathId;}public void setPathByPathId(Path pathByPathId) { this.pathByPathId = pathByPathId;}@ManyToOne@JoinColumn(name = "Time_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false)public Time getTimeByTimeId() { return timeByTimeId;}public void setTimeByTimeId(Time timeByTimeId) { this.timeByTimeId = timeByTimeId;}@ManyToOne@JoinColumn(name = "Truck_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false)public Truck getTruckByTruckId() { return truckByTruckId;}public void setTruckByTruckId(Truck truckByTruckId) { this.truckByTruckId = truckByTruckId;}@OneToOne@JoinColumn(name = "DriversShift_id", insertable = false, updatable = referencedColumnName = "id", nullable = false)public Driversshift getDriversshiftByDriversShiftId() { return driversshiftByDriversShiftId;}public void setDriversshiftByDriversShiftId(Driversshift driversshiftByDriversShiftId) {this.driversshiftByDriversShiftId = driversshiftByDriversShiftId;}@ManyToOne@JoinColumn(name = "User_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false)public User getUserByUserId() { return userByUserId;}public void setUserByUserId(User userByUserId) { this.userByUserId = userByUserId;}}@Entitypublic class Path { private int id; private double length;private Collection ordersesById; private Collection pointsById;@Id@GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) public int getId() {return id;}@Basic@Column(name = "Length", nullable = false, precision = 0) public double getLength() { return length;}public void setLength(double length) { this.length = length;}@Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Path path = (Path) o;if (id != path.id) return false;if (Double.compare(path.length, length)!=0)returnfalse;return true;}@OneToMany(mappedBy = "pathByPathId") public Collection getOrdersesById() { return ordersesById;}public void setOrdersesById(Collection ordersesById) { this.ordersesById = ordersesById;}@OneToMany(mappedBy = "pathByPathId") public Collection getPointsById() { return pointsById;}public void setPointsById(Collection pointsById) { this.pointsById = pointsById;}}@Entitypublic class Point { private int id; private int mapId; private int pathId; private Map mapByMapId; private Path pathByPathId;private Collection pointHasCargos;@Id@GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) public int getId() { return id;}}©Basic©Column(name = "Map_id", nullable = false)public int getMapId() { return mapId;}public void setMapId(int mapId) { this.mapId = mapId;}©Basic©Column(name = "Path_id", nullable = false) public int getPathId() { return pathId;}public void setPathId(int pathId) { this.pathId = pathId;}©OneToMany(mappedBy = "pointByPointId")public Collection getPointsHasCargoById() { return pointHasCargos;}public void setPointsHasCargoById(Collection pointHasCargos){this.pointHasCargos = pointHasCargos;}©Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Point point = (Point) o;if (id != point.id) return false; if (mapId != point.mapId) return false;if (pathId != point.pathId) return false;return true;}©Overridepublic int hashCode() { int result = id; result = 31 * result + mapId;result = 31 * result + pathId;return result;@ManyToOne@JoinColumn(name = "Map_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Map getMapByMapId() { return mapByMapId;}public void setMapByMapId(Map mapByMapId) { this.mapByMapId = mapByMapId;}@ManyToOne@JoinColumn(name = "Path_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Path getPathByPathId() { return pathByPathId;}public void setPathByPathId(Path pathByPathId) { this.pathByPathId = pathByPathId;}}@Entitypublic class PointHasCargo { private int id; private int cargoId; private int pointId; private boolean status;private Cargo cargo; private Point point;@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}@Basic@Column(name = "CargoId", nullable = true, length = 45) public int getCargoId() { return cargoId;}public void setCargoId(int cargoId) { this.cargoId = cargoId;}@Basic@Column(name = "PointId", nullable = true, length = 45) public int getPointId() { return pointId;}@Basic@Column(name = "Status", nullable = true)public boolean getStatus() { return status;}public void setStatus(boolean status) { this.status = status;}@ManyToOne@JoinColumn(name = "CargoId", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Cargo getCargoByCargoId() { return cargo;}public void setCargoByCargoId(Cargo cargo) { this.cargo = cargo;}@ManyToOne@JoinColumn(name = "PointId", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Point getPointByPointId() { return point;}public void setPointByPointId(Point point) { this.point = point;}@Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false; PointHasCargo that = (PointHasCargo) o; if (id != that.id) return false; return true;}@Overridepublic int hashCode() { int result = id;return result;}}@Entitypublic class Time { private int id; private String begin;private String end;private Collection ordersesById;©Id©GeneratedValue(strategy = GenerationType.IDENTITY)©Column(name = "id", nullable = false) public int getId() { return id;}public void setId(int id) { this.id = id;}©Basic©Column(name = "Begin", nullable = false) public String getBegin() { return begin;}public void setBegin(String begin) { this.begin = begin;}©Basic©Column(name = "End", nullable = true) public String getEnd() { return end;}public void setEnd(String end) { this.end = end;}©Overridepublic boolean equals(Object o) { if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Time time = (Time) o;if (id != time.id) return false;if (begin != null ?!begin.equals(time.begin):time.begin != null)return false;if (end != null ?!end.equals(time.end):time.end != null) returnfalse;return true;}©Overridepublic int hashCode() { int result = id;result = 31 * result + (begin != null ? begin.hashCode() : 0); result = 31 * result + (end != null ? end.hashCode() : 0); return result;}©OneToMany(mappedBy = "timeByTimeId") public Collection getOrdersesById() { return ordersesById;}public void setOrdersesById(Collection ordersesById) {this.ordersesById = ordersesById;@Entitypublic class Truck {private String id; private int size; private boolean status; private int driverDesc; private int mapId;private Collection ordersesById; private Map mapByMapId;@Id@Column(name = "id", nullable = false, length = 7) public String getId() { return id;}public void setId(String id) { this.id = id;}@Basic@Column(name = "Size", nullable = false) public int getSize() { return size;}public void setSize(int size) { this.size = size;}@Basic@Column(name = "Status", nullable = false) public boolean getStatus() { return status;}public void setStatus(boolean status) { this.status = status;}@Basic@Column(name = "Driver_desc", nullable = false) public int getDriverDesc() { return driverDesc;}public void setDriverDesc(int driverDesc) { this.driverDesc = driverDesc;}@Basic@Column(name = "Map_id", nullable = false) public int getMapId() { return mapId;}public void setMapId(int mapId) { this.mapId = mapId;@Overridepublic boolean equals(Object o) { if(this == o) return true;if(o == null || getClass() != o.getClass())returnfalse;Truck truck = (Truck) o;if (size != truck.size) return false; if (status != truck.status) return false; if (driverDesc != truck.driverDesc) return false; if(mapId != truck. mapId) return false;if(id != null ?!id.equals(truck.id):truck.id!=null) return false;return true;}@Overridepublic int hashCode() {int result = id != null ? id.hashCode() :0;result =31*result+size;result =31*result+driverDesc;result =31*result+mapId;return result;}@OneToMany(mappedBy = "truckByTruckId") public Collection getOrdersesById() { return ordersesById;}public void setOrdersesById(Collection ordersesById) { this.ordersesById = ordersesById;}@ManyToOne@JoinColumn(name = "Map_id", insertable = false, updatable = false, referencedColumnName = "id", nullable = false) public Map getMapByMapId() { return mapByMapId;}public void setMapByMapId(Map mapByMapId) { this.mapByMapId = mapByMapId;}}@Service@Transactional@Lazypublic class CargoImpl implements CargoService { private CargoRepository cargoRepository;private PointHasCargoRepository pointHasCargoRepository;@Autowiredpublic CargoImpl(CargoRepository cargoRepository, PointHasCargoRepository pointHasCargoRepository){ Assert.notNull(cargoRepository, "cargoRepository must not be null!"); this.cargoRepository = cargoRepository;this.pointHasCargoRepository = pointHasCargoRepository;public Cargo addCargo(Cargo cargo) {Cargo savedCargo = cargoRepository.save(cargo);return savedCargo;}public void delete(int id) {cargoRepository.delete(id);}©Transactional(readOnly = true) public Cargo getByName(Integer id) {return cargoRepository.findOne(id);}public Cargo editCargo(Cargo cargo) {return cargoRepository.save(cargo);}©Transactional(readOnly = true) public Iterable getAll() {return cargoRepository.findAll();}©Transactional(readOnly = true) public ListgetByName(String name){return cargoRepository.findCargos(name);}public void bindCargotoPoint(List cargoDTOs, HashMappoints){for(CargoDTO cargoDTO:cargoDTOs) {PointHasCargo pointHasCargo = new PointHasCargo();Cargo cargo = new Cargo();cargo.setName(cargoDTO.getNameCargo());cargo.setStatus(0);cargo.setWeight(Double.parseDouble(cargoDTO.getWeightCargo())); Cargo cargoSaved =cargoRepository.save(cargo);int cargoId = cargoSaved.getId(); int cargoIn = points.get(cargoDTO.getInCity()); int cargoOut = points.get(cargoDTO.getOutCity());pointHasCargo.setPointId(cargoIn);pointHasCargo.setCargoId(cargoId);pointHasCargo.setStatus(true);pointHasCargoRepository.save(pointHasCargo);pointHasCargo = new PointHasCargo(); pointHasCargo.setCargoId(cargoId); pointHasCargo.setPointId(cargoOut); pointHasCargo.setStatus(false); pointHasCargoRepository.save(pointHasCargo);}}@Transactional@Service("userDetailsService")public class CustomUserDetailsServiceIm.pl implements UserDetailsService { @Autowiredprivate UserRepository userDao;@Transactional(readOnly=true)public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException {alex.truckapp.entitys.User user = userDao.findUserByLogin(username); List authorities = buildUserAuthority(user.getRoleByRoleId());return buildUserForAuthentication(user, authorities);}private User buildUserForAuthentication(alex.truckapp.entitys.User user, List authorities) {return new User(user.getLogin(), user.getPassword(), true, true, true, true, authorities);}private List buildUserAuthority(Role userRoles) {Set setAuths = new HashSet();setAuths.add(new SimpleGrantedAuthority(userRoles.getName()));List Result = new ArrayList(setAuths);return Result;}}@Service@Transactional@Lazypublic class DriverServiceImpl implements DriverService { private DriverRepository driverRepository; private ConverterForView converterForView; private UserService userService;private DriverHasShift driverHasShift; private DriverStatRepository driverStatRepository; private DriverPlanRepository driverPlanRepository; private DriverShiftRepository driverShiftRepository; private DriverHasShift driverHasDriversshift;private static final Logger logger =Logger.getLogger(DriverServiceImpl.class);@Autowiredpublic DriverServiceImpl(DriverRepository driverRepository , ConverterForView converterForView,UserService userService, DriverHasShiftdriverHasShift,DriverStatRepository driverStatRepository, DriverPlanRepository driverPlanRepository, DriverShiftRepository driverShiftRepository,DriverHasShift driverHasDriversshift){this.driverRepository = driverRepository; this.converterForView = converterForView; this.userService = userService;this.driverHasDriversshift = driverHasDriversshift; this.driverHasShift = driverHasShift; this.driverStatRepository =driverStatRepository; this.driverPlanRepository = driverPlanRepository; this.driverShiftRepository= driverShiftRepository;}@Transactional(readOnly = true) public DriverDTO getDriverByLogin(String login){User user = userService.findByLogin(login); if ( user !=){if (user.getDriverId() != null){Driver driver = user.getDriverByDriverId(); return new DriverDTO(driver);}}return null;}@Transactional(readOnly = true) public DriverDTO getDriverById(int id){Driver driver = driverRepository.findByDriverId( id);DriverDTO driverDTO = null; if(driver!=null){driverDTO = new DriverDTO(driver);}return driverDTO;}@Transactional(readOnly = true) public Driver getDriverEntById(int id){return driverRepository.findByDriverId( id);}@Transactional(readOnly = true) public List getAllDrivers(){returnconverterForView.driverEntityToDriverView(driverRepository.getAllDrivers());}public int addDriver(DriverDTO driverDTO){Driversplan driversplan;Driver driver = converterForView.driverViewToDriver(driverDTO); try {driver = driverRepository.save(driver);userService.addUser(converterForView.driverViewToUser(driverDTO), driver.getId());for(int i = 1 ; i<13 ; i++){driversplan = new Driversplan(); driversplan.setDriverId(driver.getId()); driversplan.setMonth(i); driversplan.setWorkTime(0); driverPlanRepository.save(driversplan);}}catch (Exception e){logger.error("database error"); return -1;}return driver.getId();}©Transactional(readOnly = true)public List getFilteredDrivers(String param){try{int idNumber = Integer.parseInt(param); returnconverterForView.driverEntityToDriverView(driverRepository.getDriversById(idNumb er));}catch (Exception e){logger.error("integer format error"); returnconverterForView.driverEntityToDriverView(driverRepository.getDriversByLastNameO rName(param+"%"));}}public boolean deleteDriver(String id){try {int driverId = Integer.parseInt(id); for (DriverHasDriversshift driverHasDriversshift:driverRepository.getDriversById(driverId).get(0).getDriver HasDriversshiftsById()){driverHasShift.delete( driverHasDriversshift);}for(Driverstatdriverstat:driverRepository.getDriversById(driverId).get(0).getDriverstatsById()){driverStatRepository.delete(driverstat);}userService.delUser(driverRepository.getDriversById(driverId).get(0).getUserById ());driverRepository.delete(driverRepository.getDriversById(driverId).get(0));}catch (Exception e){logger.error("integer format error"); return false;}return true;}public boolean editDriver(DriverDTO driverDTO){try {driverRepository.save(converterForView.driverViewToDriver(driverDTO)); userService.editUser(converterForView.driverViewToUser(driverDTO)); return true;}catch (Exception e){logger.error("database error"); return false;}}public boolean addReview(DriverReviewDTO driverReviewDTO){driverReviewDTO.setCurrentNote(Integer.parseInt(driverReviewDTO.getNoteString()) );try {driverStatRepository.save(converterForView.driverReviewToDriverStat(driverReviewDTO));return true;}catch (Exception e){logger.error("database error"); return false;}}@Transactional(readOnly = true) public DriverReviewDTO getReview(int id){Driver driver =driverRepository.findByDriverId(id); ArrayListallReviews = new ArrayList(); float average= ; for(int i = 0 ; i<3 ; i++){allReviews.add(i+": We have no reviews for this driver");}for(Driverstat driverstat : driver.getDriverstatsById()){allReviews.add(driverstat.getComment()); average = average + driverstat.getAccuracy();}DriverReviewDTO driverReviewDTO = new DriverReviewDTO(driver); driverReviewDTO.setSize(allReviews.size()-3);Collections.reverse(allReviews);Listsub = allReviews.subList(3,allReviews.size()); allReviews.removeAll(sub);if(driver.getDriverstatsById().size()!=0) {average = average / driver.getDriverstatsById().size();}float tmp = average * 10;average = (float)(int) ((tmp - (int) tmp) >= 0.5 ? tmp + 1 : tmp) / 10;driverReviewDTO.setAverage(average);driverReviewDTO.setCountOne((int)driverStatRepository.countNote(1, driver.getId()));driverReviewDTO.setCountTwo((int)driverStatRepository.countNote(2, driver.getId()));driverReviewDTO.setCountThree((int)driverStatRepository.countNote(3, driver.getId()));driverReviewDTO.setCountFour((int)driverStatRepository.countNote( 4, driver.getId()));driverReviewDTO.setCountFive((int)driverStatRepository.countNote(5, driver.getId()));driverReviewDTO.setAllReviews(allReviews); return driverReviewDTO;}@Transactional(readOnly = true) public List checkTime(long orderTime){List driverDTOs = new ArrayList();DateTime dateTime = new DateTime();DateTime monthCheck = new DateTime();monthCheck.plus(orderTime);if(dateTime.monthOfYear().get()==monthCheck.monthOfYear().get()){List idOfDrivers = driverPlanRepository.getDriverByTime(dateTime.monthOfYear().get(),orderTime); for(int i = 0 ; i idOfDrivers = driverPlanRepository.getDriverByTime(dateTime.monthOfYear().get(),timeOne); for(int i = 0 ; i driverDTOs, Listtimes) {int i = 0;for(DriverDTO driverDTO:driverDTOs){while( igetCheckedDriver(List driverDTOs, String city) {ListdriverDTOList = new ArrayList(); for(DriverDTO driverDTO : driverDTOs){if(driverDTO.getStatus().equals("Free")&&driverDTO.getCity().equals(city)){driverDTOList.add(driverDTO);}}return driverDTOList;}public int addDriverShift(){Driversshift driversshift = new Driversshift();Driversshift driversshiftSaved = driverShiftRepository.save(driversshift); return driversshiftSaved.getId();}public void updateDriverShift(ListdriverDTOs, int shift){for(DriverDTO driverDTO: driverDTOs) {DriverHasDriversshift driverHasDriversshift = new DriverHasDriversshift();driverHasDriversshift.setCurrent(true);driverHasDriversshift.setDriverId(driverDTO.getId());driverHasDriversshift.setDriversShiftId(shift);driverHasDriversshift.setDriverByDriverId(driverRepository.findByDriverId(driver DTO.getId()));driverHasDriversshift.setDriversshiftByDriversShiftId(driverShiftRepository.getB yIdShift(shift));driverHasShift.save(driverHasDriversshift);}}@Service@Transactional@Lazypublic class OrderServiceImpl implements OrderService! private OrderRepository orderRepository; private PathRepository pathRepository; private PointRepository pointRepository; private TimeRepository timeRepository; private MapRepository mapRepository; private UserService userservice; private ConverterForView converterForView; private static final Logger logger =Logger.getLogger(OrderServiceImpl.class);@Autowiredpublic OrderServiceImpl(OrderRepository orderRepository , PathRepository pathRepository, PointRepository pointRepository, TimeRepository timeRepository, MapRepository mapRepository,UserService userservice, ConverterForView converterForView){this.orderRepository = orderRepository; this.pathRepository = pathRepository; this.pointRepository = pointRepository; this.timeRepository = timeRepository; this.mapRepository = mapRepository; this.userservice = userservice; this.converterForView = converterForView;}public boolean deleteOrder(Orders order){try {orderRepository.delete(order); return true;}catch (Exception e){logger.error("database error"); return false;}}ПРИЛОЖЕНИЕ 2Инструкция для системного администратораУТВЕРЖДАЮДОЛЖНОСТНАЯ ИНСТРУКЦИЯ системного администратораОБЩИЕ ПОЛОЖЕНИЯНастоящая должностная инструкция определяет функциональныеобязанности, права и ответственность системного администратора- безопасника (далее администратор) " (далее -"организация").Администратор назначается на должность и освобождается от должности в установленном действующим трудовым законодательством порядке приказом руководителя организации.Администратор подчиняется непосредственно руководителю технического отдела организации.На должность администратор назначается лицо, имеющее:Среднее профессиональное образование без предъявления требований к стажу работы или стаж работы по похожей специальности не менее 3 лет.Администратор должен знать:нормативные правовые акты, методические материалы по вопросам защиты информации;средства вычислительной техники, коммуникаций и связи;правила и нормы охраны труда.администратор должен уметь:работать с системами linux и windows на уровне продвинутого пользователя;подключать и устанавливать различное компьютерное оборудование;настраивать сервера.ФУНКЦИОНАЛЬНЫЕ ОБЯЗАННОСТИСистемному администратору необходимо:Выполнять установленные требования по резервному копированию данных компьютерной сети. Если копирование выполняются автоматически, то контролировать данный процесс.Оперативно и эффективно реагировать на события, таящие угрозу.Оперативно реагировать на обращения пользователей.Производить работу идентификационными данными пользователей:данные для новых сотрудников выдавать только после согласования с отделом кадров;при увольнении сотрудника, его данные должны быть заблокированы в течение 24 часов;гарантировать обязательность процедуры идентификации и аутентификации для доступа к сетевым ресурсам;все данные хранить в защищенном виде, и доступ к ним должен быть только у системного администратора.Внимательно подходить к определению полномочий пользователей по доступу к ресурсам компьютерной сети.Использовать проверенные средства аудита и обнаружения подозрительных ситуаций.Присутствовать при установке какого-либо оборудования сторонней фирмой.Соблюдать порядок в серверной.Периодически проверять работоспособность оборудования по защите информации.За несколько часов до проведения переговоров проверять работает ли всё оборудование по защите информации в необходимом помещении.Следить за новинками в области информационной безопасности, сообщать о них пользователям и руководству.ПРАВААдминистратор имеет право:Требовать от руководства организации оказания содействия в исполнении своих обязанностей.Повышать свою квалификацию.Знакомиться с проектами решений руководства организации, касающимися его деятельности.Представлять на рассмотрение своего непосредственного руководителя предложения по вопросам своей деятельности.Получать от работников организации информацию, необходимую для осуществления своей деятельности.Принимать решения и отдавать указания для решения оперативных вопросов организации производства.Настоящая должностная инструкция разработана в соответствии с(наименование, номер и дата документа) СОГЛАСОВАНО:Юрисконсульт(подпись) (Ф.И.О.)С инструкцией ознакомлен:(подпись) (Ф.И.О.)Должностная инструкция кассирамДОЛЖНОСТНАЯ ИНСТРУКЦИЯ кассира-бухгалтераОБЩИЕ ПОЛОЖЕНИЯНастоящая должностная инструкция определяет функциональные обязанности, права и ответственность кассира-бухгалтера(далее кассир)(далее - "организация").Кассир назначается на должность и освобождается от должности в установленном действующим трудовым законодательством порядке приказом руководителя организации. Диспетчер подчиняется непосредственно финансовому директору организации.На должность кассир назначается лицо, имеющее:Среднее профессиональное образование по специальности бухгалтерский учет и проработавшее в данной фирме не менее 2 лет.Кассир должен знать: нормативные правовые акты, методические материалы по бухгалтерии;специализацию подразделений организации и производственные связи между ними;ФУНКЦИОНАЛЬНЫЕ ОБЯЗАННОСТИКассир:Не допускать проникновения посторонних во внутреннее помещение кассы.Прежде чем открывать дверь в кассу обязательно посмотреть по видео связи, кто пытается войти.При уходе с рабочего места необходимо:закрывать окно кассы;блокировать компьютер.Информировать администраторов или руководство о нарушениях безопасности и иных подозрительных ситуациях.Не совершать неавторизованную работу с данными.Регулярно менять пароли. Не записывать их на бумаге и не сообщать другим лицам.При проведении инкассации:помещение кассы должно быть закрытов помещении не должно быть никого, кроме кассиров и инкасаторов.Уходя с работы, необходимо:закрывать все окна и дверивыключать все оборудованиеубирать денежные средства и все документы в сейфПри утере ключей или смарт-карты немедленно сообщать руководству.Никому не передавать ключи или смарт-карту от помещения кассы (даже сотрудникам организации).РЕЖИМ РАБОТЫРежим работы диспетчера определяется в соответствии с Правилами внутреннего трудового распорядка, установленными в организации.Настоящая должностная инструкция разработана в соответствии с(наименование, номер и дата документа) СОГЛАСОВАНО:Юрисконсульт(подпись) (Ф.И.О.)С инструкцией ознакомлен:(подпись) (Ф.И.О.)


Нормативные документы
1. ГОСТ 34.003-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Термины и определения
2. ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания
3. ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.
4. ГОСТ Р ИСО 15489-1-2001 СИБИД. Управление документами. Общие требования
5. ГОСТ Р ИСО 15489-1-2007 «Система стандартов по информации, библиотечному и издательскому делу. Управление документами. Общие требования» - М.: Госстандарт России: Издательство стандартов, 2007.
6. Методология функционального моделирования IDEF0, Руководящий документ, Госстандарт России.

Научные источники
7. Аникин, Б.А. Логистика [Текст] / Б.А. Аникин. - М.:Проспект, 2012 -301 с.
8. Логистика : интеграция и оптимизация логистических бизнес - процессов в целях поставок [Текст ] / В. В. Дыбская - Москва : Эксмо, 2014 -154 с.
9. Логистика снабжения: учебник [Текст ] / В.И. Сергеев, И.П. Эляшевич. - Москва : Юрайт, 2014 -144 с.
10. Логистика производства: теория и практика : учебник [Текст] / В.А. Волочиенко, Р.В. Серышев. - Москва: Юрайт, 2014 -34 с.
11. Логистика и управление цепями поставок: учебник [Текст] / [В.В. Щербаков ] - Москва : Юрайт, 2015 -95 с.
12. Хорошилов А. В., Селетков С. Н. Мировые информационные ресурсы. СПб.: Питер, 2011
13. Трояновский В. М. Проектирование информационных систем. Курс лекций. М.: МИЭТ, 2012.
14. Астахова И.Ф., Толстобров А. П. , Мельников В. М. SQL в примерах и задачах: Учеб. пособие. - Мн.: Новое знание,2002.
15. Бейли Л., Моррисон М. Изучаем PHP и MySQL. Пер. с англ. – М: Эксмо, 2010. –800 с.
16. Бер Бибо, Иегуда Кац. Подробное руководство по продвинутому JavaScript. - Символ-Плюс, 2011. – 347 с.
17. Варфел Т.З. Прототипирование. Практическое руководство/Т.З.Варфел, М.: Вильямс, 2011 – 456 с.
18. Джен Л. Харрингтон. Проектирование реляционных баз данных. Просто и доступно. –М.: Изд–во "Лори", 2000. –230 с.: ил.
19. Домарев В.В. Безопасность информационных технологий. Методология создания систем за¬щиты. - М.: ДиаСофт, 2002. - 693 с.
20. Досмухамедов Б.Р. Анализ угроз информации систем электронного документооборота // Компьютерное обеспечение и вычислительная техника. - 2009. - № 6. - С. 140-143.
21. Информационные технологии в обеспечении нового качества высшего образования: сб. науч. статей / Всероссийская научно-практическая конференция «Информационные технологии в обеспечении нового качества высшего образования». - М. : МИСиС, 2010. - 312 с.
22. Каменева Е. ЭЦП и электронное согласование проектов документов с использованием ЛВС / Екатерина Каменева // Делопр-во и документооборот на предприятии. - 2009. - № 9. - C. 48-56.
23. Кочуров В.А. Современные базы данных. –Мн.: Дизайн ПРО, 2008. –160 с.: ил.
24. Леоненков А.В. Самоучитель UML. - СПб: БХВ - Петербург, 2002.
25. Липаев В.В. Управление разработкой программных средств. - М.: Финансы и статистика, 2009.
26. Ловцов, Д.А. Проблемы правового регулирования электронного документооборота / Д.А. Ловцов // Делопроизводитель. - 2008. - № 5.
27. Макарова Н.В. Компьютерное делопроизводство: учеб. курс / Н.В. Макарова, Г.С. Николай- чук, Ю.Ф. Титова. - СПб.: Питер, 2005. - 411 с.
28. Малофеев С.О применении электронной цифровой подписи в электронном документообороте / С. Малофеев // Секретарское дело. - 2009. - № 7. - C. 24-28.
29. Малыхина М.П. Базы данных: основы, проектирование, использование. –Спб.: БХВ-Петербург, 2004. –512 с.: ил.
30. Рагулин П.Г. Дипломное проектирование: прикладная информатика в экономике: учебное пособие. / П.Г. Рагулин. – Владивосток: Издательство Дальневосточного университета, 2009. – 224 с.
31. Робин Н. Создаем динамические веб-сайты с помощью PHP, MySQL. - Питер, 2011. – 235 с.
32. Скотт Д.М. Новые правила маркетинга и PR. Как использовать социальные сети, блоги, подкасты и вирусный маркетинг для непосредственного контакта с покупателем/Д.М.Скотт, М.: Альпина Паблишер, 2013 – 352 с.
33. Смирнова Г.Н. Проектирование экономических информационных систем. / под общ. ред. Ю.Ф. Тельнова. – М. : Финансы и статистика, 2011. – 512 с.
34. Стив Суэринг, Тим Конверс, Джойс Парк - PHP и MySQL. Библия программиста. - Диалектика, 2010. – 246 с.
35. Трояновский В. М. Проектирование информационных систем. Курс лекций. М.: МИЭТ, 2012.
36. Ульман Л. MySQL [Текст] / Л. Ульман. – СПб. : Питер, 2004. – 352 с.
37. Успенский И. Энциклопедия Интернет бизнеса [Текст] / И.Успенский. – СПб. : Питер, 2000. – 432 с.

Электронные источники

38. Ларин, М.В. Проблемы совершенствования документационного обеспечения управления в современных условиях / М.В. Ларин // Сайт «АКДИ Экономика и жизнь». [Электронный ресурс]. - http://www.akdi.ru.
39. Планирование перевозок [Электронный документ]. (http: //studme.org/41419/logistika/algoritm_planirovaniya_transportirovki).
40. Построение Enterprise приложения [Электронный документ].(http://java-course.ru/student/book2/scheme/).
41. 16.О транспортных компаниях [Электронный документ]. (http://ru.s2b- group.net/mdex.php/mdex?transHt=road). Проверено 12.01.2017.
42. Построение Enterprise приложения [Электронный документ].(http://java-course.ru/student/book2/scheme/). Проверено 12.01.2019.
43. Планирование перевозок [Электронный документ].(http: //studme.org/41419/logistika/algoritm_planirovaniya_transportirovki ). Проверено 12.01.20197.
44. Разработка приложения [Электронный документ].(https://netbeans.org/kb/docs/javaee/ecommerce/design.html). Проверено 12.01.2019.
45. Транспортная логистика [Электронный документ]. (http://www.vdnk.ru/site/ru/transport-articles/transport-logistics).Проверено 12.01.2019.

Вопрос-ответ:

Какие особенности имеет организационная структура управления предприятием?

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

Какие задачи автоматизации необходимо решить на предприятии?

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

Какой выбор комплекса задач автоматизации оправдан для данного предприятия?

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

Какая программная и техническая архитектура используется на предприятии?

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

Какие задачи автоматизации решает разрабатываемое программное обеспечение?

Разрабатываемое программное обеспечение решает следующие задачи: [перечисление задач].

Какая организационная структура управления предприятием?

Организационная структура управления предприятием включает следующие подразделения: [перечисление подразделений и их функции].

Какова техническая архитектура информационной системы предприятия?

Техническая архитектура информационной системы предприятия состоит из следующих компонентов: [перечисление компонентов и их функции].

Какие характеристики предприятия определяются в аналитической части разработки прототипа ПО?

В аналитической части разработки прототипа ПО определяются характеристики предприятия, включая его деятельность, организационную структуру управления и программно-техническую архитектуру ИС.

Какие задачи и почему необходимо автоматизировать?

Необходимость автоматизации связана с решением следующих задач: [перечисление задач] и обосновывается предполагаемыми выгодами и преимуществами автоматизации.

Каковы основные аспекты технико-экономической характеристики предметной области и предприятия при разработке прототипа программного обеспечения?

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

Каким образом выбираются комплекс задач для автоматизации и как они характеризуются?

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

Какова организационная структура управления предприятием и как она влияет на разработку прототипа программного обеспечения?

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