softwareengineeringformobileapplication …dascalus/tse2013_15.pdfseformobileappdevelopment...

26
Software Engineering for Mobile Application Development Vamsi Raju April 11, 2013

Upload: others

Post on 27-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

Software Engineering for Mobile ApplicationDevelopment

Vamsi Raju

April 11, 2013

Page 2: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

OutlineBackstory

Platforms

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

Future

Questions for Midterm

Page 3: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 4: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 5: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

SE for Mobile App Development

Platforms

• Android

• iOS

• Blackberry

• Windows Phone

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

Page 6: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 7: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 8: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 9: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 10: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

SE for Mobile App Development

Universal Interfaces

Simple tricks like scaling are not effective.

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

Page 11: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

SE for Mobile App Development

Side Nav bar

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

Page 12: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

SE for Mobile App Development

Pull down to refresh

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

Page 13: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 14: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 15: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 16: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 17: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

SE for Mobile App Development

My Divinations!

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

Page 18: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 19: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 20: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 21: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

SE for Mobile App Development

Or Google...

• Chromebook

• Chrome

• Android

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

Page 22: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 23: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 24: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

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

Page 25: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

References

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

Page 26: SoftwareEngineeringforMobileApplication …dascalus/TSE2013_15.pdfSEforMobileAppDevelopment SoftwareReuse PCEra-DeveloponlyforWindows MobileEra-Website+iOS+Android+Android+Windows+

Questions?Vamsi Raju for GSA! Vote for me!