Разработка и сопровождение приложений на базе операционной системы Android

Общие характеристики операционной системы Android. Разработка приложения на основе создания менеджера файлов. Получение с помощью приложения доступа к файлам, хранящимся в "облачном хранилище" в сети Интернет. Расчет стоимости программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 03.04.2015
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

где

Тстi - трудоемкость разработки ПО на i-й стадии (технического задания, эскизного проекта, технического проекта, рабочего проекта и внедрения), человеко-дней;

dстi - удельный вес трудоемкости i-й стадии разработки ПО в общей трудоемкости ПО;

kн - поправочный коэффициент, учитывающий степень новизны ПО;

kт - поправочный коэффициент, учитывающий степень использования в разработке типовых программ и ПО.

На основании уточненной трудоемкости разработки ПО и установленного периода разработки по формуле (5) рассчитывается общая плановая численность разработчиков ПО:

(5)

гдеЧр - плановая численность разработчиков, чел.;

Тр - плановая продолжительность разработки ПО, лет;

Фэф - годовой эффективный фонд времени работы одногоработника в течение года, дней в год.

Результаты расчетов уточненной трудоемкости и общей плановой численности разработчиков на разных стадиях разработки по формулам (4) и (5) представлены в таблице 4.3.

Таблица 4.3 - Результаты расчетов трудоемкости

Расчетный коэффициент

Стадии разработки

Итого

ТЗ

ЭП

ТП

РП

ВН

Коэффициенты удельных весов трудоемкости стадий,

0,11

0,09

0,11

0,55

0,14

1,0

Коэффициенты, учитывающие использование типовых программ,

-

-

-

0,9

-

-

Коэффициенты новизны, kн

1,0

1,0

1,0

1,0

1,0

-

Уточняющая трудоемкость стадий, человеко-дней

14

12

14

64

18

122

Численность исполнителей, чел.

1,8

1,9

1,8

1,9

2

1,9

Срок разработки, лет

0,03

0,025

0,023

0,13

0,035

0,25

Например, по формуле (4) определим уточнённую трудоёмкость на стадии рабочего проекта:

чел. - дней.

По формуле (5) определим общую плановую численность разработчиков ПО на стадии рабочего проекта:

чел.

4.5 Расчет заработной платы разработчиков ПО

Уточненная трудоемкость и общая плановая численность разработчиков служат базой для расчета основной заработной платы. По данным о спецификации и сложности выполняемых функций составляется штатное расписание группы специалистов-исполнителей, участвующих в разработке ПО с определением образования, специальности, квалификации и должности.

В соответствии с тарифными разрядами и коэффициентами должностей руководителей научных организаций каждому исполнителю устанавливается разряд и тарифный коэффициент.

Месячная тарифная ставка каждого исполнителя ТСм определяется путем умножения действующей месячной тарифной ставки 1-го разряда ТС1 на тарифный коэффициент kT, соответствующий установленному разряду:

. (6)

Часовая тарифная ставка рассчитывается путем деления месячной тарифной ставки на установленный при семичасовом рабочем дне фонд рабочего времени - 169,8 часа.

, (7)

где ТСч - часовая тарифная ставка, ден. ед.;

ТСм - месячная тарифная ставка, ден. ед.

По формулам (6) и (7) определим месячные и тарифные ставки начальника отдела (ТСмн, ТСчн) и инженера программиста (ТСми, чи):

руб.;

руб.;

руб.;

руб.;

Основная заработная плата исполнителей ПО рассчитывается по формуле (8):

, (8)

где n - количество исполнителей, занятых разработкой ПО;

ТСчi - часовая тарифная ставка i-го исполнителя, ден. ед.;

Фэi - эффективный фонд рабочего времени i-го исполнителя, дней;

Тч - количество часов работы в день, ч;

kп - коэффициент премирования.

По формуле (8) определим основную заработную плату исполнителей ПО:

руб.

Дополнительная заработная плата на ПО Здi включает выплаты, предусмотренные законодательством о труде (оплата, отпусков, льготных часов, времени выполнения государственных обязанностей и других выплат, не связанных с основной деятельностью исполнителей), и определяется по нормативу в процентах к основной заработной плате:

, (9)

где Здi - дополнительная заработная плата исполнителей ПО, ден. ед.;

Нд - норматив дополнительной заработной платы в целом по научной организации.

По формуле (9) определим дополнительную заработную плату на ПО:

руб.

4.6 Расчет отчислений, налогов и затрат

Отчисления в фонд социальной защиты населения Зсзi определяются в соответствии с действующими законодательными актами по нормативу в процентном отношении к фонду основной и дополнительной заработной платы исполнителей:

, (10)

где Нсз - норматив отчислений в фонд социальной защиты населения, %. По формуле (10) определим отчисления в фонд социальной защиты населения:

руб.

Расходы по статье "Спецоборудование" Рсi включают затраты средств на приобретение вспомогательных специального назначения технических и программных средств, необходимых для разработки ПО, включая расходы на их проектирование, изготовление, отладку, установку и эксплуатацию. Затраты по этой статье определяются в соответствии со сметой расходов, которая составляется перед разработкой ПО. Данная статья включается в смету расходов на разработку ПО в том случае, когда приобретаются специальное оборудование или специальные программы, предназначенные для разработки и создания только данного ПО.

В небольших научных организациях и на малых предприятиях, где основными производственными фондами являются лишь средства ВТ, амортизационные отчисления Аoi можно определить прямым счетом, используя нормы амортизационных отчислений:

, (11)

