ТЕХНИЧЕСКИ УНИВЕРСИТЕТ –
СОФИЯ
ФАКУЛТЕТ КОМПЮТЪРНИ СИСТЕМИ И
УПРАВЛЕНИЕ
КУРСОВА РАБОТА
по Програмиране за мобилни устройства
Вариант №: 11
Лична счетоводна програма
Студенти:
Николай Стоянов Нейков
Фак. № 121211068,
Група: 52
Виктория Христова Чилингирова
Фак. № 121211191,
Група: 52
София, 2014
Разработване на мобилно приложение
Лична счетоводна програма
Обхват на фукционалността:
oПотребителско управление
Регистрация.
Влизане чрез удостоверяване.
oСъхраняване на записите за регистрирани потребители
Потребителят получава удостоверение след регистрация.
Потребителят може да съхранява записи, като попълни
всички полета, и той може да бъде сигурен, че записът е
защитен от неупълномощени лица.
oПолучаване на съхранените записи
Потребителят трябва да се регистрира и да има
пълномощия.
Потребителят може да има достъп само до неговите
записи.
Потребителят може да получи документация за дадените
критерии.
oВзимане на статистика
Потребителят трябва да се регистрира и да имат
пълномощия.
Потребителят може да получи статистиката въз основа на
собствените си записи.
Потребителят може да избира период от време равен на
ден, месец и година.
Архитектура на приложението:
oСтруктура на приложението:
а. Logic, Data, Model
Logic, Data, Model представлява абстрактна структура на домейн на
информация. Структурата на приложението ще бъде разделена на три слоя.
Това е общ модел на данните за разработване на приложения. Този модел е
насочен в по-добро организиране на структурата на продукта. Същият
модел ще бъде приложен и в сървъра, и в приложенията за клиента.
б. Server/Client connection
Връзката между сървъра и неговите клиенти ще бъде създаден чрез
TCP / IP протоколи. Данните, които са преминали през канала ще бъдат в
двоичен формат. Връзката ще бъде постигната чрез сокети, открити за
сървъра и клиента. Причината за избора на TCP / IP връзка вместо HTTP е
основана на постигнатите резултати. HTTP връзката в своята същност до
известна степен е построена на горния слой на TCP / IP връзката, като
стандартизира предаването на данни. Така че, естествено, използванетона
TCP / IP сокети ще бъде по-тежко, отколкото използването на HTTP.
Изпълнението е по-сложно, но е по-добр о.
в. Data storing
Данните на приложението ще се съхраняват в база данни, която ще
бъде свързана към сървъра. Данните ще бъдат предадени от клиента към
сървъра чрез TCP / IP връзка чрез команди за съхранение. Сървърът от своя
страна ще съхранява данните в базата след необходима валидация.
г. Multi-Client connection
Сървърът ще бъде в състояние да се справи с мулти-клиент
свързването посредством многонишково изпълнение. На клиента, свързан
към сървъра, ще се създаде нишка, служеща на потребителя за изпълнение
на команди му.
д. Server UI
Сървърът ще приеме командите, изисквани от клиентите. Поради
множество клиенти на сървъра, той ще логне връзката с текущия клиент на
програмата.
е. Client UI(Desktop)
Интерфейсът ще бъде създаден в клиента и ще прави всички
необходими проверки за правата на потребителя, необходими му да
завърши работата си. Данните ще се изискват от сървъра и ще бъдат
обвързани с контролите. Проверките ще бъдат, основани на целите на
управлението.
ж. Client UI(Mobile)
Интерфейсът ще бъде създаден в клиента и ще показва всички
мобилни контроли, необходими на потребителя да завърши работата си.
Данните ще се изискват от сървъра и ще бъдат обвързани с мобилните
контроли. Проверките ще бъдат, базирани на целите на управлението.
Имплементация:
oСървър
1.Стартиране на сървъра
Когато сървърът стартира сокета на сървъра е отворен на порт 3000 и
започва да чака клиенти да се свързват.
2.Връзката с базата данни
База данни се стартира и сървърът се свързва с нея.
3.Нов клиент се свързва
Когато клиент е свързан към сървъра, нова нишка е създадена за него
и тя ще обслужва заявките му.
4.Клиент изпраща команда към сървъра
Чрез TCP връзка клиентът изпраща команда към сървъра в двоичен
формат.
5.Сървърът трансформира информация от двоичен в
низов формат
Сървър получава масив от двоични байтове и ги превръща в низ.
6.Сървърът проверява командата
Сървърът проверява командата и в зависимост от това какъв вид
команда е изпратена от клиента я обработва.
7.Работа с базата данни
В зависимост от това какъв вид на команда е изпратена на сървъра,
той я обработва и добавя информацията към базата или чете от нея.
8.Сървърът изпраща отговор на клиента
В зависимост от това дали заявка е успешна, сървърът изпраща
отговор или съобшение за грешка на клиента.
9.Сървърът логва в конзолата си командата, която той
обработва
Сървърът записва в собствената си конзола, че той е изпълнил дадена
команда.
oКлиентски UI (desktop)
1.Клиент се свързва към сървъра
Когато приложението, бъде стартирано, клиент се свързва към
сървъра и се създава TCP сокет.
2.Клиент изпраща команда към сървъра
Чрез TCP връзка клиентът изпраща команда към сървъра в двоичен
формат. Това се случва, когато потребителят кликнете върху даден бутон.
3.Login форма
Първата форма, която се отваря е Login формата. Потребителят
трябва да въведе потребителско име и парола и да натисне login бутона.
Тогава клиентът изпраща тази информация на сървъра, за да бъде
валидирана.
4.Main (основната) форма
Когато входната информация бъде проверена и валидирана от сървъра и
той изпрати отговор до клиента, в клиентското приложение бива отворена
нова форма – Основната форма на приложението. Тя съдържа бутони, чрез
натискането на които може да бъде избрано действие, което да бъде
извършено.
5.Форма за добавяне на запис
Когато потребителят натисне бутона- Добавяне на запис от
Основната форма на приложението, се отваря нова форма- за добавяне на
запис. От combo box с поводи за разход потребителят избира. От numeric up
and down box избира стойност на своя разход. Също така потребителят
избора дата и чрез натискане на бутона Enter изпраша цялата информация
към сървъра.
6.Форма за справка по дата
Когато потребителят натисне един от бутоните- Справка за ден,
Справка за месец или Справка за година – Формата за справка по дата се
отваря. Когато клиенът избере съответно ден, месец или година и натисне
бутонът Enter, заявката бива изпратена към сървъра и формата се затваря.
Веднага клиентът получава низ с резултата на заявката, който се изписва в
rich text box в средата на основната форма.
7.Форма за справка по причина на разхода
Когато клиентът натисне бутона – Справка по причина на разхода от
основната форма на приложението, се отваря нова форма- Форма за
справка по причина на разхода. Клиентът избира причина за разхода и
натиска бутона Enter, тогава заявката бива изпратена към сървъра и
формата бива затворена. Когато отговорът от заявката бъде получен от
клиента, бива изписан в Rich text box в средата на основната форма.
oКлиентски UI (mobile)
Мобилното приложение, което ще бъде свързано към сървъра
ще бъде реализирано на Windows Phone 7 платформа. За целта ще
бъде използвано Visual Studio 2010 Express for Mobile Phone 7. За тест
и дебъгване на приложението по време на разработката му, ще бъде
използван вграденият емулатор на Windows Phone 7.
Основната функционалност на приложението ще бъде същата като на
десктоп приложението с цел консистентност и лесна употреба
предоставена на потребителите. Връзката с реализираният сървър ще бъде
реализирана отново, чрез TCP/IP протокол.
Приложението ще предоставя интерфейс, чрез контроли за лесна
употреба на потребителя с функционалностите на базата данни. Лесната
употреба и изчистеният дизайн ще позволят на потребителя с лекода да
работи с приложението, чрез което той ще може да ръководи своето лично
счетоводство. Използвани са подходящи контоли за лесното въвеждане на
всеки тип информация от потребителя. Използвани са консистентни и
контрастни цветове за лесно разбираеми текстове и достъпно за всички
потребители приложение.
Реализация:
Първата стъпка при стартирането на приложението е Login
страницата. В тази страница се реализира връзката с сървъра. На
потребителя е предоставена възможност да въведе IP на сървъра.
Чрез IP-то се осъществява връзка към сървъра. Следващата стъпка е
уверяването на съвъра, че вие сте потребител на нашата счетоводна
система. Това се осъществява, чрез вашето потребителско има и
парола. Чрез ауторизация вие получавате достъп само до вашите
лични записи за разходи и приходи. Това ви подсигурява, че никой
друг човек няма достъп до вашата лична информация. Хубаво е
никой друг, а само единствено вие да имате достъп до личните си
потребителско име и парола, за да бъдете спокойни, че вашата
информация няма да попадне в нежелани ръце.
Ако вие все още не сте регистриран потребител в системата ни,
вие имате възможност след въвеждането на IP-то на сървъра да го
направите. Това става с бутона Register. След като изпълните
предишните стъпки, вие получавате станица с две полета, в които
можете да запишете свойте нови - уникално Потребителско име и
парола. Вашите данни не трябва да съдържат празни места в тях.
След като успешно сте успяли да се регистрирате в системата,
което ви осигурява и акаунт, в който да записвате разходите си,
можете да започнете работа с приложението. Веднага след като сте
въвели правилни данни вие бивате пренасочени към главната
страница в мобилното приложение. След като сте в главната
страница имате достъп до всички функционалности на приложението
и на счетоводната система. Вие вече имате връзка с сървъра и вашите
сокети са отворени за комуницкация с сървъра. Също така нишка в
сървъра е готова да обработва вашите заявки, което ще ви подсигури
бърза и навремена обработка на вашата заявка, без никакво чакане.
След влизането в основната страница на приложението
вие получавате текстова част, в която вие ще получавате
отговори на вашите заявки. След всяка заявена от вас команда
към сървъра вие получавате или съобщение за успешно
изпълнение на тази заявка или съобщение за грешка,
подсказващо ви къде грешите.
Освен текстовата конзола за съобщение, вие ще видите и
четири бутона за достъп до основните команди към сървъра.
При натискането, на който и да е от изобразените от долу
бутони вие получавате нова страница с удобни контроли за
реализирането на вашата заявка.
Последният бутон на ваше разположение в тази страница
е бутона Logout. Този бутон ви позволява да прекъснете
връзката с сървъра и да спрете използването на приложението.
Първият бутон от функционалните за приложението е
визуализиран, чрез бял кръст на зелен фон. Този бутон ви води
до новата страница за добавяне на разход. След натиксането му
и след навигацията вие спокойно можете да се върнете, чрез
основния ви бутон за навигация обратно(стрелка на ляво). Това
връщане обратно няма да повлиае по никакъв начин на
сървъра, той няма да се забави и дори няма да разбере за
вашите действия. Вашата заявка ще бъде ипратена тогава,
когато вие сте готови с попълването на полетата с информация
за вашият запис и натиснете бутона. При натискането на бутона
вашата заявка за добавяне на разход ще бъде ипратена на
сървъра заедно с информацията за самият разход.
Контролите предоставени ви за добавяне на
информацията за вашият разход са: календар за избор на дата,
поле за въвеждане на стойност на разхода, вид стока, за която
са похарчени парите.
В новата форма отново са използвани цветовете на
приложението. Контролата използвана за въвеждане на сумата
е текстово поле. Вашата сума трябва да бъде с разделител
заперая, между едениците и дробните ви числа. След
селектирането на контролата вие получавате нормалната
клавиатура, чрез която вие можете да въведете сумата си.
Можете да излезете от клавиатурата чрез докосване в празото
поле в страницата или избиране на друга контрола, чрез
докосването й.
Другата контрола е списък с възможните стоки за вашите
разходи. Тези стоки се генерират от сървъра и чрез неявна
заявка от ваша страна вие ги получавате. Тези стоки запълват
контрола от тип списък, която може да бъде
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте