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 2: First Feature

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.

Design Revision

Submit the revision of the design of your application as a Markdown document at docs/design.md in the master branch of your group’s repository at https://github.com/jhu-oose/2019-group-<identifier>.

Discuss the design of your application with your advisor. You may need to revise some parts.

First Feature

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 at least the first feature of your application from end to end. Typically, this is one of the central features of your application, but it should be something relatively simple, because it’s your first feature. The feature must exercise every part of your Architecture, including database, tests, API design, deployment, documentation, and so forth. You must work with your advisor early in the iteration to establish what’s a suitable first feature.

For example, suppose your application is Yelp, but for finding public restrooms. A good first feature would be to hard-code some public restrooms with some reviews in the database and have them appear plotted on a map. This feature exercises all parts of the architecture, including some third-party API for plotting maps (for example, Google Maps). Actually writing reviews, searching for restrooms, and so forth, could all be left for Iteration 3.