CS 305: Requirements Analysis

Highlights of this lab:

  • Defining the Root Concept
  • Developing Themes for Analysis
  • Problem Scenarios
  • Assignment

:: Defining the Root Concept ::

The root concept is of a software project (as well as other project types I'm sure) could consist of several preliminary assumptions about the specific project. According to Rosson and Carroll (the course text book authors), a root concept is made up of the following:

The project vision is a brief statement that outlines what the project is supposed to be. As the text describes, the vision can be provided (such as that in this course - you are developing a "front end" of sorts). The vision can also be deduced from open-ended discussions about how to develop new and improved technologies, etc.

The project rationale is similar to the vision. It attempts to rationalize the direct purpose(s) of the project. For example, is the project intended for a specific user group, is it intended to enhance the functionality of a given system, is the system being designed as a new, proof-of-concept pertining to a new idea, etc.

A very important step in the development process is defining the stakeholders. Who are those users whom will be directly and/or in-directly concerned, associated, have some invested interest, etc, with the project. These could include, end-user groups, managers, developers,communities, etc. Along with defining who the stakeholders are, you should also state what their backgrounds are, expectations, and what preferences they may have. e.g.

Defining the stakeholders is one of the most crucial elements of design. After all, if we don't know who the intended users of our software will be, how can we effectively develop anything?

Defining or declaring any assumptions is the last step in defining the root concept. Assumptions could include: who the researchers/developers are, what is the base system that will be used (i.e. lyx, latex, word, other), what methodologies are going to be employed, etc.

:: Developing Themes for Analysis ::

Themes aid in understanding certain facets of design. The book describes a theme (workplace theme - pg. 61), as a category that is proposed for related observations or discussion points. Ok, so what does this mean? Although different users and user groups will have different needs in terms of performing their system tasks, there should be underlying themes that are common to all. The development of themes will aid in providing a better understanding of the research problem. For example:

Theme Issues Constributing to the Theme
Formatting Margins (Lyx) - Difficult to understand where to exactly do this
- No icon or simple slider as in Word
- ...
Inserting an image (Lyx) - Difficult to differentiate float image from standard image
- icon confusion in Lyx
- ...

:: Problem Scenarios ::

A problem scenario is a story that attempts to relay current practices. For example, one possible scenario might be a short story consisting of the experiences that one of the users/stakeholders has while performing a given task. Unlike use cases and other visualizations that may be only understood by only those who know how to interpret them, scenarios are generally understood by all. After-all, it is simply a brief story, in lamens terms, about one stkaeholder and their experiences using the current system(s). The story should consist of relevant information pertaining to the tasks and themes outlined in the root concept and theme development. For example, let us consider the case of uploading an assignment in web-ct

Jane is a first year biology student who needs to upload her first bio100 assignment on web-ct. She logs into her web-ct account and tries to find the place where she can upload her assignment. Jane notices that her bio100 class is listed in the "available courses" section so she clicks on the link and is taken to the bio100 homepage. From here, Jane notices the "Assignments" icon, clicks on it and finds a link titled "Assignment 1." She is still unsure where to submit the assignment..."where should I submit?", she asks. "There is no "submit assignment" button anywhere." After playing around, Jane figures out that the asssignment text is another link so she proceeds to click on the assignment link and is taken to the submission page. Following all the instructions to upload her assignment, Jane is taken back to the page that provides her with the details of her submission. Satisfied, Jane logs out of web-ct befoe clicking the "submit assignment" button and proceeds to do other homework. A week passes and the instructor has handed back all of the assignments. However, Jane's assignment was not handed back to her. Jane discusses this with her instructor and is unsuccessful in her attempts to satisfy her instructor that she did indeed submit her assignment.

:: Assignment ::

For this weeks assignment, I would like you to develop the requirements for your course project. I would like you to develop a document that outlines:

This assignment is due before your next lab. We will be using this assignment as part of your next lab. Please submit your assignment on web-ct before the start of your next lab.

:: References ::