Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Розрахунок витрат на розробку модифікованого алгоритму 77

Розрахунок витрат на розробку модифікованого алгоритму 77




Сторінка6/17
Дата конвертації16.03.2017
Розмір0.82 Mb.
1   2   3   4   5   6   7   8   9   ...   17

1.4 Особливості розробки під ОС Android

У силу розвитку мобільних пристроїв частину навантаження з персональних комп'ютерів перекладається на них. Відповідно удосконалюються спеціалізовані ОС і засоби розробки додатків для них. У даній роботі розглядається специфіка розробки програмного забезпечення для ОС Android.

Проду́кція (рос. продукция, англ. production, output, produce, нім. Produktion f, Erzeugnisse n pl, Produkte n pl, Güter n pl) - матеріальний результат трудової діяльності або виробничих процесів, що має корисні властивості і призначений для використання споживачем.

Пере́клад - відтворення оригіналу засобами іншої мови із збереженням єдності змісту і форми. Ця єдність досягається цілісним відтворенням ідейного змісту оригіналу в характерній для нього стилістичній своєрідності на іншій мовній основі.

Розробка програмного забезпечення (англ. software engineering, software development) - це рід діяльності (професія) та процес, спрямований на створення та підтримку працездатності, якості та надійності програмного забезпечення, використовуючи технології, методологію та практики з інформатики, керування проектами, математики, інженерії та інших областей знання.

Показані деякі "підводні камені" і методи їх обходу.

На сьогоднішній день можна виділити три стрімко розвиваючихся операційні системи (OC) для мобільних пристроїв. Перша це Windows Phone 7 – ОС корпорації Microsoft, яка поки що не отримала широкого розповсюдження.

Windows Phone (кодова назва «Photon») - велике оновлення Windows Mobile, що вийшло 11 жовтня 2010 року.

Друга – це ОС iOS, створена корпорацією Apple тільки для своїх пристроїв. Третя система це ОС Android, розроблена корпорацією Google. Вона охоплює всілякі цінові категорії мобільних пристроїв, починаючи від бюджетних телефонів і закінчуючи дорогими планшетами.

Бюдже́т (з франц. budget, давн. франц. bougette - «шкіряний гаманець») - грошове вираження збалансованого розпису доходів і видатків держави, адміністративно-територіальної одиниці (області, району, міста, села), підприємства, установи за певний період.

Тому мова піде саме про Android, як про операційну систему, що отримала найбільше розповсюдження.

Android – портативна ОС, платформа для комунікаторів, планшетних комп'ютерів, цифрових програвачів, наручних годинників, нетбуків і смартбуків, заснована на ядрі Linux. Спочатку вона розроблялася компанією Android Inc., Яку потім купила Google. Згодом Google ініціювала створення альянсу Open Handset Alliance (OHA), до якого входять такі компанії як Intel, Texas Instruments, Qualcomm, MIPS, Acer, Asus, Samsung, HTC, який зараз і займається підтримкою і подальшим розвитком платформи.

Texas Instruments Incorporated - американська високотехнологічна компанія, виробляє між іншим напівпровідникові елементи, мікросхеми, електроніку та вироби на їх основі. Розташована у Далласі (штат Техас, США).

Годинник (арх.: дзиґа́р, дзиґарі́) - пристрій для вимірювання часу.

Open Handset Alliance - альянс 84 компаній по розробці відкритих стандартів для мобільних пристроїв, що включає в себе такі фірми, як Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile, Sprint Nextel, Nvidia і Wind River Systems.

Android дозволяє створювати Java-додатки, що керують пристроєм через розроблені Google бібліотеки.

Програми для Android являють собою програми для віртуальної машини Dalvik.

Віртуальна машина - модель обчислювальної машини, створеної шляхом віртуалізації обчислювальних ресурсів: процесора, оперативної пам'яті, пристроїв зберігання та вводу і виводу інформації.