где Аoi - амортизационные отчисления по конкретному средству ВТ в расчете на год, ден. ед.;

Тф - фактический срок использования основной ВТ;

ПСi - первоначальная стоимость ВТ, составляет 2500000 руб.

По формуле (11) определим сумму амортизационных отчислений:

руб.

Расходы по статье "Прочие затраты" Пзi на ПО включают затраты на приобретение и подготовку специальной научно-технической информации и специальной литературы. Определяются по нормативу, разрабатываемому в целом по научной организации, в процентах к основной заработной плате:

, (12)

где Hпз - норматив прочих затрат в целом по научной организации, %.

По формуле (12) определим прочие затраты:

руб.

Общая сумма расходов по всем статьям сметы Срi на ПО рассчитывается по формуле:

. (13)

По формуле (13) определим общую сумму расходов:

руб.

Кроме того, организация-разработчик осуществляет затраты на сопровождение и адаптацию ПО Pсаi, которые определяются по нормативу Hса:

, (14)

где Hса - норматив расходов на сопровождение и адаптацию, %.

По формуле (14) определим расходы на сопровождение и адаптацию

руб.

4.7 Расчет себестоимости, отпускной цены и прибыли

Общая сумма расходов на разработку (с затратами на сопровождение и адаптацию) как полная себестоимость ПО Спi определяется по формуле:

. (15)

По формуле (15) определим полную себестоимость ПО:

руб.

Рентабельность и прибыль по создаваемому ПО определяются исходя из результатов анализа рыночных условий, переговоров с заказчиком (потребителем) и согласования с ним отпускной цены, включающей дополнительно налог на добавленную стоимость. Прибыль рассчитывается по формуле:

, (16)

где Прi - прибыль от реализации ПО заказчика, ден. ед.;

Урпi - уровень рентабельности ПО, принимаем 30 %;

Спi - себестоимость ПО, ден. ед.

По формуле (16) определим прибыль от реализации создаваемого ПО:

руб.

В цену ПО включается налог на добавленную стоимость, который рассчитывается по нормативу, установленному действующим законодательством, в процентах к общей сумме добавленной стоимости:

, (17)

где

Ндсi - налог на добавленную стоимость, ден. ед.;

Дсi - добавленная стоимость, ден. ед.;

Нндс - норматив налога на добавленную стоимость, %.

Действующим законодательством предусмотрены льготы по налогу на добавленную стоимость. От налога на добавленную стоимость освобождается реализация научно-исследовательских работ, которые выполняются на основе хозяйственных договоров для потребителей Республики Беларусь, работы и услуги учебно-опытных участков и учебных хозяйств, учреждений образования и другие работы.

Добавленная стоимость на ПО рассчитывается по формуле:

. (18)

На реализацию создаваемого ПО льготы по налогу на добавленную стоимость Ндсi не распространяются. В связи с этим добавленная стоимость на ПО определяется по формуле (17).

руб.

По формуле (18) определим налог на добавленную стоимость

руб.

Прогнозируемая отпускная цена ПО представляет собой сумму себестоимости, прибыли и налога на добавленную стоимость

. (19)

По формуле (19) определим прогнозируемую отпускную цену ПО

руб.

Прибыль от реализации ПО остается организации разработчику и предоставляет собой эффект от создания нового программного обеспечения ВТ.

Таким образом, экономический эффект от создания нового программного обеспечения составляет 369681,84 рублей.

5. Требования к организации рабочего места инженера-программиста

5.1 Анализ воздействия производственных факторов на рабочем месте инженера-программиста

В процессе трудовой деятельности, связанной с выполнением работ на персональных электронно-вычислительных машинах (ПЭВМ), на работающих могут воздействовать следующие неблагоприятные производственные факторы: электромагнитное и электростатическое поля, ультрафиолетовое, низкоэнергетическое рентгеновское излучение, электрическое напряжение, повышенные уровни отраженной блесткости, ослепленности, яркости светового изображения, неравномерность распределения яркости в поле зрения, электрическое напряжение, напряжение зрения и внимания и др. При длительной работе за экраном дисплея у операторов отмечается выраженное напряжение зрительного аппарата, головные боли, раздражительность, нарушение сна, усталость и болезненные ощущения в глазах, в пояснице, в области шеи, руках и др.

Наиболее отрицательное физиологическое воздействие на операторов связано с дискомфортными зрительными условиями, поэтому работа с экраном может сопровождается покраснением век и глазных яблок, слезотечением, замутнением зрения, жжением или болью в глазах. Выделены две причины возникновения астенопии (зрительного дискомфорта) и утомления: "техническая" и "режимная". Первая связана с особенностью экранного изображения: низкой контрастностью, частыми перепадами яркости и мерцанием экрана, угловыми размерами сигналов, геометрические и не линейные искажения и т.д. Существенно влияет выбор сочетаний цветов знака и фона, причем некоторые сочетания могут привести не только к утомлению, но и к стрессу. Весьма значимо и соотношение спектров свечения экрана и внешнего освещения. Режимная обусловлена временем работы, а именно, длительностью наблюдения за экраном или продолжительности фиксации взора на экране. Наряду с продолжительностью работы существенное значение имеет вид трудовой деятельности.

Работа с дисплеем многофункциональна и связана с нагрузками на различные системы организма оператора видеодисплейного терминала (ВДТ). В процессе интенсивного умственного труда у пользователей ВДТ формируется нервно психическое напряжение, а в ряде случаев развивается состояние перенапряжения, которое рассматривается в качестве одной из причин развития невротических нарушений возникновения сердечнососудистой патологии, а также является иногда причиной производственного стресса, играет определенную роль в повышении личной тревоги и, в ряде случаев, в развитии депрессивных состояний.

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

Положение различных частей тела при работе с ПЭВМ является нефизиологическим для человека. Физиологическим является так называемое эмбриональное положение, его легко испытать на себе, если полностью расслабиться в соленой воде. Когда мышцы расслаблены и воздействует на них лишь естественный тонус покоя, тело приходит в определенное положение. Для спины и шеи в вертикальном положении физиологично другое когда явно выражены поясничный и шейный изгибы позвоночника, при прямой вертикальной линии, проходящей через затылок и копчик. Правильную осанку необходимо выучить "телом" путем его контроля какое-то время, и потом она будет поддерживаться автоматически. Проще всего встать к ровной стене и прижать к ней плотно пятки, икры, ягодицы, лопатки, локти и затылок. Достигнуть идеала вообще непросто, в процессе работы особенно, но к этому надо стремиться - хотя бы для отдельных частей тела.

Как показывают исследования, длительная и интенсивная работа с такими устройствами как клавиатура и мышь может стать источником тяжелых профессиональных заболеваний. Заболевания, обусловленные травмой повторяющихся нагрузок (ТПН), развиваются постепенно. Легкая боль в руке, если ее вовремя не вылечить, может, в конечном счете, привести к инвалидности.

Специалисты полагают, что естественным положением кистей рук является вертикальное, а не ладонью вниз, как при работе с компьютером. Причем при работе с клавиатурой (мышью) однообразные движения повторяются постоянно в течение длительного времени.

Заболевания, обусловленные ТПН, включают болезни нервов, мышц и сухожилий рук. Наиболее часто страдают кисть запястье и плечо, хотя могут быть затронута и шейная область. У людей, работающих с вычислительной техникой, заболевание обычно наступает в результате непрерывной работы на неудобно или неправильно расположенной клавиатуре, например, при чрезмерно высоком расположении поверхности стола или плохо подогнанном кресле.

5.2 Гигиенические требования к организации рабочего места инженера-программиста

Гигиенические требования к организации рабочего места инженера-программиста регламентируются в Санитарных правилах и нормах СанПиН 9-131 РБ 2000 "Гигиенические требования к видеодисплейным терминалам, электронно-вычислительным машинам и организации работы". Данные Санитарные правила и нормы предназначены для предотвращения неблагоприятного воздействия на человека вредных факторов, сопровождающих работы с ВДТ, электронно-вычислительными машинами (ЭВМ) и ПЭВМ и определяют санитарно-гигиенические требования к:

· обеспечению безопасных и безвредных для здоровья пользователей условий при работе их с ВДТ, ЭВМ, ПЭВМ;

· помещениям для эксплуатации ВДТ, ЭВМ и ПЭВМ;

· параметрам физических факторов в помещениях с ВДТ, ЭВМ и ПЭВМ

· микроклимату, содержанию вредных химических веществ и аэроинов в воздухе помещений при эксплуатации ВДТ, ЭВМ и ПЭВМ;

· освещению помещений и рабочих мест с ВДТ, ЭВМ и ПЭВМ;

· организации и оборудованию рабочих мест с ВДТ, ЭВМ и ПЭВМ.

Требования к помещениям для эксплуатации ВДТ, ЭВМ и ПЭВМ:

· должны иметь естественное и искусственное освещение;

· естественное освещение должно осуществляться через светопроемы, ориентированные преимущественно на север и северо-восток и обеспечивать коэффициент естественной освещенности (КЕО) не ниже 1,5%;

· в случаях производственной необходимости, эксплуатация ВДТ, ЭВМ и ПЭВМ в помещениях без естественного освещения может проводиться только по согласованию с органами Государственного санитарного надзора;

· площадь на одно рабочее место с ВДТ, ЭВМ и ПЭВМ должна составлять не менее 6,0 м2, а объем не менее 20,0 м;

· при строительстве новых и реконструкции действующих зданий и помещений для ВДТ, ЭВМ и ПЭВМ их следует проектировать высотой (от пола до потолка) не менее 3,0 м;

· производственные и административные помещения, в которых для работы используются преимущественно ВДТ, ЭВМ и ПЭВМ (диспетчерские, операторские, расчетные и др.), не должны граничить с помещениями, в которых уровни шума и вибрации превышают нормируемые значения (механические цеха, мастерские т.п.);

· звукоизоляция ограждающих конструкций помещений с ВДТ, ЭВМ и ПЭВМ должна отвечать гигиеническим требованиям и обеспечивать нормируемые параметры шума в них;

· помещения с ВДТ, ЭВМ и ПЭВМ должны оборудоваться системами отопления, кондиционирования воздуха или эффективной приточно-вытяжной вентиляцией;

· для внутренней отделки интерьера помещений с ВДТ, ЭВМ и ПЭВМ должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка - 0,7-0,8; для стен - 0,5-0,6; для пола - 0,3-0,5;

· полимерные материалы, используемые для внутренней отделки интерьера помещений с ВДТ, ЭВМ и ПЭВМ, должны быть разрешены для применения органами Государственного санитарного надзора;

· поверхность пола в помещениях эксплуатации ВДТ, ЭВМ и ПЭВМ должна быть ровной, без выбоин, нескользкой, удобной для очистки и влажной уборки, обладать антистатическими свойствами.

Требования к микроклимату, содержанию вредных химических веществ и аэроионов в воздухе помещений при эксплуатации ВДТ, ЭВМ И ПЭВМ:

