diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.bib b/BlankProjectTemplate/Doc/Design/MG/MG.bib new file mode 100644 index 0000000000000000000000000000000000000000..f8046284738b300a57a9b16bc608ca17a18d4b6f --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MG/MG.bib @@ -0,0 +1,67 @@ +%% This BibTeX bibliography file was created using BibDesk. +%% http://bibdesk.sourceforge.net/ + + +%% Created for Spencer Smith at 2016-10-27 23:57:04 -0400 + + +%% Saved with string encoding Unicode (UTF-8) + + + +@inproceedings{Parnas1978, + Address = {Piscataway, NJ, USA}, + Author = {David L. Parnas}, + Booktitle = {ICSE '78: Proceedings of the 3rd international conference on Software engineering}, + Date-Added = {2016-10-28 03:56:16 +0000}, + Date-Modified = {2016-10-28 03:56:16 +0000}, + Isbn = {none}, + Location = {Atlanta, Georgia, United States}, + Pages = {264--277}, + Publisher = {IEEE Press}, + Title = {Designing Software for Ease of Extension and Contraction}, + Year = {1978}} + +@article{Parnas1972a, + Author = {David L. Parnas}, + Date-Added = {2016-10-28 03:55:43 +0000}, + Date-Modified = {2016-10-28 03:55:43 +0000}, + Journal = {Comm. ACM}, + Month = {December}, + Number = {2}, + Pages = {1053--1058}, + Title = {On the Criteria To Be Used in Decomposing Systems into Modules}, + Volume = {15}, + Year = {1972}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QOS4uLy4uLy4uLy4uLy4uLy4uL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9QYXJuYXMxOTcyLnBkZtIXCxgZV05TLmRhdGFPEQGmAAAAAAGmAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADOl3ODSCsAAAAXAgwOUGFybmFzMTk3Mi5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3+xs9CaVP4AAAAAAAAAAAAGAAQAAAkgAAAAAAAAAAAAAAAAAAAAClJlZmVyZW5jZXMAEAAIAADOl6vDAAAAEQAIAADQmptOAAAAAQAUABcCDAAXAE0AFv3tAAj3ZgACZI4AAgBGTWFjaW50b3NoIEhEOlVzZXJzOgBzbWl0aHM6AFdvcms6AFJlc2VhcmNoOgBSZWZlcmVuY2VzOgBQYXJuYXMxOTcyLnBkZgAOAB4ADgBQAGEAcgBuAGEAcwAxADkANwAyAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA0VXNlcnMvc21pdGhzL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9QYXJuYXMxOTcyLnBkZgATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAMoAzwDXAoECgwKIApMCnAKqAq4CtQK+AsMC0ALTAuUC6ALtAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAu8=}} + +@inproceedings{ParnasEtAl1984, + Author = {D.L. Parnas and P.C. Clement and D. M. Weiss}, + Booktitle = {International Conference on Software Engineering}, + Date-Added = {2016-10-28 03:55:23 +0000}, + Date-Modified = {2016-10-28 03:55:23 +0000}, + Pages = {408-419}, + Title = {The modular structure of complex systems}, + Year = {1984}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QPy4uLy4uLy4uLy4uLy4uL3NlNHNjL1NjaUNvbXBBbmRTb2Z0RW5nUGFwZXJzL1Bhcm5hc0V0QWwxOTg0LnBkZtIXCxgZV05TLmRhdGFPEQHcAAAAAAHcAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADOl3ODSCsAAAkx/Q0SUGFybmFzRXRBbDE5ODQucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTH9RNNvBNMAAAAAAAAAAAAFAAMAAAkgAAAAAAAAAAAAAAAAAAAAF1NjaUNvbXBBbmRTb2Z0RW5nUGFwZXJzAAAQAAgAAM6Xq8MAAAARAAgAANNvPRMAAAABABQJMf0NCTHuxwASFacACPdmAAJkjgACAFVNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAUmVwb3M6AHNlNHNjOgBTY2lDb21wQW5kU29mdEVuZ1BhcGVyczoAUGFybmFzRXRBbDE5ODQucGRmAAAOACYAEgBQAGEAcgBuAGEAcwBFAHQAQQBsADEAOQA4ADQALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAENVc2Vycy9zbWl0aHMvUmVwb3Mvc2U0c2MvU2NpQ29tcEFuZFNvZnRFbmdQYXBlcnMvUGFybmFzRXRBbDE5ODQucGRmAAATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOANAA1QDdAr0CvwLEAs8C2ALmAuoC8QL6Av8DDAMPAyEDJAMpAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAys=}} + +@book{RobertsonAndRobertson2012, + Author = {James Robertson and Suzanne Robertson}, + Date-Added = {2016-09-22 13:54:40 +0000}, + Date-Modified = {2016-09-22 14:01:42 +0000}, + Edition = {16}, + Publisher = {Atlantic Systems Guild Limited}, + Title = {Volere Requirements Specification Template}, + Year = {2012}} + +@article{ParnasAndClements1986, + Author = {David L. Parnas and P.C. Clements}, + Date-Added = {2016-09-10 13:11:57 +0000}, + Date-Modified = {2016-09-10 13:11:57 +0000}, + Journal = {IEEE Transactions on Software Engineering}, + Number = {2}, + Pages = {251--257}, + Title = {A Rational Design Process: How and Why to Fake it}, + Volume = {12}, + Year = {February 1986}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QRi4uLy4uLy4uLy4uLy4uL3NlNHNjL1NjaUNvbXBBbmRTb2Z0RW5nUGFwZXJzL1Bhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGbSFwsYGVdOUy5kYXRhTxEB9gAAAAAB9gACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAzpdzg0grAAAJMf0NGVBhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkx/UPTbwTTAAAAAAAAAAAABQADAAAJIAAAAAAAAAAAAAAAAAAAABdTY2lDb21wQW5kU29mdEVuZ1BhcGVycwAAEAAIAADOl6vDAAAAEQAIAADTbz0TAAAAAQAUCTH9DQkx7scAEhWnAAj3ZgACZI4AAgBcTWFjaW50b3NoIEhEOlVzZXJzOgBzbWl0aHM6AFJlcG9zOgBzZTRzYzoAU2NpQ29tcEFuZFNvZnRFbmdQYXBlcnM6AFBhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGYADgA0ABkAUABhAHIAbgBhAHMAQQBuAGQAQwBsAGUAbQBlAG4AdABzADEAOQA4ADYALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEpVc2Vycy9zbWl0aHMvUmVwb3Mvc2U0c2MvU2NpQ29tcEFuZFNvZnRFbmdQYXBlcnMvUGFybmFzQW5kQ2xlbWVudHMxOTg2LnBkZgATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOANcA3ADkAt4C4ALlAvAC+QMHAwsDEgMbAyADLQMwA0IDRQNKAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA0w=}} diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.pdf b/BlankProjectTemplate/Doc/Design/MG/MG.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ea8c480d2d58c4c0a6329bba5f67718a2e8d6552 Binary files /dev/null and b/BlankProjectTemplate/Doc/Design/MG/MG.pdf differ diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.tex b/BlankProjectTemplate/Doc/Design/MG/MG.tex new file mode 100644 index 0000000000000000000000000000000000000000..042518f46dbaa3acbbeb81f8dfe3b0699b843d76 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MG/MG.tex @@ -0,0 +1,355 @@ +\documentclass[12pt, titlepage]{article} + +\usepackage{fullpage} +\usepackage[round]{natbib} +\usepackage{multirow} +\usepackage{booktabs} +\usepackage{tabularx} +\usepackage{graphicx} +\usepackage{float} +\usepackage{hyperref} +\hypersetup{ + colorlinks, + citecolor=black, + filecolor=black, + linkcolor=red, + urlcolor=blue +} +\usepackage[round]{natbib} + +\newcounter{acnum} +\newcommand{\actheacnum}{AC\theacnum} +\newcommand{\acref}[1]{AC\ref{#1}} + +\newcounter{ucnum} +\newcommand{\uctheucnum}{UC\theucnum} +\newcommand{\uref}[1]{UC\ref{#1}} + +\newcounter{mnum} +\newcommand{\mthemnum}{M\themnum} +\newcommand{\mref}[1]{M\ref{#1}} + +\title{SE 3XA3: Software Requirements Specification\\Title of Project} + +\author{Team \#, Team Name + \\ Student 1 name and macid + \\ Student 2 name and macid + \\ Student 3 name and macid +} + +\date{\today} + +\input{../../Comments} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents +\listoftables +\listoffigures + +\begin{table}[bp] +\caption{\bf Revision History} +\begin{tabularx}{\textwidth}{p{3cm}p{2cm}X} +\toprule {\bf Date} & {\bf Version} & {\bf Notes}\\ +\midrule +Date 1 & 1.0 & Notes\\ +Date 2 & 1.1 & Notes\\ +\bottomrule +\end{tabularx} +\end{table} + +\newpage + +\pagenumbering{arabic} + +\section{Introduction} + +Decomposing a system into modules is a commonly accepted approach to developing +software. A module is a work assignment for a programmer or programming +team~\citep{ParnasEtAl1984}. We advocate a decomposition +based on the principle of information hiding~\citep{Parnas1972a}. This +principle supports design for change, because the ``secrets'' that each module +hides represent likely future changes. Design for change is valuable in SC, +where modifications are frequent, especially during initial development as the +solution space is explored. + +Our design follows the rules layed out by \citet{ParnasEtAl1984}, as follows: +\begin{itemize} +\item System details that are likely to change independently should be the + secrets of separate modules. +\item Each data structure is used in only one module. +\item Any other program that requires information stored in a module's data + structures must obtain it by calling access programs belonging to that module. +\end{itemize} + +After completing the first stage of the design, the Software Requirements +Specification (SRS), the Module Guide (MG) is developed~\citep{ParnasEtAl1984}. The MG +specifies the modular structure of the system and is intended to allow both +designers and maintainers to easily identify the parts of the software. The +potential readers of this document are as follows: + +\begin{itemize} +\item New project members: This document can be a guide for a new project member + to easily understand the overall structure and quickly find the + relevant modules they are searching for. +\item Maintainers: The hierarchical structure of the module guide improves the + maintainers' understanding when they need to make changes to the system. It is + important for a maintainer to update the relevant sections of the document + after changes have been made. +\item Designers: Once the module guide has been written, it can be used to + check for consistency, feasibility and flexibility. Designers can verify the + system in various ways, such as consistency among modules, feasibility of the + decomposition, and flexibility of the design. +\end{itemize} + +The rest of the document is organized as follows. Section +\ref{SecChange} lists the anticipated and unlikely changes of the software +requirements. Section \ref{SecMH} summarizes the module decomposition that +was constructed according to the likely changes. Section \ref{SecConnection} +specifies the connections between the software requirements and the +modules. Section \ref{SecMD} gives a detailed description of the +modules. Section \ref{SecTM} includes two traceability matrices. One checks +the completeness of the design against the requirements provided in the SRS. The +other shows the relation between anticipated changes and the modules. Section +\ref{SecUse} describes the use relation between modules. + +\section{Anticipated and Unlikely Changes} \label{SecChange} + +This section lists possible changes to the system. According to the likeliness +of the change, the possible changes are classified into two +categories. Anticipated changes are listed in Section \ref{SecAchange}, and +unlikely changes are listed in Section \ref{SecUchange}. + +\subsection{Anticipated Changes} \label{SecAchange} + +Anticipated changes are the source of the information that is to be hidden +inside the modules. Ideally, changing one of the anticipated changes will only +require changing the one module that hides the associated decision. The approach +adapted here is called design for +change. + +\begin{description} +\item[\refstepcounter{acnum} \actheacnum \label{acHardware}:] The specific + hardware on which the software is running. +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The format of the + initial input data. +\item ... +\end{description} + +\subsection{Unlikely Changes} \label{SecUchange} + +The module design should be as general as possible. However, a general system is +more complex. Sometimes this complexity is not necessary. Fixing some design +decisions at the system architecture stage can simplify the software design. If +these decision should later need to be changed, then many parts of the design +will potentially need to be modified. Hence, it is not intended that these +decisions will be changed. + +\begin{description} +\item[\refstepcounter{ucnum} \uctheucnum \label{ucIO}:] Input/Output devices + (Input: File and/or Keyboard, Output: File, Memory, and/or Screen). +\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be + a source of input data external to the software. +\item ... +\end{description} + +\section{Module Hierarchy} \label{SecMH} + +This section provides an overview of the module design. Modules are summarized +in a hierarchy decomposed by secrets in Table \ref{TblMH}. The modules listed +below, which are leaves in the hierarchy tree, are the modules that will +actually be implemented. + +\begin{description} +\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Hardware-Hiding Module +\item ... +\end{description} + + +\begin{table}[h!] +\centering +\begin{tabular}{p{0.3\textwidth} p{0.6\textwidth}} +\toprule +\textbf{Level 1} & \textbf{Level 2}\\ +\midrule + +{Hardware-Hiding Module} & ~ \\ +\midrule + +\multirow{7}{0.3\textwidth}{Behaviour-Hiding Module} & ?\\ +& ?\\ +& ?\\ +& ?\\ +& ?\\ +& ?\\ +& ?\\ +& ?\\ +\midrule + +\multirow{3}{0.3\textwidth}{Software Decision Module} & {?}\\ +& ?\\ +& ?\\ +\bottomrule + +\end{tabular} +\caption{Module Hierarchy} +\label{TblMH} +\end{table} + +\section{Connection Between Requirements and Design} \label{SecConnection} + +The design of the system is intended to satisfy the requirements developed in +the SRS. In this stage, the system is decomposed into modules. The connection +between requirements and modules is listed in Table \ref{TblRT}. + +\section{Module Decomposition} \label{SecMD} + +Modules are decomposed according to the principle of ``information hiding'' +proposed by \citet{ParnasEtAl1984}. The \emph{Secrets} field in a module +decomposition is a brief statement of the design decision hidden by the +module. The \emph{Services} field specifies \emph{what} the module will do +without documenting \emph{how} to do it. For each module, a suggestion for the +implementing software is given under the \emph{Implemented By} title. If the +entry is \emph{OS}, this means that the module is provided by the operating +system or by standard programming language libraries. Also indicate if the +module will be implemented specifically for the software. + +Only the leaf modules in the +hierarchy have to be implemented. If a dash (\emph{--}) is shown, this means +that the module is not a leaf and will not have to be implemented. Whether or +not this module is implemented depends on the programming language +selected. + +\subsection{Hardware Hiding Modules (\mref{mHH})} + +\begin{description} +\item[Secrets:]The data structure and algorithm used to implement the virtual + hardware. +\item[Services:]Serves as a virtual hardware used by the rest of the + system. This module provides the interface between the hardware and the + software. So, the system can use it to display outputs or to accept inputs. +\item[Implemented By:] OS +\end{description} + +\subsection{Behaviour-Hiding Module} + +\begin{description} +\item[Secrets:]The contents of the required behaviours. +\item[Services:]Includes programs that provide externally visible behaviour of + the system as specified in the software requirements specification (SRS) + documents. This module serves as a communication layer between the + hardware-hiding module and the software decision module. The programs in this + module will need to change if there are changes in the SRS. +\item[Implemented By:] -- +\end{description} + +\subsubsection{Input Format Module (\mref{mInput})} + +\begin{description} +\item[Secrets:]The format and structure of the input data. +\item[Services:]Converts the input data into the data structure used by the + input parameters module. +\item[Implemented By:] [Your Program Name Here] +\end{description} + +\subsubsection{Etc.} + + +\subsection{Software Decision Module} + +\begin{description} +\item[Secrets:] The design decision based on mathematical theorems, physical + facts, or programming considerations. The secrets of this module are + \emph{not} described in the SRS. +\item[Services:] Includes data structure and algorithms used in the system that + do not provide direct interaction with the user. + % Changes in these modules are more likely to be motivated by a desire to + % improve performance than by externally imposed changes. +\item[Implemented By:] -- +\end{description} + +\subsubsection{Etc.} + +\section{Traceability Matrix} \label{SecTM} + +This section shows two traceability matrices: between the modules and the +requirements and between the modules and the anticipated changes. + +% the table should use mref, the requirements should be named, use something +% like fref +\begin{table}[H] +\centering +\begin{tabular}{p{0.2\textwidth} p{0.6\textwidth}} +\toprule +\textbf{Req.} & \textbf{Modules}\\ +\midrule +R1 & \mref{mHH}, \mref{mInput}, \mref{mParams}, \mref{mControl}\\ +R2 & \mref{mInput}, \mref{mParams}\\ +R3 & \mref{mVerify}\\ +R4 & \mref{mOutput}, \mref{mControl}\\ +R5 & \mref{mOutput}, \mref{mODEs}, \mref{mControl}, \mref{mSeqDS}, \mref{mSolver}, \mref{mPlot}\\ +R6 & \mref{mOutput}, \mref{mODEs}, \mref{mControl}, \mref{mSeqDS}, \mref{mSolver}, \mref{mPlot}\\ +R7 & \mref{mOutput}, \mref{mEnergy}, \mref{mControl}, \mref{mSeqDS}, \mref{mPlot}\\ +R8 & \mref{mOutput}, \mref{mEnergy}, \mref{mControl}, \mref{mSeqDS}, \mref{mPlot}\\ +R9 & \mref{mVerifyOut}\\ +R10 & \mref{mOutput}, \mref{mODEs}, \mref{mControl}\\ +R11 & \mref{mOutput}, \mref{mODEs}, \mref{mEnergy}, \mref{mControl}\\ +\bottomrule +\end{tabular} +\caption{Trace Between Requirements and Modules} +\label{TblRT} +\end{table} + +\begin{table}[H] +\centering +\begin{tabular}{p{0.2\textwidth} p{0.6\textwidth}} +\toprule +\textbf{AC} & \textbf{Modules}\\ +\midrule +\acref{acHardware} & \mref{mHH}\\ +\acref{acInput} & \mref{mInput}\\ +\acref{acParams} & \mref{mParams}\\ +\acref{acVerify} & \mref{mVerify}\\ +\acref{acOutput} & \mref{mOutput}\\ +\acref{acVerifyOut} & \mref{mVerifyOut}\\ +\acref{acODEs} & \mref{mODEs}\\ +\acref{acEnergy} & \mref{mEnergy}\\ +\acref{acControl} & \mref{mControl}\\ +\acref{acSeqDS} & \mref{mSeqDS}\\ +\acref{acSolver} & \mref{mSolver}\\ +\acref{acPlot} & \mref{mPlot}\\ +\bottomrule +\end{tabular} +\caption{Trace Between Anticipated Changes and Modules} +\label{TblACT} +\end{table} + +\section{Use Hierarchy Between Modules} \label{SecUse} + +In this section, the uses hierarchy between modules is +provided. \citet{Parnas1978} said of two programs A and B that A {\em uses} B if +correct execution of B may be necessary for A to complete the task described in +its specification. That is, A {\em uses} B if there exist situations in which +the correct functioning of A depends upon the availability of a correct +implementation of B. Figure \ref{FigUH} illustrates the use relation between +the modules. It can be seen that the graph is a directed acyclic graph +(DAG). Each level of the hierarchy offers a testable and usable subset of the +system, and modules in the higher level of the hierarchy are essentially simpler +because they use modules from the lower levels. + +\begin{figure}[H] +\centering +%\includegraphics[width=0.7\textwidth]{UsesHierarchy.png} +\caption{Use hierarchy among modules} +\label{FigUH} +\end{figure} + +%\section*{References} + +\bibliographystyle {plainnat} +\bibliography {MG} + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/Design/MG/README.md b/BlankProjectTemplate/Doc/Design/MG/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e41d35c184f836e9cd82d27dbd5faf0115a79095 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MG/README.md @@ -0,0 +1,3 @@ +# Module Guide + +The folders and files for the module guide. diff --git a/BlankProjectTemplate/Doc/Design/MIS/README.md b/BlankProjectTemplate/Doc/Design/MIS/README.md new file mode 100644 index 0000000000000000000000000000000000000000..94b3f4e0b82f3d740b86218d352a4d95c3582f3d --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/README.md @@ -0,0 +1,3 @@ +# Module Interface Specification # + +Use doxygen (or equivalent) to document the interface for your modules. diff --git a/BlankProjectTemplate/Doc/Design/README.md b/BlankProjectTemplate/Doc/Design/README.md new file mode 100644 index 0000000000000000000000000000000000000000..da725ccd1d98b659ae212b08edabc55a4ee9e728 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/README.md @@ -0,0 +1,5 @@ +# Design Documentation + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/DevelopmentPlan/DevelopmentPlan.pdf b/BlankProjectTemplate/Doc/DevelopmentPlan/DevelopmentPlan.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2dd39a9a048e741f1bfeb4c884e37d4cb65f3586 Binary files /dev/null and b/BlankProjectTemplate/Doc/DevelopmentPlan/DevelopmentPlan.pdf differ diff --git a/BlankProjectTemplate/Doc/DevelopmentPlan/DevelopmentPlan.tex b/BlankProjectTemplate/Doc/DevelopmentPlan/DevelopmentPlan.tex new file mode 100644 index 0000000000000000000000000000000000000000..4787d61902ac0cc6631aa7bafac515ccc603ddf1 --- /dev/null +++ b/BlankProjectTemplate/Doc/DevelopmentPlan/DevelopmentPlan.tex @@ -0,0 +1,59 @@ +\documentclass{article} + +\usepackage{booktabs} +\usepackage{tabularx} + +\title{SE 3XA3: Development Plan\\Title of Project} + +\author{Team \#, Team Name + \\ Student 1 name and macid + \\ Student 2 name and macid + \\ Student 3 name and macid +} + +\date{} + +\input{../Comments} + +\begin{document} + +\begin{table}[hp] +\caption{Revision History} \label{TblRevisionHistory} +\begin{tabularx}{\textwidth}{llX} +\toprule +\textbf{Date} & \textbf{Developer(s)} & \textbf{Change}\\ +\midrule +Date1 & Name(s) & Description of changes\\ +Date2 & Name(s) & Description of changes\\ +... & ... & ...\\ +\bottomrule +\end{tabularx} +\end{table} + +\newpage + +\maketitle + +Put your introductory blurb here. + +\section{Team Meeting Plan} + +\section{Team Communication Plan} + +\section{Team Member Roles} + +\section{Git Workflow Plan} + +\section{Proof of Concept Demonstration Plan} + +\section{Technology} + +\section{Coding Style} + +\section{Project Schedule} + +Provide a pointer to your Gantt Chart. + +\section{Project Review} + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/DevelopmentPlan/README.md b/BlankProjectTemplate/Doc/DevelopmentPlan/README.md new file mode 100644 index 0000000000000000000000000000000000000000..b6bfa0cb0bb6597dc14c249f4e739cd60428dc7d --- /dev/null +++ b/BlankProjectTemplate/Doc/DevelopmentPlan/README.md @@ -0,0 +1,5 @@ +# Development Plan + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/FinalPresentation/README.md b/BlankProjectTemplate/Doc/FinalPresentation/README.md new file mode 100644 index 0000000000000000000000000000000000000000..29134c944717aecb40e11cfacfb106855586a794 --- /dev/null +++ b/BlankProjectTemplate/Doc/FinalPresentation/README.md @@ -0,0 +1,5 @@ +# Final Presentation + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/ProblemStatement/ProblemStatement.pdf b/BlankProjectTemplate/Doc/ProblemStatement/ProblemStatement.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b4ad01113f3817c0b5989bbfda029f6dbb292a7b Binary files /dev/null and b/BlankProjectTemplate/Doc/ProblemStatement/ProblemStatement.pdf differ diff --git a/BlankProjectTemplate/Doc/ProblemStatement/ProblemStatement.tex b/BlankProjectTemplate/Doc/ProblemStatement/ProblemStatement.tex new file mode 100644 index 0000000000000000000000000000000000000000..07d1207761a2cea4e49117a471599ce32be8c273 --- /dev/null +++ b/BlankProjectTemplate/Doc/ProblemStatement/ProblemStatement.tex @@ -0,0 +1,49 @@ +\documentclass{article} + +\usepackage{tabularx} +\usepackage{booktabs} + +\title{SE 3XA3: Problem Statement\\Title of Project} + +\author{Team \#, Team Name + \\ Student 1 name and macid + \\ Student 2 name and macid + \\ Student 3 name and macid +} + +\date{} + +\input{../Comments} + +\begin{document} + +\begin{table}[hp] +\caption{Revision History} \label{TblRevisionHistory} +\begin{tabularx}{\textwidth}{llX} +\toprule +\textbf{Date} & \textbf{Developer(s)} & \textbf{Change}\\ +\midrule +Date1 & Name(s) & Description of changes\\ +Date2 & Name(s) & Description of changes\\ +... & ... & ...\\ +\bottomrule +\end{tabularx} +\end{table} + +\newpage + +\maketitle + +Put your problem statement here. + +\wss{comment} + +\ds{comment} + +\mj{comment} + +\cm{comment} + +\mh{comment} + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/ProblemStatement/README.md b/BlankProjectTemplate/Doc/ProblemStatement/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e5c5ef46a45f7a6781c1695470be05c20fa59570 --- /dev/null +++ b/BlankProjectTemplate/Doc/ProblemStatement/README.md @@ -0,0 +1,5 @@ +# Problem Statement + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/README.md b/BlankProjectTemplate/Doc/README.md new file mode 100644 index 0000000000000000000000000000000000000000..423bf545a4205cc17195b66ff21cb8b00ced6911 --- /dev/null +++ b/BlankProjectTemplate/Doc/README.md @@ -0,0 +1,5 @@ +# Documentation folders + +The folders and files for this folder are as follows: + +Describe ... \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/SRS/README.md b/BlankProjectTemplate/Doc/SRS/README.md new file mode 100644 index 0000000000000000000000000000000000000000..67ed341730f1e0be598fb7655254e1e0924994d4 --- /dev/null +++ b/BlankProjectTemplate/Doc/SRS/README.md @@ -0,0 +1,5 @@ +# Software Requirements Specification + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/SRS/SRS.bib b/BlankProjectTemplate/Doc/SRS/SRS.bib new file mode 100644 index 0000000000000000000000000000000000000000..59ee07fbeb2bb8215f6f79cfb4b04bb844cc9956 --- /dev/null +++ b/BlankProjectTemplate/Doc/SRS/SRS.bib @@ -0,0 +1,30 @@ +%% This BibTeX bibliography file was created using BibDesk. +%% http://bibdesk.sourceforge.net/ + +%% Created for Spencer Smith at 2016-09-22 10:01:42 -0400 + + +%% Saved with string encoding Unicode (UTF-8) + + + +@book{RobertsonAndRobertson2012, + Author = {James Robertson and Suzanne Robertson}, + Date-Added = {2016-09-22 13:54:40 +0000}, + Date-Modified = {2016-09-22 14:01:42 +0000}, + Edition = {16}, + Publisher = {Atlantic Systems Guild Limited}, + Title = {Volere Requirements Specification Template}, + Year = {2012}} + +@article{ParnasAndClements1986, + Author = {David L. Parnas and P.C. Clements}, + Date-Added = {2016-09-10 13:11:57 +0000}, + Date-Modified = {2016-09-10 13:11:57 +0000}, + Journal = {IEEE Transactions on Software Engineering}, + Number = {2}, + Pages = {251--257}, + Title = {A Rational Design Process: How and Why to Fake it}, + Volume = {12}, + Year = {February 1986}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QQy4uLy4uLy4uLy4uL3NlNHNjL1NjaUNvbXBBbmRTb2Z0RW5nUGFwZXJzL1Bhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGbSFwsYGVdOUy5kYXRhTxEB9gAAAAAB9gACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0khroUgrAAAAhfxhGVBhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF/LDT7aEvAAAAAAAAAAAABAADAAAJIAAAAAAAAAAAAAAAAAAAABdTY2lDb21wQW5kU29mdEVuZ1BhcGVycwAAEAAIAADSSKPhAAAAEQAIAADT7dlvAAAAAQAUAIX8YQCF7/8AILODAAlg3gAGKpoAAgBcTWFjaW50b3NoIEhEOlVzZXJzOgBzbWl0aHM6AFJlcG9zOgBzZTRzYzoAU2NpQ29tcEFuZFNvZnRFbmdQYXBlcnM6AFBhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGYADgA0ABkAUABhAHIAbgBhAHMAQQBuAGQAQwBsAGUAbQBlAG4AdABzADEAOQA4ADYALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEpVc2Vycy9zbWl0aHMvUmVwb3Mvc2U0c2MvU2NpQ29tcEFuZFNvZnRFbmdQYXBlcnMvUGFybmFzQW5kQ2xlbWVudHMxOTg2LnBkZgATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOANQA2QDhAtsC3QLiAu0C9gMEAwgDDwMYAx0DKgMtAz8DQgNHAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA0k=}} diff --git a/BlankProjectTemplate/Doc/SRS/SRS.pdf b/BlankProjectTemplate/Doc/SRS/SRS.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c14fc718ca445ad71ff57c4a7c97858f58e8e67 Binary files /dev/null and b/BlankProjectTemplate/Doc/SRS/SRS.pdf differ diff --git a/BlankProjectTemplate/Doc/SRS/SRS.tex b/BlankProjectTemplate/Doc/SRS/SRS.tex new file mode 100644 index 0000000000000000000000000000000000000000..e6c8a5ccbab10f91c1fd1e268474d22e0d7048be --- /dev/null +++ b/BlankProjectTemplate/Doc/SRS/SRS.tex @@ -0,0 +1,150 @@ +\documentclass[12pt, titlepage]{article} + +\usepackage{booktabs} +\usepackage{tabularx} +\usepackage{hyperref} +\hypersetup{ + colorlinks, + citecolor=black, + filecolor=black, + linkcolor=red, + urlcolor=blue +} +\usepackage[round]{natbib} + +\title{SE 3XA3: Software Requirements Specification\\Title of Project} + +\author{Team \#, Team Name + \\ Student 1 name and macid + \\ Student 2 name and macid + \\ Student 3 name and macid +} + +\date{\today} + +\input{../Comments} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents +\listoftables +\listoffigures + +\begin{table}[bp] +\caption{\bf Revision History} +\begin{tabularx}{\textwidth}{p{3cm}p{2cm}X} +\toprule {\bf Date} & {\bf Version} & {\bf Notes}\\ +\midrule +Date 1 & 1.0 & Notes\\ +Date 2 & 1.1 & Notes\\ +\bottomrule +\end{tabularx} +\end{table} + +\newpage + +\pagenumbering{arabic} + +This document describes the requirements for .... The template for the Software +Requirements Specification (SRS) is a subset of the Volere +template~\citep{RobertsonAndRobertson2012}. If you make further modifications +to the template, you should explicity state what modifications were made. + +\section{Project Drivers} + +\subsection{The Purpose of the Project} + +\subsection{The Stakeholders} + +\subsubsection{The Client} + +\subsubsection{The Customers} + +\subsubsection{Other Stakeholders} + +\subsection{Mandated Constraints} + +\subsection{Naming Conventions and Terminology} + +\subsection{Relevant Facts and Assumptions} + +User characteristics should go under assumptions. + +\section{Functional Requirements} + +\subsection{The Scope of the Work and the Product} + +\subsubsection{The Context of the Work} + +\subsubsection{Work Partitioning} + +\subsubsection{Individual Product Use Cases} + +\subsection{Functional Requirements} + +\section{Non-functional Requirements} + +\subsection{Look and Feel Requirements} + +\subsection{Usability and Humanity Requirements} + +\subsection{Performance Requirements} + +\subsection{Operational and Environmental Requirements} + +\subsection{Maintainability and Support Requirements} + +\subsection{Security Requirements} + +\subsection{Cultural Requirements} + +\subsection{Legal Requirements} + +\subsection{Health and Safety Requirements} + +This section is not in the original Volere template, but health and safety are +issues that should be considered for every engineering project. + +\section{Project Issues} + +\subsection{Open Issues} + +\subsection{Off-the-Shelf Solutions} + +\subsection{New Problems} + +\subsection{Tasks} + +\subsection{Migration to the New Product} + +\subsection{Risks} + +\subsection{Costs} + +\subsection{User Documentation and Training} + +\subsection{Waiting Room} + +\subsection{Ideas for Solutions} + +\bibliographystyle{plainnat} + +\bibliography{SRS} + +\newpage + +\section{Appendix} + +This section has been added to the Volere template. This is where you can place +additional information. + +\subsection{Symbolic Parameters} + +The definition of the requirements will likely call for SYMBOLIC\_CONSTANTS. +Their values are defined in this section for easy maintenance. + + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/TestPlan/README.md b/BlankProjectTemplate/Doc/TestPlan/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2c8b6b82c5e7598ee50c62a0ee6a5f74ebe26f38 --- /dev/null +++ b/BlankProjectTemplate/Doc/TestPlan/README.md @@ -0,0 +1,5 @@ +# Test Plan + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/TestPlan/TestPlan.pdf b/BlankProjectTemplate/Doc/TestPlan/TestPlan.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a10c6ab2c73656fa8e05cbd36d04595c504755fa Binary files /dev/null and b/BlankProjectTemplate/Doc/TestPlan/TestPlan.pdf differ diff --git a/BlankProjectTemplate/Doc/TestPlan/TestPlan.tex b/BlankProjectTemplate/Doc/TestPlan/TestPlan.tex new file mode 100644 index 0000000000000000000000000000000000000000..82c7a96a60a179f5f9066c09f9b09bb750d8a713 --- /dev/null +++ b/BlankProjectTemplate/Doc/TestPlan/TestPlan.tex @@ -0,0 +1,251 @@ +\documentclass[12pt, titlepage]{article} + +\usepackage{booktabs} +\usepackage{tabularx} +\usepackage{hyperref} +\hypersetup{ + colorlinks, + citecolor=black, + filecolor=black, + linkcolor=red, + urlcolor=blue +} +\usepackage[round]{natbib} + +\title{SE 3XA3: Test Plan\\Title of Project} + +\author{Team \#, Team Name + \\ Student 1 name and macid + \\ Student 2 name and macid + \\ Student 3 name and macid +} + +\date{\today} + +\input{../Comments} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents +\listoftables +\listoffigures + +\begin{table}[bp] +\caption{\bf Revision History} +\begin{tabularx}{\textwidth}{p{3cm}p{2cm}X} +\toprule {\bf Date} & {\bf Version} & {\bf Notes}\\ +\midrule +Date 1 & 1.0 & Notes\\ +Date 2 & 1.1 & Notes\\ +\bottomrule +\end{tabularx} +\end{table} + +\newpage + +\pagenumbering{arabic} + +This document ... + +\section{General Information} + +\subsection{Purpose} + +\subsection{Scope} + +\subsection{Acronyms, Abbreviations, and Symbols} + +\begin{table}[hbp] +\caption{\textbf{Table of Abbreviations}} \label{Table} + +\begin{tabularx}{\textwidth}{p{3cm}X} +\toprule +\textbf{Abbreviation} & \textbf{Definition} \\ +\midrule +Abbreviation1 & Definition1\\ +Abbreviation2 & Definition2\\ +\bottomrule +\end{tabularx} + +\end{table} + +\begin{table}[!htbp] +\caption{\textbf{Table of Definitions}} \label{Table} + +\begin{tabularx}{\textwidth}{p{3cm}X} +\toprule +\textbf{Term} & \textbf{Definition}\\ +\midrule +Term1 & Definition1\\ +Term2 & Definition2\\ +\bottomrule +\end{tabularx} + +\end{table} + +\subsection{Overview of Document} + +\section{Plan} + +\subsection{Software Description} + +\subsection{Test Team} + +\subsection{Automated Testing Approach} + +\subsection{Testing Tools} + +\subsection{Testing Schedule} + +See Gantt Chart at the following url ... + +\section{System Test Description} + +\subsection{Tests for Functional Requirements} + +\subsubsection{Area of Testing1} + +\paragraph{Title for Test} + +\begin{enumerate} + +\item{test-id1\\} + +Type: Functional, Dynamic, Manual, Static etc. + +Initial State: + +Input: + +Output: + +How test will be performed: + +\item{test-id2\\} + +Type: Functional, Dynamic, Manual, Static etc. + +Initial State: + +Input: + +Output: + +How test will be performed: + +\end{enumerate} + +\subsubsection{Area of Testing2} + +... + +\subsection{Tests for Nonfunctional Requirements} + +\subsubsection{Area of Testing1} + +\paragraph{Title for Test} + +\begin{enumerate} + +\item{test-id1\\} + +Type: + +Initial State: + +Input/Condition: + +Output/Result: + +How test will be performed: + +\item{test-id2\\} + +Type: Functional, Dynamic, Manual, Static etc. + +Initial State: + +Input: + +Output: + +How test will be performed: + +\end{enumerate} + +\subsubsection{Area of Testing2} + +... + +\subsection{Traceability Between Test Cases and Requirements} + +\section{Tests for Proof of Concept} + +\subsection{Area of Testing1} + +\paragraph{Title for Test} + +\begin{enumerate} + +\item{test-id1\\} + +Type: Functional, Dynamic, Manual, Static etc. + +Initial State: + +Input: + +Output: + +How test will be performed: + +\item{test-id2\\} + +Type: Functional, Dynamic, Manual, Static etc. + +Initial State: + +Input: + +Output: + +How test will be performed: + +\end{enumerate} + +\subsection{Area of Testing2} + +... + + +\section{Comparison to Existing Implementation} + +\section{Unit Testing Plan} + +\subsection{Unit testing of internal functions} + +\subsection{Unit testing of output files} + +\bibliographystyle{plainnat} + +\bibliography{SRS} + +\newpage + +\section{Appendix} + +This is where you can place additional information. + +\subsection{Symbolic Parameters} + +The definition of the test cases will call for SYMBOLIC\_CONSTANTS. +Their values are defined in this section for easy maintenance. + +\subsection{Usability Survey Questions?} + +This is a section that would be appropriate for some teams. + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/TestReport/README.md b/BlankProjectTemplate/Doc/TestReport/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f80df951360db6b6b3037ae0ecce4b546e9a64c4 --- /dev/null +++ b/BlankProjectTemplate/Doc/TestReport/README.md @@ -0,0 +1,5 @@ +# Test Report + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/Doc/TestReport/TestReport.pdf b/BlankProjectTemplate/Doc/TestReport/TestReport.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8b9bc92a3b84a7eaac4f3eee84146a37ff2a16c3 Binary files /dev/null and b/BlankProjectTemplate/Doc/TestReport/TestReport.pdf differ diff --git a/BlankProjectTemplate/Doc/TestReport/TestReport.tex b/BlankProjectTemplate/Doc/TestReport/TestReport.tex new file mode 100644 index 0000000000000000000000000000000000000000..9b5f1f7d7e45d4347d710d0842586634758d1fab --- /dev/null +++ b/BlankProjectTemplate/Doc/TestReport/TestReport.tex @@ -0,0 +1,83 @@ +\documentclass[12pt, titlepage]{article} + +\usepackage{booktabs} +\usepackage{tabularx} +\usepackage{hyperref} +\hypersetup{ + colorlinks, + citecolor=black, + filecolor=black, + linkcolor=red, + urlcolor=blue +} +\usepackage[round]{natbib} + +\title{SE 3XA3: Test Report\\Title of Project} + +\author{Team \#, Team Name + \\ Student 1 name and macid + \\ Student 2 name and macid + \\ Student 3 name and macid +} + +\date{\today} + +\input{../Comments} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents +\listoftables +\listoffigures + +\begin{table}[bp] +\caption{\bf Revision History} +\begin{tabularx}{\textwidth}{p{3cm}p{2cm}X} +\toprule {\bf Date} & {\bf Version} & {\bf Notes}\\ +\midrule +Date 1 & 1.0 & Notes\\ +Date 2 & 1.1 & Notes\\ +\bottomrule +\end{tabularx} +\end{table} + +\newpage + +\pagenumbering{arabic} + +This document ... + +\section{Functional Requirements Evaluation} + +\section{Nonfunctional Requirements Evaluation} + +\subsection{Usability} + +\subsection{Performance} + +\subsection{etc.} + +\section{Comparison to Existing Implementation} + +This section will not be appropriate for every project. + +\section{Unit Testing} + +\section{Changes Due to Testing} + +\section{Automated Testing} + +\section{Trace to Requirements} + +\section{Trace to Modules} + +\section{Code Coverage Metrics} + +\bibliographystyle{plainnat} + +\bibliography{SRS} + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/UserGuide/README.md b/BlankProjectTemplate/Doc/UserGuide/README.md new file mode 100644 index 0000000000000000000000000000000000000000..276087e7226577170d7cd4a53fed39a27defb9b8 --- /dev/null +++ b/BlankProjectTemplate/Doc/UserGuide/README.md @@ -0,0 +1,5 @@ +# User Guide (Optional) + +The folders and files for this folder are as follows: + +Describe ... diff --git a/BlankProjectTemplate/LICENSE.txt b/BlankProjectTemplate/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..87df9ff3a2909bc9b60cd93c3931acfc2ab2e0bd --- /dev/null +++ b/BlankProjectTemplate/LICENSE.txt @@ -0,0 +1 @@ +LICENSE Information \ No newline at end of file diff --git a/BlankProjectTemplate/ProjectSchedule/3X_Example.gan b/BlankProjectTemplate/ProjectSchedule/3X_Example.gan new file mode 100644 index 0000000000000000000000000000000000000000..bcdff549f3f40b0386230b3f866acef67e8c2ddb --- /dev/null +++ b/BlankProjectTemplate/ProjectSchedule/3X_Example.gan @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?><project name="PCM" company="McMaster, CAS Department" webLink="" view-date="2015-11-03" view-index="1" gantt-divider-location="354" resource-divider-location="300" version="2.7.1" locale="en_US"> + <description><![CDATA[Simulation of temperature over time for a solar water heating tank incorporating phase change material (PCM).]]></description> + <view zooming-state="default:2" id="gantt-chart"> + <field id="tpd3" name="Name" width="57" order="0"/> + <field id="tpd4" name="Begin date" width="21" order="1"/> + <field id="tpd5" name="End date" width="21" order="2"/> + </view> + <view id="resource-table"> + <field id="0" name="Name" width="52" order="0"/> + <field id="1" name="Default role" width="47" order="1"/> + </view> + <!-- --> + <calendars> + <day-types> + <day-type id="0"/> + <day-type id="1"/> + <default-week id="1" name="default" sun="0" mon="0" tue="0" wed="0" thu="0" fri="0" sat="0"/> + <only-show-weekends value="false"/> + <overriden-day-types/> + <days/> + </day-types> + </calendars> + <tasks empty-milestones="true"> + <taskproperties> + <taskproperty id="tpd0" name="type" type="default" valuetype="icon"/> + <taskproperty id="tpd1" name="priority" type="default" valuetype="icon"/> + <taskproperty id="tpd2" name="info" type="default" valuetype="icon"/> + <taskproperty id="tpd3" name="name" type="default" valuetype="text"/> + <taskproperty id="tpd4" name="begindate" type="default" valuetype="date"/> + <taskproperty id="tpd5" name="enddate" type="default" valuetype="date"/> + <taskproperty id="tpd6" name="duration" type="default" valuetype="int"/> + <taskproperty id="tpd7" name="completion" type="default" valuetype="int"/> + <taskproperty id="tpd8" name="coordinator" type="default" valuetype="text"/> + <taskproperty id="tpd9" name="predecessorsr" type="default" valuetype="text"/> + </taskproperties> + <task id="0" name="Write Design Doc" color="#8cb6ce" meeting="false" start="2015-11-03" duration="4" complete="0" expand="true" cost-manual-value="20.0" cost-calculated="false"> + <task id="29" name="MG" color="#8cb6ce" meeting="false" start="2015-11-03" duration="2" complete="0" expand="true"> + <depend id="31" type="2" difference="0" hardness="Strong"/> + </task> + <task id="31" name="MIS" color="#8cb6ce" meeting="false" start="2015-11-05" duration="2" complete="0" expand="true"> + <depend id="44" type="2" difference="0" hardness="Strong"/> + </task> + <task id="32" name="Schedule" color="#8cb6ce" meeting="false" start="2015-11-03" duration="4" complete="0" expand="true"/> + </task> + <task id="2" name="Design Doc Due" color="#8cb6ce" meeting="true" start="2015-11-06" duration="0" complete="0" expand="true"/> + <task id="44" name="Implementation" color="#8cb6ce" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"> + <task id="20" name="Input Hiding Module" color="#8cb6ce" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"/> + <task id="49" name="Input Parameter Module" color="#8cb6ce" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"/> + <task id="51" name="Output Format Module" color="#8cb6ce" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"/> + <task id="53" name="Temperature ODEs Module" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"/> + <task id="55" name="Energy Equations Module" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"/> + <task id="57" name="Control Module" meeting="false" start="2015-11-07" duration="5" complete="0" expand="true"/> + </task> + <task id="61" name="Unit Testing" color="#8cb6ce" meeting="false" start="2015-11-12" duration="4" complete="0" expand="true"> + <task id="62" name="Input Hiding Module" color="#8cb6ce" meeting="false" start="2015-11-12" duration="4" complete="0" expand="true"/> + <task id="63" name="Input Parameter Module" meeting="false" start="2015-11-12" duration="4" complete="0" expand="true"/> + <task id="64" name="Output Format Module" meeting="false" start="2015-11-12" duration="4" complete="0" expand="true"/> + <task id="65" name="Temperature ODEs Module" meeting="false" start="2015-11-12" duration="4" complete="0" expand="true"/> + <task id="66" name="Energy Equations Module" meeting="false" start="2015-11-12" duration="4" complete="0" expand="true"/> + </task> + <task id="68" name="System Testing" color="#8cb6ce" meeting="false" start="2015-11-15" duration="3" complete="0" expand="true"/> + <task id="21" name="Rev 0 Demo" color="#8cb6ce" meeting="true" start="2015-11-18" duration="0" complete="0" expand="true"/> + <task id="69" name="Revise SRS" color="#8cb6ce" meeting="false" start="2015-11-19" duration="2" complete="0" expand="true"/> + <task id="83" name="Revise Test Plan" color="#8cb6ce" meeting="false" start="2015-11-19" duration="2" complete="0" expand="true"/> + <task id="70" name="Revise MG" color="#8cb6ce" meeting="false" start="2015-11-20" duration="2" complete="0" expand="true"/> + <task id="71" name="Revise MIS" color="#8cb6ce" meeting="false" start="2015-11-20" duration="2" complete="0" expand="true"/> + <task id="72" name="Revise Implementation" color="#8cb6ce" meeting="false" start="2015-11-20" duration="2" complete="0" expand="true"/> + <task id="73" name="Testing" color="#8cb6ce" meeting="false" start="2015-11-19" duration="8" complete="0" expand="true"/> + <task id="74" name="Usability Test" color="#8cb6ce" meeting="false" start="2015-11-23" duration="3" complete="0" expand="true"/> + <task id="6" name="Test Report Due" color="#8cb6ce" meeting="true" start="2015-11-27" duration="0" complete="0" expand="true"/> + <task id="98" name="Prepare Final Demo" color="#8cb6ce" meeting="false" start="2015-11-28" duration="4" complete="0" expand="true"/> + <task id="8" name="Final Demo" color="#8cb6ce" meeting="true" start="2015-12-01" duration="0" complete="0" expand="true"/> + <task id="100" name="Revise Existing Documentation" color="#8cb6ce" meeting="false" start="2015-12-02" duration="7" complete="0" expand="true"/> + <task id="10" name="Final Doc Due" color="#8cb6ce" meeting="true" start="2015-12-08" duration="0" complete="0" expand="true"/> + <task id="76" name="New Requirements" color="#8cb6ce" meeting="false" start="2015-12-09" duration="3" complete="0" expand="true"/> + <task id="77" name="Second Usability Test" color="#8cb6ce" meeting="false" start="2015-12-14" duration="5" complete="0" expand="true"/> + </tasks> + <resources> + <resource id="0" name="Student 1" function="Default:0" contacts="" phone=""/> + <resource id="1" name="Student 2" function="Default:0" contacts="" phone=""/> + <resource id="2" name="Student 3" function="Default:0" contacts="" phone=""/> + </resources> + <allocations> + <allocation task-id="31" resource-id="0" function="Default:0" responsible="true" load="90.0"/> + <allocation task-id="29" resource-id="0" function="Default:0" responsible="true" load="90.0"/> + <allocation task-id="32" resource-id="0" function="Default:0" responsible="true" load="10.0"/> + <allocation task-id="29" resource-id="1" function="Default:0" responsible="false" load="50.0"/> + <allocation task-id="31" resource-id="1" function="Default:0" responsible="false" load="50.0"/> + <allocation task-id="32" resource-id="1" function="Default:0" responsible="false" load="50.0"/> + <allocation task-id="29" resource-id="2" function="Default:0" responsible="false" load="50.0"/> + <allocation task-id="31" resource-id="2" function="Default:0" responsible="false" load="50.0"/> + <allocation task-id="32" resource-id="2" function="Default:0" responsible="false" load="50.0"/> + </allocations> + <vacations/> + <taskdisplaycolumns> + <displaycolumn property-id="tpd2" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd6" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd3" order="0" width="190" visible="true"/> + <displaycolumn property-id="tpd4" order="1" width="72" visible="true"/> + <displaycolumn property-id="tpd7" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd8" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd12" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd5" order="2" width="71" visible="true"/> + <displaycolumn property-id="tpd10" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd11" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd9" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd1" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd13" order="-1" width="75" visible="false"/> + <displaycolumn property-id="tpd0" order="-1" width="75" visible="false"/> + </taskdisplaycolumns> + <previous/> + <roles roleset-name="Default"/> +</project> diff --git a/BlankProjectTemplate/ProjectSchedule/README.md b/BlankProjectTemplate/ProjectSchedule/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ca9b1921983ac459e3592a567411ee661b1ee492 --- /dev/null +++ b/BlankProjectTemplate/ProjectSchedule/README.md @@ -0,0 +1,3 @@ +# Project Name + +This folder contains the project schedule Gantt Chart. \ No newline at end of file diff --git a/BlankProjectTemplate/README.md b/BlankProjectTemplate/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d5e659e049d588557103a7cf9dc736fb7a2ac491 --- /dev/null +++ b/BlankProjectTemplate/README.md @@ -0,0 +1,13 @@ +# Project Name + +Team Name: ? + +Team Members: ?, ?, ? + + +This project is a reimplementation of ... + +The folders and files for this project are as follows: + +Doc - Documentation for the project +Code - Implementation diff --git a/BlankProjectTemplate/ReferenceMaterial/README.md b/BlankProjectTemplate/ReferenceMaterial/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0a1eecaefa3ffc0d5c55fb84ca1900a9bc256c1f --- /dev/null +++ b/BlankProjectTemplate/ReferenceMaterial/README.md @@ -0,0 +1,5 @@ +# Project Name + +This folder holds information and resources of interest for the project. This +is intended to be a convenient location for project members to access +support material for the project. diff --git a/BlankProjectTemplate/src/README.md b/BlankProjectTemplate/src/README.md new file mode 100644 index 0000000000000000000000000000000000000000..50aa3a2cf915773d339d82a8ecb43cd5a44f062c --- /dev/null +++ b/BlankProjectTemplate/src/README.md @@ -0,0 +1,5 @@ +# Project Name Source Code + +The folders and files for this project are as follows: + +...