На відміну від більшості віртуальних машин (наприклад, Java Virtual Machine), які є стек-орієнтованими, Dalvik є регістр-орієнтованої, що не можна назвати стандартним рішенням. Воно добре підходить для роботи на процесорах RISC-архітектури, до яких відносяться і процесори ARM, застосовувані в мобільних пристроях. Dalvik проектувалася спеціально під платформу Android. Віртуальна машина оптимізована для економного споживання пам'яті і роботи на мобільному апаратному забезпеченні.

Апара́тне забезпе́чення (англ. hardware; сленг. залі́зо) - комплекс технічних засобів, який включає електронний пристрій і, зокрема, ЕОМ: зовнішні пристрої, термінали, абонентські пункти тощо, які необхідні для функціонування тієї чи іншої системи; фізична частина ЕОМ.

Починаючи з версії Android 2.2., Dalvik використовує JIT (just-in-time) компіляцію.

Компіляція (лат. compilatio - буквально: крадіжка, грабіж, від лат. compilo - грабую) - неоригінальний, несамостійний твір; праця, побудована на використанні інших творів; поєднання інших творів.

У силу цих особливостей, вийшла продуктивна віртуальна машина, що не може не позначатися на роботі додатків в цілому. Dalvik використовує власний байт-код. При розробці програм під Android вихідний код програми перекладається компілятором в спеціальний машинно-незалежний низькорівневий код. На виході виходить виконуваний файл Android Package (APK).

Програмістам, які розробляли програмне забезпечення для настільних комп'ютерів, спочатку незвично розробляти їх під ОС Android. Android API вимагає, щоб користувачі були хорошими програмістами. Абстракції Android набагато більш нагородили (роздуті, переускладнений).

Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)

Програміст, також програмник[Джерело?] - фахівець, що займається програмуванням, виконує розробку програмного забезпечення (в простіших випадках - окремих програм) для програмованих пристроїв, які, як правило містять один чи більше CPU.

Абстра́кція (лат. abstractio - відвернення, відволікання) - одна з основних операцій мислення, а також метод наукового дослідження, що полягає в тому, що суб'єкт, відокремлюючи які-небудь ознаки об'єкту, що вивчається, відволікається від інших, не враховуються його неістотні сторони і ознаки.

Слід врахувати обмеження, що вносяться самим принципом роботи і обчислювальними ресурсами мобільних пристроїв: обмежена продуктивність процесора, обмежений обсяг оперативної пам'яті, немає файлу підкачки, пристрої працюють від акумулятора, що має обмежений заряд.

Одним з найважливіших понять в Android є те, що додатки можуть викликати частини інших додатків, якщо мають на це право. Для реалізації такого підходу довелося відмовитися від класичної схеми додатків з однією точкою входу.

Про́даж - це оплатна передача майна однією особою у власність іншій особі.

Кажучи іншими словами – Android додаток будується таким чином, щоб кожен окремий його компонент міг викликатися при необхідності окремо.

Додатки в Android використовують чотири основні типи компонентів: Діяльності, Сервіси, Слухачі повідомлень, Постачальники вмісту.

Постачальник або вендор (англ. Vendor) - будь-яка юридична (організація, підприємство, установа) або фізична особа, що поставляють товари або послуги замовникам. Постачальник здійснює підприємницьку діяльність відповідно до умов укладеного договору поставки, який є одним з видів договору купівлі-продажу.



  • діяльність – це візуальний компонент додатку, який відповідає за інтерфейс. Наприклад, список контактів на смартфоні. Цей список є Діяльністю, а якщо вибрати контакт і вивести додаткову інформацію про нього, відкриється інша Діяльність. Тобто по суті Діяльність – це те, з чим можна взаємодіяти. Додаток може містити як кілька діяльностей, так і зовсім не містити їх. Життєвий цикл діяльності наведений в додатку Б;

  • сервіси – це те що виконується, поки програма не знаходиться у фокусі.

    Програма (фр. programme письмове оголошення, порядок денний, від грец. prógramma вказівка) - заздалегідь затверджена (визначена) дія.

    Найпростіший приклад – програвач музики. Йде відкриття сторінки у веб браузері, а в тлі грає музика. Саме так і працює Сервіс. Сервіс може запускатися разом з системою і "висіти" в тлі, виконуючи деякі дії. Взаємодіяти з Сервісом можна за допомогою інтерфейсів;

  • слухач повідомлень – один з найважливіших компонентів програми. Слухач повідомлень, також як і сервіс, не має видимого інтерфейсу. Його завдання відстежувати певні дії або системні повідомлення і реагувати на це. Але так як сам по собі Слухач повідомлень зробити нічого не може – він передає сигнал далі, чи то це буде Діяльність, викликана по події, чи то сповіщення користувачу, або ще щось;

  • постачальник вмісту надає певні дані іншим додатком. Ці дані можуть зберігатися в файловій системі, SQLite базі даних, або ще десь.

    Задача - проблемна ситуація з чітко визначеною метою, яку необхідно досягти; в більш вузькому сенсі задачею називають також цю саму мету, що дана в рамках проблемної ситуації, тобто те, що необхідно виконати.

    Фа́йлова систе́ма - спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.