· в производственных помещениях, в которых работа на ВДТ, ЭВМ и ПЭВМ является основной, должны обеспечиваться оптимальные параметры микроклимата (таблица 5.1);

Таблица 5.1 - Оптимальные параметры микроклимата для помещений с ВДТ, ЭВМ и ПЭВМ

Период года

Категория работ

Температура воздуха,°С не более

Относительная влажность воздуха, %

Скорость движения воздуха, м/с

Холодный

легкая-1а

22-24

40-60

0,1

легкая-1б

21-23

40-60

0,1

Теплый

легкая-1а

23-25

40-60

0,1

легкая-1б

22-24

40-60

0,2

Примечания: к категории 1а относятся работы, производимые сидя и не требующие физического напряжения, при которых расход энергии составляет до 120 ккал/ч; к категории 1б относятся работы, производимые сидя, стоя или связанные с ходьбой и сопровождающиеся некоторым физическим напряжением, при которых расход энергии составляет от 120 до 150 ккал/ч.

· для повышения влажности воздуха в помещениях с ВДТ, ЭВМ и ПЭВМ следует применять увлажнители воздуха, заправляемые ежедневно дистиллированной или прокипяченной питьевой водой;

· уровни положительных и отрицательных аэроионов в воздухе помещений с ВДТ и ПЭВМ должны соответствовать нормам, приведенным в таблице 5.2;

Таблица 5.2 - Уровни ионизации воздуха помещений при работе на ВДТ, ЭВМ и ПЭВМ

Уровни

Число ионов в 1 см3 воздуха

п+

п-

Минимально необходимые

400

600

Оптимальные

1500-3000

3000-5000

Максимально допустимые

50000

50000

· содержание вредных химических веществ в производственных помещениях, в которых работа на ВДТ, ЭВМ и ПЭВМ является основной, не должно превышать значений, установленных в перечне "Предельно допустимых концентрациях, загрязняющих веществ в атмосферном воздухе населенных мест", № 3086-84, утвержденных МЗ СССР от 27.08.84 г., и дополнений к нему, утвержденных МЗ РБ;

· запрещается проводить ремонт ВДТ, ЭВМ и ПЭВМ непосредственно в рабочих помещениях.

Требования к параметрам физических факторов в помещениях с ВДТ, ЭВМ и ПЭВМ:

· при выполнении основной работы на ВДТ, ЭВМ и ПЭВМ (категория I) уровень шума на рабочем месте не должен превышать 50 дБА (таблица 5.3);

· в помещениях, где работают инженерно-технические работники, осуществляющие лабораторный, аналитический или измерительный контроль (категория II), уровень шума не должен превышать 60 дБА;

· в помещениях операторов ЭВМ (без дисплеев) (категория III) уровень шума не должен превышать 65 дБА;

· на рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин (АЦПУ, принтеры и т.п.) - категория IV уровень шума не должен превышать 75 дБА (таблица 5.3).

Таблица 5.3 - Уровни звука, эквивалентные уровни звука и уровни звукового давления в октавных полосах частот

Категория нормы шума

Уровни звукового давления, дБ в октавных полосах со среднегеометрическими частотами, Гц

Уровни звука, эквивалентные уровни звука, дБА

31,5

63

125

250

500

1000

2000

4000

8000

I

86

71

61

54

49

45

42

40

38

50

II

93

79

70

63

58

55

52

50

49

60

III

96

83

74

68

63

60

57

55

54

65

IV

103

91

83

77

73

70

68

66

64

75

· шумящее оборудование (АЦПУ, принтеры и др.), уровни шума которого превышают допустимые, должно находиться вне помещения с ВДТ, ЭВМ и ПЭВМ;

· снизить уровень шума в помещениях с ВДТ, ЭВМ и ПЭВМ можно использованием звукопоглощающих материалов для отделки помещений, разрешенных органами Государственного санитарного надзора Республики Беларусь, с максимальными коэффициентами звукопоглощения в области частот 63 - 8000 Гц и подтвержденных специальными акустическими расчетами Дополнительным звукопоглощением служат однотонные занавеси из плотной ткани, гармонирующие с окраской стен и подвешенные в складку на расстоянии 15-20 см от ограждения. Ширина занавеси должна быть в два раза больше ширины окна.

Требования к освещению помещений и рабочих мест с ВДТ, ЭВМ и ПЭВМ:

· искусственное освещение в помещениях эксплуатации ВДТ, ЭВМ и ПЭВМ должно осуществляться системой общего равномерного освещения. В производственных и административно-общественных помещениях, в случаях преимущественной работы с документами, допускается применение системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов);

· освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 лк. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк;

· следует ограничивать прямую блесткость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле зрения, должна быть не более 200 кд/м2 (кандел на метр квадратный);

· следует ограничивать отраженную блесткость на рабочих поверхностях (экран, стол, клавиатура и др.) за счет правильного выбора типов светильников и расположения рабочих мест по отношению к источникам естественного и искусственного освещения, при этом яркость бликов на экране ВДТ, ЭВМ и ПЭВМ не должна превышать 40 кд/м2 и яркость потолка, при применении системы отраженного освещения, не должна превышать 200 кд/м;

· в качестве источников света при искусственном освещении должны применяться преимущественно люминесцентные лампы. При устройстве отраженного освещения в производственных и административно-общественных помещениях допускается применение металлогалогенных ламп мощностью до 250 Вт. Допускается применение ламп накаливания в светильниках местного освещения;

