Quiz 2 content/topics and preparation
Quiz 2 will focus on software development life cycles and developing/writing requirements.
The quiz will be a 50-minute paper-and-pencil quiz, closed book and closed notes, no electronics permitted,
but you are permitted one double-sided 8.5x11" 'cheat sheet'.
(This does not have to be hand-written.)
There will be two equally weighted questions, both of an essay/discussion style.
Since the questions can be somewhat open-ended, be sure not to spend more than about half your time on either question on your first pass through the quiz.
(Then if you have time left at the end you can go back and continue/expand either answer as desired.)
- SDLCs
- Be sure you understand the three basic models we discussed (waterfall, spiral, agile),
including the pros/cons of each and the circumstances under which each is likely to be most/least applicable.
- Common question styles related to SDLCs include things like:
- For your particular team's project this semester, if waterfall was not a permitted option, discuss which SDLC you would prefer to use, agile or spiral, and justify your decision.
- Suppose we created a variant of one of the models as follows [SOME CHANGES TO ONE MODEL]: discuss the kinds of projects this would make the model more appropriate for (compared to the original) and justify your claim.
- Suppose we were tasked with managing the following project [DESCRIPTION OF A PROJECT, TEAM, AND CLIENT]: discuss which SDLC you would recommend and justify your decision.
Note that, in each question, your mark would be almost entirely based on your justification: showing you understand both the positive and negative implications of your choice/decision.
- Requirements gathering and writing
- Be sure you understand the importance of, and approaches to:
- getting input from a wide range of interested parties while establishing the requirements (all the different groups of people who might use or be impacted by the new/revised product)
- using a wide variety of techniques to explain the different portions of the requirements (text, lists, diagrams, pictures, etc)
- cross-checking the different portions of a requirements document to try to eliminate contradictions/ambiguities
- getting a wide range of relevant parties to review the requirements for correctness/completeness (e.g. client, end user, developer, tester, etc)
- expressing non-functional requirements in a verifiable way
- Common questions related to requirements include things like:
- Write a clear/detailed set of requirements for the following component of a product [INFORMAL DESCRIPTION OF A SMALL PART], noting any assumptions you had to make in the process.
- Critique the following non-functional requirements [SOME NFR] and re-write them in a way that is clear and verifiable.
- For your particular team's project this semester, explain which part of the product was most difficult to produce requirements for and why, then provide recommendations you wish you could give to past-you to make that process easier.