9. (Determining the Requirements) This exercise attempts to simulate a discussion on how to discover and document
Question:
9. (Determining the Requirements)
This exercise attempts to simulate a discussion on how to discover and document system requirements for a new software product (see Sommerville and Sawyer, 1997 on the skills that are needed for requirements elicitation, analysis, negotiation and documentation).
In order to make the discussion relevant to computational finance we consider the problem of creating a software framework for a one-factor Black–Scholes PDE and its generalisations. We are interested in approximating these PDEs by the FDM although this exercise could be extended to any application in principle.
We simulate an initial roundtable discussion with the following possible stakeholders attending:
Architect: responsible for specifying the system to be designed.
Domain expert: in-depth knowledge of the material and how the system will be used in the organisation.
Project manager: responsible for the successful execution of the software project.
Sponsor: This could be an internal or external stakeholder and is often the stakeholder who pays for the costs of the project as well as developers’ salaries.
User of the system: This is the person or group who actually works with the computer system on a daily basis.
The main goal of this simulated discussion is to reach consensus among the stakeholders on how to initiate the software project and bring it to a successful conclusion.
We are also interested in flagging the assumptions and potential risks inherent in this kind of work. At some stage we would hope that the system decomposition methodology in this chapter will help us focus and avoid getting bogged down in endless discussions.
Answer the following questions:
a) What are the major risks and challenges that must be resolved before proceeding? (See Sommerville and Sawyer, 1997 for a discussion of some topics to help discover these risks.)
b) For high-risk projects what would be your approach to create a proof-of-concept software prototype? Have you made it clear what the objective of the prototype is and what the next phase is?
c) Can we use some of P´olya’s heuristics (see Exercise 1) to help the stakeholders view the project from different perspectives? Can you use domain architecture categories to improve communication among the stakeholders?
d) Assuming consensus has been reached, determine how the project manager will produce a project plan including an estimate of how long each phase of the project will take.
e) Based on the discussions and findings, determine which design style, patterns, language features and libraries the architect and her team will use to produce a series of software prototypes on time and within budget.
Step by Step Answer: