softwareengineeringformobileapplication …dascalus/tse2013_15.pdfseformobileappdevelopment...

Post on 27-May-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Software Engineering for Mobile ApplicationDevelopment

Vamsi Raju

April 11, 2013

OutlineBackstory

Platforms

SE Research Areas [1]Universal InterfacesSoftware ReuseNeed for Self-Adaptive Requirements

Future

Questions for Midterm

SE for Mobile App Development

Backstory

• "Wild" growth in smartphone market

• First computer for many people

• Increased adoption of web-based services through mobile

• Users spending a chunk of time on mobile

• We have an app for everything now!

Vamsi Raju | CS 791Z - Topics on Software Engineering 3/26

SE for Mobile App Development

Bottomline

Mobile deserves it’s own branch of Software Engineering

Vamsi Raju | CS 791Z - Topics on Software Engineering 4/26

SE for Mobile App Development

Platforms

• Android

• iOS

• Blackberry

• Windows Phone

Vamsi Raju | CS 791Z - Topics on Software Engineering 5/26

SE for Mobile App Development

Android

• Fragmented OS - {2.1, 2.2, 2.3, 2.3.3, 3.0, 4.0, 4.1, 4.2}

• Different Devices - {size, hardware, color}

Solving Android’s problems = Solving everybody else’s*

Vamsi Raju | CS 791Z - Topics on Software Engineering 6/26

SE for Mobile App Development

* Except Windows

• Metro is a disaster

• Who needs two Dropbox apps in the same PC?

Some problems are self-inflicted and need not be solved.

Vamsi Raju | CS 791Z - Topics on Software Engineering 7/26

SE for Mobile App Development

Reiterate

• Mobile is at a nascent stage

• Too many problems

• We should be picky in what we want to solve

Vamsi Raju | CS 791Z - Topics on Software Engineering 8/26

SE for Mobile App Development

SE Research Areas [1]

– Universal Interfaces

– Software Re-use

– Self-Adaptive requirements

Vamsi Raju | CS 791Z - Topics on Software Engineering 9/26

SE for Mobile App Development

Universal Interfaces

Simple tricks like scaling are not effective.

Vamsi Raju | CS 791Z - Topics on Software Engineering 10/26

SE for Mobile App Development

Side Nav bar

Vamsi Raju | CS 791Z - Topics on Software Engineering 11/26

SE for Mobile App Development

Pull down to refresh

Vamsi Raju | CS 791Z - Topics on Software Engineering 12/26

SE for Mobile App Development

Software Reuse

• PC Era - Develop only for Windows

• Mobile Era - Website + iOS + Android + Android + Windows +above

Managing multiple codebases is an issue.

Current solutions: Phonegap

Vamsi Raju | CS 791Z - Topics on Software Engineering 13/26

SE for Mobile App Development

Need for Self-Adaptive Requirements

• Battery life

• Processor speeds

• Front camera

• Display size

• Active Radios

• Location of device

• Fluctuating power levels

Vamsi Raju | CS 791Z - Topics on Software Engineering 14/26

SE for Mobile App Development

Non-functional requirements cannot be rigid for mobile devices.

Current solutions: SDK’s take care of most issues for native apps.

Vamsi Raju | CS 791Z - Topics on Software Engineering 15/26

SE for Mobile App Development

Future

Wouldn’t it be great if we have solutions ready for tomorrow’s problems?

Vamsi Raju | CS 791Z - Topics on Software Engineering 16/26

SE for Mobile App Development

My Divinations!

Vamsi Raju | CS 791Z - Topics on Software Engineering 17/26

SE for Mobile App Development

Convergence

• Convergence of operating systems is the future

• Mobile + Desktop + Tablet

• Different form factors share a single operating system

Vamsi Raju | CS 791Z - Topics on Software Engineering 18/26

SE for Mobile App Development

No not Metro!

• It’s actually diverging

• Metro and Desktop interface in the same operating system

• Maybe Windows Blue will be different

Vamsi Raju | CS 791Z - Topics on Software Engineering 19/26

SE for Mobile App Development

Maybe Ubuntu...

• Ubuntu for Desktop

• Ubuntu for Phones

• Ubuntu for Tablets

• Ubuntu for Android

• Ubuntu for TV

Vamsi Raju | CS 791Z - Topics on Software Engineering 20/26

SE for Mobile App Development

Or Google...

• Chromebook

• Chrome

• Android

Vamsi Raju | CS 791Z - Topics on Software Engineering 21/26

SE for Mobile App Development

Definitely Apple!*

*Speculation

• No signs of convergence right now

• iOS and OSX are different

• Remember PowerPC to Intel transition

Vamsi Raju | CS 791Z - Topics on Software Engineering 22/26

SE for Mobile App Development

(Important)2

• Consistent user experience on multiple form factors

• Code reuse for apps on multiple form factors

• Adaptive requirements for multiple form factors

Right now mobile apps aren’t complex.

We have Software Engineering processes for Desktop apps

We’ll need solutions in the future when they converge

Vamsi Raju | CS 791Z - Topics on Software Engineering 23/26

SE for Mobile App Development

Questions for Midterm

• Name three important areas for research in Software Engineering formobile app development.

• What are self-adaptive requirements and why are they necessary?

Vamsi Raju | CS 791Z - Topics on Software Engineering 24/26

References

[1] Anthony I. Wasserman. Software engineering issues for mobile applica-tion development. ACM, FoSER, November 2010.

Questions?Vamsi Raju for GSA! Vote for me!

top related