Android based Conversion and Estimation ...

14 downloads 0 Views 3MB Size Report
[2] Ahmad, Bashir, et al. "Concentration on Business Values for SOA-Services: A ... [4] Hussain, Shahid, et al. "A Step towards Software Corrective Maintenance ...
Android based Conversion and Estimation Application A Thesis

Submitted by

Gul.e.lala, Farah Gul, and Shahana Fakher

In partial fulfillment for the award of the degree

Of

MASTER OF SCIENCE IN COMPUTER SCIENCE (MCS)

INSTITUTE OF COMPUTING AND INFORMATION TECHNOLOGY GOMAL UNIVERSITY DERA ISMAIL KHAN, KHYBER PAKHTUNKHWA, PAKISTAN DECEMBER, 2015

i

ii

Abstract

This work deals with development of android-based application for the conversion of different metrics and cost estimation of software projects. This system can be used by business and educational stakeholders, such as students, software developers, and business organizations.

The main aim of the proposed system is to assist the software development team estimate the cost, effort and maintenance of the project under development. Moreover it assists in applying the different conversion metrics efficiently and easily. The proposed conversion and estimation application comprises of two main modules, namely: (i) conversion (ii) estimation. These two modules are further comprised of sub-modules. The conversion module deals with conversion of different metrics, such as weight, distance, and temperature from one unit to other unit. The estimation module is used perform software cost estimation using CoCoMo I and CoCoMo II. The application generates accurate results in user friendly mode.

iii

Acknowledgments

In the name of the Allah, the most Beneficent, the most Gracious, the most Merciful, and the Creator of the entire universe. All the glory and praises go to Almighty Allah, who gave us courage, determination and patience conduct and carry out this work.

Firstly, we express our sincere gratitude to our honorable supervisor, Dr. Muhammad Zubair Asghar, Assistant Professor of this Institute, for continuous motivation, necessary guidance, and support in the entire time span of the project development. His immense knowledge given us with an excellent environment for carrying out this uphill task. We are thankful that he accepted us in his supervisor despite of his extremely busy schedule with MPhil and PhD candidates. He is the man of crises and we cannot express his contributions that he extended to us and other students in this institute towards their career building and skill development in software development. We are proud to have such a renowned person as our supervisor, whose hands and mind is busy round the clock in research and development.

We are thankful to Prof. Dr. Abdur Rashid, Director, ICIT, Gomal University, for his encouragement and cooperation, who takes care of each student sincerely. We are also thankful to our class mates for their encouragement and support.

Furthermore, our deepest gratitude go our beloved parents and other family members for their endless love, prayers, and encouragement, and support to complete that project. May Allah reward all of them for their continuous support, help, and efforts during the entire time period of our project and thesis write-up.

Gul.e.lala, Farah Gul, and Shahana Fakher

iv

Table of contents 1. Introduction 1.1 Background and Context…..................................................................................…....1 1.2 objectives ............................................................................................................. …....1 1.3 motivation… ........................................................................................................ ……2 1.4 problem statement… .................................................................................................. ..2 1.5 Material… .................................................................................................................. ..2 1.6 Thesis Breakup…...................................................................................................…...2 2. Existing systems 2.1 Applications related to conversion...................................................................................4 2.1.1

Desktop application ......................................................................................... ..4

2.1.2 Web Based applications ...................................................................................... .5 2.1.3 Android-Based Application ............................................................................... ..5 2.2 Applications related to estimation ...................................................................................6 2.2.1 Desktop application .................................................................................... …….6 2.2.2 Web Based application ............................................................................... ……8 3. Proposed system 3.1 Home screen..................................................................................................................10 3.2 Conversion Module...................................................................................................... 11 3.2.1 Temperature converter screen ........................................................................ 11 3.2.2 Distance converter screen… ........................................................................... 12 3.2.3 Weight converter screen……………………………………………………..13 3.2.4 Number converter screen…………………………………………………….14 3.3 Estimation Module…………………………………………………………………….15 3.3.1 CoCoMo I with Basic Model………………………………………………...15 3.3.2 CoCoMo I with Intermediate Model…………………………………………16 3.3.3 CoCoMo I with Detailed Mode………………………………………………17 3.3.4 CoCoMo II with Early Design Model………………………………………..19 3.3.5 CoCoMo II with Post Architecture Model…………………………………...20 4. Results

v

4.1 Home Screen .......................................................................................................................... 21 4.2 Experiments with conversion module.................................................................................... 22 4.2.1 Temperature converter ......................................................................................... 22 4.2.2 Distance converter screen result .......................................................................... 26 4.2.3 Weight conversion ............................................................................................... 28 4.2.4 Number converter ................................................................................................ 30 4.3 Experiments with Software Cost estimation module… .......................................................... 31 4.3.1 CoCoMo I (Basic with Organic mode)… .............................................................. 31 4.3.2 CoCoMo I (Basic with Semidetached mode) ........................................................ 32 4.3.3 CoCoMo I (Basic with Embedded mode) .............................................................. 33 4.3.4 CoCoMo I (Intermediate model) ...........................................................................34 4.3.5 CoCoMo I (Detailed model) .................................................................................. 35 4.3.6 CoCoMo II (Early design model)… ...................................................................... 36 4.3.7 CoCoMo II (Post Architecture model)....................................................................37 5. Tools and Technologies 5.1 Introduction to MIT App Inventor .......................................................................................... 39 5.1.1 Getting started ...................................................................................................................... 39 5.1.2 Log in to App Inventor ............................................................................................. 39 5.1.3 Click "Continue" to dismiss the splash screen ......................................................... .40 5.2 Start a project ........................................................................................................................ .41 5.2.1 Name the project ...................................................................................................... 41 5.2.2 Working with Designer ............................................................................................. 42 5.2.3 Add a Button ............................................................................................................. 42 5.2.4 Formatting the Button ............................................................................................... 43 5.2.5 Add a Text-to-Speech component.............................................................................43 5.2.6 Switch over to the Blocks Editor .............................................................................. 44 5.3 The Blocks Editor .................................................................................................................. 44 5.3.1 Button event coding ..................................................................................................... 45 5.3.2 TextToSpeech action coding…………………………………………………………46

vi

5.3.3 Putting message socket ................................................................................................ 46 5.3.4 Button click event ......................................................................................................... 47 5.4 Live testing on phone .............................................................................................................. 47 5.5 Installation of MIT AI2 Compaion ......................................................................................... 48 5.5.1 Start the AICompanion ................................................................................................. 49 5.5.2 Getting and scanning the Connection code ................................................................... 49 5.6 Final testing ............................................................................................................................. 50 5.6.1 Live testing option… ...................................................................................................... 51 5.6.2 Wifi connection… .......................................................................................................... 51 5.6.3 Built – in emulator… ..................................................................................................... 51 5.6.4 USB connection… ......................................................................................................... 52 6. Conclusion and Future work ................................................................................................. 53 Reference…………………………………………………………………………………….54-55

vii

CHAPTER NO 1 INTRODUCTION Development of android-based Conversion and Estimation application can assist the stakeholders related to business and educational sector through the use of smart phones and tablets. The students and software engineers can estimate their project cost, effort, and person per month in the early development of software life cycle. Furthermore, different types of conversions can also be performed through a rich and user friendly interface provided to the users.

1.1 Background and context The metric conversion and software cost estimation is an important application both for scientific and software engineering community. Conversion of different metrics into other units is essentially required by the students and cost estimation is always needed by the students of computer science and software engineering as well as professional developers. The existing literature [1, 2, 3, 4, 6, 7, 8] of different studies are conducted for the development of conversion and estimation applications. There are many studies [9, 10, 11, 12, 13, 14, 15,] in the subject of opinion mining and sentiment analysis related to the cost estimation and conversion. However, most of the applications of either desktop-base or web-based. Moreover most of the existing applications related to conversion and estimation are not available in a single suite. The expansion of android-based application have changed the entire life style of individuals with maximum dependency on the hand-held devices both for entertainment as well as learning. Therefore development of androidbased application for metric conversion and software cost estimation is required to facilitate users. 1.2 Objectives The basic objective the android-based application is to develop an application by integrating metric conversion and software cost estimation. The proposed application is comprised of two main modules, namely: (i) conversion, and (ii) estimation. These are further divided into submodules. The conversion module aims at performing metric conversion and number conversion. Whereas, estimation module is used to perform CoCoMo-based software cost estimation. The main emphasis is to develop an application based on android platform, which is, to best of our knowledge,iscurrentlynotavailable Page 1 of 55

1.3 Motivation With the advent of WWW and especially the recent era of mobility and hand-held devices, android-based applications are now very much popular among online communities. There exists number of applications for metric conversion and software cost estimation, however, to the best of our knowledge, no such application is developed yet to integrate both conversion and cost estimation in a single android-based framework. MIT app-Inventor technology is investigated to develop the mentioned application to facilitate both industry and academia.

1.4 Problem statement Metric conversion and software estimation is required by the students of different disciplines, such as science, computer science, and software engineering. However there exist no such application in android-base platform which can provide multiple operations related to conversion and software cost estimation in a single framework. This is what we address in this work.

1.5 Material Desktop or laptop with core i3 or higher configuration (Window 8 or higher) Samsung tablet MIT App Inventor

1.6 Thesis Breakup The remaining chapters of the thesis are organized as follows: 

Chapter 2, Existing System: In this chapter we discuss some of the existing systems related to our application.

Page 2 of 55



Chapter 3, Proposed System (Front end): , In this chapter, we describe a detailed description of the proposed system



Chapter 4, Results: This chapter deals with the description and presentation of results obtained when we execute our application.



Chapter 5, Tools and Technologies: It describes a detailed description of all the tools used in developing the proposed application.



References: All of the references, which we refer different chapters, are available here.



Appendix Table: It provides the screen-shots of all the coding blocks, to assist the users, students and new learners in creating such applications by their own.

Page 3 of 55

CHAPTER NO 2 EXIXTING SYSYTEM This chapter deals with description of the work conducted on conversion and estimation. The related work is categorized on the basis of three themes, namely (i) web-based applications, (ii) non web-based application, and (iii) android-based applications.

2.1 Applications related to conversion Following are existing applications related to conversion

2.1.1 Desktop application This application [5] is a non-web based system developed for performing different type of conversion such as weight, temperature, mass and others as shown in the Fig 2.1. The application is user friendly but lacks the features of web-based and android based application, which the need of today users.

Fig. 2.1 TM Desktop metric conversion calculator

Page 4 of 55

2.1.2 Web Based applications

This application (Fig 2.2) web-based system for performing different conversion such as length and area, supported by labels, text-boxes and buttons. The application [6] is user friendly but lacks the coverage of other conversion metrics.

Fig. 2.2 Sample online conversion for length and area

2.1.3

Android-Based Application

This application [7] aims at converting different metrics, such as length, weight, and distance (Fig. 2.3). The distance module converts miles to kilometers and vice versa. The weight conversion module converts kg to pound and vice-versa.

Page 5 of 55

Fig. 2.3 Metric Converter

2.2 Applications related to estimation In the following sub sections we presented related work perform on developing system for cost estimation.

2.2.1 Desktop application This offline application is developed to perform Cocomo based software cost estimation [8].As shown in the Fig 2.4 user makes input required for the Cocomo I calculation and results are obtained.

Page 6 of 55

Fig .2.4. CoCoMo calculator

The Cocomo II based calculator is developed to perform cost estimation on the basis of inputs given by the user (Fig 2.5) this application is available at [17]

Fig. 2.5. USC.COCOMO II.2000.0

Page 7 of 55

2.1.1 Web Based application The application, available at [18], is used to perform the basic CoCoMo calculations in all modes: organic ,semidetached ,embedded. The screen shot is presented in the Fig 2.6.

Fig. 2.6 Basic CoCoMo calculation

COCOMO 2 Calculators : Another web based system (Fig. 2.7) is developed for performing CoCoMo II calculations. The system is available at [19].

Page 8 of 55

Fig. 2.7 CoCoMo-II –constructive cost model

Page 9 of 55

CHAPTER NO 3 PROPOSED SYSTEM

This chapter presents the working of proposed system developed for conversion and estimation.

The proposed frame work is comprised of two modules, namely: (i) Conversion, (ii) Estimation. The proposed system is comprised of multiple screen as shown in table 3.1

Table 3.1 Screen design layout  Project Home Screen  Conversion Home Screen 

Distance Converter



Weight Converter



Temperature Converter



Number Converter

 Estimation Home Screen 



Cocomo 1 Screen 

Intermidiate



Detailed



Semi Detached

Cocomo 2 Screen

3.1 Home screen The home screen of the application is presented in the Fig. 3.1. It provides the choices, namely: conversion and estimation. The choices assist the user to either perform the conversion or estimation.

Page 10 of 55

Fig. 3.1 Home screen

3.2 Conversion Module The conversion module is further comprise of different types of conversions, namely (i) temperature conversion, (ii) distance conversion, (iii) weight conversion, and (iv) number conversion.

3.2.1 Temperature converter screen The temperature converter screen is presented in Fig 3.2. It provides an input box in which the user makes input the temperature to be converted to other unit. For this purpose, different buttons are available, namely (i) Fahrenheit to Celsius, (ii) Celsius to Fahrenheit, (iii) Fahrenheit to kelvin, (iv) Celsius to kelvin, (v) kelvin to Fahrenheit, (vi) kelvin to Celsius. The clear button is Page 11 of 55

used to clear the content in the input box and the results. The Home button is used to switch back to home screen.

Fig. 3.2 Temperature converter

3.2.2 Distance converter screen The distance converter screen is presented in Fig 3.3. It provides an input box, in which the user makes input the distance to be converted to other unit. For this purpose, different buttons are available, namely (i) Miles to kilometer, (ii) Kilometer to miles. The clear button is used to clear the content in the input box and the results. The Home button is used to switch back to the home screen.

Page 12 of 55

Fig. 3.3 Distance converter 3.2.3 Weight converter screen The weight converter screen is presented in Fig 3.4. It provides an input box, in which the user makes input the weight to be converted to other unit. For this purpose, different buttons are available, namely: (i) Pounds to kilogram, (ii) Kilogram to pounds.The clear button is used to clear the content in the input box and the results. The Home button is used to switch back to the home screen.

Page 13 of 55

Fig. 3.4 Weight converter

3.2.4 Number converter screen The number converter screen is presented in Fig 3.5. It provides an input boxes, in which the user makes input the number to be converted to other base. For this purpose, different buttons are available, namely: (i) Convert to decimal , (ii) Covert to hexa, (iii) Convert to binary, and (iv) Convert to decimal. The clear button is used to clear the content in the input box, and the result. The Home button is used to switch back to home screen.

.

Page 14 of 55

Fig. 3.5 Number converter

3.3 Estimation Module The cost estimation module is further comprised of different components, presented below. 3.3.1 CoCoMo I with Basic Model This screen is used to perform the cost estimation using basic CoCoMo model. It has two input boxes, namely: (i) Select mode, and (ii) Project size, and a calculate button. When the user makes input to the input boxes and clicks the calculate button, then the effort, duration, average staffing and productivity are computed. The clear button is used to clear the contents of all of the controls, available on the screen. The reset button is used to reset all the controls to normal mode as shown in Fig 3.6.

Page 15 of 55

Fig. 3.6 CoCoMo I with Basic Model

3.3.2 CoCoMo I with Intermediate Model This screen is used to perform the cost estimation using Intermediate CoCoMo model. It has two input boxes, namely: (i) Select mode, and (ii) Project size; multiple cost drivers, grouped in four sections, namely: (i) Product ,(ii) Computer, (iii) Personals , and (iv) Project; and one calculate button. When the user makes input to the input boxes and click the calculate button, then the effort, duration, average staffing and productivity are computed. The clear button is used to clear the contents of all the controls available on the screen. The reset button is used to reset all of the controls to normal mode, as shown in Fig 3.7.

Page 16 of 55

Fig. 3.7 CoCoMo-I with intermediate model

3.3.3 CoCoMo I with Detailed Model This screen is used to perform the cost estimation using Detailed CoCoMo model. It has two input boxes, namely: (i) Select mode (ii) Project size; multiple cost drivers grouped in four sections namely: (i) Product ,(ii) Computer, (iii) Personals , and (iv) Project; one calculate button and a reset button. When the user makes input to the input boxes and clicks the calculate button, then the effort, duration, phase wise effort duration and phase wise development time duration, are computed. The clear button is used to clear the contents of all of the controls available on the screen. The reset button is used to reset all the controls to normal mode, as shown in Fig 3.8.

Page 17 of 55

Fig. 3.8 CoCoMo I with Detailed model

3.3.4 CoCoMo II with Early Design Model This screen is used to perform the cost estimation using Early Design CoCoMo model. It has one input box: Project size; multiple factors grouped in different sections, such as scaling factors and multiple cost drivers;one calculate button; and a reset button. When the user makes input to the input boxes and clicks the calculate button, then the PMnormal, PMadjusted, duration, and average staffing are computed. The clear button is used to clear the contents of all of the controls available on the screen. The reset button is used to reset all the controls to normal mode, as shown in Fig. 3.9.

Page 18 of 55

Fig. 3.9 CoCoMo II Early Design Model

3.3.5 CoCoMo II with Post Architecture Model This screen is used to perform the cost estimation using Post Architecture CoCoMo model. It has one input box: Project size; multiple factors grouped in different sections, such as scaling factors and multiple cost drivers; one calculate button, and a reset button. When the user makes input to the input box and clicks the calculate button, then the PMnormal, PMAdjusted, duration, and average staffing are computed. The clear button is used to clear the contents of all of the controls available on the screen, and the reset button is used to reset all the controls to normal mode shown in Fig. 3.10.

Page 19 of 55

Fig. 3.10 CoCoMo II with Post Architecture Model

Page 20 of 55

CHAPTER NO 4 RESULTS

This chapter deals with description of the results obtained from the implementation of the proposed system for both of the modules, namely (i) Conversion, and (ii) Estimation.

4.1 Home Screen When the user executes the application then “Home Screen” appears, as shown in the Fig. 4.1. It has two options, namely (i) conversion, and (ii) estimation. When the user checks the “Conversion” check box, then spinner is appear for selecting choices of different metrics and when the user checks the “Estimation” check box, then then spinner is appear for selecting choices of different software cost estimation models.

Fig. 4.1 Home screen Page 21 of 55

4.2 Experiments with conversion module To test the working of conversion module, we have given inputs to each screen of the conversion module. The output screens at run-time, are presented in the following sections.

4.2.1 Temperature converter This screen is used to convert the temperature to other mode according to the selected choice. For example, when the user inputs 12 in the text-box and clicks any of the temperature conversion button, temperature is converted accordingly. The Fig. 4.2 to Fig. 4.7 show the output screens, as a result of particular conversion.

Fig. 4.2 Temperature conversion by clicking the F->C

Page 22 of 55

Fig. 4.3 Temperature conversion by clicking C-> F

Page 23 of 55

Fig. 4.4 Temperature conversion by clicking the F-> K

Page 24 of 55

Fig. 4.5 Temperature conversion by clicking C-->K

Fig. 4.6 Temperature converter K->F

Page 25 of 55

Fig 4.7 Temperature conversion by clicking K->C

4.2.2 Distance converter screen result This screen is used to convert the input distance from one unit to other according to the selected choice. For example, when the user inputs 14 in the text-box and clicks any of the distance conversion button, then distance is converted accordingly. The Fig. 4.8 to Fig. 4.9 show the output screens, as a result of particular conversion.

Page 26 of 55

Fig. 4.8 Distance conversion from mi->km

Page 27 of 55

Fig. 4.9 Dsistance conversion from km-mi

4.2.3 Weight conversion This screen is used to convert the input weight from one unit to other according to the selected choice. For example, when the user inputs 63 in the text-box and clicks any of the weight conversion button, then weight is converted accordingly. The Fig.4.10 to Fig. 4.11 show the output screens, as a result of particular conversion.

Page 28 of 55

Fig 4.10 Weight converter for lb->kg

Page 29 of 55

Fig. 4.11 Weight converter for kg->lb

4.2.4 Number converter This screen is used to convert the input number from one number system to other according to the selected choice. For example, when the user inputs 0F in the hexa textbox and clicks the “HEX to decimal” button, then 15 is displayed. The Fig.4.12 shows the output screens as a result of different number conversions.

Page 30 of 55

Fig 4.12 Number conversion

4.3 Experiments with Software Cost estimation module To test the working of estimation module, we have given inputs to each of the screen of the estimation module. The output screens at run-time, are presented in the following sections.

4.3.1 CoCoMo I (Basic with Organic mode) This screen is used to calculate the project effort, duration, average staffing and productivity on the basis of user inputs, namely: (i) mode , and (ii) project size. For example, if we input the project size as “3” then the desired outputs are generated, as shown in Fig 4.13.

Page 31 of 55

Fig. 4.13 CoCoMo I -Basic with Organic mode)

4.3.2 CoCoMo I (Basic with Semidetached mode) This screen is used to calculate the project effort ,duration, average staffing and productivity, on the basis of user inputs, namely: (i) mode ,(ii) project size. For example, if we input the project size as “7” , then the desired outputs are generated, as shown in Fig. 4.14.

Page 32 of 55

Fig. 4.14 CoCoMo I with Basic with Semidetached mode

4.3.3 CoCoMo I (Basic with Embedded mode) This screen is used to calculate the project effort ,duration, average staffing, and productivity, on the basis of user inputs, namely: (i) mode , and (ii) project size. For example, if we input the project size as “2” , then the desired outputs are generated, as shown in Fig 4.15.

Page 33 of 55

Fig. 4.15 CoCoMo I with Basic with Embedded mode

4.3.4 CoCoMo I (Intermediate model) This screen is used to calculate the project effort ,duration, average staffing, and productivity on the basis of user inputs, namely: (i) mode ,(ii) project size, and (iii) different cost drivers. For example, if we input the project size as “43”, then the desired outputs are generated as shown in Fig 4.16.

Page 34 of 55

Fig. 4.16 CoCoMo I with Intermediate model

4.3.5 CoCoMo I (Detailed model) This screen is used to calculate the project effort, phase wise effort duration, and phase wise development time duration on the basis of user inputs namely: (i) mode ,(ii) project size, and (iii) different cost drivers. For example, if we input the project size as “49” then the desire outputs are generated, as shown in Fig 4.17.

Page 35 of 55

Fig. 4.17 CoCoMo I with Intermediate model

4.3.6 CoCoMo II (Early design model) This screen is used to calculate the PMnormal, PMadjusted, ,duration, and average staffing on the basis of three user inputs, namely: (i) project size, (iii) scaling factors, and (iii) cost drivers. For example, if we input the project size as “67”, then the desired outputs are generated, as shown in Fig 4.18.

Page 36 of 55

Fig. 4.18 CoCoMo II .2000 with Early design model

4.3.7 CoCoMo II (Post Architecture model) This screen is used to calculate the PMnormal, PMadjusted, ,duration, and average staffing on the basis of three user inputs, namely: (i) project size, (ii)scaling factors, and (iii) cost drivers. For example, if we input the project size as “57” then the desired outputs are generated as shown in Fig 4.19.

Page 37 of 55

Fig. 4.19 CoCoMo II.2000 with Post Archtecture model

Page 38 of 55

CHAPTER NO 5 TOOLS AND TECHNOLOGIES (The content of this chapter has been adopted from this site http://appinventor.mit.edu/explore/sites/all/files/hourofcode/AppInventorTutorials.pdf)

This chapter presents the detail of tools and technologies used to develop the system.

5.1 Introduction to MIT App Inventor In the following sub-sections, we present introduction about the MIT App Inventor.

5.1.1 Getting started The very first step for making any app in app inventor so the user may go to the app inventor url ai2.appinventor.mit.edu. After that the user may click the Create Button to create the app in the app inventor as shown in Fig. 5.1.

Fig. 5.1 Getting started

5.1.2 Log in to App Inventor The user may log in to the app inventor using existing Gmail account or if the user has no Gmail account then the user can first create the Gmail account as shown in Fig 5.2. Page 39 of 55

Fig. 5.2 Log in screen

5.1.3 Click "Continue" to dismiss the splash screen After login, splash screen appears which shows the instruction about the interface and continuous updates about the app inventor. There is a continue button, which when clicked, then the user gets into the app making interface as shown in Fig. 5.3.

Fig. 5.3 Splash screen Page 40 of 55

5.2 Start a project The “new project” button is clicked to start a project, as shown in following Fig.

Fig. 5.4 Strat a project 5.2.1 Name the project After clicking the new project button, then the screen may appear where the project is assigned a proper name (spaces are not allowed, only underscores are allowed) as shown in Fig. 5.5.

Fig. 5.5 Name the project Page 41 of 55

5.2.2 Working with Designer In the designer window the user can design the app and gives different functionality to app. In this step, the user interface of the app is designed. There are different sections of designer window, namely: (i) Palette, (ii) viewer, (iii) components, and (iv) properties, as shown in Fig .5.6.

Fig. 5.6 Designer window 5.2.3 Adding Button To add a button to the app, the user can drag the button in the viewer from the user interface in the palette, as shown in the Fig .5.7

Fig. 5.7 Add Button Page 42 of 55

5.2.4 Formatting the button Once the button is dragged into the viewer, we can change the format and style of button according to the need and choice of user, as shown in the Fig. 5.8.

Fig. 5.8

Change the text on the button

5.2.5 Add a Text-to-Speech component If the app needs the Text - to – speech, then the user may go to the media drawer and drag out a Text - to - speech component and drop it onto the viewer, as shown in the Fig. 5.9. It is one of the tool that the app may need. It is Non- visible component, as it will not show up on the app’s user interface.

Fig. 5.9 Add a Text-to-Speech component Page 43 of 55

5.2.6 Switching to Blocks Editor To specify what the app will perform, there is Block button. It is used to switch over to the block editor as shown in the Fig. 5.10. There is also designer button to switch back to the app designer mode.

Fig. 5.10 Switch over to the Blocks Editor 5.3 The Blocks Editor The block editor is interface where the user specifies the app behavior. It has two sections, namely: (i) blocks, and (ii) viewer. In the blocks section, there are built-in blocks to manage tasks like math, logic, text, variable, and others. The bocks of certain components will show in the block editor, if the user adds that component in the designer part of the interface. It is shown in Fig. 5.11.

Page 44 of 55

Fig. 5.11 The Blocks Editor 5.3.1 Button event coding It deals with dragging a button from drawer and placing it on the viewer, as shown in below Fig. When the button is clicked some action is performed, called “Event Handler”

Fig. 5.12 Make a button click event Page 45 of 55

5.3.2 Text To Speech coding If it is required to convert the text to speech, then text to speech component is dragged and placed on the viewer, as shown in below Fig.

Fig. 5.13 Program the TextToSpeech action 5.3.3 Putting message socket This component adds the desired functionality to text to speech component, as shown in the Fig. 5.14.

Page 46 of 55

Fig. 5.14 Putting message socket 5.3.4 Button click event When the button is clicked, then text to speech action comes into an action and performs the event which the user has specified in the message socket. The process is shown Fig. 5.15.

Fig. 5.15 Button action 5.4 Live testing on phone The most important feature of the app inventor is that during the development of the app, the user can test his/her work in live mode. The live testing is performed on the Android phones or tablets, with the special software called “MIT ai2 companion”. Also the App inventor has a built in emulator for the live testing as shown in Fig. 5.16.

Page 47 of 55

Fig. 5.16 Phone connection 5.5 Installation of MIT AI2 Companion Download the AI2 Companion app into your device from Play Store, searching as "MIT AI2 Companion" as shown in Fig. 5.17.

Fig. 5.17 Downloading from play store

Page 48 of 55

5.5.1 Start the AICompanion On your device (phone or tablet), click the AICompanion icon in order to start the app. For this purpose, your device and computer must be connected with the same wireless network as shown in Fig. 5.18.

Fig. 5.18 After setting the software 5.5.2 Getting and scanning the connection code At first choosing the “AI Companion” from the connection menu. There are two options for the user for live testing on the phone or tablets, namely (i) scan QR code, and (ii) connect with the code by typing the code in text window as shown in the Fig. 5.19.

Page 49 of 55

Fig. 5.19 Typing or scanning the code 5.6 Final testing Finally, app and device is ready for the live testing. The user interface that is developed in the designer phase is shown on the phone screen as shown in Fig. 5.20

Fig. 5.20 Final testing

Page 50 of 55

5.6.1 Live testing options There are three recommended options for the live testing of app that is being built. These options are (i) wifi connection, (ii) built in emulator connection, (iii) USB connection.

5.6.2 Wifi connection The user needs a wifi connection for the live testing along with the special software ( MIT ai2 companion) installed on the device on which the live testing has to be peromed.

Fig. 5.21 Connecting with Wi-Fi 5.6.3 Built - in emulator If there is no availability of smart phone or tablet for live testing, then there is an alternate method, in which app testing can be performed on built-in emulator, as shown below.

Fig. 5.22 Connecting with emulator Page 51 of 55

5.6.4 USB connection In addition to aforementioned options for app testing, USB connection method can be used This method is suitable, where there is no wifi connection.

Fig. 5.23 Connecting with USB cable

Page 52 of 55

CHAPTER NO 6 CONCLUSION AND FUTURE WORK This study deals with development of android-based conversion and estimation application with focus on developing and integrating to modules, namely (i) conversion, and (ii) estimation.

The conversion module is further comprised of sub-modules including conversion for temperature, distance, weight, and number. It assists the user to perform such conversions on their hand-held android based devices. This module has a sufficient importance in the Medical, Scientific and Technical Field, where the metric conversion is commonly used.

The estimation module of our application is quite important with respect to facilitation the students of software engineering for performing CoCoMo-based cost estimation. The application covers both versions of CoCoMo, namely (i) CoCoMo-1, and (ii) CoCoMo-II. The distinctive feature of this module is that, to the best of our knowledge, no such application exists in the android-based paradigm. The developed models provide estimation results.

The proposed application is efficient with respect to conversion and estimation by using blockoriented programming technique.

Future directions: The application can be enhanced as follows:

(i) To incorporate capacity and volume in term of basic conversion.

(ii) To introduce currency rate conversion in terms of special conversion.

(iii) To implement Engineering-related conversion pertaining to stress and pressure.

(iv) To implement remaining two models of Cocomo 2, namely (i) application composition model, (ii) reuse model. Page 53 of 55

REFERENCES

[1] Saqib, Sheikh Muhammad, et al. "Framework for Customized-SOA Projects." International Journal of Computer Science and Information Security 9.5 (2011): 240. [2] Ahmad, Bashir, et al. "Concentration on Business Values for SOA-Services: A Strategy for Service's Business Values and Scope." International Journal of Computer Science and Information Security 9.5 (2011): 205. [3] Ahmad, Shakeel, et al. "Reusable Code for CSOA-Services: Handling Data Coupling and Content Coupling." International Journal of Computer Science and Information Security 9.5 (2011): 196. [4] Hussain, Shahid, et al. "A Step towards Software Corrective Maintenance Using RCM model." arXiv preprint arXiv:0909.0732 (2009). [5] http://tm-desktop-metric-conversion-calculator.soft32.com/ [6] http://convert.french-property.co.uk/ [7] http://www.metrication.com/MetricConversionCalculator/android.html [8] http://cocomo-calculator.software.informer.com/1.0/ [9] Asghar MZ, Ahmad H, Ahmad S, Saqib SM, Ahmad B, Asghar MJ. Simplified Neural Network Design for Hand Written Digit Recognition. International Journal of Computer Science and Information Security. 2011 Jun 1;9(6):319. [10] Asghar MZ, Ahmad S, Marwat A, Kundi FM. Sentiment Analysis on YouTube: A Brief Survey. arXiv preprint arXiv:1511.09142. 2015 Nov 30. [11] Kundi FM, Asghar D, Zubair M. Lexicon-Based Sentiment Analysis in the Social Web. Journal of Basic and Applied Scientific Research. 2014;4(6):238-48. [12] Asghar D, Zubair M. An Intelligent Agent for a Vacuum Cleaner. International Journal of Digital Content Technology and its Applications. 2009;3(2):143-6. [13] Asghar MZ, Khan A, Ahmad S, Kundi FM. Preprocessing in natural language processing. Editorial board. 2013:152. [14] Asghar MZ, Khan A, Kundi FM, Qasim M, Khan F, Ullah R, Nawaz IU. Medical opinion lexicon: an incremental model for mining health reviews. International Journal of Academic Research. 2014 Jan 1;6(1):295-302. Page 54 of 55

[15] Asghar D, Zubair M. Lexicon based Approach for Sentiment Classification of User Reviews. Life Science Journal. 2014;11(10):468-73. [16] Asghar MZ, RahmanUllah AB, Khan A, Ahmad S, Nawaz IU. Political miner: opinion extraction from user generated political reviews. Sci. Int (Lahore). 2014 Jan 1;26(1):385-9. [17] http://cocomo-ii.software.informer.com/1.0/ [18] http://groups.engin.umd.umich.edu/CIS/course.des/cis525/js/f00/kutcher/kutcher.html [19] http://csse.usc.edu/tools/COCOMOII.php [20] http://ai2.appinventor.mit.edu/

Page 55 of 55

Turnitin Originality Report plag-gul-thesis-17-feb-2016 by Gul Lala From Thesis-check (MCS-MS-work-check)   

Processed on 17-Feb-2016 12:01 PKT ID: 633039787 Word Count: 4475

Similarity Index 9% Similarity by Source Internet Sources: 9% Publications: 7% Student Papers: N/A

sources: 1 9% match () http://girlsru.com/grgProfileList.asp?action=region&ion=2

2 < 1% match (publications) Software Project Effort Estimation, 2014.

3 < 1% match (publications) Beginning iPhone Development with Swift, 2014.

paper text: Development of android-based Conversion and Estimation application can assist the stakeholders related to business and educational sector through the use of smart phones and tablets. The students and software engineers can estimate their project cost, effort, and person per month 2in the early development of software life cycle.

Furthermore, different types of

conversions can also be performed through a rich and user friendly interface provided to the users.

1.1 Background and context The metric conversion and software cost estimation is an important application both for scientific and software engineering community. Conversion of different metrics into other units is essentially required by the students and cost estimation is always needed by the students of computer science and software engineering as well as professional developers. The existing literature of different studies are conducted for the development of conversion and estimation applications. However, most of the applications of either desktop-base or web-based. Moreover most of the existing applications related to conversion and estimation are not available in a single suite. The expansion of android-based application have changed the entire life style of individuals with maximum dependency on the hand-held devices both for entertainment as well as learning. Therefore development of android-based application for metric conversion and software cost estimation is required to facilitate users. 1.2 Objectives The basic objective the android-based application is to develop an application by integrating metric conversion and software cost estimation. The proposed application is comprised of two main modules, namely: (i) conversion, and (ii) estimation. These are further divided into sub- modules. The conversion module aims at performing metric conversion and number conversion. Whereas, estimation module is used to perform CoCoMo-based software cost estimation. The main emphasis is to develop an application based on android platform, which is, to best of our knowledge, is currently not available. 1.3 Motivation With the advent of WWW and especially the recent era of mobility and hand-held devices, android-based applications are now very much popular among online communities. There exists number of applications for metric conversion and software cost estimation, however, to the best of our knowledge, no such application is developed yet to integrate both conversion and cost estimation in a single android-based framework. MIT app-Inventor technology is investigated to develop the mentioned application to facilitate both industry and academia. 1.4 Problem statement Metric conversion and software estimation is required by the students of different disciplines, such as science, computer science, and software engineering. However there exist no such application in android-base platform which can provide multiple operations related to conversion and software cost estimation in a single framework. This is what we address in this work. 1.5 Material Desktop or laptop with core i3 or higher configuration (Window 8 or higher) Samsung tablet MIT App Inventor 1.6 Thesis Breakup The remaining chapters of the thesis are organized as follows: ? Chapter 2, Existing System: In this chapter we discuss some of the existing systems related to our application. ? Chapter 3, Proposed System (Front end): , In this chapter, we describe a detailed description of the proposed system ? Chapter 4, Results: This chapter deals with the description and presentation of results obtained when we execute our application. ? Chapter 5, Tools and Technologies: It describes a detailed description of all the tools used in developing the proposed application. ? ? References: All of the references, which we refer different chapters, are available here. Appendix Table: It provides the screen-shots of all the coding blocks, to assist the users, students and new

learners in creating such applications by their own. This chapter deals with description of the work conducted on conversion and estimation. The related work is categorized on the basis of three themes, namely (i) web-based applications, (ii) non web-based application, and (iii) android-based applications. 2.1 Applications related to conversion Following are existing applications related to conversion 2.1.1 Desktop application This application [1] is a non-web based system developed for performing different type of conversion such as weight, temperature, mass and others as shown in the Fig 2.1. The application is user friendly but lacks the features of web-based and android based application, which the need of today users. Fig. 2.1 TM Desktop metric conversion calculator 2.1.2 Web Based applications This application (Fig 2.2) web-based system for performing different conversion such as length and area, supported by labels, text-boxes and buttons. The application [2] is user friendly but lacks the coverage of other conversion metrics. Fig. 2.2 Sample online conversion for length and area 2.1.3 Android-Based Application This application [3] aims at converting different metrics, such as length, weight, and distance (Fig. 2.3). The distance module converts miles to kilometers and vice versa. The weight conversion module converts kg to pound and vice-versa. Fig. 2.3 Metric Converter 2.2 Applications related to estimation In the following sub sections we presented related work perform on developing system for cost estimation. 2.2.1 Desktop application This offline application is developed to perform Cocomo based software cost estiamtion [4].As shown in the Fig 2.4 user makes input required for the Cocomo I calculation and results are obtained. Fig .2.4. CoCoMo calculator The Cocomo II based calculator is developed to perform cost estimation on the basis of inputs given by the user (Fig 2.5) this application is available at [5] Fig. 2.5. USC.COCOMO II.2000.0 2.1.1 Web Based application The application, available at [6], is used to perform the basic CoCoMo calculations in all modes: organic ,semidetached ,embedded. The screen shot is presented in the Fig 2.6. Fig. 2.6 Basic CoCoMo calculation COCOMO 2 Calculators : Another web based system (Fig. 2.7) is developed for performing CoCoMo II calculations. The system is available at [7]. Fig. 2.7 CoCoMo-II –constructive cost model This chapter presents the working of proposed system developed for conversion and estimation. The proposed frame work is comprised of two modules, namely: (i) Conversion, (ii) Estimation. The proposed system is comprised of multiple screen as shown in table 3.1 Table 3.1 Screen design layout ‣ Project Home Screen ‣ Conversion Home Screen ? Distance Converter ? Weight Converter ? Temperature Converter ? Number Converter ‣ Estimation Home Screen ? Cocomo 1 Screen ? Intermidiate ? Detailed ? Semi Detached ? Cocomo 2 Screen 3.1 Home screen The home screen of the application is presented in the Fig. 3.1. It provides the choices, namely: conversion and estimation. The choices assist the user to either perform the conversion or estimation. Fig. 3.1 Home screen 3.2 Conversion Module The conversion module is further comprise of different types of conversions, namely (i) temperature conversion, (ii) distance conversion, (iii) weight conversion, and (iv) number conversion. 3.2.1 Temperature converter screen The temperature converter screen is presented in Fig 3.2. It

provides an input box in which the user makes input the temperature to be converted to other unit. For this purpose, different buttons are available, namely (i) Fahrenheit to Celsius, (ii) Celsius to Fahrenheit, (iii) Fahrenheit to kelvin, (iv) Celsius to kelvin, (v) kelvin to Fahrenheit, (vi) kelvin to Celsius. The clear button is used to clear the content in the input box and the results. The Home button is used to switch back to home screen. Fig. 3.2 Temperature converter 3.2.2 Distance converter screen The distance converter screen is presented in Fig 3.3. It provides an input box, in which the user makes input the distance to be converted to other unit. For this purpose, different buttons are available, namely (i) Miles to kilometer, (ii) Kilometer to miles. The clear button is used to clear the content in the input box and the results. The Home button is used to switch back to the home screen. Fig. 3.3 Distance converter 3.2.3 Weight converter screen The weight converter screen is presented in Fig 3.4. It provides an input box, in which the user makes input the weight to be converted to other unit. For this purpose, different buttons are available, namely: (i) Pounds to kilogram, (ii) Kilogram to pounds.The clear button is used to clear the content in the input box and the results. The Home button is used to switch back to the home screen. Fig. 3.4 Weight converter 3.2.4 Number converter screen The number converter screen is presented in Fig 3.5. It provides an input boxes, in which the user makes input the number to be converted to other base. For this purpose, different buttons are available, namely: (i) Convert to decimal , (ii) Covert to hexa, (iii) Convert to binary, and (iv) Convert to decimal. The clear button is used to clear the content in the input box, and the result. The Home button is used to switch back to home screen. . Fig. 3.5 Number converter 3.3 Estimation Module The cost estimation module is further comprised of different components, presented below. 3.3.1 CoCoMo I with Basic Model This screen is used to perform the cost estimation using basic CoCoMo model. It has two input boxes, namely: (i) Select mode, and (ii) Project size, and a calculate button. When the user makes input to the input boxes and clicks the calculate button, then the effort, duration, average staffing and productivity are computed. The clear button is used to clear the contents of all of the controls, available on the screen. The reset button is used to reset all the controls to normal mode as shown in Fig 3.6. Fig. 3.6 CoCoMo I with Basic Model 3.3.2 CoCoMo I with Intermediate Model This screen is used to perform the cost estimation using Intermediate CoCoMo model. It has two input boxes, namely: (i) Select mode, and (ii) Project size; multiple cost drivers, grouped in four sections, namely: (i) Product ,(ii) Computer, (iii) Personals , and (iv) Project; and one calculate button. When the user makes input to the input boxes and click the calculate button, then the effort, duration, average staffing and productivity are computed. The clear button is used to clear the contents of all the controls available on the screen. The reset button is used to reset all of the controls to normal mode, as shown in Fig 3.7. Fig. 3.7 CoCoMo-I with intermediate model 3.3.3 CoCoMo I with Detailed Model This screen is used to perform the cost estimation using Detailed CoCoMo model. It has two input boxes, namely: (i) Select mode (ii) Project size; multiple cost drivers grouped in four sections namely: (i) Product ,(ii) Computer, (iii) Personals ,

and (iv) Project; one calculate button and a reset button. When the user makes input to the input boxes and clicks the calculate button, then the effort, duration, phase wise effort duration and phase wise development time duration, are computed. The clear button is used to clear the contents of all of the controls available on the screen. The reset button is used to reset all the controls to normal mode, as shown in Fig 3.8. Fig. 3.8 CoCoMo I with Detailed model 3.3.4 CoCoMo II with Early Design Model This screen is used to perform the cost estimation using Early Design CoCoMo model. It has one input box: Project size; multiple factors grouped in different sections, such as scaling factors and multiple cost drivers;one calculate button; and a reset button. When the user makes input to the input boxes and clicks the calculate button, then the PMnormal, PMadjusted, duration, and average staffing are computed. The clear button is used to clear the contents of all of the controls available on the screen. The reset button is used to reset all the controls to normal mode, as shown in Fig. 3.9. Fig. 3.9 CoCoMo II Early Design Model 3.3.5 CoCoMo II with Post Architecture Model This screen is used to perform the cost estimation using Post Architecture CoCoMo model. It has one input box: Project size; multiple factors grouped in different sections, such as scaling factors and multiple cost drivers; one calculate button, and a reset button. When the user makes input to the input box and clicks the calculate button, then the PMnormal, PMAdjusted, duration, and average staffing are computed. The clear button is used to clear the contents of all of the controls available on the screen, and the reset button is used to reset all the controls to normal mode shown in Fig. 3.10. Fig. 3.10 CoCoMo II with Post Architecture Model This chapter deals with description of the results obtained from the implementation of the proposed system for both of the modules, namely (i) Conversion, and (ii) Estimation. 4.1 Home Screen When the user executes the application then “Home Screen” appears, as shown in the Fig. 4.1. It has two options, namely (i) conversion, and (ii) estimation. When the user checks the “Conversion” check box, then spinner is appear for selecting choices of different metrics and when the user checks the “Estimation” check box, then then spinner is appear for selecting choices of different software cost estimation models. . Fig. 4.1 Home screen 4.2 Experiments with conversion module To test the working of conversion module, we have given inputs to each screen of the conversion module. The output screens at runtime, are presented in the following sections. 4.2.1 Temperature converter This screen is used to convert the temperature to other mode according to the selected choice. For example, when the user inputs 12 in the text-box and clicks any of the temperature conversion button, temperature is converted accordingly. The Fig. 4.2 to Fig. 4.7 show the output screens, as a result of particular conversion. Fig. 4.2 Temperature conversion by clicking the F->C Fig. 4.3 Temperature conversion by clicking C-> F Fig. 4.4 Temperature conversion by clicking the F-> K Fig. 4.5 Temperature conversion by clicking C-->K Fig. 4.6 Temperature converter K->F Fig 4.7 Temperature conversion by clicking K->C 4.2.2 Distance converter screen result This screen is used to convert the input distance from one unit to other according to the selected choice. For example, when the user inputs

14 in the text-box and clicks any of the distance conversion button, then distance is converted accordingly. The Fig. 4.8 to Fig. 4.9 show the output screens, as a result of particular conversion. Fig. 4.8 Distance conversion from mi->km Fig. 4.9 Dsistance conversion from km-mi 4.2.3 Weight conversion This screen is used to convert the input weight from one unit to other according to the selected choice. For example, when the user inputs 63 in the text-box and clicks any of the weight conversion button, then weight is converted accordingly. The Fig.4.10 to Fig. 4.11 show the output screens, as a result of particular conversion. Fig 4.10 Weight converter for lb->kg Fig. 4.11 Weight converter for kg->lb 4.2.4 Number converter This screen is used to convert the input number from one number system to other according to the selected choice. For example, when the user inputs 0F in the hexa textbox and clicks the “HEX to decimal” button, then 15 is displayed. The Fig.4.12 shows the output screens as a result of different number conversions. Fig 4.12 Number conversion 4.3 Experiments with Software Cost estimation module To test the working of estimation module, we have given inputs to each of the screen of the estimation module. The output screens at run-time, are presented in the following sections. 4.3.1 CoCoMo I (Basic with Organic mode) This screen is used to calculate the project effort, duration, average staffing and productivity on the basis of user inputs, namely: (i) mode , and (ii) project size. For example, if we input the project size as “3” then the desired outputs are generated, as shown in Fig 4.13. Fig. 4.13 CoCoMo I -Basic with Organic mode) 4.3.2 CoCoMo I (Basic with Semidetached mode) This screen is used to calculate the project effort ,duration, average staffing and productivity, on the basis of user inputs, namely: (i) mode ,(ii) project size. For example, if we input the project size as “7” , then the desired outputs are generated, as shown in Fig. 4.14. Fig. 4.14 CoCoMo I with Basic with Semidetached mode 4.3.3 CoCoMo I (Basic with Embedded mode) This screen is used to calculate the project effort ,duration, average staffing, and productivity, on the basis of user inputs, namely: (i) mode , and (ii) project size. For example, if we input the project size as “2” , then the desired outputs are generated, as shown in Fig 4.15. Fig. 4.15 CoCoMo I with Basic with Embedded mode 4.3.4 CoCoMo I (Intermediate model) This screen is used to calculate the project effort ,duration, average staffing, and productivity on the basis of user inputs, namely: (i) mode ,(ii) project size, and (iii) different cost drivers. For example, if we input the project size as “43”, then the desired outputs are generated as shown in Fig 4.16. Fig. 4.16 CoCoMo I with Intermediate model 4.3.5 CoCoMo I (Detailed model) This screen is used to calculate the project effort, phase wise effort duration, and phase wise development time duration on the basis of user inputs namely: (i) mode ,(ii) project size, and (iii) different cost drivers. For example, if we input the project size as “49” then the desire outputs are generated, as shown in Fig 4.17. Fig. 4.17 CoCoMo I with Intermediate model 4.3.6 CoCoMo II (Early design model) This screen is used to calculate the PMnormal, PMadjusted, ,duration, and average staffing on the basis of three user inputs, namely: (i) project size, (iii) scaling factors, and (iii) cost drivers. For example, if we input the project size as “67”, then the desired outputs are generated, as shown in Fig 4.18. Fig. 4.18

CoCoMo II .2000 with Early design model 4.3.7 CoCoMo II (Post Architecture model) This screen is used to calculate the PMnormal, PMadjusted, ,duration, and average staffing on the basis of three user inputs, namely: (i) project size, (ii)scaling factors, and (iii) cost drivers. For example, if we input the project size as “57” then the desired outputs are generated as shown in Fig 4.19. Fig. 4.19 CoCoMo II.2000 with Post Archtecture model This chapter presents the detail of tools and technologies used to develop the system. 5.1 Introduction to MIT App Inventor In the following subsections, we present introduction about the MIT App Inventor. 5.1.1 Getting started The very first step for making any app in app inventor so the user may go to the app inventor url ai2.appinventor.mit.edu. After that the user may

in the

3click the Create Button to create the app

app inventor as shown in Fig. 5.1. Fig. 5.1 Getting started 5.1.2 Log in to App Inventor

The user may log in to the app inventor using existing Gmail account or If the user may didn’t have the Gmail account then the user may first create the Gmail account as shown in Fig 5.2 Fig. 5.2 Log in screen 5.1.3 Click "Continue" to dismiss the splash screen After login, splash screen appears which will show the instruction about the interface and continuous updates about the app inventor. There is a continue button which when clicked then the user may get into the app making interface shown in Fig. 5.3 Fig. 5.3 Splash screen 5.2 Start a project The “new project” button is clicked to start a project, as shown in Fig. Fig. 5.4 Strat a project 5.2.1 Name the project After clicking the new project button then the screen may appear where the project should assigned a proper name ( spaces are not allowed ,underscores are allowed) as shown in Fig .5.5 Fig. 5.5 Name the project 5.2.2 Working with Designer In the designer window the user may design the app and give different functionality to app. Basically the user interface of the app is designed here. There are different section of designer window namely: (i) Palette, (ii) viewer, (iii) components, (iv) properties as shown in Fig .5.6. Fig. 5.6 Designer window 5.2.3 Adding Button For the app there should be the need of button to perform an action so the user may drag the button in the viewer from the user interface in the palette as shown in the Fig .5.7 Fig. 5.7 Add Button 5.2.4 Formatting the button Once the button is drag into the viewer the change the format and style of button according to the need and choice of user as shown in the Fig. 5.8. Fig. 5.8 Change the text on the button 5.2.5 Add a Text-to-Speech component Now if the app needs the Text - to - speech so the user may go to the media drawer and drag out a Text - to - speech component and drop it onto the viewer as shown in the Fig. 5.9. It is one of the tool that the app need. It is Non- visible component as it will not show up on the app’s user interface. Fig. 5.9 Add a Text-to-Speech component 5.2.6 Switching to Blocks Editor To specify what the app to do for this there is Block button to switch over to the block editor as shown in the Fig. 5.10. There is also designer button to switch back to the app designer mode. Fig. 5.10 Switch

over to the Blocks Editor 5.3 The Blocks Editor The block editor is interface where the user specify the app behavior. It has two sections namely: (i) blocks (ii) viewer. In the blocks section there is built in blocks to handle things like math, logic, text, variable etc. The bocks of certain components will show up in the block editor if the user may add that components in the designer part of the interface as shown in the Fig. 5.11. Fig. 5.11 The Blocks Editor 5.3.1 Button event coding To specify the button event when it is clicked then click the button 1 drawer and drag its do block on to the viewer as shown in the Fig. 5.12. When the button is clicked some action is performed which is called “Event Handler” Fig. 5.12 Make a button click event 5.3.2 Text To Speech coding To specify what the purpose of the text to speech component the user may click on to the text to speech component and drag its related event to speak message on to viewer as shown in the fig. 5.13. Fig. 5.13 Program the TextToSpeech action 5.3.3 Putting message socket Now put the massage socket inside the call block of text - to -speech component. This is done by clicking the text block of built - in coding blocks as shown in the Fig. 5.14. Fig. 5.14 Putting message socket 5.3.4 Button click event When the button is click then text to speech action comes into an action and perform the event which the user may specify the in the message socket as shown in Fig. 5.15 Fig. 5.15 Button action 5.4 Live testing on phone The most important feature of the app inventor is that during the development of the app the user may live test its work. The live testing is done on the Android phones or tablets with the special software called “Mit ai2 companion”. Also App inventor has a built in emulator for the live testing as shown in Fig. 5.16. Fig. 5.16 Phone connection 5.5 Installation of MIT AI2 Companion Download the AI2 Companion app into your device from Play Store, searching as "MIT AI2 Companion" as shown in Fig. 5.17. Fig. 5.17 Downloading from play store 5.5.1 Start the AICompanion On your device (phone or tablet), click the AICompanion icon in order to start the app. NOTE: your device and computer must be connected with the same wireless network as shown in Fig. 5.18. Fig. 5.18 After setting the software 5.5.2 Getting and scanning the connection code At first choose the “AI Companion” from the connection menu. There are two options for the user to live testing on the phone or tablets namely: (i) scan QR code (ii) connect with the code by typing the code in text window as shown in the Fig. 5.19. Fig. 5.19 Typing or scanning the code 5.6 Final testing Now finally app and device is ready for the live testing. The user interface that is developed in the designer phase is shown on the phone screen as shown in Fig. 5.20 Fig. 5.20 Final testing 5.6.1 Live testing options There are three recommended options for the live testing of app that is being built. These options are (i) wifi connection , (ii) built in emulator connection , (iii) usb connection. 5.6.2 Wifi connection If the user might have the wifi connection then for the live testing the the special software( mit ai2 companion) is installed on the device on which the live testing is done. Fig. 5.21 Connecting with Wi-Fi 5.6.3 Built - in emulato if the user may didn’t have the phone or tablet for the live testing then there is second method for the live testing. The app inventor comes with the built in emulator for the app testing. Fig. 5.22 Connecting with emulator 5.6.4 USB connection There is an

additional option for the live testing of app being developed which is USB connection. This connection is most suitable in the case where there is no wifi connection. Fig. 5.23 Connecting with USB cable This study deals with development of android-based conversion and estimation application with focus on developing and integrating to modules, namely (i) conversion, and (ii) estimation. The conversion module is further comprised of sub-modules including conversion for temperature, distance, weight, and number. It assists the user to perform such conversions on their hand-held android based devices. This module has a sufficient importance in the Medical, Scientific and Technical Field, where the metric conversion is commonly used. The estimation module of our application is quite important with respect to facilitation the students of software engineering for performing CoCoMo-based cost estimation. The application covers both versions of CoCoMo, namely (i) CoCoMo-1, and (ii) CoCoMo-II. The distinctive feature of this module is that, to the best of our knowledge, no such application exists in the android-based paradigm. The developed models provide estimation results. The proposed application is efficient with respect to conversion and estimation by using block- oriented programming technique. Future directions: The application can be enhanced as follows: (i) To incorporate capacity and volume in term of basic conversion. (ii) To introduce currency rate conversion in terms of special conversion. (iii) To implement Engineeringrelated conversion pertaining to stress and pressure. (iv) To implement remaining two models of Cocomo 2, namely (i) application composition model, (ii) reuse model. Appendix I [ Block level coding of Home screen] Appendix II [ Block level coding of Conversion Home Screen] Appendix III [ Block level coding of Temperature Converter] Appendix III [Block level coding of Distance converter] Appendix IV [Block level coding of Weight converter] Appendix IV [Block level coding of Number converter] Appendix VI [Block level coding of Basic model] Appendix VII [Block level coding of Intermidiate model] Appendix VIII [Block level coding of Detailed model] Appendix X [Block level coding of Early Design model ] Appendix IX [Block level coding of Post Architecture model ] 1Page 1 of 114 Page 2 of 114 Page 3 of 114 Page 4 of 114 Page 5 of 114 Page 6 of

114 Page 7 of 114 Page 8 of 114 Page 9 of 114 Page 10 of 114 Page 11 of 114 Page 12 of 114 Page 13 of 114 Page 14 of 114 Page 15 of 114 Page 16 of 114 Page 17 of 114 Page 18 of 114 Page 19 of 114 Page 20 of 114 Page 21 of 114 Page 22 of 114 Page 23 of 114 Page 24 of 114 Page 25 of 114 Page 26 of 114

Page 27 of 114 Page 28 of 114 Page 29 of 114 Page 30 of 114 Page 31 of 114 Page 32 of 114 Page 33 of 114 Page 34 of 114 Page 35 of 114 Page 36 of 114 Page 37 of 114 Page 38 of 114 Page 39 of 114 Page 40 of 114 Page 41 of 114 Page 42 of 114 Page 43 of 114 Page 44 of 114 Page 45 of 114 Page 46 of 114 Page 47 of 114 Page 48 of 114 Page 49 of 114 Page 50 of 114 Page 51 of 114 Page 52 of 114 Page 53 of 114 Page 54 of 114 Page 55 of 114 Page 56 of 114 Page 57 of 114 Page 58 of 114 Page 59 of 114 Page 60 of 114 Page 61 of 114 Page 62 of 114 Page 63 of 114 Page 64 of 114 Page 65 of 114 Page 66 of 114 Page 67 of 114 Page 68 of 114 Page 69 of 114 Page 70 of 114 Page 71 of 114 Page 72 of 114 Page 73 of 114 Page 74 of 114 Page 75 of 114 Page 76 of 114 Page 77 of 114 Page 78 of 114 Page 79 of 114 Page 80 of 114 Page 81 of 114 Page 82 of 114 Page 83 of 114 Page 84 of 114 Page 85 of 114 Page 86 of 114 Page 87 of 114 Page 88 of 114 Page 89 of 114 Page 90 of 114 Page 91 of 114 Page 92 of 114 Page 93 of 114 Page 94 of 114 Page 95 of 114 Page 96 of 114 Page 97 of 114 Page 98 of 114 Page 99 of 114 Page 100 of 114 Page 101 of 114 Page 102 of 114 Page 103 of 114 Page 104 of 114 Page 105 of 114 Page 106 of

114 Page 107 of 114 Page 108 of 114 Page 109 of 114 Page 110 of 114 Page 111 of 114 Page 112 of 114 Page 113 of 114 Page 114 of 114

Suggest Documents