РАЗРАБОТКА СЦЕНАРИЕВ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ



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

 

Сценарий добавления нового пользователя

Сценарий описывает добавления пользователя в базу.

1. На главной странице переходим к списку пользователей.

2. В открывшемся окне нажимаем «Добавить».

3. Заполняем форму с данными и пользователе и жмем «Добавить»

Результат – пользователь успешно добавлен в базу.

 

Сценарий удаления пользователя

Сценарий описывает удаление пользователя.

1. На главной странице переходим к списку пользователей.

2. Из представленного списка или с помощью поиска выбираем необходимого пользователя.

3. Нажимаем “Удалить”.

Результат – пользователь успешно удален.

 

Сценарий изменения данных о пользователе

Данный сценарий описывает редактирование данных о пользователе.

1. На главной странице переходим к списку пользователей.

2. Из представленного списка или с помощью поиска выбираем необходимого пользователя.

3. Нажимаем “Изменить”.

4. Далее в появившемся окне редактирования изменяем интересующие нас данные.

5. Жмем “Изменить”.

Результат – изменения успешно применены.

 

Сценарий добавления новой лицензии

Сценарий описывает процесс добавления новой лицензии в пул.

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

2. В открывшемся окне нажимаем «Добавить».

3. Заполняем форму с данными и пользователе и жмем «Добавить»

Результат – лицензия успешно добавлена в пул.

 

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

Сценарий описывает процесс просмотра информации о конкретной лицензии данного пользователя.

1. На главной странице переходим к списку пользователей.

2. Из представленного списка или с помощью поиска выбираем необходимого пользователя.

3. Выбираем необходимый компьютер, связанный с данным пользователем.

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

Результат –просмотр информации о лицензии.

РАЗРАБОТКА КАРКАСА ПРИЛОЖЕНИЯ И СВЯЗЬ С БД

Для разработки приложения использовалась база данных SQLServer, доступ к ней осуществляется посредством использования Entity Framework (EF) — ORM-платформы .NET. ПлатформаORM позволяет работать с таблицами, столбцами и строками реляционной базы данных,используя обычные объекты С#. Использование Entity Framework было выбрано по ряду причин Во-первых, она проста и ее легко привести в рабочее состояние. Во-вторых, она прекрасно интегрирована с LINQ. В-третьих, она действительно достаточно хороша. Более ранним версиям были присущи недостатки, но текущие версии очень изящны и предоставляют большие функциональные возможности.

 

Отображение

Подключение к созданной базе данных хранится в файле Web.config.

<connectionStrings> <addname="EFDbContext"connectionString="Data Source=WINCROFF;Initial Catalog=SrortStore;Integrated Security=True;Pooling=False;User ID=adam;Password=adam"providerName="System.Data.SqlClient" /> <addname="DefaultConnection"providerName="System.Data.SqlClient"connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebUI-20140407140556;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebUI-20140407140556.mdf" /> </connectionStrings>

Подключение к базе данных

 

Теперь нам надо создать класс нашего хранилища. Он будет реализовать интерфейс IProductsRepositoryи использует экземпляр EFDbContextдля получения данных из базы данных посредством EntityFramework.

 

usingSportsStore.Domain.Abstract; usingSportsStore.Domain.Entities; using System; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks;   namespaceSportsStore.Domain.Concrete { publicclassEFProductRepository:IProductRepository { privateEFDbContext context = newEFDbContext(); publicIQueryable<Product>Products {get {returncontext.Products;}} }

 

Теперь наше приложение отображает данные следующим образом на рис. 3.1.

 

Рисунок. 3.1 Отображение списка из базы данных

 

Редактирование

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

 

 

@model IEnumerable<SportsStore.Domain.Entities.Product>   @{ ViewBag.Title = "Products"; }   @foreach (var p in Model) { using (Html.BeginForm()) { <divclass="item"> <h3>@Html.EditorFor(x =>p.ProductId) @Html.EditorFor(x =>p.Name) @Html.EditorFor(x =>p.Category) @Html.EditorFor(x =>p.Price) @Html.EditorFor(x =>p.Description)</h3> <inputclass=" actionButton "type="submit"value=" Save "/> </div> } }

 

В файле ProductController.csобработка события нажатия клавиши Save.

[HttpPost] publicRedirectToRouteResultList(Domain.Entities.Productp)    { repository.SetProduct(p); returnRedirectToAction("List"); }

 

Функцию SetProductописываем в файле EFProductRepository, для этого вначале объявили её в файле IProductsRepository.

 

publicvoidSetProduct(Product d) { ProductOldProduct = context.Products.FirstOrDefault(x =>x.ProductId == d.ProductId); if (OldProduct == null) return;   OldProduct.Name = d.Name; OldProduct.Price = d.Price; OldProduct.Description = d.Description; OldProduct.Category = d.Category; context.SaveChanges(); }

 

После внесенных изменений приложение приобретает следующий вид, показанный на рисунке 3.2.

Рисунок. 3.2 Редактирование загруженных из базы данных записей


 

ЛОГИРОВАНИЕ

Логирование – учет и запись некоторых событий в каком-либо виде, например, в текстовый файл. Для установки в проект этой функции используется менеджер пакетов NuGet, в котором выбирается установщик пакетов логирования NLog. После этого в проекте автоматически создаются ссылки на нужные объекты и для того, чтобы логирование заработало необходимо модифицировать файл Web.configи контроллер, который в нашем случае называется ProductController.cs.

 

<configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <sectionname="entityFramework"type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"requirePermission="false" /> <sectionname="nlog"type="NLog.Config.ConfigSectionHandler, NLog"/> </configSections>   <nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <targetname="info"xsi:type="File"fileName="D:\University\Универ\3 курс(семестр 2)\КонструированиеПО\Solution1\infolog.txt" layout="${longdate} ${callsite} ${level} ${message}"/> <targetname="errorFile"xsi:type="File"fileName="D:\University\Универ\3 курс(семестр 2)\КонструированиеПО\Solution1\errorlog.txt" layout="${exception:format=ToString,StackTrace}${newline}"/>   <targetname="Mail"xsi:type="Mail"html="true"subject="Error Received"body="${message}" to="TestNLog@yandex.ru" from="TestNLog@yandex.ru" Encoding="UTF-8" smtpUsername="TestNLog@yandex.ru" enableSsl="False" smtpPassword="TestTestTestTest" smtpAuthentication="Basic" smtpServer="smtp.yandex.ru" smtpPort="25" /> </targets> <rules> <loggername="*"level="Info"writeTo="info"/> <loggername="*"minlevel="Error"writeTo="errorFile"/> <loggername="*"minlevel="Error"writeTo="Mail"/> </rules>   </nlog>

ВыдержкаизфайлаWeb.config

 


Дата добавления: 2018-02-18; просмотров: 745; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!