Разработка информационной системы ОВД г. Донецка
Анализ решений по автоматизации предметной области. Выбор методологии проектирования информационной системы. Обоснование выбора платформы. Взаимодействие приложения с источниками данных. Выбор жизненного цикла разработки программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.12.2010 |
Размер файла | 3,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
//
// sqlInsertCommand1
//
this.sqlInsertCommand1.CommandText = @"INSERT INTO dbo.Employee(EmployeeID, JobRoleID, EmployeeSurname, EmployeeName, EmployeePatronymic, EmployeeStatus, Access, NetName) VALUES (@EmployeeID, @JobRoleID, @EmployeeSurname, @EmployeeName, @EmployeePatronymic, @EmployeeStatus, @Access, @NetName); SELECT EmployeeID, JobRoleID, EmployeeSurname, EmployeeName, EmployeePatronymic, EmployeeStatus, Access, NetName FROM dbo.Employee WHERE (EmployeeID = @EmployeeID)";
this.sqlInsertCommand1.Connection = this.sqlConnection1;
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.TinyInt, 1, "EmployeeID"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@JobRoleID", System.Data.SqlDbType.TinyInt, 1, "JobRoleID"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeSurname", System.Data.SqlDbType.VarChar, 20, "EmployeeSurname"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeName", System.Data.SqlDbType.VarChar, 20, "EmployeeName"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeePatronymic", System.Data.SqlDbType.VarChar, 20, "EmployeePatronymic"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeStatus", System.Data.SqlDbType.Int, 4, "EmployeeStatus"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Access", System.Data.SqlDbType.NVarChar, 20, "Access"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@NetName", System.Data.SqlDbType.VarChar, 20, "NetName"));
//
// sqlUpdateCommand1
//
this.sqlUpdateCommand1.CommandText = @"UPDATE dbo.Employee SET JobRoleID = @JobRoleID, EmployeeSurname = @EmployeeSurname, EmployeeName = @EmployeeName, EmployeePatronymic = @EmployeePatronymic, EmployeeStatus = @EmployeeStatus, Access = @Access, NetName = @NetName WHERE (EmployeeID = @Original_EmployeeID) AND (Access = @Original_Access OR @Original_Access IS NULL AND Access IS NULL) AND (EmployeeName = @Original_EmployeeName) AND (EmployeePatronymic = @Original_EmployeePatronymic) AND (EmployeeStatus = @Original_EmployeeStatus OR @Original_EmployeeStatus IS NULL AND EmployeeStatus IS NULL) AND (EmployeeSurname = @Original_EmployeeSurname) AND (JobRoleID = @Original_JobRoleID) AND (NetName = @Original_NetName OR @Original_NetName IS NULL AND NetName IS NULL); SELECT EmployeeID, JobRoleID, EmployeeSurname, EmployeeName, EmployeePatronymic, EmployeeStatus, Access, NetName FROM dbo.Employee WHERE (EmployeeID = @EmployeeID)";
this.sqlUpdateCommand1.Connection = this.sqlConnection1;
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@JobRoleID", System.Data.SqlDbType.TinyInt, 1, "JobRoleID"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeSurname", System.Data.SqlDbType.VarChar, 20, "EmployeeSurname"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeName", System.Data.SqlDbType.VarChar, 20, "EmployeeName"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeePatronymic", System.Data.SqlDbType.VarChar, 20, "EmployeePatronymic"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeStatus", System.Data.SqlDbType.Int, 4, "EmployeeStatus"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Access", System.Data.SqlDbType.NVarChar, 20, "Access"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@NetName", System.Data.SqlDbType.VarChar, 20, "NetName"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeID", System.Data.SqlDbType.TinyInt, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeID", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Access", System.Data.SqlDbType.NVarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Access", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeName", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeName", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeePatronymic", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeePatronymic", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeStatus", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeStatus", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeSurname", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeSurname", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_JobRoleID", System.Data.SqlDbType.TinyInt, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "JobRoleID", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_NetName", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "NetName", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.TinyInt, 1, "EmployeeID"));
//
// sqlDeleteCommand1
//
this.sqlDeleteCommand1.CommandText = @"DELETE FROM dbo.Employee WHERE (EmployeeID = @Original_EmployeeID) AND (Access = @Original_Access OR @Original_Access IS NULL AND Access IS NULL) AND (EmployeeName = @Original_EmployeeName) AND (EmployeePatronymic = @Original_EmployeePatronymic) AND (EmployeeStatus = @Original_EmployeeStatus OR @Original_EmployeeStatus IS NULL AND EmployeeStatus IS NULL) AND (EmployeeSurname = @Original_EmployeeSurname) AND (JobRoleID = @Original_JobRoleID) AND (NetName = @Original_NetName OR @Original_NetName IS NULL AND NetName IS NULL)";
this.sqlDeleteCommand1.Connection = this.sqlConnection1;
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeID", System.Data.SqlDbType.TinyInt, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeID", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Access", System.Data.SqlDbType.NVarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Access", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeName", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeName", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeePatronymic", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeePatronymic", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeStatus", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeStatus", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_EmployeeSurname", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "EmployeeSurname", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_JobRoleID", System.Data.SqlDbType.TinyInt, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "JobRoleID", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_NetName", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "NetName", System.Data.DataRowVersion.Original, null));
//
// sqlDataAdapterEmployee
//
this.sqlDataAdapterEmployee.DeleteCommand = this.sqlDeleteCommand1;
this.sqlDataAdapterEmployee.InsertCommand = this.sqlInsertCommand1;
this.sqlDataAdapterEmployee.SelectCommand = this.sqlSelectCommand1;
this.sqlDataAdapterEmployee.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
new System.Data.Common.DataTableMapping("Table", "Employee", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID"),
new System.Data.Common.DataColumnMapping("JobRoleID", "JobRoleID"),
new System.Data.Common.DataColumnMapping("EmployeeSurname", "EmployeeSurname"),
new System.Data.Common.DataColumnMapping("EmployeeName", "EmployeeName"),
new System.Data.Common.DataColumnMapping("EmployeePatronymic", "EmployeePatronymic"),
new System.Data.Common.DataColumnMapping("EmployeeStatus", "EmployeeStatus"),
new System.Data.Common.DataColumnMapping("Access", "Access"),
new System.Data.Common.DataColumnMapping("NetName", "NetName")})});
this.sqlDataAdapterEmployee.UpdateCommand = this.sqlUpdateCommand1;
//
// sqlSelectCommand2
//
this.sqlSelectCommand2.CommandText = "SELECT JobRoleID, JobRoleName FROM dbo.[Job Title]";
this.sqlSelectCommand2.Connection = this.sqlConnection1;
//
// sqlInsertCommand2
//
this.sqlInsertCommand2.CommandText = "INSERT INTO dbo.[Job Title] (JobRoleID, JobRoleName) VALUES (@JobRoleID, @JobRole" +
"Name); SELECT JobRoleID, JobRoleName FROM dbo.[Job Title] WHERE (JobRoleID = @Jo" +
"bRoleID)";
this.sqlInsertCommand2.Connection = this.sqlConnection1;
this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@JobRoleID", System.Data.SqlDbType.TinyInt, 1, "JobRoleID"));
this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@JobRoleName", System.Data.SqlDbType.NVarChar, 50, "JobRoleName"));
//
// sqlUpdateCommand2
//
this.sqlUpdateCommand2.CommandText = @"UPDATE dbo.[Job Title] SET JobRoleID = @JobRoleID, JobRoleName = @JobRoleName WHERE (JobRoleID = @Original_JobRoleID) AND (JobRoleName = @Original_JobRoleName OR @Original_JobRoleName IS NULL AND JobRoleName IS NULL); SELECT JobRoleID, JobRoleName FROM dbo.[Job Title] WHERE (JobRoleID = @JobRoleID)";
this.sqlUpdateCommand2.Connection = this.sqlConnection1;
this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@JobRoleID", System.Data.SqlDbType.TinyInt, 1, "JobRoleID"));
this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@JobRoleName", System.Data.SqlDbType.NVarChar, 50, "JobRoleName"));
this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_JobRoleID", System.Data.SqlDbType.TinyInt, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "JobRoleID", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_JobRoleName", System.Data.SqlDbType.NVarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "JobRoleName", System.Data.DataRowVersion.Original, null));
//
// sqlDeleteCommand2
//
this.sqlDeleteCommand2.CommandText = "DELETE FROM dbo.[Job Title] WHERE (JobRoleID = @Original_JobRoleID) AND (JobRoleN" +
"ame = @Original_JobRoleName OR @Original_JobRoleName IS NULL AND JobRoleName IS " +
"NULL)";
this.sqlDeleteCommand2.Connection = this.sqlConnection1;
this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_JobRoleID", System.Data.SqlDbType.TinyInt, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "JobRoleID", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_JobRoleName", System.Data.SqlDbType.NVarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "JobRoleName", System.Data.DataRowVersion.Original, null));
//
// sqlDataAdapterJobTitle
//
this.sqlDataAdapterJobTitle.DeleteCommand = this.sqlDeleteCommand2;
this.sqlDataAdapterJobTitle.InsertCommand = this.sqlInsertCommand2;
this.sqlDataAdapterJobTitle.SelectCommand = this.sqlSelectCommand2;
this.sqlDataAdapterJobTitle.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "Job Title", new System.Data.Common.DataColumnMapping[] {
new System.Data.Common.DataColumnMapping("JobRoleID", "JobRoleID"), new System.Data.Common.DataColumnMapping("JobRoleName", "JobRoleName")})});
this.sqlDataAdapterJobTitle.UpdateCommand = this.sqlUpdateCommand2;
Приложение В - техническое задание
ОБЩИЕ СВЕДЕНИЯ
Автоматизированная информационная система (далее АИС) представляет собой аппаратно-программный комплекс, служащий для получения, обработки, анализа и хранения информации.
Заказчиком системы является ОВД г.Донецка. Исполнителем выступает студентка 5 курса кафедры «Управления и Информационных технологий» института «Управления, Бизнеса и Права» Ковалева Елена.
Дата начала работ: 15.10.2005 г.
Дата окончания работ: 16.06.2006 г.
Студентка выполняет разработку программного комплекса. Результатом работы является информационная система, реализующая задачи поставленные заказчиком, и комплект документации по использованию АИС. Исходные коды программной части АИС заказчику не предоставляются.
НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ АИС
В результате внедрения АИС должны быть полностью автоматизированы все процессы обработки и передачи информации.
Создаются следующие рабочие места:
Администратор системы - полный контроль над системой, внесение любых изменений в настройки.
Учетчик - доступ к учетным таблицам.
АИС должна обеспечивать автоматическое получение требуемых отчетов директором и администратором системы, работу со справочной информацией, возможность добавлять, удалять, вносить изменения в имеющиеся справочники, а также обеспечивать удобство и быстроту, внесения информации.
ХАРАКТЕРИСТИКА ОБЪЕКТА АВТОМАТИЗАЦИИ
Автоматизируемый объект - инженерный отдел милиции, точнее процесс учета оргтехники и средств связи. В настоящее время учет оргтехники и средств связи практически не автоматизирован. Информация собирается при помощи специально разработанных бланков - учетных таблиц, данные, из которых, в последствии переносятся в сводные таблицы. Учетчик, находящийся в отделе ведет учет всей поступающей техники, техники которая находится в других отделах милиции, списанной техники и заказов на новую технику. В итоге, скапливается огромное количество бумажной документации, это приводит к огромным затратам времени и человеческих ресурсов при формировании отчетов. В результате, формирование сводных таблиц и отчетов может длиться в течение нескольких дней или недель.
ТРЕБОВАНИЯ К СИСТЕМЕ
Разрабатываемая информационная система должна осуществлять ведение (создание, изменение, хранение, удаление) и учет имеющейся техники в ОВД, поставляемых комплектующих и материалов, деталей, бракованных изделий и т.д.
Ввод данных в БД необходимо сделать достаточно простым и более быстрым, он должен осуществляться по средствам форм, при этом нужно использовать там, где это необходимо и возможно, списки, поля со списками.
Система должна иметь удобный и интуитивно понятный пользовательский интерфейс, показ только необходимых для работы форм
Внедряемая, АИС должна иметь русскоязычный интерфейс.
Разрабатываемая информационная система должна иметь способность к совершенствованию, которая проявляется через разработку новых версий системы для повышения эффективности функционирования системы. Необходимым условием для этого является стабильность базовой структуры системы относительно реализации новых функций.
СОСТАВ И СОДЕРЖАНИЕ РАБОТ
Разработка программного комплекса: разработка новых программ и изменение существующих решений под требования заказчика. Сроки выполнения: 15.10.2005 - 16.06.2006
Установка и наладка программного обеспечения. Сроки выполнения: 20.05.2005 - 1.06.2006
Тестирование и доработка АИС. Сроки выполнения: 1.06.2006 - 19.06.2006
По окончанию работ заказчику выдается инструкция по эксплуатированию системы. Исходные коды программной части АИС являются собственностью исполнителя и заказчику не выдаются.
ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ СИСТЕМЫ
Контроль осуществляется путем проверки результатов полученных по окончанию каждого этапа работ. Утверждение также производится после завершения каждого этапа работ. На этапе тестирования система проверяется при помощи реальных данных и контрольного примера. В случае выявления недоработок или недостатков, находящихся в рамках настоящего технического задания, система возвращается на доработку. Любые изменения, не перечисленные в настоящем техническом задании, производятся с согласия исполнителя.
ТРЕБОВАНИЯ К СОСТАВУ И СОДЕРЖАНИЮ РАБОТ ПО ПОДГОТОВКЕ ОБЪЕКТА К ВВОДУ В ДЕЙСТВИЕ СИСТЕМЫ
Персонал, участвующий в процессе учета оргтехники и средств связи должен обладать базовыми знаниями в пользовании компьютерами. Перед началом тестирования системы Исполнитель обязуется обучить персонал предприятия работе с системой.
Приложение Г - ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ
Исходное положение
Автоматизируемый объект - инженерный отдел милиции. Организационная структура приведена в ПРИЛОЖЕНИИ А. Выполняемые подразделениями задачи описаны выше. Ведется учет новой техники, поступившей в милицию, техники, находящейся в других отделах милиции, списанной техники, техники, поставленной на ремонт и т.д.
Характеристики и технико-экономические данные
В процессе учета практически отсутствуют какие-либо технические средства. Учет ведется вручную на специальных бланках.
Сортировка таблиц и составление отчетов занимает много времени. Информацию сложно анализировать.
Обоснование цели создания АИС
Внедрение АИС позволит автоматизировать процесс учета оргтехники и средств связи. Уменьшить затраты во времени и человеческих ресурсах при ведении учета.
АИС не позволит при заполнении документов заполнить их не полностью или допустить ошибки. В результате внедрения АИС возрастет скорость и надежность передачи и обработки информации, возрастет удобство работы с ней.
Выводы
Внедрение АИС на исследуемом объекте является насущной необходимостью. Оно позволит увеличить эффективности работы, снизит затраты времени на многих операциях. Стоимость АИС, предлагаемой к внедрению, относительно невысока, благодаря применению дешевого и нетребовательного к аппаратным ресурсам программного обеспечения.
ПРИЛОЖЕНИЕ Д - ПЛАН ТЕСТИРОВАНИЯ ПО
План тестирования определяется международным стандартом IEEE 829-1983.
1. Объект тестирования: информационная система МРССиСТ.
2. Дата тестирования: 19.05.2006
3. Составитель теста: студентка Ковалева Е.Н.
4. Цель тестирования: выполнялся для полной проверки работоспособности программы;
5. Тип тестирования: тестирование методом черного ящика. Проводится тестирование в целом свей системы учёта оргтехники и средств связи.
6. Описание среды тестирования - ОС MS Windows XP, Microsoft Access 2003, MS Visual C#.
ПРИЛОЖЕНИЕ Е ? ОБОСНОВАНИЕ ВЫБОРА МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА
Таблица Е.1 - Выбор модели ЖЦ на основе характеристик требований
Требования |
Каскадная |
V-образ-ная |
Прото-типиро-вание |
Спиральная |
RAD |
Инкре-ментная |
|
Являются ли требования легко определимыми и/или хорошо известными |
Да |
Да |
Нет |
Нет |
Да |
Нет |
|
Могут ли требования заранее определятся в цикле |
Да |
Да |
Нет |
Нет |
Да |
Да |
|
Часто ли изменяются требования в цикле |
Нет |
Нет |
Да |
Да |
Нет |
Нет |
|
Нужно ли демонстрировать требования с целью определения |
Нет |
Нет |
Да |
Да |
Да |
Нет |
|
Требуется ли демонстрация возможностей проверка концепции |
Нет |
Нет |
Да |
Да |
Да |
Нет |
|
Будут ли требования отражать сложность системы |
Нет |
Нет |
Да |
Да |
Нет |
Да |
|
Обладает ли требование функциональными свойствами на раннем этапе |
Нет |
Нет |
Да |
Да |
Да |
Да |
Таблица Е.2 - Выбор модели ЖЦ на основе характеристик участников команды разработчиков
Команда разработчиков проекта |
Каскадная |
V- образная |
Прототипирование |
Спиральная |
RAD |
Инкрементная |
|
Являются ли проблемы предметной области проекта новыми для большинства разработчиков |
Нет |
Нет |
Да |
Да |
Нет |
Нет |
|
Является ли технология предметной области проекта новой для большинства разработчиков |
Да |
Да |
Нет |
Да |
Нет |
Да |
|
Являются ли инструменты, используемые проектом, новыми для большинства разработчиков |
Да |
Да |
Нет |
Да |
Нет |
Нет |
|
Изменяются ли роли участников проекта во время ЖЦ |
Нет |
Нет |
Да |
Да |
Нет |
Да |
|
Могут ли разработчики проекта пройти обучение |
Нет |
Да |
Нет |
Нет |
Да |
Да |
|
Является ли структура более значимой для разработчиков, чем гибкость |
Да |
Да |
Нет |
Нет |
Нет |
Да |
|
Будет ли менеджер про-екта строго отслеживать прогресс проекта |
Да |
Да |
Нет |
Да |
Нет |
Да |
|
Важна легкость распределения ресурсов |
Да |
Да |
Нет |
Нет |
Да |
Да |
|
Приемлет ли команда равноправные обзоры инспекций, менедж-мент/обзоры заказчиков, а так же стадии |
Да |
Да |
Да |
Да |
Нет |
Да |
Таблица Е.З - Выбор модели ЖЦ на основе характеристик типа проектов и рисков
Тип проекта и риски |
Каскадная |
V- образ-ная |
Прото-типиро-вание |
Спиральная |
RAD |
Инкре-ментная |
|
Будет ли проект идентифицировать новое направление продукта для организации |
Нет |
Нет |
Да |
Да |
Нет |
Да |
|
Будет ли проект иметь тип системной интеграции |
Нет |
Да |
Да |
Да |
Да |
Да |
|
Будет ли проект являться расширением существующей системы |
Нет |
Да |
Нет |
Нет |
Да |
Да |
|
Будет ли финансирование проекта стабильным на всем протяжении ЖЦ |
Да |
Да |
Да |
Нет |
Да |
Нет |
|
Ожидается ли длительная эксплуатация продукта в организации |
Да |
Да |
Нет |
Да |
Нет |
Да |
|
Должна ли быть высокая степень надежности |
Нет |
Да |
Нет |
Да |
Нет |
Да |
|
Будет ли система изменяться, возможно, с применением непредвиденных методов, на этапе сопровождения |
Нет |
Нет |
Да |
Да |
Нет |
Да |
|
Является ли график ограниченным |
Нет |
Нет |
Да |
Да |
Да |
Да |
|
Являются ли «прозрачными» интерфейсные модули |
Да |
Да |
Нет |
Нет |
Нет |
Да |
|
Доступны ли повторно используемые компоненты |
Нет |
Нет |
Да |
Да |
Да |
Нет |
|
Являются ли достаточными ресурсы (время, деньги, инструменты, персонал) |
Нет |
Нет |
Да |
Да |
Нет |
Нет |
Таблица Е.4 - Выбор модели ЖЦ на основе характерактеристик пользователей
Коллектив пользователей |
Каскадная |
V- образная |
Прото-типиро-вание |
Спиральная |
RAD |
Инкре-ментная |
|
Будет ли присутствие пользователей ограниченно в ЖЦ |
Да |
Да |
Нет |
Да |
Нет |
Да |
|
Будут ли пользователи знакомы с определением системы |
Нет |
Нет |
Да |
Да |
Нет |
Да |
|
Будут ли пользователи ознакомлены с проблемами предметной области |
Нет |
Нет |
Да |
Нет |
Да |
Да |
|
Будут ли пользователи вовлечены во все фазы ЖЦ |
Нет |
Нет |
Да |
Нет |
Да |
Нет |
|
Будет ли заказчик отслеживать ход выполнения проекта |
Нет |
Нет |
Да |
Да |
Нет |
Нет |
Подобные документы
Анализ области автоматизации. Проектирование пользовательского интерфейса и баз данных. Выбор платформы создания информационной системы. Взаимодействие приложения с источниками данных. Оценка длительности и стоимости разработки программного обеспечения.
дипломная работа [2,2 M], добавлен 09.08.2011Анализ существующих решений по автоматизации предметной области. Выбор методологии проектирования информационной системы. Сбор и спецификация, анализ, моделирование и аттестация требований. Возможные неисправности и сопровождение информационной системы.
курсовая работа [645,2 K], добавлен 26.05.2015Требования к программному обеспечению, выбор методологии проектирования информационной системы учета и анализа деятельности руководящего аппарата. Проектирование пользовательского программного интерфейса, взаимодействие приложения с источниками данных.
дипломная работа [2,4 M], добавлен 12.01.2011Анализ существующих решений по автоматизации предметной области. Методология проектирования информационной системы агентства недвижимости. Спецификация и аттестация требований. Проектирование пользовательского интерфейса. Обоснование выбора платформы.
курсовая работа [412,8 K], добавлен 10.02.2013Анализ проектирования баз данных на примере построения программы ведения информационной системы картотеки ГИБДД. Основные функции базы данных. Обоснование выбора технологий проектирования и реализации базы данных. Описание информационного обеспечения.
курсовая работа [753,0 K], добавлен 27.08.2012Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.
дипломная работа [1,4 M], добавлен 13.07.2011Обоснование выбора используемого программного обеспечения. Входная и выходная информация. Реляционная модель базы данных предметной области. Создание модели информационной системы с помощью Run All Fusion Process Modeler r7. Результаты тестовых испытаний.
курсовая работа [4,3 M], добавлен 12.04.2014Разработка требований к программному обеспечению отдела воинского учета, методология проектирования информационной системы. Реализация и аттестация информационной системы, взаимодействие приложения с источниками данных, его экономическая эффективность.
дипломная работа [1,3 M], добавлен 30.11.2010Технико-экономическое обоснование разработки информационной системы "План-меню". Выбор технических средств и стандартного программного обеспечения. Проектирование структуры базы данных. Разработка и структура пользовательского интерфейса и ER-модели.
курсовая работа [817,6 K], добавлен 07.05.2009