
- •Дипломная работа
- •Аннотация
- •Введение
- •1 Анализ задачи обработки данных
- •Документированная процедура управления ресурсами
- •2 Проектирование структуры базы данных
- •2.1 Структура базы данных
- •3 Проектирование архитектуры проекта
- •3.1 Документ «Архитектура проекта»
- •3.2 Диаграмма состояний
- •4 Управление процессом разработки программного обеспечения
- •7.1 Организация ремонтного производства
- •7.1 Общая постановка к технико-экономическому обоснованию
- •7.3 Расчет единовременных затрат
- •7.4 Расчет годовых текущих издержек
- •7.5 Расчет показателей экономической эффективности
- •7.6 Выводы и рекомендации
- •8 Охрана труда
- •8.1 Идентификация и анализ аредных и опасных факторов в проектируемом объ екте
- •8.2 Технические, технологические, организационные решения по устранению опасных и вредных факторов, разработка защитных средств
- •8.3 Разработка мер безопасности при эксплуатации объекта проектирования
- •Глава 1
- •Глава 2
- •Глава 3
- •Глава 4
- •Глава 5
- •9 Энерго- и ресурсосбережение
- •Заключение по проекту
- •Список использованных источников
- •Приложение а
- •Приложение б
- •Приложение в
4 Управление процессом разработки программного обеспечения
Данный раздел дипломного проекта демонстрирует владение компетенциями руководителя проектов (ComputerandInformationSystemManager) (ПК8). Руководитель проекта разрабатывает документ «План разработки программного обеспечения».
Руководитель проекта – специалист высших квалификационных уровней, который осуществляет планирование, координацию и руководство разработкой проектов.
План разработки программного обеспечения
Данный документ состоит из трёх разделов:
- трудозатраты разработки элементов ПО (Таблица 9),
- трудоёмкость разработки программного обеспечения (Таблица 10, 11, 12 ),
- календарный план график разработки (Таблица 13).
Трудозатраты на разработку каждого элемента программного обеспечения зависят от квалификации специалистов.
УТВЕРЖДАЮ
Заведующий филиалом
«Поликлиника №7 г.Могилева»
______________Ф.П.Зарубайко
«_____»______________2014г.
ПЛАН РАЗРАБОТКИ ПРОЕКТА АСОИ
«Расчет врачебной функции»
версия 1 от 10.04.2014
Трудозатраты разработки элементов программного обеспечения
Таблица 9 – Трудозатраты разработки элементов программного обеспечения
№ |
Элемент |
Время разработки, час. |
1 |
Диалоговый элемент на форме |
0,5 |
2 |
Вычисляемая процедура |
4 |
3 |
Страниц печатной формы |
3 |
4 |
Запрос к БД |
3 |
5 |
Таблица в БД (10 полей) |
0,5 |
Трудоемкость разработки программного обеспечения
Таблица 10 – Трудоемкость разработки структуры базы данных и запросов
№ |
Компонент |
Число всех полей БД |
Число всех запросов к БД |
Трудоемкость разработки, ч. |
1 |
MainWindow |
2 |
- |
0,3 |
2 |
WaddNewTable |
2 |
- |
0,3 |
3 |
Wfunction |
17 |
- |
1,2 |
4 |
Wset |
7 |
- |
0,7 |
5 |
WsetEdit |
7 |
- |
0,7 |
6 |
WTable |
20 |
- |
1,5 |
7 |
WTableEdit |
7 |
- |
0,6 |
8 |
Wdoctors |
4 |
- |
0,5 |
9 |
WdoctorsEdit |
2 |
- |
0,4 |
10 |
Wpositions |
4 |
- |
0,5 |
11 |
WpositionsEdit |
2 |
- |
0,4 |
12 |
viewSet |
7 |
- |
0,6 |
13 |
viewTable |
11 |
- |
1,0 |
14 |
ToExcel |
0 |
1 |
4 |
15 |
SettingApp |
0 |
- |
0,2 |
|
Итого |
64 |
|
13,6 |
Таблица 11 – Трудоемкость разработки компонентов проекта
№ |
Компонент |
Число диалоговых эл-тов |
Число вычисляемых процедур |
Число страниц печатной формы |
Трудоемкость разработки, ч. |
||
1 |
MainWindow |
2 |
0 |
0 |
1 |
||
2 |
WaddNewTable |
4 |
1 |
0 |
6 |
||
Продолжение таблицы 11 |
|||||||
№ |
Компонент |
Число диалоговых элементов |
Число вычисляемых процедур |
Число страниц печатной формы |
Трудоемкость разработки, ч. |
||
4 |
Wset |
2 |
1 |
0 |
5 |
||
5 |
WsetEdit |
8 |
1 |
0 |
16 |
||
6 |
WTable |
16 |
0 |
1 |
11 |
||
7 |
WTableEdit |
8 |
1 |
0 |
8 |
||
8 |
Wdoctors |
6 |
1 |
1 |
10 |
||
9 |
WdoctorsEdit |
3 |
1 |
0 |
6 |
||
10 |
Wpositions |
6 |
1 |
1 |
10 |
||
11 |
WpositionsEdit |
3 |
1 |
0 |
6 |
||
12 |
viewSet |
0 |
1 |
0 |
4 |
||
13 |
viewTable |
0 |
1 |
0 |
4 |
||
14 |
ToExcel |
0 |
0 |
0 |
0,5 |
||
15 |
SettingApp |
0 |
0 |
0 |
0,5 |
||
|
Итого |
61 |
12 |
4 |
108 |
Таблица 12 – Полная трудоемкость разработки программного обеспечения
№ |
Документ |
Трудоемкость разработки, ч. |
1 |
Структура базы данных и запросы |
13,6 |
2 |
Архитектура проекта |
108 |
|
Итого |
121,6 |
Таблица 13 – Календарный план-график разработки
№ п/п |
Наименование компонента |
Сроки выполнения |
Отметка о выполнении |
|
Начало |
Окончание |
|||
1 |
MainWindow |
15.03.2014 |
15.03.2014 |
выполнено |
2 |
WaddNewTable |
18.03.2014 |
18.03.2014 |
выполнено |
3 |
Wfunction |
19.03.2014 |
20.03.2014 |
выполнено |
4 |
Wset |
20.03.2014 |
20.03.2014 |
выполнено |
5 |
WsetEdit |
21.03.2014 |
21.03.2014 |
выполнено |
6 |
WTable |
21.03.2014 |
21.03.2014 |
выполнено |
7 |
WTableEdit |
21.03.2014 |
21.03.2014 |
выполнено |
8 |
Wdoctors |
26.03.2014 |
26.03.2014 |
выполнено |
9 |
WdoctorsEdit |
27.03.2014 |
10.04.2014 |
выполнено |
10 |
Wpositions |
11.04.2014 |
11.04.2014 |
выполнено |
11 |
WpositionsEdit |
11.04.2014 |
11.04.2014 |
выполнено |
5 Разработка программных компонентов
Данный раздел дипломного проекта демонстрирует владение компетенциями программиста (ComputerProgrammer) (ПК3, ПК5, ПК9). Специалист осуществляет преобразование проектных спецификаций в детальное описание алгоритмов и объектов разрабатываемых программ с последующим кодированием, тестированием и документированием программ.
В данном разделе представлены документы:
отчёт по работе по проекту АСОИ «Расчет врачебной функции»;
руководство пользователя.
5.1 Документ «Отчёт о работе по проекту АСОИ бизнес-процесса управления врачебной функции в филиале «Поликлиника №7 г.Могилева»».
Таблица 14 - Отчёт о работе по проекту АСОИ бизнес-процесса управления врачебной функции в филиале «Поликлиника №7 г.Могилева»».
Дата |
Компонент |
Вид |
Время разработки, ч |
1 |
2 |
3 |
4 |
15.03 2014 |
WdoctorsEdit |
public WdoctorsEdit(polic7Entities p7, spr_doctors upd, Wdoctors wdoctors){ InitializeComponent(); this.p7 = p7; this.upd = upd; this.wdoctors = wdoctors; label1.Content = "Код: " + upd.id_doctor.ToString(); tb.Text = upd.fio; } private void Button_Click_1(object sender, RoutedEventArgs e) { |
5 |
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
upd.fio = tb.Text; p7.SaveChanges(); wdoctors.updateDataGrid(); MessageBox.Show("Данные обновлены успешно", "Успех"); this.Close(); } |
|
18.03 2014 |
WaddNewTable |
public WaddNewTable() { InitializeComponent(); cb1.ItemsSource = SettingsApp.month; cb1.SelectedIndex = 0; }
private void Button_Click_1(object sender, RoutedEventArgs e) { this.Close(); }
private void Button_Click_2(object sender, RoutedEventArgs e) { string id = tb1.Text.Substring(2) + (cb1.SelectedIndex+10).ToString(); WTable wt = new WTable(id); wt.Show(); } |
16 |
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
19.03 2014 |
Wfunction |
public Wfunction(string id) { InitializeComponent(); this.id = Convert.ToInt32(id); this.ids = id.Substring(0, 2); this.m = SettingsApp.month[Convert.ToInt32(id.Substring(2)) - 10]; updateDataGrid(); //wnd.Height = 455; } public void updateDataGrid() {
p7 = new polic7Entities(); //datagrid IEnumerable<spr_positions_doctors> spd = from s in p7.spr_positions_doctors where s.id_date == this.id select s; ObservableCollection<spr_positions_doctors> obs = new ObservableCollection<spr_positions_doctors>(spd);
dg_func.ItemsSource = obs;
} private void
|
11 |
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
dg_func_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
}
private void dg_func_SelectionChanged(object sender, SelectionChangedEventArgs e) { wnd.Height = 585; var dg = (DataGrid)sender; int pos = 0; if (dg.SelectedIndex >= 0) { IEnumerable<spr_positions_doctors> spd = from s in p7.spr_positions_doctors where s.id_date == this.id select s; spr_positions_doctors doctor = spd.ElementAt<spr_positions_doctors>(dg.SelectedIndex); pos = doctor.id_position; spr_set sets = (from s in p7.spr_set where s.id_position == pos select s).First(); tf1.Text = sets.speopl.Replace('.', ','); tf2.Text = sets.shour.Replace('.', ','); |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
tf3.Text = doctor.days.ToString().Replace('.', ','); double f = ((double)(ds(tf1.Text) * ds(tf2.Text) * ds(tf3.Text))); tf4.Text = f.ToString().Replace('.', ',');
tpk1.Text = sets.Np.Replace('.', ','); tpk2.Text = sets.No.Replace('.', ','); tpk3.Text = sets.Nd.Replace('.', ','); tpk4.Text = sets.Nop.Replace('.', ',');
tp1.Text = doctor.perv.ToString().Replace('.', ','); tp2.Text = doctor.povtor.ToString().Replace('.', ','); tp3.Text = doctor.profosm.ToString().Replace('.', ','); tp4.Text = doctor.dom.ToString().Replace('.', ','); tp5.Text = doctor.operac.ToString().Replace('.', ','); double p = (double)(doctor.perv + doctor.povtor * ds(tpk1.Text) + doctor.profosm * ds(tpk2.Text) + doctor.dom * ds(tpk3.Text) + doctor.operac * ds(tpk4.Text)); tp6.Text = p.ToString().Replace('.', ',');
double d = p / f; |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
string sd = String.Format("Д = {0,-10} / {1,-10} = {2,-10:F}",p,f,d); l3.Content = sd; doctor.function = p.ToString("F"); p7.SaveChanges(); updateDataGrid();
}
} double ds(string s) {
s = s.Replace(',', '.'); return Convert.ToDouble(s); }
private void Button_Click_1(object sender, RoutedEventArgs e) {
}
private void Button_Click_2(object sender, RoutedEventArgs e) { ToExcel te = new ToExcel(this.ids, this.m); |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
int k =0; IEnumerable<spr_positions> _pos = from s in p7.spr_positions select s; foreach (spr_positions sp in _pos) { if (isHaveEl(sp)) { te.entityToExcel(k += 7, getSets(sp.id_position), getSumPositions(sp.id_position), "ИТОГО ПО: " + sp.position); IEnumerable<spr_positions_doctors> _spd = getSPD(sp.id_position); foreach (spr_positions_doctors spd in _spd) te.entityToExcel(k+=5, getSets(sp.id_position), spd, spd.spr_doctors.fio); } } } //проверка есть ли элементы в списке private bool isHaveEl(spr_positions s) { int count = (from x in p7.spr_positions_doctors where x.id_position == s.id_position && x.id_date == this.id select x).Count<spr_positions_doctors>(); if (count > 0) return true; else return false; } |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
//функция для подсчета итогов по должностям private spr_positions_doctors getSumPositions(int pos) { spr_positions_doctors result = new spr_positions_doctors(); result.function ="0"; result.perv = 0; result.povtor = 0; result.operac = 0; result.profosm = 0; result.days = 0; result.dom = 0; IEnumerable<spr_positions_doctors> _spd = from x in p7.spr_positions_doctors where x.id_position == pos && x.id_date == this.id select x;
foreach (spr_positions_doctors s in _spd) { result.function = (Convert.ToDouble(result.function) + Convert.ToDouble(s.function)).ToString(); result.perv += s.perv; result.povtor += s.povtor; result.operac += s.operac; result.profosm += s.profosm; result.days =s.days; |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
result.dom +=s.dom; } return result;
} //функция получения набора коэффициентов private spr_set getSets(int pos) { spr_set s = (from ss in p7.spr_set where ss.id_position == pos select ss).First(); return s; } //функция получения докторов по ид должности private IEnumerable<spr_positions_doctors> getSPD(int pos) { IEnumerable<spr_positions_doctors> spd = from s in p7.spr_positions_doctors where s.id_date == this.id && s.id_position == pos select s; return spd; } |
|
20.03 2014 |
Wset |
private void dgset_MouseDoubleClick(object sender, MouseButtonEventArgs e) { |
8 |
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
var dg = (DataGrid)sender; spr_set sets = null; // MessageBox.Show(dg.SelectedIndex.ToString()); if (dg.SelectedIndex >= 0 && dg.SelectedIndex < dg.Items.Count) { IEnumerable<spr_set> spd = from s in p7.spr_set select s; spr_set sid = spd.ElementAt(dg.SelectedIndex); sets = (from s in p7.spr_set where s.id_position == sid.id_position select s).Single(); WsetEdit wte = new WsetEdit(sets, this); wte.Show(); } } |
|
21.03 2014 |
WsetEdit |
public WsetEdit(spr_set sets, Wset wset) { InitializeComponent(); this.sets = sets; this.wset = wset; text1.Content = sets.spr_positions.position; t1.Text = sets.speopl; t2.Text = sets.shour; t3.Text = sets.Np; t4.Text = sets.No; |
10 |
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
t5.Text = sets.Nd; t6.Text = sets.Nop; p7 = new polic7Entities(); }
private void Button_Click_1(object sender, RoutedEventArgs e) { spr_set setsN = (from s in p7.spr_set where sets.id_set == s.id_set select s).Single<spr_set>(); setsN.speopl = t1.Text; setsN.shour = t2.Text; setsN.Np = t3.Text; setsN.No = t4.Text; setsN.Nd = t5.Text; setsN.Nop = t6.Text; p7.SaveChanges(); MessageBox.Show("Данные обновлены!", "Успех"); wset.updateDataGrid(); this.Close(); } |
|
21.03 2014 |
toExcel |
public void entityToExcel(int k, spr_set s, spr_positions_doctors d,string title) { ec = sheet.get_Range("A" + k, "T" + (k + 3)); ec.HorizontalAlignment = |
10 |
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
Excel.Constants.xlCenter; ec.VerticalAlignment = Excel.Constants.xlCenter;
//граница таблицы Excel.XlBordersIndex BorderIndex; BorderIndex = Excel.XlBordersIndex.xlEdgeLeft; ec.Borders[BorderIndex].Weight = Excel.XlBorderWeight.xlThick; ec.Borders[BorderIndex].LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders[BorderIndex].ColorIndex = 0; BorderIndex = Excel.XlBordersIndex.xlEdgeTop; ec.Borders[BorderIndex].Weight = Excel.XlBorderWeight.xlThick; ec.Borders[BorderIndex].LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders[BorderIndex].ColorIndex = 0; BorderIndex = Excel.XlBordersIndex.xlEdgeBottom; ec.Borders[BorderIndex].Weight = Excel.XlBorderWeight.xlThick; ec.Borders[BorderIndex].LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders[BorderIndex].ColorIndex = 0; BorderIndex = Excel.XlBordersIndex.xlEdgeRight; ec.Borders[BorderIndex].Weight = Excel.XlBorderWeight.xlThick; |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
//заголовок таблтцы ec = sheet.get_Range("A" + k, "T" + k); ec.Merge(); ec.Value2 = title; BorderIndex = Excel.XlBordersIndex.xlEdgeBottom; ec.Borders[BorderIndex].Weight = Excel.XlBorderWeight.xlThin; ec.Borders[BorderIndex].LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders[BorderIndex].ColorIndex = 0;
//разметка ячеек ec = sheet.get_Range("B" + (k + 2), "B" + (k + 2)); ec.Borders.Weight = Excel.XlBorderWeight.xlThin; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("D" + (k + 2), "D" + (k + 2)); ec.Borders.Weight = Excel.XlBorderWeight.xlThin; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("H" + (k + 2), "H" + (k + 2)); ec.Borders.Weight = Excel.XlBorderWeight.xlThin; |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("L" +( k + 2), "L" + (k + 2)); ec.Borders.Weight = Excel.XlBorderWeight.xlThin; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("P" + (k + 2), "P" + (k + 2)); ec.Borders.Weight = Excel.XlBorderWeight.xlThin; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("F" + (k + 1), "F" + (k + 1)); ec.Borders.Weight = Excel.XlBorderWeight.xlThin; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("T" + (k + 2), "T" + (k + 2)); ec.Borders.Weight = Excel.XlBorderWeight.xlThick; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
|
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
|
|
ec.Borders.ColorIndex = 0; ec = sheet.get_Range("H" + (k + 1), "H" + (k + 1)); ec.Borders.Weight = Excel.XlBorderWeight.xlThick; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0; ec = sheet.get_Range("F" + (k + 3), "F" + (k + 3)); ec.Borders.Weight = Excel.XlBorderWeight.xlThick; ec.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; ec.Borders.ColorIndex = 0;
//вставка шаблона int kor = 1; ec = sheet.get_Range("A" + (k + kor), "A" + (k + kor)); ec.Value2 = "Ф ="; ec = sheet.get_Range("C" + (k + kor), "C" + (k + kor)); ec.Value2 = "*"; ec = sheet.get_Range("E" + (k + kor), "E" + (k + kor)); ec.Value2 = "*"; ec = sheet.get_Range("G" + (k + kor), "G" + (k+ kor)); |
|
Продолжение таблицы 14 |
|||
1 |
2 |
3 |
4 |
11.04 2014 |
Wpositions |
private void Button_Click_2(object sender, RoutedEventArgs e) { int id = 0; try id = Convert.ToInt32(tb2.Text); spr_positions upd = (from s in p7.spr_positions where s.id_position == id select s).First(); WpositionsEdit wed = new WpositionsEdit(p7, upd, this); wed.Show(); } catch (Exception exc) { MessageBox.Show("Некорректные данные или должности с таким кодом не существует", "Ошибка"); } } |
4 |
11.04 2014 |
WpositionsEdit |
public WpositionsEdit(polic7Entities p7, spr_positions upd, Wpositions wpositions) { // TODO: Complete member initialization InitializeComponent(); this.p7 = p7; this.upd = upd; this.wpositions = wpositions; label1.Content = "Код: " + upd.id_position; tb.Text = upd.position; } |
4 |
5.2 Документ «Руководство пользователя»
В данном документе описывается процедура работы с разработанным программным продуктом.
Выполнить вход в систему: ввести логин и пароль на форме «Логин».
Рисунок 3 – Форма «Логин»
Если логин или пароль введены неверно, система выдаст предупреждение.
На открывшейся форме «Выбор отчетного периода» выбрать отчетный период и нажать кнопку далее.
Рисунок 4 – Форма «Выбор отчетного периода»
После выбора отчетного периода появляется форма «Учет количества посещений», на которой есть меню, состоящие из следующих пунктов:
отчеты, для формирования отчетов о количестве посещений по врачам, а так же по различным справочникам;
справочники, для ввода, редактирования, удаления данных из справочников;
расчет вр.функции, для расчета врачебный функции за определенный отчетный период.
Рисунок 5 – Меню формы «Учет количества посещений»
Рисунок 6 – Форма «Учет количества посещений»
На данной форме пользователь может добавить новую запись в базу, редактировать имеющуюся информацию, удалить данные из базы о количестве посещений.
Для того чтобы добавить запись в базу необходимо выбрать из списка ФИО врача, соответствующую ему должность, а так же ввести данные в соответствующие поля и нажать на кнопку «Добавить».
Рисунок 7 –Форма «Учет количества посещений». Добавление записи
Для того чтобы изменить запись в базе необходимо щелкнуть двойным кликом левой кнопкой мыши по соответствующей строке, и в появившемся окне внести соответствующие изменения и нажать кнопку «Добавить»
Рисунок 8 – Форма «Редактирование количества посещений»
Для того чтобы удалить запись из базы необходимо выделить нужную запись и нажать на кнопку Del на клавиатуре.
Для редактирование справочника, необходимо зайти через меню в соответствующий справочник, и при необходимости введя код, записи, произвести необходимые действия. Все справочники редактируются аналогично.
Рисунок 9 – Формы «Редактирование коэффициентов перевода» и «Коэффициенты перевода»
Для расчета врачебной функции необходимо на форме «Учет количества посещений» нажать кнопку «Расчет вр.функции», после чего откроеться форма «Расчет врачебной функции»
Рисунок 10 – Форма «Расчет врачебной функции»
Для расчета или перерасчета врачебной функции необходимо нажать на соответствующую строку в таблице.
Рисунок 11 – Форма «Расчет врачебной функции»
Для формирования документа необходимо нажать кнопку «в Excel»
Рисунок 12 – Форма «Расчет врачебной функции». Формирование документа
Рисунок 13 – Документ «Расчет врачебной функции»
Работа с другими отчетами аналогична работе с документом «Расчет врачебной функции.
6 Развёртывание программного обеспечения
Данный раздел дипломного проекта демонстрирует владение компетенциями системного администратора (ПК10, ПК11). Системный администратор (ComputerSystemAdministrator) обеспечивает техническую поддержку пользователей цифровых устройств, выполняет работы по развёртыванию, конфигурированию программных комплексов.
Системный администратор разрабатывает диаграммы компонентов и размещения.
На диаграмме компонентов указываются компоненты программы, которые должны быть включены в программный модуль для нормальной работы АСОИ.
Диаграмма размещения отражает физические взаимосвязи между программными и аппаратными компонентами системы.
Диаграмма компонентов представлена в графическом материале «Диаграмма компонентов», лист 1.
Диаграмма размещения представлена в графическом материале «Диаграмма размещения», лист 1.
7 Организационно-экономическая часть