· общее освещение следует выполнять в виде сплошных или прерывистых линий светильников, расположенных сбоку от рабочих мест, параллельно линии зрения пользователя при рядном расположении ВДТ, ЭВМ и ПЭВМ. При периметральном расположении компьютеров линии светильников должны располагаться локализовано над рабочим столом ближе к его переднему краю, обращенному к оператору;

· для освещения помещений с ВДТ, ЭВМ и ПЭВМ следует применять светильники серии ЛП036 с зеркализованными решетками, укомплектованные высокочастотными пускорегулирующими аппаратами (ВЧ ПРА). Допускается применять светильники серии ЛП036 без ВЧ ПРА только в модификации "Кососвет", а также светильники прямого света - П, преимущественно прямого света - Н, преимущественно отраженного света - В. Применение светильников без рассеивателей и экранирующих решеток не допускается;

· яркость светильников общего освещения в зоне углов излучения от 50 до 90 градусов с вертикалью в продольной и поперечной плоскостях должна составлять не более 200 кд/м2, защитный угол светильников должен быть не менее 40°;

· светильники местного освещения должны иметь не просвечивающий отражатель с защитным углом не менее 40°;

· коэффициент запаса (Кз) для осветительных установок общего освещения должен приниматься равным 1,4;

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

Требования к организации и оборудованию рабочих мест с ВДТ, ЭВМ и ПЭВМ:

· высота рабочей поверхности стола для взрослых пользователей должна регулироваться в пределах 680-800 мм, при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм;

· модульными размерами рабочей поверхности стола для ВДТ, ЭВМ и ПЭВМ, на основании которых должны рассчитываться конструктивные размеры, следует считать: ширину 800, 1000, 1200 и 1400 мм, глубину 800 и 1000 мм при нерегулируемой его высоте, равной 725 мм;

· рабочий стол должен иметь пространство для ног высотой не менее 600 мм, шириной - не менее 500 мм, глубиной на уровне колен - не менее 450 мм и на уровне вытянутых ног - не менее 650 мм.

· конструкция рабочего стула (кресла) должна обеспечивать:

- ширину и глубину поверхности сиденья не менее 400 мм;

- поверхность сиденья с закругленным передним краем;

- регулировку высоты поверхности сиденья в пределах 400-550 мм и углам наклона вперед до 15° и назад до 5°;

- высоту опорной поверхности спинки 300 ± 20 мм, ширину - не менее 380 мм и радиус кривизны горизонтальной плоскости - 400 мм;

- угол наклона спинки в вертикальной плоскости в пределах 0 ± 30°;

- регулировку расстояния спинки от переднего края сиденья в пределах 260 - 400 мм;

- стационарные или съемные подлокотники длиной не менее 250 мм и шириной - 50-70 мм;

- регулировку подлокотников по высоте над сиденьем в пределах 230 ± 30 мм и внутреннего расстояния между подлокотниками в пределах 350-500 мм.

· рабочее место должно быть оборудовано подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20 градусов. Поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм;

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

Согласно вышеизложенным требованиям к организации пространства при работе на ПЭВМ, спроектируем рабочие места для инженеров-программистов. На рисунках 5.1 и 5.2 приведены проектные автоматизированные рабочие места инженеров-программистов.

Рисунок 5.1 - План спроектированного помещения

Рисунок 5.2 - Проект помещения с автоматизированными рабочими местами

Таким образом, соответствие спроектированных рабочих мест вышеизложенным требованиям санитарных норм обеспечивает благоприятные условия для работы инженеров-программистов.

Заключение

В ходе выполнения дипломного проекта разработан файловый менеджер с возможностью использования web-сервиса для получения и отправки данных.

Рассмотрены общие характеристики операционной системы Android. Изучен комплект для разработки программ Android Software Development Kit. Проведен сравнительный анализ существующих файловых менеджеров. Определены структура и принципы работы приложения. Обоснован выбор визуальной среды разработки приложений Eclipse Indigo. Разработано программное обеспечение соответсвуюшее определенным принципам работы.

Разработанное приложение выполняет следующие основные функции:

· работы с файлами (копирование, перемещение, удаление);

· создание новых каталогов;

· работа с web-сервисом box.

При выполнении дипломного проекта использовались следующие программные продукты:

Eclipse Indigo - среда разработки;

Android Software Development Kit - комплект для разработки программ Android;

MS Visio 2007 - оформление графического материала;

MS Word 2007 - оформление текстовых материалов.

Рассчитана стоимость программного обеспечения, рассмотрены требования по организации рабочего места инженера-программиста.

Список использованных источников

1 Бочков, К.А. Автоматика, телемеханика и связь на транспорте: Пособие по оформлению дипломных проектов / К.А. Бочков, С.Н. Харлап, А.Г. Серенков, В.Ф. Кондрачук - Гомель: БелГУТ, 2012. - 74 с.

2 Голощапов, А.Л. Google Android: программирование для мобильных устройств / А.Л. Голощапов - СПб.: БХВ-Петербург, 2011. - 448 с.

3 Емельянова, И.А. Технико-экономическое обоснование в дипломных проектах. Пособие для студентов электротехнического факультета / И.А. Емельянова - Гомель: БелГУТ, 2004. - 50 с.

4 СанПиН 9-131 РБ 2000 "Гигиенические требования к видеодисплейным терминалам, электронно-вычислительным машинам и организации работы", Мн., 2000.

5 Техника безопасности, №1, 2005. Голиков П.Е. Компьютерный зрительный синдром - основная проблема операторов ПК.

