Join this Wiki

Requirements

 

 

Chapter 3

Requirements for Software Engineering Project

(Final)

 

Overview

Objectives:

            Epidemics are a major problem in today’s connected world.  The objective of this project is to simulate the spread of a virus throughout a population.  There are two key factors in this project that we want to look at.  The first is the effect of population on the spread of the virus.  The second is to explore how different qualities of a virus will increase its effect.

 

Business Process

            This software could be used to better understand the spread of  diseases such as tuberculosis or even the common cold in society.  It will also show how effective certain methods are at containing the spread of a virus.

 

User Roles and Responsibilities:

            There will only be one user at any given time of this software.  They will oversee the operation of the software and give specific starting parameters for the simulation.  They will also be able to change parameters at specific points in the simulation, such as population, virus characteristics, and other various options.

 

Functional Requirements

 

Statement of Functionality: 

 

For cities:

 

-We want to model five cities in each simulation--one center city where the virus will start and one city to the north, south, east, and west of that city.

-The user will specify the population of the five cities and the population density of the center city. The other cities will use approximately the same population density as the center city.

-All cities will have 1 school, 1 business, 1 housing section, 1 hospital, and 1 airport that connects to the other cities.

-We expect distributions for the following. 

l                                                                                                              People who work

l                                                                                                              People who go to school

l                                                                                                              Contact at home with people who work and people who go to school

l                                                                                                              People traveling to other cities

 

 

 

For virus:

 

            -At start of simulation user will give the following information about the virus

l                                                                                                                                                                                Life Cycle (time before symptoms show and time of actual sickness and time of recovery)

l     Contagious time (time while virus can be transmitted during the life cycle)

l     Mortality rate (chance infected will die from the virus)

l     Coefficient of virus transmission (used to decide if contacted individual gets virus).

 

For population:

 

            -The following distributions will be required for the population.

l        Frequency an individual comes into contact with another

l        Number of people an individual comes into contact per day

l        How long after manifesting symptoms does someone wait before going to the hospital or home.

            -Once someone is infected with the virus and then recovers they are immune to the virus (for the scope of this simulation people can only be infected once).

 

Containment protocol:

 

-         Persons should not be allowed to travel if they are displaying symptoms.

-         Persons who being showing symptoms at school should be sent home.

-         There should be some quarantine functionality.

-         User should be able to change the virus parameters by a new treatment being introduced.

 

Simulation control:

 

-         The simulation should run until some predefined condition is met such as a specified interval of time.

-         It should be possible for the user to end the simulation at any time.

-         The user should be able to pause the simulation and view current statistics.

 

Results:

 

-         When the simulation is ended for any reason, final simulation statistics should be displayed.

-         These statistics should include number of people infected, mortality rates, what other places the virus has spread to, length of time, etc.

 

Project Scope:

 

            The simulation should represent cities as a set of zones with interaction, and the transit systems that would operate both inside of and between cities.  There should be parameters for the basic features of a given city, such as its population, and various zones with their own population densities.

With regards to the virus, its own qualities should be configurable as well. 

-         Transmissibility, how likely it is to be transmitted to another individual given contact in a given time unit. 

-         Incubation period, as the duration of time after infection in which someone carries the virus but does not exhibit symptoms. 

-         The likelihood of recovery once symptoms occur should be considered as well, along with the ability of medical facilities to cure the virus, such as hospitals and pharmacies that may exist in a given area.

User should have the ability to control the progress of the situation by pausing and resuming the simulation, as well as configuring the rate at which it progresses

 

 

Performance:

            The program's should complete in a duration on the order of minutes, assuming no user intervention.

 

User Friendliness:

            The program should behave in a fashion that is intuitive and orderly.  For example it should ask for parameters in the order that it needs them.  The user should be allowed to get an overview of the status of the simulation at any point.  A visual representation of the simulation that is updated in a timely fashion is required. The program should be aesthetically pleasing to the eye.

 

 

Documentation:

            A detailed help manual that documents all of the functionality of the program extensively is required.

 

Training:

We expect a brief training session on the use of your software at each release.

 

 

 
Page last updated by Kyune Nov 3, 2008 2:38am. (Page history)