Worksheet: J8 | CS 2113 Software Engineering - Spring 2025

Worksheet: J8

Worksheets are self-guided activities that reinforce lectures. They are not graded for accuracy, only for completion.

Create a new repo using all the steps in Lab 0 called yourgitusername-worksheet-J8. Submit a file called worksheet-J8.md to BB.

Questions

  1. What is the difference between a functional and non-functional requirement?

  2. Give two example functional requirements for Instagram.com.

  3. Give two example non-functional requirements for Instagram.com.

  4. Draw a use case diagram for Instagram.com with at least three uses cases shown, where at least one use case extends another, and there are two actors.

  5. Why has software engineering evolved to often embrace agile development models over waterfall ones?

  6. Draw a diagram where there are at least two interconnected paths: a critical path, and at least one non-critical path.