Recitation 9: Software Specifications

Effective communication is incredibly important when developing real-world software. Real-world software is very complicated, and often involves multiple developers and clients. A software developer is responsible for creating software requested by a client. For example, a restaurant owner (i.e., the client) may contract a web developer to create a website for their business. From a developer’s perspective, understanding the needs of the client is as important as writing code – if the developer creates software that doesn’t meet the clients needs, the client will not be happy with it! In this activity, you will play the role of both software developers and clients.

You can complete these activities either individually or with a partner.

Preparation

When preparing for recitation, you will play the role of a client. You should describe some kind of software that can be created in Snap. Ideally, the software should be simple enough that it can be created in about 30 minutes. Don’t actually write code for the software! Instead, describe the software in writing and with sketches. This document is referred to as the “software requirements specification” (SRS). For example:

Textual and visual description of a block game. The game involves dragging blocks onto the corresponding holes in a game board.

Print out your SRS document, and bring it to recitation.

At Recitation

At recitation, you will swap your SRS document with another team. Each team will develop the software described by the other team. In the real-world, the communication and development process would take place over multiple weeks. For this activity, you will adhere to a strict timeline to approximate the real-world experience.

Note: The instructor should clarify the timeline by writing it on the board, filling in the time offsets with real times. The instructor will announce when each transition should occur.

Note: If there are an odd number of teams, a team can be formed of two individuals. They should decide on which SRS they want to swap with another team.

Note: If you cannot attend recitation, you should find another team using Piazza, and complete the activity as described.

Submit

Ensure that all teammates submit to Moodle. Everyone should upload a PDF containing a filled-in version of the template shown below:

Template

Textual and visual description of a block game. The game involves dragging blocks onto the corresponding holes in a game board.