(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
USE [is_enterprises]
GO
ALTER TABLE [dbo].[order_postavshik] WITH CHECK ADD CONSTRAINT [FK_order_postavshik_postavshik] FOREIGN KEY([id_postavshik])
REFERENCES [dbo].[postavshik] ([id])
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[postavshik](
[id] [int] NOT NULL,
[organization] [varchar](50) COLLATE Cyrillic_General_CI_AS NULL,
[FIO] [varchar](50) COLLATE Cyrillic_General_CI_AS NULL,
[post] [varchar](20) COLLATE Cyrillic_General_CI_AS NULL,
[rab_telephone] [varchar](15) COLLATE Cyrillic_General_CI_AS NULL,
[mobile] [varchar](11) COLLATE Cyrillic_General_CI_AS NULL,
[faks] [nchar](10) COLLATE Cyrillic_General_CI_AS NULL,
[street] [varchar](20) COLLATE Cyrillic_General_CI_AS NULL,
[town] [varchar](15) COLLATE Cyrillic_General_CI_AS NULL,
[region] [varchar](20) COLLATE Cyrillic_General_CI_AS NULL,
[indeks] [nchar](10) COLLATE Cyrillic_General_CI_AS NULL,
[e_mail] [varchar](20) COLLATE Cyrillic_General_CI_AS NULL,
[comment] [varchar](max) COLLATE Cyrillic_General_CI_AS NULL,
CONSTRAINT [PK_postavshik] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[price](
[id] [int] NOT NULL,
[id_postavshik] [int] NOT NULL,
[id_equipment] [int] NOT NULL,
[price] [money] NULL,
[date_price] [datetime] NULL,
CONSTRAINT [PK_price] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [is_enterprises]
GO
ALTER TABLE [dbo].[price] WITH CHECK ADD CONSTRAINT [FK_price_equipment] FOREIGN KEY([id_equipment])
REFERENCES [dbo].[equipment] ([id])
GO
ALTER TABLE [dbo].[price] WITH CHECK ADD CONSTRAINT [FK_price_postavshik] FOREIGN KEY([id_postavshik])
REFERENCES [dbo].[postavshik] ([id])
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[uchastnik_act](
[id] [int] NOT NULL,
[id_act] [int] NOT NULL,
[id_employee] [int] NOT NULL,
[factor_uchastia] [float] NULL,
CONSTRAINT [PK_uchastnik_act] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [is_enterprises]
GO
ALTER TABLE [dbo].[uchastnik_act] WITH CHECK ADD CONSTRAINT [FK_uchastnik_act_act] FOREIGN KEY([id_act])
REFERENCES [dbo].[act] ([id])
GO
ALTER TABLE [dbo].[uchastnik_act] WITH CHECK ADD CONSTRAINT [FK_uchastnik_act_employee] FOREIGN KEY([id_employee])
REFERENCES [dbo].[employee] ([id])
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[line_act](
[id] [int] NOT NULL,
[id_act] [int] NOT NULL,
[id_line_order_client] [int] NOT NULL,
[date_guarantee] [datetime] NULL,
CONSTRAINT [PK_line_act] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [is_enterprises]
GO
ALTER TABLE [dbo].[line_act] WITH CHECK ADD CONSTRAINT [FK_line_act_act] FOREIGN KEY([id_act])
REFERENCES [dbo].[act] ([id])
GO
ALTER TABLE [dbo].[line_act] WITH CHECK ADD CONSTRAINT [FK_line_act_line_order_client] FOREIGN KEY([id_line_order_client])
REFERENCES [dbo].[line_order_client] ([id])
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[plan_work](
[id] [int] NOT NULL,
[number] [nchar](10) COLLATE Cyrillic_General_CI_AS NULL,
[date] [datetime] NULL,
[brigad] [nchar](10) COLLATE Cyrillic_General_CI_AS NULL,
[comment] [varchar](max) COLLATE Cyrillic_General_CI_AS NULL,
CONSTRAINT [PK_plan_work] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[line_plan_work](
[id] [int] NOT NULL,
[id_plan_work] [int] NOT NULL,
[id_line_order_client] [int] NOT NULL,
[date_instal] [datetime] NULL,
CONSTRAINT [PK_line_plan_work] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [is_enterprises]
GO
ALTER TABLE [dbo].[line_plan_work] WITH CHECK ADD CONSTRAINT [FK_line_plan_work_line_order_client] FOREIGN KEY([id_line_order_client])
REFERENCES [dbo].[line_order_client] ([id])
GO
ALTER TABLE [dbo].[line_plan_work] WITH CHECK ADD CONSTRAINT [FK_line_plan_work_plan_work] FOREIGN KEY([id_plan_work])
REFERENCES [dbo].[plan_work] ([id])
USE [is_enterprises]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[plan_employee](
[id] [int] NOT NULL,
[id_line_plan_work] [int] NOT NULL,
[id_employee] [int] NOT NULL,
CONSTRAINT [PK_plan_employee] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [is_enterprises]
GO
ALTER TABLE [dbo].[plan_employee] WITH CHECK ADD CONSTRAINT [FK_plan_employee_employee] FOREIGN KEY([id_employee])
REFERENCES [dbo].[employee] ([id])
GO
ALTER TABLE [dbo].[plan_employee] WITH CHECK ADD CONSTRAINT [FK_plan_employee_line_plan_work] FOREIGN KEY([id_line_plan_work])
REFERENCES [dbo].[line_plan_work] ([id])
USE [is_enterprises]
GO
/****** Object: Table [dbo].[employee] Script Date: 05/27/2009 16:33:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[employee](
[id] [int] NOT NULL,
[FIO] [varchar](30) COLLATE Cyrillic_General_CI_AS NULL,
[address] [varchar](30) COLLATE Cyrillic_General_CI_AS NULL,
[telephone] [varchar](11) COLLATE Cyrillic_General_CI_AS NULL,
CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
Приложение Г
Фрагмент исходного кода программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace is_enterprises
{
partial class FormInstal
{
private void Undo()
{
DataSetis_interprises.EndCurrentEdit();
DataSetis_interprises.postavshik.RejectChanges();
}
private void Create()
{
DataRow row = this.DataSetis_interprises.postavshik.NewpostavshikRow();
rowpostavshik["orzanization"] = "";
rowpostavshik["FIO"] = "";
rowpostavshik["post"] = "";
rowpostavshik["rab_telephone "] = "";
rowpostavshik[" mobile "] = "";
rowpostavshik["faks "] = "";
rowpostavshik["street "] = "";
rowpostavshik["town "] = "";
rowpostavshik["region "] = "";
rowpostavshik["indeks "] = "";
rowpostavshik["e-mail "] = "";
owpostavshik["comment "] = "";
this.DataSetis_interprises.postavshik.Rows.Add(rowpostavshik);
int pos = this. DataSetis_interprises.postavshik.Rows.Count - 1;
this.BindingContext[DataSetis_interprises.postavshik, "postavshik "].Position = pos;
}
private void Save()
{
DisplayReadOnly(true);
string mes = "";
DataSetis_interprises.EndCurrentEdit();
DataSetis_interprises.postavshikDataTable ds1 = (DataSetis_interprises.postavshikDataTable) DataSetis_interprises.postavshik.GetChanges(DataRowState.Modified);
if (ds1 != null)
try
{
this. DataSetis_interprises.Update(ds1);
ds1.Dispose();
DataSetis_interprises.postavshik.AcceptChanges();
}
catch (Exception x)
{
mes = x.Message;
MessageBox.Show("Ошибка обновления базы данных postavshik " + mes, "Предупреждение");
his.DataSetis_interprises.postavshik.RejectChanges();
}
DataSetis_interprises.postavshikDataTable ds2 = (DataSetis_interprises.postavshikDataTable) this.DataSetis_interprises.postavshik.GetChanges(DataRowState.Added);
if (ds2 != null)
try
{
DataSetis_interprises.Update(ds2);
ds2.Dispose();
DataSetis_interprises.postavshik.AcceptChanges();
}
catch (Exception x)
{
mes = x.Message;
MessageBox.Show("Ошибка вставки записи в базу данных postavshik " + mes, "Предупреждение");
DataSetis_interprises.postavshik.RejectChanges();
}
}
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
public FormInstal()
{
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.файлToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.войтиВСистемуToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.выйтиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.справкаToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.руководствоToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.оПрограммеToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.menuStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
}
private void ButtonUndo_Click(object sender, EventArgs e)
{
Undo();
}
private void ButtonCreate_Click(object sender, EventArgs e)
{
Create();
}
Приложение Д − Обоснование выбора модели жизненного цикла
Таблица Д. 1 - Выбор модели ЖЦ на основе характеристик требований
Требования | Каскадная | V-образ-ная | Прототипирование | Спиральная | RAD | Инкрементная |
Являются ли требования легко определимыми и/или хорошо известными | Да | Да | Нет | Нет | Да | Нет |
Могут ли требования заранее определятся в цикле | Да | Да | Нет | Нет | Да | Да |
Часто ли изменяются требования в цикле | Нет | Нет | Да | Да | Нет | Нет |
Нужно ли демонстрировать требования с целью определения | Нет | Нет | Да | Да | Да | Нет |
Требуется ли демонстрация возможностей проверка концепции | Нет | Нет | Да | Да | Да | Нет |
Будут ли требования отражать сложность системы | Нет | Нет | Да | Да | Нет | Да |
Обладает ли требование функциональными свойствами на раннем этапе | Нет | Нет | Да | Да | Да | Да |
Таблица Д.2 - Выбор модели ЖЦ на основе характеристик участников команды разработчиков
Команда разработчиков проекта | Каскадная | V-образная | Прототипирование | Спиральная | RAD | Инкрементная |
Являются ли проблемы предметной области проекта новыми для большинства разработчиков | Нет | Нет | Да | Да | Нет | Нет |
Является ли технология предметной области проекта новой для большинства разработчиков | Да | Да | Нет | Да | Нет | Да |
Являются ли инструменты, используемые проектом, новыми для большинства разработчиков | Да | Да | Нет | Да | Нет | Нет |
Изменяются ли роли участников проекта во время ЖЦ | Нет | Нет | Да | Да | Нет | Да |
Могут ли разработчики проекта пройти обучение | Нет | Да | Нет | Нет | Да | Да |
Является ли структура более значимой для разработчиков, чем гибкость | Да | Да | Нет | Нет | Нет | Да |
Будет ли менеджер проекта строго отслеживать прогресс проекта | Да | Да | Нет | Да | Нет | Да |
Важна легкость распределения ресурсов | Да | Да | Нет | Нет | Да | Да |
Приемлет ли команда равноправные обзоры инспекций, менеджмент/обзоры заказчиков, а так же стадии | Да | Да | Да | Да | Нет | Да |
Таблица Д.З - Выбор модели ЖЦ на основе характеристик типа проектов и рисков
Тип проекта и риски | Каскадная | V-образная | Прототипирование | Спиральная | RAD | Инкрементная |
Будет ли проект идентифицировать новое направление продукта для организации | Нет | Нет | Да | Да | Нет | Да |
Будет ли проект иметь тип системной интеграции | Нет | Да | Да | Да | Да | Да |
Будет ли проект являться расширением существующей системы | Нет | Да | Нет | Нет | Да | Да |
Будет ли финансирование проекта стабильным на всем протяжении ЖЦ | Да | Да | Да | Нет | Да | Нет |
Ожидается ли длительная эксплуатация продукта в организации | Да | Да | Нет | Да | Нет | Да |
Должна ли быть высокая степень надежности | Нет | Да | Нет | Да | Нет | Да |
Будет ли система изменяться, возможно, с применением непредвиденных методов, на этапе сопровождения | Нет | Нет | Да | Да | Нет | Да |
Является ли график ограниченным | Нет | Нет | Да | Да | Да | Да |
Являются ли «прозрачными» интерфейсные модули | Да | Да | Нет | Нет | Нет | Да |
Доступны ли повторно используемые компоненты | Нет | Нет | Да | Да | Да | Нет |
Являются ли достаточными ресурсы (время, деньги, инструменты, персонал) | Нет | Нет | Да | Да | Нет | Нет |
Таблица Д.4 - Выбор модели ЖЦ на основе характеристик пользователей
Коллектив пользователей | Каскадная | V-образная | Прототипирование | Спиральная | RAD | Инкрементная |
Будет ли присутствие пользователей ограниченно в ЖЦ | Да | Да | Нет | Да | Нет | Да |
Будут ли пользователи знакомы с определением системы | Нет | Нет | Да | Да | Нет | Да |
Будут ли пользователи ознакомлены с проблемами предметной области | Нет | Нет | Да | Нет | Да | Да |
Будут ли пользователи вовлечены во все фазы ЖЦ | Нет | Нет | Да | Нет | Да | Нет |
Будет ли заказчик отслеживать ход выполнения проекта | Нет | Нет | Да | Да | Нет | Нет |
Приложение Е
ДИАГРАММА ГАНТА