Разработка модуля «Калькулятор расчета страховки». Страхование жилья, медицинское страхование, страхование автомобиля.

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: C#
  • 42 42 страницы
  • 14 + 14 источников
  • Добавлена 13.06.2023
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
Введение 4
1.Аналитическая часть 6
1.1 Описание предметной области 6
1.2 Определение цели и задач проектирования 8
1.3 Обзор и анализ существующих разработок 9
1.4 Обоснование проектных решений по видам обеспечения 9
2.Практическая часть 11
2.1 Разработка функционального обеспечения 11
2.2 Разработка информационного обеспечения 12
2.3 Разработка программного обеспечения 15
Заключение 22
Список используемых источников 23
Приложение 25

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

Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceEnsCalc{public partial class frmClient : Form {privateCountDMSdms;publicfrmClient() {InitializeComponent(); }private void Client_FormClosed(object sender, FormClosedEventArgs e) {if (((frmLogin)Application.OpenForms[0]).agent != null)Close();elseApplication.OpenForms[0].Close(); }private void btnExit_Click(object sender, EventArgs e) {Close(); }private void button2_Click(object sender, EventArgs e) { // Поискклиентаподатеlongcid = ((frmLogin)Application.OpenForms[0]).client.id;DateTimedt = DateTime.Parse(tbxDate.Text);CountOSAGOosago = EnsureDBEntities.GetContext().CountOSAGO.FirstOrDefault(p => p.idClient == cid && p.cDate == dt);// Не нашли - создаем записьboolmustAdd = false;if (osago == null) {osago = new CountOSAGO(); mustAdd = true;osago.idClient = cid;osago.cDate = DateTime.Parse(tbxDate.Text); } // Еслиуказанагент, ставимтекущегоif (((frmLogin)Application.OpenForms[0]).agent != null)osago.idAgent = ((frmLogin)Application.OpenForms[0]).agent.id; // Устанавливаемкоэффициентырасчетаosago.tb = double.Parse(tbxBT.Text);osago.kt = double.Parse(tbxKT.Text);if (osago.OSAGO == null) // Создать группу коэффициентов если нет{osago.OSAGO = new OSAGO();osago.OSAGO.oDate = DateTime.Parse(tbxDate.Text); } // Установитькоэффициентыosago.OSAGO.kbm = double.Parse(tbxKBM.Text); osago.OSAGO.km = double.Parse(tbxKM.Text);osago.OSAGO.kvs = double.Parse(tbxKVS.Text);osago.OSAGO.ko = double.Parse(tbxKO.Text); osago.OSAGO.kp = double.Parse(tbxKP.Text);osago.OSAGO.ks = double.Parse(tbxKS.Text);if (mustAdd)EnsureDBEntities.GetContext().CountOSAGO.Add(osago);EnsureDBEntities.GetContext().SaveChanges(); }private void frmClient_Load(object sender, EventArgs e) { // Инициализацияформыlongcid = ((frmLogin)Application.OpenForms[0]).client.id;CountOSAGOosago = EnsureDBEntities.GetContext().CountOSAGO.FirstOrDefault(p => p.idClient == cid); Text = "Клиент " + ((frmLogin)Application.OpenForms[0]).client.Name + " " + ((frmLogin)Application.OpenForms[0]).client.Surn;if (osago != null) {DateTimedt = (DateTime)osago.cDate;tbxDate.Text = dt.ToShortDateString();tbxBT.Text = osago.tb.ToString();tbxKT.Text = osago.kt.ToString();tbxKBM.Text = osago.OSAGO.kbm.ToString();tbxKVS.Text = osago.OSAGO.km.ToString();tbxKO.Text = osago.OSAGO.ko.ToString();tbxKP.Text = osago.OSAGO.kp.ToString();tbxKS.Text = osago.OSAGO.ks.ToString();tbxKVS.Text = osago.OSAGO.kvs.ToString(); }elsetbxDate.Text = DateTime.Now.Date.ToShortDateString(); // Для DMS pack// dms = EnsureDBEntities.GetContext().CountDMS.// FirstOrDefault(p => p.idClient == cid && p.cDate == dt);Refresh_Grid(); }private void button3_Click(object sender, EventArgs e) {longcid = ((frmLogin)Application.OpenForms[0]).client.id;DateTimedt = DateTime.Parse(tbxDate.Text);switch (tcMain.SelectedIndex) {case 0: // Загрузить ОСАГО еслиестьданныеCountOSAGOosago = EnsureDBEntities.GetContext().CountOSAGO.FirstOrDefault(p => p.idClient == cid && p.cDate == dt);if (osago != null) {tbxBT.Text = osago.tb.ToString();tbxKT.Text = osago.kt.ToString();tbxKBM.Text = osago.OSAGO.kbm.ToString();tbxKVS.Text = osago.OSAGO.km.ToString();tbxKO.Text = osago.OSAGO.ko.ToString();tbxKP.Text = osago.OSAGO.kp.ToString();tbxKS.Text = osago.OSAGO.ks.ToString();tbxKVS.Text = osago.OSAGO.kvs.ToString(); }elseMessageBox.Show("Ненайдено", "Дата", MessageBoxButtons.OK);break;case 1:CountHouse house = EnsureDBEntities.GetContext().CountHouse.FirstOrDefault(p => p.idClient == cid && p.cDate == dt);if (house != null) {tbxInter.Text = house.House.interior.ToString();tbxNeig.Text = house.House.neighbors.ToString();tbxWall.Text = house.House.box.ToString();tbxMake.Text = house.House.neighborsFix.ToString();tbxPerc.Text = house.House.precipitationFix.ToString(); }elseMessageBox.Show("Ненайдено", "Дата", MessageBoxButtons.OK);break;case 2:dms = EnsureDBEntities.GetContext().CountDMS.FirstOrDefault(p => p.idClient == cid && p.cDate == dt);if (dms != null) {Refresh_Grid(); }elseMessageBox.Show("Ненайдено", "Дата", MessageBoxButtons.OK);break; } }private void button1_Click(object sender, EventArgs e) {double res = 0;switch (tcMain.SelectedIndex) {case 0:res = 1.0 * double.Parse(tbxBT.Text) * double.Parse(tbxKT.Text) *double.Parse(tbxKBM.Text) * double.Parse(tbxKM.Text) *double.Parse(tbxKVS.Text) * double.Parse(tbxKO.Text) *double.Parse(tbxKP.Text) * double.Parse(tbxKS.Text);break;case 1:res = double.Parse(tbxInter.Text) / 100 * double.Parse(tbxInterS.Text) +double.Parse(tbxNeig.Text) / 100 * double.Parse(tbxNeigS.Text) +double.Parse(tbxWall.Text) / 100 * double.Parse(tbxWallS.Text) +double.Parse(tbxMake.Text) + double.Parse(tbxPerc.Text);break;case 2:res = 0.0;IQueryable pack = EnsureDBEntities.GetContext().DMSPack.Where(p => p.idCount == dms.id);pack.Load();if (dms == null) break;foreach (var c in dms.DMSPack) {res += (double)c.DMS.koef * (double)c.DMS.maxsum; //MessageBox.Show(c.factor,"", MessageBoxButtons.OK); }break; }lblRes.Text = res.ToString(); }private void button4_Click(object sender, EventArgs e){ // Поискклиентаподатеlongcid = ((frmLogin)Application.OpenForms[0]).client.id;DateTimedt = DateTime.Parse(tbxDate.Text);CountHouse house = EnsureDBEntities.GetContext().CountHouse.FirstOrDefault(p => p.idClient == cid && p.cDate == dt);// Не нашли - создаем записьboolmustAdd = false;if (house == null) {house = new CountHouse(); mustAdd = true;house.idClient = cid;house.cDate = DateTime.Parse(tbxDate.Text); } // Еслиуказанагент, ставимтекущегоif (((frmLogin)Application.OpenForms[0]).agent != null)house.idAgent = ((frmLogin)Application.OpenForms[0]).agent.id;if (house.House == null) // Создать группу коэффициентов если нетhouse.House = new House(); // Установитькоэффициентыhouse.House.interior = double.Parse(tbxInter.Text);house.House.neighbors = double.Parse(tbxNeig.Text);house.House.box = double.Parse(tbxWall.Text);house.House.neighborsFix = double.Parse(tbxMake.Text);house.House.precipitationFix = double.Parse(tbxPerc.Text);if (mustAdd)EnsureDBEntities.GetContext().CountHouse.Add(house);EnsureDBEntities.GetContext().SaveChanges(); }private void gridPack_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {if (gridPack.Columns[e.ColumnIndex].Name == "DMSCol") {if (e.Value != null)e.Value = ((DMS)e.Value).factor;elsee.Value = "<отсутствует>"; } }private void Refresh_Grid() {IQueryable pack = EnsureDBEntities.GetContext().DMSPack.Where(p => p.idCount == dms.id);gridPack.AutoGenerateColumns = false;pack.Load();gridPack.DataSource = pack.ToList(); }private void button5_Click(object sender, EventArgs e) {CountDMScountdms = new CountDMS();countdms.idClient = ((frmLogin)Application.OpenForms[0]).client.id;countdms.cDate = DateTime.Parse(tbxDate.Text);if (((frmLogin)Application.OpenForms[0]).agent!=null)countdms.idAgent = ((frmLogin)Application.OpenForms[0]).agent.id;EnsureDBEntities.GetContext().CountDMS.Add(countdms);EnsureDBEntities.GetContext().SaveChanges(); }private void button6_Click(object sender, EventArgs e) {DMSPackdmspack;if (dms == null) {dms = new CountDMS();dms.idClient = ((frmLogin)Application.OpenForms[0]).client.id; ;dms.cDate = DateTime.Parse(tbxDate.Text); // Еслиуказанагент, ставимтекущегоif (((frmLogin)Application.OpenForms[0]).agent != null)dms.idAgent = ((frmLogin)Application.OpenForms[0]).agent.id; EnsureDBEntities.GetContext().CountDMS.Add(dms);EnsureDBEntities.GetContext().CountDMS.Add(dms); }foreach(var c in EnsureDBEntities.GetContext().DMS) {dmspack = new DMSPack();dmspack.idCount = dms.id;dmspack.idDMS = c.id;dmspack.Franchise = "N"; //MessageBox.Show(c.factor,"", MessageBoxButtons.OK);EnsureDBEntities.GetContext().DMSPack.Add(dmspack); }EnsureDBEntities.GetContext().SaveChanges();Refresh_Grid(); } }}МодульLogin.csusing System;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceEnsCalc{public partial class frmLogin : Form {public Clients client = null;public Agents agent = null;publicfrmLogin() {InitializeComponent(); }private void button1_Click(object sender, EventArgs e) {agent = EnsureDBEntities.GetContext().Agents.FirstOrDefault(p =>p.Login == tbxLogin.Text && p.PassWD == tbxPass.Text);if (agent != null) { newfrmAgent().Show();Hide();return; }client = EnsureDBEntities.GetContext().Clients.FirstOrDefault(p =>p.Login == tbxLogin.Text && p.PassWD == tbxPass.Text);if (client !=null) {newfrmClient().Show();Hide();return; }MessageBox.Show("Неугадал", "Отказ", MessageBoxButtons.OK);return; }private void button2_Click(object sender, EventArgs e) {Close(); }private void button3_Click(object sender, EventArgs e) {newfrmNewClient().ShowDialog(); //new frmNewAgent().ShowDialog(); // +D+ }private void frmLogin_Load(object sender, EventArgs e) {if (EnsureDBEntities.GetContext().Agents.Count() > 0) return;// Если нет агентов - первый запускHide();newfrmNewAgent().ShowDialog(); } }}МодульNewClient.csusing System;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceEnsCalc{public partial class frmNewClient : Form {publicfrmNewClient() {InitializeComponent(); }private void button1_Click(object sender, EventArgs e) {if (tbxLogin.Text == String.Empty ||EnsureDBEntities.GetContext().Clients.FirstOrDefault(p =>p.Login == tbxLogin.Text)!=null){MessageBox.Show("Имя пользователя не должно быть пустым \n" + "или уже существует", "Отказ", MessageBoxButtons.OK);return; } Clients client = new Clients();client.Login = tbxLogin.Text;client.PassWD = tbxPass.Text;client.Surn = tbxSurn.Text;client.Name = tbxName.Text;client.Midl = tbxMidl.Text;client.Birth = DateTime.Parse(tbxBirth.Text);client.Phone = tbxPhone.Text;client.eMail = tbxMail.Text;EnsureDBEntities.GetContext().Clients.Add(client);EnsureDBEntities.GetContext().SaveChanges();MessageBox.Show("Успешно", "Успех", MessageBoxButtons.OK); }private void button2_Click(object sender, EventArgs e) {Close(); }private void frmNewClient_Load(object sender, EventArgs e) {tbxBirth.Text = DateTime.Now.Date.ToShortDateString(); } }}МодульNewAgent.csusing System;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceEnsCalc{public partial class frmNewAgent : Form {publicfrmNewAgent() {InitializeComponent(); }private void button1_Click(object sender, EventArgs e) {if (tbxLogin.Text == String.Empty ||EnsureDBEntities.GetContext().Agents.FirstOrDefault(p =>p.Login == tbxLogin.Text)!=null){MessageBox.Show("Имя пользователя не должно быть пустым \n" + "или уже существует", "Отказ", MessageBoxButtons.OK);return; } Agents agent = new Agents();agent.Login = tbxLogin.Text;agent.PassWD = tbxPass.Text;agent.Surn = tbxSurn.Text;agent.Name = tbxName.Text;agent.Midl = tbxMidl.Text;agent.Phone = tbxPhone.Text;agent.eMail = tbxMail.Text;EnsureDBEntities.GetContext().Agents.Add(agent);EnsureDBEntities.GetContext().SaveChanges();MessageBox.Show("Успешно", "Успех", MessageBoxButtons.OK); }private void button2_Click(object sender, EventArgs e) {Close(); } }}МодульDMSList.csusing System;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.Entity;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceEnsCalc{public partial class frmDMS : Form {publicfrmDMS() {InitializeComponent(); }private void DMSList_Load(object sender, EventArgs e) {EnsureDBEntities.GetContext().DMS.Load();gridDMS.AutoGenerateColumns = false;gridDMS.DataSource = EnsureDBEntities.GetContext().DMS.Local.ToBindingList(); }private void button1_Click(object sender, EventArgs e) {Close(); }private void button2_Click(object sender, EventArgs e) { DMS dms = new DMS();dms.factor = "Новый";dms.koef = 1.0;dms.maxsum = 0;EnsureDBEntities.GetContext().DMS.Add(dms);EnsureDBEntities.GetContext().SaveChanges(); } }}

1. Страхование недвижимости: нужно ли оно. URL: https://www.domofond.ru/statya/strahovanie_nedvizhimosti_nuzhno_li_ono/100771
2. Онлайн калькулятор ОСАГО. URL: https://www.soglasie.ru/avto/kalkulyator-eosago/?sign=eyJpdiI6IlFYdmdRS25aajhnaWFjd29qTktXOUE9PSIsInZhbHVlIjoiXC9YdEtYb2NsSjkxN21pdDF6R21zbFN5S0c2a3NSbThyU2d2ajcwUTE4dXp1RVk3RW9ucDl3bTZuK1BcL01jdmorIiwibWFjIjoiNmQ0ZTZhYmZjMzdmOGYwYmIzMzRjZDYyNTYwMWUyMmRmMWVjM2UzOGYxYjRkMzU3ODAyMmE4NWNiNjBmMjY0YyJ9
3. Калькулятор страхования квартиры. URL: https://www.alfastrah.ru/individuals/housing/flat/calculator/?utm_referrer=https%3A%2F%2Fwww.google.com%2F
4. Стоимость страховки квартиры: от чего зависит и как рассчитывается. URL: https://pro-brokers.ru/articles/nedvizhimost/72822/
5. Калькулятор страхования квартиры. URL: https://www.ingos.ru/property/flat/calc.
6. Рассчитайте стоимость ДМС онлайн. URL: https://www.ingos.ru/health_life/dms/calc/?ysclid=lhfafq51u8778937499
7. ДМС с франшизой: когда имеет смысл оформить такой полис. URL: https://www.banki.ru/news/daytheme/?id=10981585
8. Microsoft® SQL Server® 2012 Express с пакетом обновления 3 (SP3). URL: https://www.microsoft.com/ru-ru/download/details.aspx?id=50003
9. SQL Server Management Studio (SSMS). URL: https://learn.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16
10. Что такое Visual Studio? URL: https://learn.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2022
11. Что такое C#: плюсы и минусы язык. URL: https://gb.ru/blog/chto-takoe-c/
12. Документация по C# [Электронный ресурс]. – URL: https://learn.microsoft.com/ru-ru/dotnet/csharp
13. TIOBE Index for May 2023. URL: https://www.tiobe.com/tiobe-index/
14. Диаграмма сущность-связь. URL: http://dit.isuct.ru/IVT/BOOKS/DBMS/DBMS14/ch_2_2.html