Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified CaseStudies/gamephys/docs/SRS/GamePhysicsSRS.pdf
Binary file not shown.
40 changes: 40 additions & 0 deletions CaseStudies/gamephys/docs/SRS/GamePhysicsSRS.tex
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@
\newcounter{reqnum} %Requirement Number
\newcommand{\rthereqnum}{P\thereqnum}
\newcommand{\rref}[1]{R\ref{#1}}
\newcounter{nfrnum} %Nonfunctional Requirement Number
\newcommand{\nfrref}[1]{NFR\ref{#1}}
\newcounter{lcnum} %Likely change number
\newcommand{\lthelcnum}{LC\thelcnum}
\newcommand{\lcref}[1]{LC\ref{#1}}
Expand Down Expand Up @@ -1464,6 +1466,44 @@ \subsection{Nonfunctional Requirements}
Other non-functional requirements that are a priority are: correctness,
understandability, portability, reliability, and maintainability.

\subsubsection{Performance Requirements}

\begin{itemize}
\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}).
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_ComputationMemory}:] Consume no more than 200 megabytes of memory at any point during the simulation.
\end{itemize}

\subsubsection{Understandability Requirements}

\begin{itemize}
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_APIDocumentation}:] Provide interface documentation generated from the code.
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_Examples}:] Include documentation with examples demonstrating use of the system.
\end{itemize}

\subsubsection{Portability Requirements}

\begin{itemize}
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_DesktopOS}:] Run on desktop operating systems Windows, macOS, and Linux.
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_MobileOS}:] Run on mobile operating systems iOS and Android.
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_GameConsoles}:] Run on the Nintendo Wii game console.
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_LanguageCompatibility}:] Provide a C99-compatible\cite{C99ISO} interface.
\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.
\end{itemize}

\subsubsection{Reliability Requirements}

\begin{itemize}
\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.
\end{itemize}

\subsubsection{Maintainability Requirements}

\begin{itemize}
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_CleanCode}:] Produce no warning messages when building the package.
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_UniformCode}:] Adhere to a consistent code formatting style.
\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{NFR_PredictableCode}:] Adhere to the language formatting guide if one exists.
\end{itemize}


%%%%%%%%%%%%%%%%%%%%%%%%
%
Expand Down
3 changes: 3 additions & 0 deletions CaseStudies/gamephys/docs/SRS/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ Software Requirements Specification (SRS)
Revision Notes
--------------

**05/09/2018**
- Expanded nonfunctional requirements to include what some may be instead just the priority of certain categories of nonfunctional requirements.

**07/06/2016**
- Tidied up the formatting of models and definitions to make it more readable and similar to other SRSs.
- Changed goal statements and the corresponding instance models quite a bit.
Expand Down
7 changes: 7 additions & 0 deletions CaseStudies/gamephys/refs/Physics_Game_Library.bib
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,10 @@ @book{Bueche1986
Publisher = {McGraw Hill},
Title = {Introduction to Physics for Scientists},
Year = {1986}}

@techreport{C99ISO,
Author = {ISO},
Institution = {International Organization of Standards},
Month = {December},
Title = {ISO/IEC 9899:1999 - Programming Languages -- C},
Year = {1999}}