Startup15 Assignment3

Third and final assignment for the startup15 course

Rules

  • This is the most significant assignment; see the synopsis of the course.
  • Your team provides a presentation at the final slot of the course:
    • 15 min presentation
    • 5 min discussion
    • Your material (PDF or link to) and metadata (team members) must be in the repo (see 1st assignment).
    • We may agree on a post-presentation revision; let's discuss in the course.
  • Please be very careful to point out sources.

Options

A non-trivial behavioral model

See the lecture on behavioral models.

State and activity diagrams are preferred; discuss with the lecturer alternative options.

The model would typically relate to your preferred startup idea; as presented in the second course slot.

Non-triviality is meant here as follows:

  • A state diagram would involve 3+ states.
  • An activity diagram would involve 3+ decision nodes.
  • A state diagram would involve 3+ actions
  • An activity diagram would use 3+ partitions.

A non-trivial technological model

You get one brownie point, when compared to the option for a behavioral model.

See the lecture on technological models.

The model would typically relate to your preferred startup idea; as presented in the second course slot.

Non-triviality is meant here as follows:

  • 3+ artifacts (such as files or web requests).
  • 5+ relationships.
  • 3+ different relationship names (e.g., elementOf).
  • 2+ new entity types (as subtypes of existing types, e.g., a specific type of technology).

A non-trivial mockup of a startup app

You get one brownie point, when compared to the option for a behavioral model.

You get two brownie points, when compared to the option for a technological model.

The mockup would typically demonstrate your preferred startup idea; as presented in the second course slot. By mockup, we mean that it is technically an app, but it doesn't aspire to a complete realization of your startup idea.

Non-triviality is meant here as follows:

  • The app is distributed, that is, there are client and server sides.
  • Data is persistent, that is, data outlives the execution (presumably) the server.
  • Ideally, some sort of integration happens for original code versus pre-existing functionality.

You could use TouchDevelop or any app-development platform or HTML5.

(Let's not do any PHP hacking. Rails and Django and alike are Ok, if you want to do a web app.)