Models Everywhere

Various considerations about Model Driven Engineering

New software engineering courses

Posted by jbezivin on November 21, 2010

Developing applications for mobile devices

Software engineering is rapidly evolving. A huge amount of the software that is developed today is produced as a set of so-called applications for App Stores.

Only in the Apple App store there is currently more than 300,000 applications available [ref] . When we take into account the Android market (170,000), the Windows phone market, the Nokia market and all the emerging platforms for mobile devices [ref], this corresponds to a huge software production silo. This is happening very rapidly since in July 2008 there were only 500 applications in the Apple App Store. The development curve on the Wikipedia site looks exponential.

I have several questions about this rapid evolution, and among them:

  • What are the programming languages used for these development? Java? Objective-C?
  • What is the average size (in LOC or in number of classes) of an application?
  • What are the methods (if any) used to develop these applications?
  • Are formal methods used?
  • Are the requirements explicitly represented?
  • How is the maintenance of these applications organized?
  • What does the total development effort of all these applications represent in the total software development effort in the world?
  • What is the status of the application developers (employees of big companies, individual programmers, etc.)?

I do not know the answers to these questions, but I have the impression that this phenomenon is going to deeply impact the way we consider software production. I know several companies (in the bank domain for example) that are already changing the vision of their information system architecture to integrate this.  They are looking at their old legacy application portfolio to see how this could evolve to accommodate new applications written for mobile platforms. The old client-server organization is impacted by the mobile-equipped client. The way they internally produce software or acquire software (applications) from external vendors after adequate testing is also impacted.

We have already seen several interesting projects in the Eclipse modeling area targeting the production of mobile applications. Of course this is mainly Android since Apple forbid such practices (applications have apparently to be developed natively in Objective-C and cannot be generated).

One interesting observation is that the universities that have always been in advance in the domain of software engineering are today recognizing that the application production for mobile devices requires different skills and different methods. As a consequence they are rapidly opening specific courses for mobile application development. If we want to see which universities are most innovative, most open on their environment, most adaptive, we may look at those that are opening such courses. Apparently the first to take such initiative was Stanford university.  Today they are sometimes offering free online courses.  And they seem to have a lot of success as reported by many Twitters:

etc., etc.

I would also be interested by other answers, like:

  • Are these courses targeting only iOS, or Android or are some of them platform-agnostic?
  • What are the universities that are opening such courses?

4 Responses to “New software engineering courses”

  1. [...] courses on programming for Mobile platforms Following the previous post on new software engineering courses, I am getting some news on US Universities that are offering courses for programming mobile [...]

  2. [...] Posted on the dicembre 6th, 2010 under Uncategorized by ale One interesting observation is that the universities that have always been in advance in the domain of software engineering are today recognizing that the application production for mobile devices requires different skills and different methods. As a consequence they are rapidly opening specific courses for mobile application development. via modelseverywhere.wordpress.com [...]

  3. Udo Moser said

    Wir führen im Auftrag unserer Kunden Produktentwicklungen durch.
    Von der Produktidee bis zur Markteinführung begleiten wir die Entwicklung des Produkts.
    Die Produkte entwickeln erfolgt in den 3D-CAD Systemen Solid Works und Catia V5.
    Unsere Entwickler verfügen über langjährige Erfahrung in der Produktentwicklung.

  4. [...] Bézivin faisait l’année dernière le constat que l’ingénierie logicielle évoluait rapidement vers le mobile, en notant le nombre d’applis disponibles sur les App Store (300 000 chez Apple et 170 000 [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.