CSCI 265 Quiz 1 Sample Solutions 2025


Question 1: Software development life cycles (SDLCs)

Consider the following scenario (after all, today is International Talk Like a Pirate Day): Describe the software development life cycle you would recommend, outline a 16-month plan for delivery of the final product, and justify your recommendations.

Sample solution

This can go in a lot of different directions, so what I've outline here are the
key things I was looking for in your answer.

Key points/observations:
 - junior team
 - 16 month timeline til fully deployed and functional,
   pretty strict since they may lose an entire tourist season of revenue if missed
 - relocating to site offered (not necessarily required?)
 - scheduling/booking a common/well known problem
 - navigation/routing much more specialized, need to figure out, implement, and test both
   the hardware and the software, and will need to account for local regulations,
   especially since it will involve carrying passengers on multi-day ocean voyages
   (significant liability issues for our client)

SDLC:
 - junior team makes agile risky due to potential for an early design that doesn't
   fit final form, and makes waterfall risky due to potential for missing or mistaking
   early requirements (especially in the nav/routing aspects)
 - spiral might need *very* tight cycles if more than two iterations attempted
 - need to account for the fact that the problems in establishing requirements and doing the
   research/design/implementation for the nav/routing will be a very different problem
   than doing similarly for the scheduling/booking.  The latter is a more widely-known
   problem, and is far more likely to be similar to what most team members have
   previous experience in.  (If you're assuming the team is already experienced in
   nav systems then you must very clearly and explicitly state that assumption.)

Timeline:
 - must make it clear what's being done when: clearly defined # months or clearly defined
   dates for the different sections, well broken down, and justified
 - needs to be clear enough for the team/client to be able to tell if they are/are not
   on schedule for the 16-month delivery
 - clearly needs to account for the fact that we need to figure out what the client needs,
   do all the necessary research, design and build it, and test it under 'real' conditions
   before the 16 months are up

Question 2: Requirements

Based on the system discussed in Question 1, discuss the major challenges you forsee with respect to developing a full requirements document for the system based on the assumption that a waterfall SDLC has been requested by the client, with a 4-month analysis/requirements phase.

Outline a plan to limit/mitigate/eliminate these risks as much as possible, and provide justifications both for the risks you have identified and for your mitigation plans.

Sample solution

Note that this is asking about issues in writing the requirements given that we're
required to use a waterfall model, so you need to be sure that this is the clear focus
of your answer.

Answers should also clearly focus on this specific project, not just echo the basic ideas
common to every software project in existence.  (Doing the latter only gets about half marks:
I want to see you can specifically think about and discuss the way these apply in the context
of the project/problem you're given.)

Issues/risks:
 - junior team makes it more likely we'll miss or make mistakes in our requirements,
   and since we're stuck with waterfall that could cause real problems later in design
   and/or implementation, especially so in this project:
    - having lots of conflicting desires/priorities between the varying stakeholders could
      increase this risk (for instance, the boat captains, tour guides, office staff dealing
      with bookings/scheduling, the owners of the new system, etc)
    - being unfamiliar with nav hardware/software and unfamiliar with local ocean tour
      regulations, there is a greater risk our team will miss something crucial
 - it sounds like clients aren't entirely clear yet on the specifics of what they want/need,
   so there's a risk they might change their mind once they get an actual working system
   to play with (which is, of course, a big issue with waterfall)
 - there may be issues with relocation practicalities: either taking too much of our
   16-month window or with team members discovering they're not happy after relocating,
   causing a greater risk of losing time/members than would be normal in a project

Mitigation ideas:
 - we need to ensure the team becomes familiar with the practical aspects of what's needed,
   e.g. taking comparable tours themselves, careful study of the existing system and of
   current best practices in the business
 - we need to get started on researching the nav/regulation aspects asap,
   researching similar existing products, interviewing local operators who use
   comparable systems
 - we need to ensure the system we specify in the requirements will genuinely meet the
   clients needs, so we should make extensive use of mockups, different forms of prototyping,
   usability testing, walkthroughs, scenarios, etc: all done with the people who will be
   using the relevant system (the office staff and sample users for the booking/management,
   the boat operators and tour guides for the nav/routine, etc)
 - we need to ensure that we have discovered and resolved any areas where different
   stakeholders have different views of what's needed, e.g. by having some joint sessions
   where office staff, boat operators, tour guides are all present and participating in
   the discussions