Planning a Software Engineering Project

Overview

Students gain hands-on software development experience working with their peers.

Why Use This?

This activity allows students to work collaboratively in development teams on a software project, which gives them experience in software design and mimics a scenario common in the field.

How Does It Work?

Students first propose a project idea they are interested in. After everyone has proposed their ideas, the class ranks their favorites via a survey. Students are then placed into development teams based on their interest in a project.

In the first half of the course, teams spend their time discussing, planning, and designing the software project. In the second half, the teams implement their project (changing the plan and design as needed). Once completed, each team uploads their written code into GitLab and creates a video detailing the project for all the teams to see.

Overview and instructions for completing the project

Overview and instructions for completing the project


Purpose
In this course, you will be reading from the textbook, taking quizzes, and answering discussion questions related to the textbook material. While these activities introduce you to the main ideas of software engineering, many of the practices of software engineering are best learned “the hard way.” That is, these practices are best learned through experience. The course project is intended to give you this experience. Each assignment for the course project corresponds to the activities described in Chapters 1–8 of the textbook.

For this assignment, you must pitch a project idea. Your pitch will be made available to all other students and you will be required to rank your favorite project proposals. Your rankings will be used to assign project teams.

Instructions
Create a single web page using standard HTML. The web page serves as your project proposal and will be public for others to view. Your web page should not contain any identifying information about yourself.

Your web page should contain the following elements:

  1. A project title
  2. A project summary with an image or figure to help explain the project
  3. A description of your customer and other stakeholders
  4. A list of technologies that you initially propose to use to create the software
  5. Project scope

If you have not created an HTML web page before, you can use the proposal template here:

Project Title

Project summary goes here… Be sure to include an image like this:
Image Description

Describe the goals of the proposed software. It may be helpful to use a list like this:

  • Goal 1…
  • Goal 2…
  • Goal 3…

Customer(s) and other Stakeholders

Describe customer and other stakeholders here…

Technology

List technologies that could be used to implement your project.

Scope

Describe what parts of the project can be completed and why you
think the project can be completed this semester.

Feel free to change the template as you see fit. You can style the web page however you like (or not at all), but make sure to submit only a single HTML page and any images for your page.

Here are two examples of project pitches: Example1.html Download Example1.htmland Example2.html Download Example2.html. Here is a professional project pitch for a video game that you may have played: diablo_pitch.pdf Download diablo_pitch.pdf.

Finally, keep in mind that other students will be reviewing your proposal and possibly deciding to join your project. So, be creative, maybe a bit persuasive, and have fun!

Keep In Mind

Encourage students to propose a project they’re interested in, even if that means they have to learn new skills. Learning new programming languages and libraries is common for software developers.

Testimonial