6 Хашими, С. Разработка приложений для Android / С. Хашими, С. Коматинени, Д. Маклин - СПб.: Питер, 2011 - 736 с.

7 Шатило, С.Н. Методические указания к выполнению раздела "Охрана труда" в дипломных проектах / С.Н. Шатило, А.М. Рудницкий - Гомель: БелИИЖТ, 1990. - 41 с.

8 Эккель, Б. Философия Java. Библиотека программиста / Б. Эккель - СПб.: Питер, 2009. - 640 с.

9 "ЕСКД. Общие требования к текстовым документам" (ГОСТ 2.105-95)

10 Официальный сайт обеспечения Android SDK [Электронный ресурс] - режим доступа: http://developer. android.com

Приложения

Приложение А

Файл разметки main. xml

<? xml version="1.0" encoding="utf-8"? >

<LinearLayout xmlns: android="http://schemas. android.com/apk/res/android"

android: id="@+id/LinearLayout1"

android: layout_width="fill_parent"

android: layout_height="fill_parent"

android: background="@android: color/white"

android: orientation="vertical">

<LinearLayout

android: layout_width="fill_parent"

android: layout_height="wrap_content"

android: baselineAligned="false"

android: onClick="navigationButtonClicked"

android: orientation="horizontal"

android: background="@drawable/main_screen_back"

android: padding="5dp"

android: layout_margin="2dp" >

<ImageView

android: id="@+id/imageView1"

android: layout_width="wrap_content"

android: layout_height="wrap_content"

android: src="@drawable/ic_main_myfiles" />

<TextView

android: id="@+id/textView1"

android: layout_width="fill_parent"

android: layout_height="wrap_content"

android: layout_gravity="center"

android: paddingLeft="5dp"

android: text="@string/myfiles_for_textview_on_main"

android: textColor="@android: color/black"

android: textSize="22dp"

android: textStyle="bold" />

</LinearLayout>

<LinearLayout

android: layout_width="fill_parent"

android: layout_height="wrap_content"

android: onClick="cloudButtonClicked"

android: orientation="horizontal"

android: background="@drawable/main_screen_back"

android: padding="5dp"

android: layout_margin="2dp" >

<ImageView

android: id="@+id/imageView2"

android: layout_width="wrap_content"

android: layout_height="wrap_content"

android: src="@drawable/ic_main_cloud" />

<TextView

android: id="@+id/textView2"

android: layout_width="fill_parent"

android: layout_height="wrap_content"

android: layout_gravity="center"

android: paddingLeft="5dp"

android: text="@string/cloud_for_textview_on_main"

android: textColor="@android: color/black"

android: textSize="22dp"

android: textStyle="bold" />

</LinearLayout>

</LinearLayout>

Файл меню опций icon_menu_for_main. xml

<? xml version="1.0" encoding="utf-8"? >

<menu xmlns: android="http://schemas. android.com/apk/res/android" >

<item android: id="@+id/icon_menu_quit"

android: icon="@drawable/ic_menu_quit"

android: title="@string/menu_quit_title" />

</menu>

Файл разметки navigation. xml

<? xml version="1.0" encoding="utf-8"? >

<LinearLayout xmlns: android="http://schemas. android.com/apk/res/android"

android: id="@+id/LinearLayout1"

android: layout_width="fill_parent"

android: layout_height="fill_parent"

android: background="@android: color/white"

android: orientation="vertical" >

<LinearLayout

android: layout_width="fill_parent"

android: layout_height="wrap_content" >

<Button

android: id="@+id/rootButton"

android: layout_width="0dp"

android: layout_height="wrap_content"

android: layout_weight="1"

android: text="/"

android: onClick="rootButtonClicked"/>

<Button

android: id="@+id/memoryCardButton"

android: layout_width="0dp"

android: layout_height="wrap_content"

android: layout_weight="2"

android: text="@string/memory_card_for_button"

android: onClick="memoryCardButtonClicked"/>

<Button

android: id="@+id/multiSelectButton"

android: layout_width="0dp"

android: layout_height="wrap_content"

android: layout_weight="2"

android: text="@string/multiselection_for_button"

android: onClick="multiSelectButtonClicked"/>

</LinearLayout>

<TextView

android: id="@+id/titleManager"

android: layout_width="fill_parent"

android: layout_height="wrap_content"

android: background="@android: color/white"

android: padding="5dp"

android: textColor="@android: color/black"

android: textSize="18dp"

android: textStyle="bold" />

<LinearLayout

android: layout_width="fill_parent"

android: layout_height="wrap_content"

android: orientation="vertical" >

<ListView

android: id="@+id/android: list"

android: layout_width="fill_parent"

android: layout_height="fill_parent"

android: layout_weight="1"

android: background="@android: color/white"

android: cacheColorHint="#00000000"

android: drawSelectorOnTop="true" >

</ListView>

</LinearLayout>

</LinearLayout>

Файл меню опций icon_menu_for_navigation. xml

<? xml version="1.0" encoding="utf-8"? >

<menu xmlns: android="http://schemas. android.com/apk/res/android" >

<item android: id="@+id/icon_menu_copy"

android: icon="@drawable/ic_menu_copy"

android: title="@string/menu_copy_title" />

<item android: id="@+id/icon_menu_cut"

android: icon="@drawable/ic_menu_cut"

android: title="@string/menu_cut_title" />

<item android: id="@+id/icon_menu_paste"

android: icon="@drawable/ic_menu_paste"

