Software Engineering in Mobile Application Development

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Configuration management
Test Automation on Mobile environnents Eder Figueroa 4/29/203.
Mobile Application Development Keshav Bahadoor. Part 1 Cross Platform Web Applications.
Company LOGO Automation Tools For Android Anshu Prasad.
XProtect® Expert 2013 Product presentation
Chapter 1- Introduction
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Telerik Software Academy Software Quality Assurance.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
What is Enterprise Architecture?
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
Securing Passwords Against Dictionary Attacks Presented By Chad Frommeyer.
Basics of testing mobile apps
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Technical Sales Specialist Software - OS and Applications John R. Moegling Sr. Systems Engineer.
If you are thinking about developing mobile application for your customer, this is an important aspect to consider the platform.
© 2012 IBM Corporation IBM Worklight Overview Martin Triska – IBM Worklight specialist (420) July 2012.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
This has been created by QA InfoTech. Choose QA InfoTech as your Automated testing partner. Visit for more information.
The Fallacy Behind “There’s Nothing to Hide” Why End-to-End Encryption Is a Must in Today’s World.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Windows App Development Company India
WELCOME Mobile Applications Testing
Building Azure Mobile Apps
Hammoudeh S. Alamri1, Balsam A
A little more App Inventor and Mind the GAP!
CompSci 280 S Introduction to Software Development
Unit 3 Virtualization.
The Role of Tool Support in Public Policies and Accessibility
Appium Studio Appium testing made easy at any scale.
ET-570 Smart Phone Apps.
Android Mobile Application Development
Chapter 6: Securing the Cloud
Chapter 1- Introduction
WELCOME Mobile Applications Testing
Mobile Testing – Survival Knowledge – Part V
Understanding Programming Mobile Web
Top 10 Strategic Technology Trends for 2013
Architecture of Android
Mobile App Development
Mobile Application Development
Outline Introduction Standards Project General Idea
Mobile Application Test Case Automation
Chapter 1- Introduction
Dynamics of Mobile Application Testing
Introduction to .NET Framework Ch2 – Deitel’s Book
Introduction to System Administration
Introduction to System Administration
Chapter 18 MobileApp Design
Contents: Introduction Different Mobile Operating Systems
Physical Architecture Layer Design
Frequently asked questions about software engineering
CA16R405 - Mobile Application Development (Theory)
Survey Paper & Manuscript
Introduction to Cloud Computing
Computer Basics Section 2.1 YOU WILL LEARN TO… Identify hardware
Week 01 Comp 7780 – Class Overview.
RIA for Business What‘s next? 19/11/18
Top 10 Strategic Technology Trends for 2013
Fault Tolerance Distributed Web-based Systems
How to Improve Releasing Efficiency via i18N/L10n Test Automation.
CSC 581: Mobile App Development
HOW HYBRID APPLICATION DEVELOPMENT IS BENEFICIAL FOR BUSINESS ?
Presentation transcript:

Software Engineering in Mobile Application Development Presented by Avinash Agumamidi M20225303

Contents 1) Introduction 2) Mobile applications 3) Issues Existing system Proposed system Authentication 4) Challenges Native applications Design and testing challenges 5) Conclusion 6) References

Introduction This topic deals with the software engineering research issues related to the development of applications running on mobile devices. Some issues are development processes, tools, user interface design, application portability, quality and security. In the past 10 years there has been exponential growth for mobile application development. In 2008 Apple company opened iPhone outlet, then device makers created outlets for Android, Nokia, Blackberry etc.

An industry analyst conducted survey of mobile developers : Goal :better understanding of development practices for mobile applications. Most applications relatively small, averaging1KLOC. 1-2 developers responsible for designing & implementation of application. Native applications small device based client execution remote server. Applications: complex recreational to business critical uses. Essential to apply software engineering to obtain secure, high quality mobile applications.

Mobile application Mobile apps are software applications developed for use on mobile devices such as smartphones and tablets. Sold via application distribution platform (app store). Developers have limited contact with potential users success measured by a number of downloads. Application can fail sometimes Developers are unaware that users from different countries have different behavior and needs. Studies found 400,000 out of 600,000 apps in iOS app store have no downloads. Some research conducted on understanding user behavior in different app store across different countries.

Issues with Existing system Existing research into app user behavior focus on a specific smart Phone, app store, app category, country, or age group. Need for more comprehensive data will help improve user experience and improve software development practice for mobile apps.

Issues with Proposed system New research focuses on areas, such as user experience, non-functional requirements, processes, tools and architecture. Mobile phone users can document their needs and requirements using text entry, audio recordings, and images captured using their phone. Figure(1) Selecting and using the application

Authentication Issues New user have to enter login id and password. Device can do authentication in four ways. Password, smartcard, static biometrics(fingerprint), dynamic biometrics(voice recording). Every user provide authentication details and he can use alone or combined.

Admin Issues Admin provides user name and password, as well to login into application. Authentication and authorization are required for a Web page that should be limited to certain users. User will be authenticated by providing user name and password. Authorization is only for authorized users who have access to particular resources.

Appstore and user requirement Issues App store (or app marketplace) is a type of digital distribution platform for computer software. Apps designed to run on specific devices & specific operating system such as iOS, Mac OS X, Windows, or Android. Apps developed based on Functionality. For particular mobile device and the operating system on which the app will run. Provide applications at no cost. App store automatically remove installed program. Goal of protecting the user against malicious software.

Mobile experts said 3 critical issues included in requirement phase. User requirement is a document specifies what the user expects the software to be able to do. Mobile experts said 3 critical issues included in requirement phase. Choosing a platform, security and usability. Determine which hardware & operating system the application will run on. Figure(2) User requirement document

What makes mobile different ? Potential interaction- mobile devices may have numerous applications from varied sources. Sensor handling – most modern mobile devices. Ex- smartphones have accelerometer for device movement and touchscreen for gestures. Native and hybrid (mobile web) applications. Families of hardware and software platforms. Security-mobile platforms are open installing malware applications. User interface. Complexity of testing. Power consumption.

Mobile platforms include their own UI libraries and guidelines. The promising areas for software engineering research related to development of mobile applications User experience Mobile platforms include their own UI libraries and guidelines. Should software designer integrate the various forms of input and sensor data in application design ? Is there a need for specialized scenario development processes and tools for mobile applications? 2) Non-functional requirements Success of application depends on performance (efficient use of device resources, responsiveness, scalability.

Reliability (robustness, connectivity, stability). Quality (usability, install ability) and security. web applications behave differently connected telephone network (3G, 4G) than using an 802.11 (Wi-Fi). Apps designed depending on network speed . Developer create apps that maximize battery life & resource usage. Develop for a single platform only use to extent possible. It’s insufficient to test an Android application on an emulator. Integration testing useful.

Challenges Native application The application which runs only on particular platform. Takes advantages of operating system and software installed on it. Framework: A set of libraries, software components and architecture guidelines. Platform: A set of frameworks, tools and services (package). Hybrid apps developed using web technologies executed native in mobile device. Web based platform web apps designed to execute in web browser of mobile device.

Why native approach ? Cross-platform- keep project cost on budget, easy to maintain the product during the project life cycle. It have poor performance, cant use camera & limited development. Native application build for business by organization request to cover all mobile platforms cause cost crisis. To develop 3 platforms(Android, iPhone and Windows Phone) need different experiences, compilers & language. Gives high quality, high performance but cost high. Facebook built using native SDK application Facebook native applications access all features on device like camera, user contacts list etc.

Figure(3) shows iPhone application screenshot & Android application screenshot. Figure(3) Facebook timeline activity in iPhone & Android application.

Requirement issues and challenges Requirement for mobile apps unique mobile user experience, device limitation. Software engineering demands separate team development. Engineer have good experience mobile devices &operating system. Pay attention to performance, reliability, quality, and security. Customer realize how mobile devices utilize resources application. Affects the application cost, time of development, quality, maintenance. Why should I use this feature not the other one? How many devices this application will support?

Design and implementation issues To avoid poor implementation user interface & user experience to develop prototype for multi devices & platforms. Designer should ready to answer How much power it may consume ? How can I minimize the processing time, data size, etc? Can I limit this feature in some devices/OS’s and use alternative ones on other devices/OS’s? Can I design this feature or the whole application for cross-platform?

Testing and maintenance issues Device performance changes when apps use different hardware sensors like GPS, accelerometer sensor etc. I prepare different test cases for each device/OS? operating systems & devices changes, upgrades become concern of developers. Debugging code using virtual mobile device emulator has limited capability, poor performance compared with real device. Developer has to select proper devices to debug the application correctly. Mobile OS’s & SDKs make maintenance phase important to handle new changes.

Survey conducted by 9 developers with 188 participants on Dec 13th 2012. 64% of our survey participants test their mobile apps manually. 31% apply a hybrid approach combination of manual and automated testing. Organizations large or small, believe in manual testing on small subset of devices. It’s a mess even large organizations are hard to convince to do automated testing. Figure(4) How are your native mobile apps tested ?

80% of respondents indicated that developers are the testers. Developers are testers & larger companies afford dedicated testing teams. Testing categorized based on a company’s size, clients, development culture, testing policy, application type etc. 80% of respondents indicated that developers are the testers. Figure(5) who is responsible for testing your native mobile application

Conclusion Mobile devices and platforms created challenges for developers to achieve high quality apps for known platforms and devices. Cross-platform libraries & frameworks can used with poor quality and limited accessibility to mobile’s resources. Native apps provides highest quality application for each device, can’t be reused on other platforms increases cost of development & maintenance. The study of software engineering for cross platform will include 1) conducting surveys to understand challenges faced by mobile apps developers. 2) Suggest new software engineering approaches. 3) Improve an existing ones for multi platform development of mobile applications.

References [1] Wasserman :” Software engineering issues for mobile application development, Proceedings of the FSE/SDP workshop on Future of software engineering research”, USA, NY, 2010, Pg:397-400. http://dl.acm.org/citation.cfm?id=1882443 [2] Balsam Mustafa :” Software engineering challenges in mobile application development”, May 2014. https://www.researchgate.net/publication/264787129_Software_Engineering_Ch allenges_in_Multi_Platform_Mobile_Application_Development [3] Philippe kruchten :” Real challenges in mobile application development” April 2013. http://www.ece.ubc.ca/~amesbah/docs/monaesem13.pdf [4] Vijiyalakshmi :”Software engineering issues in mobile application development” May 2016. http://ijesc.org/upload/ffa275ccd1c01c7a5b8296009bc593c8.Software %20Engineering%20Issues%20of%20Mobile%20Application%20Development.pdf

Thank you Queries ?