Skip to content

Commit 5ddb84b

Browse files
committed
Add details about Chipmunk's NFRs.
1 parent a7e8172 commit 5ddb84b

4 files changed

Lines changed: 50 additions & 0 deletions

File tree

CaseStudies/gamephys/documentation/Physics_Game_Library.bib

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,10 @@ @book{Bueche1986
107107
Publisher = {McGraw Hill},
108108
Title = {Introduction to Physics for Scientists},
109109
Year = {1986}}
110+
111+
@techreport{C99ISO,
112+
Author = {ISO},
113+
Institution = {International Organization of Standards},
114+
Month = {December},
115+
Title = {ISO/IEC 9899:1999 - Programming Languages -- C},
116+
Year = {1999}}
-91.8 KB
Binary file not shown.

CaseStudies/gamephys/documentation/SRS/GamePhysicsSRS.tex

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@
6565
\newcounter{reqnum} %Requirement Number
6666
\newcommand{\rthereqnum}{P\thereqnum}
6767
\newcommand{\rref}[1]{R\ref{#1}}
68+
\newcounter{nfrnum} %Nonfunctional Requirement Number
69+
\newcommand{\nfrref}[1]{NFR\ref{#1}}
6870
\newcounter{lcnum} %Likely change number
6971
\newcommand{\lthelcnum}{LC\thelcnum}
7072
\newcommand{\lcref}[1]{LC\ref{#1}}
@@ -1464,6 +1466,44 @@ \subsection{Nonfunctional Requirements}
14641466
Other non-functional requirements that are a priority are: correctness,
14651467
understandability, portability, reliability, and maintainability.
14661468

1469+
\subsubsection{Performance Requirements}
1470+
1471+
\begin{itemize}
1472+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_ComputationTime}:] Calculate a step of the simulation involving 1000 rigid bodies in no more than $\frac{1}{60}s$ on minimum hardware (\nfrref{NFR_MinimumRequirements}).
1473+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_ComputationMemory}:] Consume no more than 200 megabytes of memory at any point during the simulation.
1474+
\end{itemize}
1475+
1476+
\subsubsection{Understandability Requirements}
1477+
1478+
\begin{itemize}
1479+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_APIDocumentation}:] Provide interface documentation generated from the code.
1480+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_Examples}:] Include documentation with examples demonstrating use of the system.
1481+
\end{itemize}
1482+
1483+
\subsubsection{Portability Requirements}
1484+
1485+
\begin{itemize}
1486+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_DesktopOS}:] Run on desktop operating systems Windows, macOS, and Linux.
1487+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_MobileOS}:] Run on mobile operating systems iOS and Android.
1488+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_GameConsoles}:] Run on the Nintendo Wii game console.
1489+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_LanguageCompatibility}:] Provide a C99-compatible\cite{C99ISO} interface.
1490+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_MinimumRequirements}:] Meet \nfrref{NFR_ComputationTime} on a dual-core 1.5 gigahertz processor with 2 gigabytes of memory available.
1491+
\end{itemize}
1492+
1493+
\subsubsection{Reliability Requirements}
1494+
1495+
\begin{itemize}
1496+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_CrashAdverse}:] No step of the simulation should cause the calling program to terminate while executing inside the library.
1497+
\end{itemize}
1498+
1499+
\subsubsection{Maintainability Requirements}
1500+
1501+
\begin{itemize}
1502+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_CleanCode}:] Produce no warning messages when building the package.
1503+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_UniformCode}:] Adhere to a consistent code formatting style.
1504+
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_PredictableCode}:] Adhere to the language formatting guide if one exists.
1505+
\end{itemize}
1506+
14671507

14681508
%%%%%%%%%%%%%%%%%%%%%%%%
14691509
%

CaseStudies/gamephys/documentation/SRS/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ Software Requirements Specification (SRS)
44
Revision Notes
55
--------------
66

7+
**05/09/2018**
8+
- Expanded nonfunctional requirements to include what some may be instead just the priority of certain categories of nonfunctional requirements.
9+
710
**07/06/2016**
811
- Tidied up the formatting of models and definitions to make it more readable and similar to other SRSs.
912
- Changed goal statements and the corresponding instance models quite a bit.

0 commit comments

Comments
 (0)