android: title="@string/menu_paste_title" />

<item android: id="@+id/icon_menu_delete"

android: icon="@drawable/ic_menu_delete"

android: title="@string/menu_delete_title" />

<item android: id="@+id/icon_menu_newfolder"

android: icon="@drawable/ic_menu_newfolder"

android: title="@string/menu_newfolder_title" />

<item android: id="@+id/icon_menu_back"

android: icon="@drawable/ic_menu_back"

android: title="@string/menu_back_title" />

</menu>

Файл разметки элемента списка row. xml

<? xml version="1.0" encoding="utf-8"? >

<RelativeLayout xmlns: android="http://schemas. android.com/apk/res/android"

android: layout_width="fill_parent"

android: layout_height="fill_parent" >

<ImageView

android: id="@+id/imageViewForIcon"

android: layout_width="wrap_content"

android: layout_height="wrap_content"

android: layout_alignParentLeft="true"

android: layout_centerVertical="true"

android: src="@drawable/ic_launcher" />

<TextView

android: id="@+id/textViewForName"

android: layout_width="wrap_content"

android: layout_height="wrap_content"

android: layout_centerVertical="true"

android: layout_marginLeft="42dp"

android: ellipsize="end"

android: gravity="center_vertical"

android: padding="5dp"

android: scrollHorizontally="true"

android: textColor="@android: color/black"

android: textSize="18dp" />

<ImageView

android: id="@+id/imageViewForSelect"

android: layout_width="wrap_content"

android: layout_height="wrap_content"

android: layout_alignParentRight="true"

android: layout_centerVertical="true"

android: maxHeight="36dp"

android: maxWidth="36dp"/>

</RelativeLayout>

Файл строковых ресурсов string. xml

<? xml version="1.0" encoding="utf-8"? >

<resources>

<string name="app_name">FileManager</string>

<string name="menu_copy_title">Копировать</string>

<string name="menu_cut_title">Вырезать</string>

<string name="menu_delete_title">Удалить</string>

<string name="menu_paste_title">Вставить</string>

<string name="menu_newfolder_title">Новая папка</string>

<string name="menu_back_title">Назад</string>

<string name="menu_quit_title">Выйти</string>

<string name="myfiles_for_textview_on_main">Мои файлы</string>

<string name="cloud_for_textview_on_main">Мое облако</string>

<string name="memory_card_for_button">Карта памяти</string>

<string name="multiselection_for_button">Мульти-выбор</string>

</resources>

Файл MainActivity. java

package ru. mail. korgik46. filemanager;

import android. app. Activity;

import android. content. Intent;

import android.net. Uri;

import android. os. Bundle;

import android. view. Menu;

import android. view. MenuInflater;

import android. view. MenuItem;

import android. view. View;

public class MainActivity extends Activity {

static final String HTTP_FOR_WEB = "http://www.box.com";

/** Вызывается при создании окна */

@Override

public void onCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (R. layout. main);

}

/** Вызывается при выборе пункта "Мои файлы" */

public void navigationButtonClicked (View v) {

Intent startNavigationActivity;

startNavigationActivity = new Intent (this, NavigationActivity. class);

startActivity (startNavigationActivity);

}

/** Вызывается при выборе пункта "Мое облако" */

public void cloudButtonClicked (View v) {

Intent launchIntent;

launchIntent = new Intent (Intent. ACTION_VIEW, Uri. parse (HTTP_FOR_WEB));

startActivity (launchIntent);

}

@Override

public boolean onCreateOptionsMenu (Menu menu) {

MenuInflater inflater = getMenuInflater ();

inflater. inflate (R. menu. icon_menu_for_main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected (MenuItem item) {

// Handle item selection

switch (item. getItemId ()) {

case R. id. icon_menu_quit:

quit ();

return true;

default:

return super. onOptionsItemSelected (item);

}

}

private void quit () {

finish ();

}

}

Файл NavigationActivity. java

package ru. mail. korgik46. filemanager;

import java. io. File;

import java. io. FileInputStream;

import java. io. FileNotFoundException;

import java. io. FileOutputStream;

import java. io. IOException;

import java. io. InputStream;

import java. io. OutputStream;

import java. util. ArrayList;

import java. util. List;

import android. app. AlertDialog;

import android. app. ListActivity;

import android. content. DialogInterface;

import android. content. DialogInterface. OnClickListener;

import android. content. Intent;

import android. content. res. Configuration;

import android.net. Uri;

import android. os. Bundle;

import android. os. Environment;

import android. view. ContextMenu;

import android. view. ContextMenu. ContextMenuInfo;

import android. view. Menu;

import android. view. MenuInflater;

import android. view. MenuItem;

import android. view. MenuItem. OnMenuItemClickListener;

import android. view. View;

import android. widget. AdapterView. AdapterContextMenuInfo;

import android. widget. ListView;

import android. widget. TextView;

import android. widget. Toast;

public class NavigationActivity extends ListActivity {

private List<String> directoryEntries = new ArrayList<String> ();

private File currentDirectory = new File ("/");

private boolean multiSelection = false;

// Вызывается при создании окна

@Override

public void onCreate (Bundle icicle) {

super. onCreate (icicle);

// Установка главного экрана

setContentView (R. layout. navigation);

// Обзор корневого каталога

browseTo (new File ("/"));

registerForContextMenu (getListView ());

}

// Вызывается при смене ориентации устройства

@Override

public void onConfigurationChanged (Configuration newConfig) {

super. onConfigurationChanged (newConfig);

// Сохраняется прежнее состояние

}

// При создании контекстного меню

@Override

public void onCreateContextMenu (ContextMenu menu, View v, ContextMenuInfo menuInfo) {

AdapterContextMenuInfo aMenuInfo = (AdapterContextMenuInfo) menuInfo;

// Получаем позицию элемента в списке

int position = aMenuInfo. position;

// Получаем данные элемента списка, тип данных здесь вы должны указать свой!

final String item = (String) getListAdapter (). getItem (aMenuInfo. position);

menu. setHeaderTitle (item);

menu. add ("Копировать"). setOnMenuItemClickListener (new OnMenuItemClickListener () {

@Override

public boolean onMenuItemClick (MenuItem item) {

copyFiles ();

return true;

}

});

menu. add ("Вырезать"). setOnMenuItemClickListener (new OnMenuItemClickListener () {

@Override

public boolean onMenuItemClick (MenuItem item) {

cutFiles ();

return true;

}

});

menu. add ("Удалить"). setOnMenuItemClickListener (new OnMenuItemClickListener () {

@Override

public boolean onMenuItemClick (MenuItem item) {

deleteFiles ();

return true;

}

});

}

// При создании меню опций

@Override

public boolean onCreateOptionsMenu (Menu menu) {

MenuInflater inflater = getMenuInflater ();

inflater. inflate (R. menu. icon_menu_for_navigation, menu);

return true;

}

// При выборе пункта меню опций

@Override

public boolean onOptionsItemSelected (MenuItem item) {

switch (item. getItemId ()) {

case R. id. icon_menu_back:

finish ();

return true;

case R. id. icon_menu_copy:

copyFiles ();

return true;

case R. id. icon_menu_cut:

cutFiles ();

return true;

case R. id. icon_menu_paste:

pasteFiles ();

return true;

case R. id. icon_menu_delete:

deleteFiles ();

return true;

case R. id. icon_menu_newfolder:

newFolder ();

return true;

default:

return super. onOptionsItemSelected (item);

}

}

private void copyFiles () {

/*

try {

File fFrom = new File ("/from");

if (fFrom. isDirectory ()) { // Если директория, копируем все ее содержимое

createDir ("/to");

String [] FilesList = fFrom. list ();

for (int i = 0; i <= FilesList. length; i++)

if (! copy (from + "/" + FilesList [i], to + "/" + FilesList [i]))

} else if (fFrom. isFile ()) { // Если файл просто копируем его

File fTo = new File (to);

InputStream in = new FileInputStream (fFrom); // Создаем потоки

OutputStream out = new FileOutputStream (fTo);

byte [] buf = new byte [1024];

int len;

while ( (len = in. read (buf)) > 0) {

out. write (buf, 0, len);

}

in. close (); // Закрываем потоки

out. close ();

}

}

catch (FileNotFoundException ex) { // Обработка ошибок

}

catch (IOException e) { // Обработка ошибок

}*/

}

private void cutFiles () {

Toast. makeText (this, "cut выбран", Toast. LENGTH_LONG). show ();

}

private void deleteFiles () {

OnClickListener okDeleteButtonListener = new OnClickListener () {

public void onClick (DialogInterface arg0, int arg1) {

// Удаление

File file = new File (path); // Создаем файловую переменную

if (file. exists ()) { // Если файл или директория существует

String deleteCmd = "rm - r " + path; // Создаем текстовую командную строку

Runtime runtime = Runtime. getRuntime ();

try {

runtime. exec (deleteCmd); // Выполняем системные команды

} catch (IOException e) {

}

}

}

};

OnClickListener noDeleteButtonListener = new OnClickListener () {

public void onClick (DialogInterface arg0, int arg1) {

// Ничего не делать

}

};

// Создание диалога

new AlertDialog. Builder (this)

. setTitle ("Подтверждение") // Заголовок

. setMessage ("Удалить файл?") // Сообщение

. setPositiveButton ("Да", okDeleteButtonListener) // Кнопка подтверждения

. setNegativeButton ("Нет", noDeleteButtonListener)

. show ();

}

private void pasteFiles () {

Toast. makeText (this, "paste выбран", Toast. LENGTH_LONG). show ();

}

private void newFolder () {

File newFolder = new File ("/folder");

if (newFolder. exists ()) {

newFolder. mkdirs ();

}

}

public void rootButtonClicked (View v) {

currentDirectory = new File ("/");

browseTo (currentDirectory);

}

public void memoryCardButtonClicked (View v) {

// проверяем доступность SD

if (! Environment. getExternalStorageState (). equals (Environment. MEDIA_MOUNTED)) {

Toast. makeText (this, "SD-карта не доступна: "

+ Environment. getExternalStorageState (),

2). show ();

return;

}

// получаем путь к SD

currentDirectory = Environment. getExternalStorageDirectory ();

browseTo (currentDirectory);

}

public void multiSelectButtonClicked (View v) {

if (multiSelection) {

multiSelection = false;

Toast. makeText (this, "Множественный выбор выключен",

2). show ();

}

else {

multiSelection = true;

Toast. makeText (this, "Множественный выбор включен",

2). show ();

}

}

// Обзор родительского каталога

private void upOneLevel () {

if (this. currentDirectory. getParent ()! = null) {

this. browseTo (this. currentDirectory. getParentFile ());

}

}

// Обзор файла или каталога

private void browseTo (final File aDirectory) {

// Если открывается каталог

if (aDirectory. isDirectory ()) {

// Заполнение списка файлами из открываемого каталога

this. currentDirectory = aDirectory;


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.