Group Id= IT-F17-22Komal Hafeez01-235142-026Sahira Zaheer01-235142-026Society solution ApplicationBachelor in Information TechnologySupervisor: Sameen ArshadDepartment of Computer Science Bahria University, Islamabad1ABSTRACTOne of the distinct features of smartphones is that they allow users toinstall and run third-party application programs. The intended applicationwill help Askari society in order to improve the work structure of society.The aim is to design and develop such a system that will solve the issues ofresidents and maintain the society. This Application is eliminating call centerand allow the resident to contact directly through mobile application to theworker and take services. We have an admin here which allow or accept theregistration of both worker/residents and manage security.
In this proposedpro ject we use password less login system so any user dont have to rememberhis password in order to login to the application. For sending request userwill click the locate worker option after turning on his mobile Gps and hewill be able to see entire workers present nearby his home. When user clickson any worker icon he can see the workers information, rating and option ofsend request.
2AcknowledgmentsWe would like to thank ALLAH Almighty for his countless blessings, ourparents and Friends for support, help and giving us motivation in completingour pro ject successfully. They always inspired us to complete each and everytask with dedication and condence. Moreover, we are very thankful toour supervisor Mam Sameen Arshad who has given us the chance to workon this amazing pro ject and for providing us the professional guidance tocomplete this pro ject successfully. Her motivation, advice, guidance andsupport throughout the pro ject is highly appreciated.3Contents1 Introduction 9 1.1 Introduction .
. . . . . .
. . . . . . .
. . . . . . . .
. . . . . . 91.2 Problem Description .
. . . .
. . . . . . . .
. . . . .
. . . . . 101.
3 Pro ject Ob jective . . . . . .
. . .
. . . . .
. . . . . .
. . . . . 101.
4 Pro ject Scope . . . . .
. . . .
. . . . .
. . . .
. . . . . . .
. . 101.5 Benets .
. . . . . . . .
. . . .
. . .
. . . . . . .
. . .
. . . . 111.6 Outline . . .
. . . . . . .
. . . . . . .
. . . .
. . . .
. . . .
. . 112 Literature Review 12 2.1 Existing System .
. . . . . . . .
. . . . . . .
. . .
. . . . . .
. 122.2 Technology . . .
. . .
. . . . . . . .
. . . . . . . .
. . . . .
. 132.3 Current Application . . . .
. . . .
. . . . .
. . . . . .
. . . . 132.4 Usage .
. . .
. . . . . . .
. . . . . .
. . . . .
. . . . .
. . . . 132.
5 Design and Testing . . . . . . .
. . . .
. . .
. . . . .
. . . . . 142.
6 3G/4G Networks . . . . .
. . . .
. . . . . . . .
. . .
. . . . . 142.7 Methodology . .
. . . . .
. . . .
. . . . . . . .
. . . . .
. . . 152.7.1 Agile methodology . .
. . .
. . . . . . .
. . . . . . . .
152.8 PASS WORDLESS LOGIN SYSTEM . . .
. . .
. . . .
. . . . 152.9 WEB API . .
. . . . .
. . . . . .
. . .
. . . . . .
. . . . . . . 162.
10 CONCLUSION . . .
. . . .
. . . . . . . .
. . .
. . . . . . .
. 163 Requirement Specication 17 3.1 Existing System . . . .
. . .
. . .
. . . . . . .
. . .
. . . .
. . 173.
2 Application Overview . . . . .
. . . . . . .
. . . . . . .
. . . . 183.3 Intended Audience . . .
. . . . . . . .
. . . . . . .
. . . . . . 183.
4 Software Requirement Specication . . . . . . . . . . . . . . . 18 3.4.1 Functional Requirements . . . . . . . . . . . . . . . . . 183.4.2 Non-Functional Requirements . . . . . . . . . . . . . . 1943.5 USE CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.5.1 Use case for worker . . . . . . . . . . . . . . . . . . . . 254 Design 32 4.1 SYSTEM DESIGN . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1.1 System architecture: . . . . . . . . . . . . . . . . . . . 324.1.2 Context Diagram . . . . . . . . . . . . . . . . . . . . . 344.1.3 Data Flow Diagram(Worker/Resident) . . . . . . . . . 354.1.4 Entity relation diagram (ERD) . . . . . . . . . . . . . 374.1.5 Sequence Diagram . . . . . . . . . . . . . . . . . . . . 384.1.6 Component Diagram . . . . . . . . . . . . . . . . . . . 394.1.7 Deployment diagram . . . . . . . . . . . . . . . . . . . 404.1.8 System Constraints . . . . . . . . . . . . . . . . . . . . 415 SYSTEM IMPLEMENTATION 45 5.1 TOOLS AND TECHNOLOGIES . . . . . . . . . . . . . . . . 45 5.1.1 Android studio . . . . . . . . . . . . . . . . . . . . . . 455.1.2 Android Software Development kit . . . . . . . . . . . 465.1.3 Development/Environment languages used . . . . . . . 465.1.4 Android Mobile Device . . . . . . . . . . . . . . . . . . 465.1.5 Application Access Security . . . . . . . . . . . . . . . 465.1.6 MySQL Database . . . . . . . . . . . . . . . . . . . . . 476 SYSTEM TESTING AND EVALUATION 48 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.2 Software Testing Techniques . . . . . . . . . . . . . . . . . . . 48 6.2.1 Graphical User Interface (GUI) Testing . . . . . . . . . 496.2.2 Usability Testing . . . . . . . . . . . . . . . . . . . . . 496.2.3 Software Performance Testing . . . . . . . . . . . . . . 496.2.4 Load Testing . . . . . . . . . . . . . . . . . . . . . . . 506.2.5 Security Testing . . . . . . . . . . . . . . . . . . . . . . 506.2.6 Functional Testing . . . . . . . . . . . . . . . . . . . . 506.2.7 Integration Testing . . . . . . . . . . . . . . . . . . . . 506.2.8 System Testing . . . . . . . . . . . . . . . . . . . . . . 516.2.9 Acceptance Testing . . . . . . . . . . . . . . . . . . . . 516.2.10 Installation Testing . . . . . . . . . . . . . . . . . . . . 516.2.11 Test Cases . . . . . . . . . . . . . . . . . . . . . . . . 5157 CONCLUSION 597.1 Ma jor Accomplishment . . . . . . . . . . . . . . . . . . . . . . 597.2 IMPROVEMENTS FOR FUTURE . . . . . . . . . . . . . . . 606List of Tables3.1 login/sign-up user use case . . . . . . . . . . . . . . . . . . . . 233.2 View Worker’s prole user use case . . . . . . . . . . . . . . . 243.3 send request user use case . . . . . . . . . . . . . . . . . . . . 263.4 Give Feedback user use case . . . . . . . . . . . . . . . . . . . 263.5 Acquire request use case . . . . . . . . . . . . . . . . . . . . . 293.6 Accept request use case . . . . . . . . . . . . . . . . . . . . . . 293.7 Receive feedback use case . . . . . . . . . . . . . . . . . . . . 316.1 Installation of Application . . . . . . . . . . . . . . . . . . . . 526.2 login verication test case . . . . . . . . . . . . . . . . . . . . 536.3 Locate Worker test case . . . . . . . . . . . . . . . . . . . . . 556.4 Send Request . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.5 Feedback and rating . . . . . . . . . . . . . . . . . . . . . . . 587List of Figures3.1 Use Case Diagram of Resident . . . . . . . . . . . . . . . . . . 213.2 Login/Signup use case Diagram of resident . . . . . . . . . . . 223.3 View worker’s prole use case Diagram . . . . . . . . . . . . . 223.4 Send request use case Diagram . . . . . . . . . . . . . . . . . . 253.5 Give Feedback use case Diagram . . . . . . . . . . . . . . . . . 273.6 Use Case Diagram of worker . . . . . . . . . . . . . . . . . . . 283.7 Acquire Request use case Diagram . . . . . . . . . . . . . . . 303.8 Accept Request use case Diagram . . . . . . . . . . . . . . . . 303.9 Receive Feedback use case Diagram . . . . . . . . . . . . . . . 314.1 System architecture Diagram . . . . . . . . . . . . . . . . . . 334.2 context Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 344.3 Worker/Resident Data ow Diagram . . . . . . . . . . . . . . 364.4 ER Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.5 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . 384.6 component Diagram . . . . . . . . . . . . . . . . . . . . . . . 394.7 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . 404.8 Application logo . . . . . . . . . . . . . . . . . . . . . . . . . . 424.9 Login (password less login) . . . . . . . . . . . . . . . . . . . . 434.10 Login (password less login) . . . . . . . . . . . . . . . . . . . . 446.1 Login Verication . . . . . . . . . . . . . . . . . . . . . . . . . 546.2 Locate Worker . . . . . . . . . . . . . . . . . . . . . . . . . . . 568Chapter 1Introduction1.1 IntroductionOne of the most attractive feature of smart phone is the availability of alarge number of applications for users to download and use. User installsand uses these application for entertainment, nancial transactions and forother purposes. The proposed pro ject is to make a mobile application for themaintenance of society that will be used by both worker and residents. Thereare many workers working in a society as electricians, plumbers, carpentersetc. When resident need any services they call to facilitation center (whichprovide all the facilities to the society residents) of society to register a com-plaint and then that call center make another call to the worker to informhim and give him details about work and resident(address). The processconsume a lot of time, resources and sometimes resident dont get good ser-vices. This application is to eliminate the call center so the resident can senddirect request to the workers to get the services (electrician, plumber etc.).Resident will send or post the request for work according to the particularwork category to the worker. Resident will not make call to call center forany service he will be able to contact directly to the worker. Currently thisidea is available in New York where user post request for work and the laboranswer the request in order to provide service. In Karachi-Pakistan there is awebsite named mazdooronline.pk 5. through which people can hire worker.In societies of Pakistan there is no concept of this type of application andpeople call to call center or facilitation centers to get any service.91.2 Problem DescriptionNow a days people prefer to live in a well-managed society for better livingstyle and facilities. For the appropriate maintenance and to provide luxuryaccommodation society hires dierent worker to take good care of society indierent manners. But because of the call center Residents dont get theirservices on time, we will eliminate call center and the residents will be ableto contact directly to the worker. Through our pro ject the residents can getall the services of electricians, carpenters, plumbers provided to the colonyby housing society just by using mobile application.1.3 Pro ject Ob jectiveThe main ob jective of a pro ject is to design an application that will eliminatecall center from society and provide direct communication between residentsand the workers. Other ob jectives are as follows.o Save time of both resident and workers.o Eliminate the priority system (Sometimes society management give im-portance to the work of those who are government employees or belong tothe leading class) which has been established in society. Residents will takeservice on time.o Improve maintenance of society.1.4 Pro ject ScopeThe intended application will help Askari society to improve the work struc-ture of society through application. Through this Application administrationwill be able to keep the track of workers and all work. The aim is to designand develop such a system that will solve the issues of residents by pro-viding them the services and maintain the society. This mobile applicationis to eliminate the call center by allowing the residents to contact directlyto the worker of the colony for service (plumber, electrician etc.) throughmobile application. Residents will be able to take service on time and canrate the work through feedback and ratings. Admin can see the status ofthe each worker (online, o-line) .Through database record of work and eachworker will be available for society administration. We have an Admin herewhich allow or accept the registration of both worker/residents and manage10security. This application can be extended city wide in future. Applicationdoesnt have the data of outside worker of colony.1.5 Benetso Society will be able to keep the track of workers.o From the residents point of view they will take service on time without anypriority system in the society.o It will make the workers more active in work.o Society administration can rate every worker through residents feedback.o Administration can add or delete any worker.1.6 OutlineThe proposed pro ject is to maintain the work system and to provide quickservices to resident for the better living style in the society through mobileapplication. There are many workers who are working in the society likeelectricians, plumbers, carpenters etc.11Chapter 2Literature ReviewThis chapter includes the existing work in the eld of android and how an-droid mobile applications became an important measure of everyones life.It described many studies related to the applications, technology, usage andtheir User Interface design (UI) that attract customers to install mobile ap-plications and use them for their work User interface should be interactiveand easy to understand and use. Complex user interface can irritate the user.2.1 Existing SystemThere are dierent mobile applications or websites in the entire world thatprovide labor online. But if we see Pakistan they all are not really com-puterized, they work manually. Mazadooronline.pk is an online extensivequality household services providing platform based in Karachi – Pakistan.They provide best experienced, professionally skilled workers that work 100percent safety with full devotion. For acquiring service rst you will selectthe category of work (electrician, plumber, painter, carpenter), they providenumerous categories of worker from which you can select easily. After se-lecting a category of service the person will call the numbers provided bythem in order to get service. After availing the services you will pay the billsas per agreement or according to the work and work duration. You cannotinput anything about your problem, you will dene the problem to companyon phone call. Practical android applications are not available in Pakistanwhich helps to get labor online without any diculty.122.2 TechnologyGuizani conducted a study and concluded that smart phone is now playing ama jor role in peoples life, becoming rst choice for sharing information 1.One of the distinct features of smart-phones is that they allow users to installand run third-party application programs, which are usually referred to asapplications. These applications are ocially distributed via online stores re-ferred to as application markets. These markets provide a convenient venuefor application developers to distribute their applications and for users to ex-plore and download new applications. This has driven the great developmentrate of applications in recent years. For example according to a research inSeptember 2012 Google Play Store and Apple application Store had morethan 650,000 to 700,000 applications 1. Mostly user prefers Google appli-cations because Google play use Malware detector named bouncer to scanevery application before it release, so that user can use applications fromtheir platform without any threat of malware 1.2.3 Current ApplicationThese kinds of applications not really exist in Pakistan. For example thereis a website named mazdooronline.pk which able you to get labor servicesbut that website works manually. First you select a particular category ofworker and then you make a call to ask them for further.2.4 UsagePeople are able to order households, groceries, books, food and various otheritems while sitting at home through mobile applications. Now people alsoprefer to do nancial transaction, bill payments and many other banks workby using android applications provided by applications. Many applicationsprovide communication, entertainment and nancial transactions. These arejust a few of the numerous examples of how things are made easy for peopleso they will not have to wait in lines of travel to shop. Applications haveuser interface designs that attract and help people to know how they can usea specic application for their work.132.5 Design and TestingJeo Ligma explained in a study that during the mobile application devel-opment cycle, User-Interface (UI) components of the mobile application aretypically validated against high-Fidelity mock-ups by manually comparingscreens from a mock up design to screens developed in the application 2.Mock up assets are usually made using design tools, such as Illustrator, Fire-works, InDesign and Keynote. In our pro ject we used illustrator/Photoshopas a design tool to make the mock up of our User Interface (UI) and dierentmodules of pro ject. Mobile application development cycle include typicallya manual and usual test of UI, as verifying that it has been built accordingto design .This helps in identifying defects. Changes in Mobile applicationdesigns and requirement occurs due to changes in customer and technical re-quirements, and often because of a lack in understanding the problem. Froma developer prospective, unit tests help to manage these changes. We will useunit testing for the application because it helps to validate the User Interface(UI) design and to increase customer interest. Except unit testing techniqueslike histogram, template and feature matching provide additional and ade-quate solutions to verify that a mobile application User interface (UI) meetsthe acceptance criteria provided by the design team 2. The design teamrst makes design for the mobile application according to the requirementprovided by customer. After the design team makes all the design then itsup to the tester to verify that design according to the mockups.2.6 3G/4G NetworksLiving in the age where technology and cell phones are a ma jor part of life,we know how essential these devices and applications for our lives. As itbecame more common and new ways of gaining access to the Internet madeappearance in the form of 3G/4G, the cost of Internet access reduced a greatdeal. According to the research of Zhenjiang it is determined that by 2016,580 4G networks were launches in 188 countries which cover almost 60 percentof the world population 3. Mobile phones are able to get a lot of data fromthe Internet using 3G/4G and shared information is helping cell phones doa lot more than just sending messages or making phone calls.142.7 MethodologyAccording to a study directed by Veronika Vessel it is established that agilemethodology is decent for the software development because the method-ologies of software development aect the cost of the software development,time and quality of development 4. The successful execution of pro jectsand keeping them within estimated cost and prescribed schedules dependon a methodology. Many pro jects experience extensive delays, exceed ini-tial time schedule and cost estimate to the dislike of clients, contractors andconsultants because of the wrong methodology.2.7.1 Agile methodologyAgile methodology is an approach to pro ject management, typically usedin software development. Software is developed in incremental, rapid cy-cles. This results in small incremental releases with each release building onprevious functionality. Each release is thoroughly tested to ensure softwarequality is maintained. Agile methodologies depend on the customer cooper-ation instead of processes, documentation or following a plan. It increasescustomer satisfaction by rapid, continuous delivery of useful software. Wechoose agile methodology because our application depends on cooperation ofboth workers and resident. Agile methodology also helps in dening resourcetype and resource dedication. We provide a communication platform forour customer and agile methodologies provide great communication betweenclient and provider.2.8 PASS WORDLESS LOGIN SYSTEMPasswords less login systems are those which do not require typical string ofcharacter in order t to sign up for an account. Email authentication, Bio-metric authentication and number authentication are some types of passwordless logins systems. Users dont want to remember another password just toaccess their online accounts, or make a purchase. Its likely they already havemultiple passwords to remember and adding one more to the mix could makeor break their decision to sign up for an account. Additionally, recent datashows that password security isnt as strong as we think. Even a complexpassword has the potential to be compromised with the right technology and15an attentive hacker. Luckily, new technology and password less login systemsare making it easier for for-prot and nonprot organizations to oer alterna-tive solutions. Password less login do not require user to remember complexletter, number or symbols. Plus, these systems require dierent vericationmeasures that make it much more dicult for hackers to crack.2.9 WEB APIAn application programming interface (API) is a set of subroutine denitions,protocols, and tools for building application software. In general terms, it isa set of clearly dened methods of communication between various softwarecomponents. web API is implemented in which we online our whole databaseto make it more ecient by purchasing hosting. This application is designedto automate the request worker process and to ease the resident.2.10 CONCLUSIONSmart phone applications are necessary feature of todays live and peopleprefer to use application for work instead of doing it manually. UI designof mobile applications is validated through mock up and each module ofapplication is tested through unit testing and integration testing. To functionany application properly developers use dierent methodologies.16Chapter 3Requirement SpecicationIn this chapter we are going to discuss about the current trends of the onlineworkers providing applications and what are the limitation they have. Inaddition that, what are the requirement specication to achieve the goal ofour pro ject will also dene in it.3.1 Existing SystemThere are dierent mobile applications or websites in entire world that pro-vide labor online. But if we see Pakistan they all are not really computerized,they work manually. Mazadooronline.pk is an online extensive quality house-hold services providing platform based in Karachi – Pakistan. They providebest experienced, professionally skilled workers that work 100 safety with fulldedication. For acquiring service rst you will select the category of work(electrician, plumber, painter, carpenter), they provide numerous categoriesfor worker from which you can easily select. After selecting a proper cate-gory of service person will call the numbers provided by them in order to getservice. After the avail of services you will pay the bills or as per agreement.You cannot input anything about your problem; you will dene the problemto them on phone call. Practical android applications are not available inPakistan which helps to get labor online without any diculty.173.2 Application OverviewThe application we proposed is going to help the resident of a particularsociety to request worker whenever they require any maintenance service.There are many housing societies providing work services to residents likeelectricians, plumbers, carpenters etc. Through this application we are goingto eliminate the call center so resident can directly communicate with workersand get their services. The main idea of this application is to provide goodservices without any headache and improve the living standard of residents.3.3 Intended AudienceThis application mainly targets the people who live in a society and wantmaintenance services at their doorstep. A lot of people these days, especiallythe young generation of today, use cellphone and want to do everythingthrough a simple click of a button. Another set of people that we aim tomake this application valuable for, is working single Mother and the elderly.Some other people also nd it hard to discover workers, invite them to homeand get their services. We intend to make the application useful for as manypeople as possible.3.4 Software Requirement SpecicationThis section will describe the functional and non-functional requirements ofthe society solution applications.3.4.1 Functional RequirementsFollowing are the functional requirements of the application.o Signup/Login page (Password less login)As soon as the application is launched the new user will ll the signup formto register himself and existing users will use the login option. There will beno need to remember the password. Password less login technique is appliedin pro ject.18o View User proleAfter login the user will be able to see dierent options like post requests,my prole, settings and locate worker etc.o Locate WorkerIn locate worker page the user rst select the particular type of service orwork he want. And then he will be able to locate all the workers related tothat eld to request for the work.o Request acceptance/rejectionAfter posting request, the notication will be send to that particular workerand user will wait until the request accepted by worker. User can contact theworker for any further details after the request acceptance. If the residentwants to change the worker he can have other workers options available forwork and if no worker is available then user have to wait. User has choice toaccept or decline the request.o Notify UserWhen a worker accepts the request, the user will be notied about request.Resident can see the workers prole, the rating he has and also can locatethe worker.o Prompt user for Worker ratingAfter two hour of the acceptance of the request, the user will be promptedto rate the worker who helped him. This rating will add up to the workersoverall rating on his prole.3.4.2 Non-Functional RequirementsFollowing are the non-functional requirements of the application:o Reliability The application must be reliable. Only worker and residentof a specic society can sign up for that. Response should be relevant to therequest.o Security Application will be managed by the society manager or Ad-min, only he can see the resident personal information and allow anyone to19sign up as resident or worker. Workers prole will show to the resident andhe can see the information available on the prole about the worker.o Portability This application is built on an android platform, makingit compatible with numerous cell phones that work on android operatingsystem.o Extensibility If updates of the application are available, the user willbe able to update the application.o Usability The system interface is very easy to understand and consistent.The user just has some basic reading skills and he can easily understandabout application.3.5 USE CASEThe use case diagram is visual representation of the event that happenswhile the application is running. Use cases are the best description of thedynamic behavior of the system. Following are the use cases of Societysolution applications.20Figure 3.1: Use Case Diagram of ResidentIn ?? shows the interaction between the application and the Resident.First resident will sign up for the application and after verication from theAdmin portal he will allow to login the application. After login residentcan access the application and can post request for the particular servicehe need. As a response on his request resident will see the entire workersavailable for work at that time of the specic category. He can see workersprole, rating and after making his decision he will invite worker to his homefor work. After the completion of work, resident can give his feedback onworkers prole about the service.Login/Sign-upUser will launch the application and see login page, with a link of sign-uppage on it. If he is using the application rst time then he will sign up forthe application.21Figure 3.2: Login/Signup use case Diagram of residentView Workers proleResident will see workers prole from which he received response and if helikes workers rating he will accept his request. Figure 3.3: View worker’s prole use case Diagram22Use Case ID UC-1Title Login/Sign up(Password Less login)Description Here resident Sign-up for the Application, after verication from Admin he will allow to login to the application.Primary Actor ResidentSecondary Actor AdminPre-Condition Enter name, address, Number. EtcPost-Condition Login Screen will appear or user prole.Success scenario User successfully logged in to the system.Assumption User may rst go to the sign-up page.Exception User does not belong to the society and will not allow to login.Flow of Events o Launch the application.o Go to Login pageo Login to the application or go too the Prole Wizardo Sign-up for the applicationo Login to the applicationTable 3.1: login/sign-up user use caseSend RequestAfter viewing the workers prole resident will invite the worker for serviceby sending the request. Resident can also contact worker though phone callnow for any query.23Use Case ID UC-2Title View workers prole.Description Resident get feedback on their request through Admin and see the prole of all workers to whom request had sent.Primary Actor ResidentPre-Condition Request is accepted by some worker and resident check workers prole, rating.Post-Condition Worker will be invited for work.Success Scenario Worker with good rating accept the request and then he will be invited for work.Exception Worker with a low prole rating accept the request.Assumption Worker with a ve star rating on his prole accept the request.Flow of Events o See feedback.o Go to the workers prole.o Check his rating and work previously he done.Table 3.2: View Worker’s prole user use caseGive FeedbackAfter acquiring service he will give feedback on workers service through rat-ing.24Figure 3.4: Send request use case Diagram3.5.1 Use case for workerIn 3.5.1 displays the interaction of application and worker. When workerlogins to the application he will be able to see his prole and rating he hasacquired. when he will receive a request of work from resident, he will see hisprole and respond for the work. After providing service he will get feedbackabout his work.Acquire FeedbackAfter login he will start getting request of work from residents.25Use Case ID UC-3Title send requestDescription Resident invite the worker by sending request for servicePrimary Actor ResidentSecondary Actor WorkerPre-Condition Worker view resident prole and move toward residents home.Post-Condition Worker will get feedback and rating for his service.Success Scenario Worker has been successfully invited for work.Exception Worker doesnt get the invitation because of the network or some other problem.Assumption Worker gets invitation and may be on his way.Flow of Events o See workers proleo Accept request from the workero Invite him to homeTable 3.3: send request user use caseUse Case ID UC-4Title Provide feedbackDescription After getting service from worker, resident will give feedback to him.Primary Actor ResidentSecondary Actor WorkerPre-Condition Feedback and rating, Time-in and time-outPost-Condition Worker status will become again available and ratings will be added to his prole.Success Scenario Worker reach to place and provide service on time.Exception Worker reach late or dont have his tool required for work.Assumption Worker reach on time and x the problem.Flow of Events o Give feedback in the form of starso Give comments if you wantTable 3.4: Give Feedback user use case26Figure 3.5: Give Feedback use case DiagramAccept RequestIf resident like the prole of worker he will contact worker and send requestto worker for work. When worker will accept the request the notication willbe send to the resident.27Figure 3.6: Use Case Diagram of workerReceive feedbackAfter providing service resident will give him feedback about his work in theform of rating and comments.28Use Case ID UC-5Title Acquire RequestDescription Here worker receives requests from the resident through Admin if he is free.Pre-Condition Login to application.Post-Condition Request is accepted by resident.Success scenario Received requests for work.Exception Do not receive request because he accepted another request already.Assumption Received request and send reply for the work.Flow of Events o Go to the society request optiono Received request from the residentTable 3.5: Acquire request use caseUse Case ID UC-6Title Accept RequestDescription Accept Request from the worker for work.Primary Actor Worker.Secondary Actor residentPre-Condition See resident prole.Post-Condition Status become not available and take feedback and rating about his work.Success Scenario Received request for work and moved toward the place.Exception Resident dont like his prole and invite any other worker for work.Assumption Received request so may be on his way.Flow of Events o Receive request from the resident.o Accept request from the resident.o Find Address and move toward his home.Table 3.6: Accept request use case29Figure 3.7: Acquire Request use case DiagramFigure 3.8: Accept Request use case Diagram30Figure 3.9: Receive Feedback use case DiagramUse Case ID UC-7Title Receive feedbackDescription Receive Feedback about the service he provided.Primary Actor Worker.Secondary Actor resident.Pre-Condition Provide service.Post-Condition Ratings will updated and status will again become Available.Success Scenario Reached on time provided service and get ve star rating.Assumption Do not have tools for work or may be do not understand the work.Flow of Events o Get feedback in the form of stars.o Receive Comments on your workTable 3.7: Receive feedback use case31Chapter 4Design4.1 SYSTEM DESIGNSystems design is the process of designing the architecture, modules, inter-faces, and data for a system to satisfy the requirements. This chapter give abackground of the application that how application will work and what arethe processes and modules in the system.4.1.1 System architecture:A system architecture the conceptual model that denes the structure andbehavior of any system or pro ject to accomplish goal or to satisfy require-ments. There are three levels of architecture in proposed system.32Figure 4.1: System architecture DiagramGraphical user interface: Graphical user interface is to interact theapplication. In over system interfaces are created using XML so resident andworkers can interact application.Logic layer: In logic layer back-end of the application is created thathow system will interact with application and database. Java (program-ming language) coding is used and a web API. Web API is an applicationprogramming interface for a web server. It is a web development concept,usually limited to a web application’s client-side. web API is implemented inwhich we online our whole database to make it more ecient by purchasinghosting. This application is designed to automate the request worker processand to ease the resident.Data layer: In data layer there are shared preferences ad MySQL.Shared preferences are used to store and retrieve the data in the form ofkey values of the system. In this system shared preference is used to storeand retrieve the data (i.e. Password). MySQL is database where data willbe stored of the application.334.1.2 Context DiagramThe context diagram is to show the functionality, ow and relation with eachother. Figure 4.2: context Diagram344.1.3 Data Flow Diagram(Worker/Resident)Data ow diagram is the graphical representation of the ow of data.35Figure 4.3: Worker/Resident Data ow Diagram364.1.4 Entity relation diagram (ERD). It shows all the entities and relation with each other of the system. Figure 4.4: ER Diagram374.1.5 Sequence DiagramA sequence diagram that shows the representation of processes operate withone another and in which order. It is also called event scenario and eventdiagram. In this diagram the sequence of process between resident and em-ployees is showed. In this diagram sequence of our application is showedResident/worker both will login/signup (password less logins) to proceedfurther. Resident will send the Request to the worker for the service throughmobile application. That application will be processed and data will bestored in database. Then Worker will respond to the service to perform theservice. Figure 4.5: Sequence DiagramIn this diagram the sequence of process between resident and employeesis showed.384.1.6 Component DiagramIt denes the dierent components and work of the system. Figure 4.6: component DiagramThe gure shows that there are 3 components of the application. Resi-dents Workers System output The gure shows that there are 3 componentsof the application. Residents Workers System output The work of residentis to request the service which they want. Workers have to perform that ser-vice according to the residents request. And application has to act towardsthe output.394.1.7 Deployment diagramDeployment diagram is to show individual hardware and software compo-nents which are deployed in a system. In below diagram is showing all thehardware and softwares related to the system i.e. Internet, users (workers),workers (employees), android application. Figure 4.7: Deployment Diagram404.1.8 System ConstraintsThis application is only for android users not for IOS users.Users will be bound to sign up and sign in to use this application.Only Admin of the society can add and delete the employee.Complete information like name, address, and contact number of both resi-dents and workers will be required.Followings are the dierent modules of Application.Logo of ApplicationLogin (password less login)There are two techniques used for login.Log In via phoneLog In E-mail.Admin Panel:Admin will manage the system through add or delete the workers and resi-dents.He can check the prole of every resident and worker and can also check thework rating and work progress of worker.41Figure 4.8: Application logo42Figure 4.9: Login (password less login)43Figure 4.10: Login (password less login)44Chapter 5SYSTEMIMPLEMENTATIONImplementation is the process in which idea is moved from concept to reality.Through programming and deployment, the system implementation is real-ized by technical specication, computer systems and dierent componentsof software. The system architecture of society solution application based on5.1 TOOLS AND TECHNOLOGIESTools and technologies which were involved in implementing the pro ject aredened below5.1.1 Android studioAndroid studio is a tool for the productivity of android application with theocial integrated development environment (IDE) 6 It provides more thanone features which enhances the ability of producing brilliant applications.Such as:a. Testing tools and frameworks.b. Fast emulator for debugging the program.c. GitHub integration to run sample codes.d. Multiple APK le generation and build variants.e. A rich layout with drag and drop editing theme support.45f. Built in support for Google platform, easier to implement cloud services 8.5.1.2 Android Software Development kitAndroid software development kit requires tools, which help the users in com-pilation and assembling various applications of android. Java language is theinitial approach for the development of android applications. 5.1.3 AndroidMobile Framework Gives an opportunity to the users to write applicationsfor android phones by using Android Framework developers. UI designs andtext eld intents are helpful tools. Android application consist of programsthat have useful information for your application.5.1.3 Development/Environment languages usedJava is an ob ject oriented programming language, which is widely used. Thispro ject has been developed in Java. It supports vast number of librariesand including wide range of APIs and other tools that are required for thedevelopment of mobile applications e-g Android SDK. Dierent tools areavailable like Android-Platform tools, Android emulator, and a version ofEclipse IDE with the ADT plug-ins, all are provided by the Google in dierentpackages. Java is synchronized, ob ject oriented base and intended to rareexecution predictions 7.5.1.4 Android Mobile DeviceAndroid working system device, which is a set of software, designed for mobilephones that have core application and operating systems`6. Smart phone,e-book reader are considered as Android Mobile Devices.5.1.5 Application Access SecurityThe designed system will be deployed for Android Devices. The environmentof the developed system will be secured considering all the security norms.We worked throughout its security to ensure the quality of the product.This system will be used by users having the issue of car breakdown and themechanics who will be looking forward for the requests from the users forservices. Authorized people with specic identity will have the access to thesystem.465.1.6 MySQL DatabaseSQL databases for storing data in database using SQL query such as SE-LECT,DELETE,UPDATE etc.SQL query can be expressed as given below;SELECT attribute from source table name WHERE condition.47Chapter 6SYSTEM TESTING ANDEVALUATION6.1 IntroductionSoftware Testing is the methodology to ensure that the system that is beingdeveloped is according to the software requirements. Testing is a process ofplanning, preparation and measuring aimed at establishing the characteris-tics of an information system and demonstrating the dierence between theactual and the desired outcome. Every module is checked under all the stan-dards and procedures to ensure the quality level criteria of the product. Thema jor purpose of software testing is to make the product to meet the qualitystandards.6.2 Software Testing TechniquesThere are several testing strategies in regard to the system testing process.They are divided into four steps:1. Function Testing2. Performance Testing3. Acceptance testing4. Installation testingThe following are dierent types of testing that should be consideredduring System testing:486.2.1 Graphical User Interface (GUI) TestingGraphical user interface testing is an important aspect of any system. It isbasically how a user interacts with the system. GUI explains user how touse the system in a sucient manner. It should be easy and simple to useso every common user could easily and eciently interact with the system.In the GUI of our application the theme of all the activities is kept constant.The interface is User-friendly with simple buttons, menus and Text-Viewsare designed to perform the required actions without any diculty.6.2.2 Usability TestingIt is a way to see how it is easy to use the system components by testing itwith respect to real users. Usability is dicult to evaluate and measure asit is according to user but still can be evaluate using certain parameters liketime to learn, speed of performance, skills to use the software, sub jective sat-isfaction etc. It is practical implementation of Human Computer Interaction(HCI). Our System have been used by the user and he/she hardly nd anybug or error in the system, was easy to handle and felt quite satised usingour system. The feedback was good and satisfactory for us.6.2.3 Software Performance TestingSoftware performance testing mainly focuses on non-functional requirements() of the system such as performance of the system, reliability and eciency.It is dicult to cost performance of a new system that performance testeorts which begin at the inception of the development pro ject. The perfor-mance of our system was quite satisfactory for the user.Compatibility TestCompatibility testing is a process to ensure that system run on dierentoperating systems, to ensures whether the application runs on dierent plat-forms or not. The present application is developed in Android studio and iscompatible with dierent smart phones and versions of android software thathave android operating system Ice cream sandwich or above running shouldeasily be able to use this application.49Exception HandlingException Handling is an important is system evaluation and testing. Systemmay generate an exception when the user register for the application due tothe wrong format. Also, If the text elds are left empty. Therefore, thecredentials must be entered correctly, in order to avoid the error.6.2.4 Load TestingLoad testing test the behavior of the system under certain conditions. It isperformed to determine dierent conditions and systems performance. TheGPS system depends on the Internet speed, the speed of 3G/4G connectionor the users network connection. If the data is limited so the system maynot get overload.6.2.5 Security TestingSecurity tests ensure that the security requirements are met or not. TheAndroid based application will be deployed on android phones. Secured En-vironment is preferred while developing the application by considering allthe security norms. We test system characteristics related to availability, in-tegrity, and condentiality of data and services. Security test was conductedeciently in our system.6.2.6 Functional TestingIn functional testing Functions are tested by feeding inputs to get outputs.6.2.6.1 Unit Testing Unit testing is the testing of the every individual programas they are written. Unit testing took place by testing each component occurswithin the access to our code. IF/Then rules were tested here.6.2.7 Integration TestingIntegration testing is a process of verication of the interaction between sys-tem components. Integration testing are mainly of two types such as top-down or bottom-up, are used with, ordinarily and hierarchically strategieswhich are architecture driven, which implies integrating the software compo-nents or subsystems based on identied functional aspects.506.2.8 System TestingSystem testing is concerned with the behavior of a whole system. Testingof the group of programs. Our system went through system testing andthe output was according to the requirements declared with respect to therespective input. In this rules were tested in correspondence to the input ofthe system.6.2.9 Acceptance TestingAcceptance testing is dened as Testing to verify the working of programfor implementation or use. For our system the acceptance testing criteria isto send work request to the worker and request accept by the worker donesuccessfully.6.2.10 Installation TestingIt is the process of ensuring that the application is successfully installed forthe platform on which it was developed. The application is tested on dierentversions of android and did not oer any issue regarding installation or whileoperating on the devices.6.2.11 Test CasesInstallation of Application51Test Case ID TC1Unit of Test Test for installation of application Successfully.Function to be tested Open the application Society solution.Input Application installation from play store.Expected output Application installed.Post-Conditions Notication of installation.output Application installed.Status PassTable 6.1: Installation of ApplicationThe 6.2.111 describe about the installation process of the application fromplay store.52Test Case ID TC2Function to tested Test to verify the number or email of the user.Input Users and worker need to insert number in order to get access to the application.Pre-Condition User must have credentials.Expected output System should check if the number is valid and if the user is new then sign-up into the system.Post-Condition User sign-up into the system.Output User gets login into the system.Status PassTable 6.2: login verication test caseThe 6.2.11 describe about the login process of the application. After in-stallation user will open the application see two options login through emailor through number. After entering number or email the user will receive averication code through email, message or call. After entering that verica-tion code the user will see the sign-up form which stores other details of user.53Figure 6.1: Login Verication54Test Case ID TC3Function to be tested Test to locate nearest worker.Input Open locate worker by clicking on the locate worker button, it will locate the current position of the worker.Pre-Conditions GPS signals are visible.Expected output Shows the current location of the worker.Post-Conditions GPS signals visibility on the display.Output Shows current location.Status PassTable 6.3: Locate Worker test caseThe ??describe about the process of locate work. On clicking the buttonof locate worker user can locate all the workers in colony and on clickingtheir icons user can see their information and rating.55Figure 6.2: Locate Worker56Test Case ID TC4Function to tested Test to send request to the nearest worker.Input After locating nearest worker send request by clicking on the man icon.Pre-Conditions GPS, Wi-Fi or Mobile Data for accurate location estimation.Expected Output Shows the current location/rating and information of the worker.Post-Conditions Shows about the status of request (accepted/pending).Output Shows current location and status of request.Status Pass.Table 6.4: Send RequestThe 6.2.11 describe about the process of sending request to workers. Onclicking the worker icon resident can send request to the worker present nearhis residence.57Test Case ID TC5Function to be tested Test to check about feedback/rating resident will give to worker.Input User needs to give feedback to the worker about his work.Pre-Conditions Work should be completed.Expected Output Feedback submitted and terminates application.Post-Conditions Application must show the phone menu.Output Application terminates.Status PassTable 6.5: Feedback and ratingThe table 6.5 describe about the process of feedback and rating from theresident. After nishing work resident will give feedback to the worker in theform of comments and ratings.58Chapter 7CONCLUSIONIn conclusion, the proposed society solution application implemented suc-cessfully. The system allow users to request worker and get their services byusing this application. This pro ject will promote the online services and weare able to provide ease of services to the people of society. Providing theease to the residents of housing societies is a huge ob jective of this applica-tion. This system used account kit to register customer which is the bestverication and registration system among all. Account kit system makesthe security of this application stronger by assigning a unique Account IDto both worker and resident. The application used Card layout for its inter-face which makes the appearance of the application more interactive. Theapplication is really ecient and easy to use hence it can be utilized by thesocieties to make their maintenance much better.7.1 Ma jor AccomplishmentOne of the ma jor diculty was in applying account kit login system whichgive more security to the application. Account kit system verify user onthe basis of their number hence no need of remembering your password.Another is implementing web API in which we online our whole database tomake it more ecient by purchasing hosting. This application is designed toautomate the request worker process and to ease the resident which we thinkwe did successfully.597.2 IMPROVEMENTS FOR FUTUREIn future this pro ject can be extended to other societies in order to improvemaintenance services. By consulting certain societies and worker providingcompanies this application can be enhanced more with advance feature60Bibliography1 He.D, Chan.S, Guizani.M, Mobile application security: mal-ware threats and defenses, IEEE Wireless Communications , 22,(2015)138-144.2 Kieseberg, P., Fruhwirt, P., Schrittwieser, S., Weippl, E. (2015). Security tests for mobile applications Why using TLS/SSL isnot enough.3 Zhu, Zhenjiang. “Android application development.” (2012)4 Vesela, V., Krbecek, M. (2016). Development methodologies of mobile applications. 20165 http://mazdooronline.pk/6 Android Developer Tools Essentials: Android Studio to Zipalign7 M Rozwandowicz , W Zabierowski, A Napieralski(2010). Java language interactive course:8 https://developer.android.com/studio/index.html61