Download presentation
Published byCecily Hoover Modified over 7 years ago
1
Software Engineering in Mobile Application Development
Presented by Avinash Agumamidi M
2
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
3
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.
4
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.
5
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.
6
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.
7
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
8
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.
9
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.
10
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.
11
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
12
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.
13
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.
14
Reliability (robustness, connectivity, stability).
Quality (usability, install ability) and security. web applications behave differently connected telephone network (3G, 4G) than using an (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.
15
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.
16
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.
17
Figure(3) shows iPhone application screenshot & Android application screenshot.
Figure(3) Facebook timeline activity in iPhone & Android application.
18
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?
19
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?
20
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.
21
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 ?
22
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
23
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.
24
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: [2] Balsam Mustafa :” Software engineering challenges in mobile application development”, May allenges_in_Multi_Platform_Mobile_Application_Development [3] Philippe kruchten :” Real challenges in mobile application development” April [4] Vijiyalakshmi :”Software engineering issues in mobile application development” May %20Engineering%20Issues%20of%20Mobile%20Application%20Development.pdf
25
Thank you Queries ?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.