Кожен екран користувача інтерфейсу являє собою діяльність. Кожна діяльність має свій власний життєвий цикл. Додаток має одну або більше діяльностей, плюс процес Linux, прив'язаний до нього. Тут криється одна з особливостей Android. У цій ОС додаток може бути «живим», навіть якщо його процес був завершений, тобто, життєвий цикл діяльності не прив'язаний до життєвого циклу процесу. У цьому одна з відмінностей Android від інших ОС.

У відмінності від домашніх комп'ютерів в Android немає поняття "завершити роботу програми". Система тримає програму в пам'яті, поки ця пам'ять їй не буде потрібно для інших цілей. Метод finish() класу діяльності або stopService() класу сервісу завершує роботу компонента (діяльності або сервісу), але не завершує програму. Так, наприклад, якщо в цих компонентах були запущені фонові нитки, то вони продовжують роботу.

Для взаємодії компоненти обмінюються намірами, і кожна компонента має процедуру обробки таких намірів. Обробка всіх намірів відбувається в одному потоці. Для виконання довгих завдань компонента повинна запустити спеціальний потік, щоб не блокувати інтерфейс користувача.

Компоне́нт (від лат. componens, родовий відмінок componentis - складаючий) - складова частина, елемент чого-небудь.

Інтерфе́йс користувача́ (англ. user interface, UI, дружній інтерфейс) - засіб зручної взаємодії користувача з інформаційною системою. Сукупність засобів для обробки та відображення інформації, максимально пристосованих для зручності користувача; у графічних системах інтерфейс користувача реалізовується багатовіконним режимом, змінами кольору, розміру, видимості (прозорість, напівпрозорість, невидимість) вікон, їхнім розташуванням, сортуванням елементів вікон, гнучкими налаштовуваннями як самих вікон, так і окремих їхніх елементів (файли, папки, ярлики, шрифти тощо), доступністю багатокористувацьких налаштувань.

Ця або інша компонента повинна подбати про коректну зупинку цього потоку при вивантаженні компоненти або додатки.

Кожен компонент має свій життєвий цикл. Найбільш складний цикл є у діяльності. Потрібно коректно обробляти всі зміни статусу компонента і звільняти або запитувати знову потрібні ресурси, а також керувати запущеними нитками.

Компонент, який одержує управління при запуску Android - програми, визначається у файлі конфігурації завданням спеціального фільтру для події запуску. Запуск програми розглядається, як звичайна обробка події, згенерованого системою.

Одною з унікальних і потужних якостей Android (чого немає в інших ОС) те, що всі програми мають загальний рівень. Android не проводить відмінності між основними системними програмами та програмами сторонніх розробників. Всі вони користуються рівними правами доступу до можливостей мобільного пристрою, надаючи користувачам широкий спектр додатків і послуг. З пристроями, побудованими на платформі Android, користувачі будуть мати можливість повною мірою адаптувати наприклад телефон під свої інтереси. Вони можуть поміняти домашній екран телефону, стиль дзвінка, будь-яку з програм і т.п.




1   2   3   4   5   6   7   8   9   ...   17



  • Open Handset Alliance