Автоматизация работы техподдержки пользователей - Курсовая работа

бесплатно 0
4.5 91
Создание автоматизированной системы обработки заявок пользователей. Анализ требований к информационному, техническому и программному обеспечению. Проектирование интерфейса системы. Выбор средств реализации. Модель базы данных системы обработки заявок.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Оглавление Характеристика объекта автоматизации Краткое техническое задание на разработку автоматизированной системы Функциональная модель системы обработки заявок Модель базы данных системы обработки заявок Проектирование интерфейса Разработка системы. Выбор средств реализации Реализация Листинг основных классов программы Глоссарий Заключение Список использованных источников Характеристика объекта автоматизации Причин, по которым руководство остается недовольным качеством корпоративных информационных технологий (ИТ), много. Но даже тогда, когда проекты заканчиваются, становятся актуальными ежедневные вопросы, связанные с использованием ИТ, которые во многом формируют мнение о качестве работы ИТ: · К кому обращаться?. Процесс управления заявками пользователей призван обеспечить скорейшее восстановление предоставления ИТ-услуг на должном уровне. Требования к функциям системы: Система должна автоматизировано накапливать заявки пользователей в IT-отдел, автоматически сортировать их по проектам и исполнителям. Выбор средств реализации ASP.NET MVC - это платформа для разработки веб-приложений от Microsoft, которая сочетает в себе эффективность и аккуратность архитектуры «модель-представление-контроллер», новейшие идеи и приемы гибкой разработки, а также все лучшее из существующей платформы ASP.NET. Из наиболее распространенных СУБД для создания базы данных выбрана СУБД { public int Compare(Request x, Request y) { if(x.CurrentStatus y.CurrentStatus) { return 1; } else { if (x.CurrentStatus == Status.WaitingOpen_StatusCode && y.CurrentStatus == Status.WaitingOpen_StatusCode && x.Type == y.Type && x.PlanningTime y.PlanningOnDate) { return 1; } else { return 0; } } } } } } public class UserRequestComparer : IEqualityComparer { #region IEqualityComparer Members public bool Equals(Request x, Request y) { if (x.ReqID == y.ReqID) { if (x.CurrentStatus == y.CurrentStatus && x.ExecutorID == y.ExecutorID && x.PlanningOnDate == y.PlanningOnDate && x.PlanningCompleteDate==y.PlanningCompleteDate) { return true; } else { return false; } } else { return false; } } public int GetHashCode(Request obj) { return obj.GetHashCode(); } #endregion } [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] public class PlanningService : IService1 { private ServiceResponse Response =null; private List UserList = null; private static linqDataContext dc = null; private static ViolationsDataContext vdc= null; private RequestComparer ReqComparer = null; public PlanningService() { Response = new ServiceResponse(false, ); UserList = new List(); dc = new linqDataContext(); vdc = new ViolationsDataContext(); ReqComparer = new RequestComparer(); SOTRUD user = null; foreach (Sessions session in dc.Sessions) { user = dc.SOTRUD.SingleOrDefault(s => s.ID == session.EmployeeID); if (user != null) { if (user.ID_SOTRUD_DOLG.HasValue) { SetWorkDay(user.ID, user.ID_SOTRUD_DOLG.Value, false, session.DuringTime); } private static UsersList ContainerToUser(UserContainer uc) { SOTRUD CurrentSotr = dc.SOTRUD.Single(s=>s.ID==uc.UserID); return new UsersList { ID = CurrentSotr.ID, name = CurrentSotr.FIO, position = CurrentSotr.SOTRUD_DOLG.SOTRUD_DOLG1, BeginTime = uc.ComeTime.ToString(@hh\:mm\:ss) }; } private void AddViolation(Guid ReqID, string Type) { Violations V = new Violations{ Data=DateTime.Now, Request=ReqID, Type=Type }; vdc.Violations.InsertOnSubmit(V); vdc.SubmitChanges(); } public bool SetWorkDay(int id, int posID,bool itIsEnd, int minutes = 0) { if (!itIsEnd) UserContainer CurrentContainer = UserList.SingleOrDefault(s => s.UserID == id); if (CurrentContainer == null) { UserContainer NewContainer = new UserContainer(id, posID, dc); NewContainer.ComeTime = NewContainer.ComeTime.Subtract(new TimeSpan(0, minutes, 0)); try { foreach (Request r in NewContainer.ReqList.FindAll(r=>r.CurrentStatus>Status.Opened_StatusCode && r.PlanningOnDate.Dates.UserID==id); int DepID = dc.SOTRUD.Single(s=>s.ID==id).ID_OTD; Current.ReqList.ForEach(ListRequestHandlers.SetMinutesLeft); dc.SubmitChanges(); List lreq = dc.Request.Where(r=>r.PlanningOnDate.Date==DateTime.Now.Date && r.ExecutorID==Current.UserID).ToList(); TimeSpan WorkedTime = DateTime.Now.TimeOfDay.Subtract(Current.ComeTime); int RequestsPlanning = lreq.Count; int RequestsExecuted = lreq.Where(r=>r.CurrentStatus>=Status.Completed_StatusCode).Count(); List forgrade = lreq.Where(r=>r.grade.HasValue).ToList(); int ViolCount = vdc.Violations.Where(r => r.Re.PlanningOnDate.Date == DateTime.Now.Date && r.Re.ExecutorID == Current.UserID).Count(); double AvgGrade = 0; if (forgrade.Count > 0) { AvgGrade = forgrade.Average(a => a.grade.Value); } Tabel tab = new Tabel { BeginWorkTime = DateTime.Now.Subtract(WorkedTime), EndWorkTime = DateTime.Now, ExecutorID = Current.UserID, TimeOnBreak = Current.TimeInBreak, RequestsAssigned = RequestsPlanning, RequestsExecuted = RequestsExecuted, AverageGrade = Conv

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?