Object-Oriented Software Engineering

This is an archived version of https://www.jhu-oose.com that I (Leandro Facchinetti) developed when teaching the course in the Fall of 2019. Some of the links may be broken.

Iteration 3: Core Features

As you work on your project in this iteration, you must update the project board that you submitted as a Roadmap in Iteration 0 to keep track of your progress.

You may need to revise parts of the Design, and even parts of the Project Proposal as you develop the application. Update the documents as required.

Submit the code base for of your application in the root directory of the master branch of your group’s repository at https://github.com/jhu-oose/2019-group-<identifier>.

You must implement the core distinguishing features of your application and demonstrate them on the Midterm Presentation by the end of the iteration. This includes rigorous testing, documentation, deployment, and so forth. The application doesn’t have to be usable yet, but it must be working well enough to show the core concepts in action. The specifics of what this entails depends a lot on the nature of your project, so you must work with your advisor early in the iteration to establish the goals.

For example, returning to our Yelp for restrooms from Iteration 2, suppose that the core feature of the application is to find restrooms along a route: you’ll spend the day in a new city, so you tell the application what your route will be, and it shows the best restrooms on the way. By the end of this iteration your application must be able to perform this search, taking in consideration the time it takes to get from one point to the other, the ratings of the restrooms, and so forth. Other features that aren’t core but are still essential may be left for Iteration 4, for example, actually writing the reviews (instead of relying on reviews hard-coded into the database for testing purposes), posting pictures of the restrooms, and so forth.