First From-Scratch Design, Code, and Test




Use a problem statement as a starting point to design and implement a software project. This is intended to be the students’ first experience implementing a project without being given starter code.

Technical details of the specific assignment have been omitted – it can be used as a framework for any assignment.

Timeframe: The assignment can be given at whatever point of the semester is most appropriate. The time required varies depending on the technical difficulty of the assignment but will require at least two weeks, most likely three.


Janet Burge


requirements, test cases, UML diagram, code, post-mortem report

Assignment Duration

Several Weeks

Communication Skill

reading, writing

Technical Skill

UML diagrams

Workplace Scenario

You’ve been given a problem statement from a client where they want you to build the project. In order to do this, you need to first convert that project statement into a set of testable requirements and a description of how you will verify that the requirements have been met. There are two audiences for this document: the client, who will review them to ensure that you have identified what is required, and the software testers, who will use these test cases to validate the final product.

The next step is to design the software. This will be documented using a UML diagram. The audience is the software developers, who will use them to code the system. The resulting code will then be tested using the test procedures provided.

After completing the task, you will write a project post-mortem report describing how long it took to implement the project, what issues you encountered, how your design changed, and why you needed to make these changes (there is also a project reflection component to this which is not intended to be true to a workplace context). The purpose of the report is to provide insight to improve the design and estimation for future projects. The main audiences are your manager, yourself, and other developers. The project reflection will be used by your instructor to improve future projects.

Team Size




Janet Burge, “First From-Scratch Design, Code, and Test,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed July 17, 2018, http://cs-comm.lib.muohio.edu/items/show/61.


Creative Commons License


Allowed tags: <p>, <a>, <em>, <strong>, <ul>, <ol>, <li>