diff --git a/Copyright.txt b/Copyright.txt index 6c37b69951c8a57e7c842be9a6acb2f42f3519c4..0a2383d339b0870e085fbf91aff784a747d67264 100644 --- a/Copyright.txt +++ b/Copyright.txt @@ -1,3 +1,3 @@ The contents of this folder were created by Spencer Smith. -(c) 2017 Spencer Smith ALL RIGHTS RESERVED \ No newline at end of file +(c) 2018 Spencer Smith ALL RIGHTS RESERVED \ No newline at end of file diff --git a/CourseOutline/CAS741_Outline.pdf b/CourseOutline/CAS741_Outline.pdf index 5bc505c19f8bdb9b3fcfb3cf07771bbc3bf040fa..f004ea7f41c4f156df56fa90012d690ec856d2ee 100644 Binary files a/CourseOutline/CAS741_Outline.pdf and b/CourseOutline/CAS741_Outline.pdf differ diff --git a/CourseOutline/CAS741_Outline.tex b/CourseOutline/CAS741_Outline.tex index 2e5341ac9f2d763adce2369f6592966baf6ae792..f022620ad1befc6de1c13efe7e87c15172f4f6af 100755 --- a/CourseOutline/CAS741_Outline.tex +++ b/CourseOutline/CAS741_Outline.tex @@ -134,8 +134,8 @@ You can access this repository at:\\ \noindent Rather than use the Avenue discussion board, please post your questions (issues) to the GitLab issue tracker. -In addition to Avenue and the gitlab course note repository, every student will -create a public gitHub repository (with instructor added as a full access +In addition to Avenue and the Gitlab course note repository, every student will +create a public gitHub repository (with the instructor added as a full access collaborator) for their work. The GitHub server is located at \url{https://github.com/}. Students will be expected to use GitHub to provide comments on the work of other students in the class. @@ -153,23 +153,24 @@ waterfall model, with the following milestones: \item Module Guide (MG) \item Module Interface Specification (MIS) \item Implementation (any appropriate programming language) -\item Testing +\item Verification and Validation (VnV) Plan (divided between several documents) +\item Verification and Validation (VnV) Report (divided between several documents) \end {enumerate} With approval from the instructor, the deliverables can potentially be modified, -if a project is more suited to different deliverables. For instance, a project +if a project is more suited to a different structure. For instance, a project could replace one of the above deliverables with an assurance case deliverable, or with domain specific code to automatically build the deliverables. \section {Course Structure} The format of the course will consist of student and instructor presentations. -Each student will be expected to do an informal presentation on their SRS, MG, -MIS, Implementation and Testing. It is expected the class discussion will +Each student will be expected to do an informal presentation on some subset of their SRS, MG, +MIS, Implementation, VnV Plan and VnV Report. It is expected the class discussion will assist in improving the quality of the written deliverables. Each student will -be expected to hand in the following written documents: SRS, MG, MIS, and Final -Documentation. +be expected to hand in the following written documents: SRS, MG, MIS, VnV Plan, +VnV Report and Final Documentation. \section {Grading} @@ -183,14 +184,28 @@ Documentation. \item System Requirements Specification (SRS) 20\% -\item Verification and Validation Plan 10\% - -\item Module Guide (MG) 10\% - -\item Module Interface Specification (MIS) 10\% - -\item Final Documentation (including revised versions of previous documents, - plus the source code and a testing report) 35\% +\item Verification and Validation (VnV) Plan 15\% +\begin{enumerate} +\item System VnV Plan 10\% +\item Unit VnV Plan 5\% +\end{enumerate} + +\item Module Guide (MG) 5\% + +\item Module Interface Specification (MIS) 15\% + +\item Final Documentation 30\% +\begin{enumerate} +\item Problem Statement (Revised) +\item SRS (Revised) +\item System VnV Plan (Revised) +\item MG (Revised) +\item MIS (Revised) +\item Unit VnV Plan (Revised) +\item Code +\item System VnV Report +\item Unit VnV Report +\end{enumerate} \end {enumerate} diff --git a/Examples/CaseStudies.txt b/Examples/CaseStudies.txt new file mode 100644 index 0000000000000000000000000000000000000000..5d955e65c15401cb6b0dadbd2077078f113ebb15 --- /dev/null +++ b/Examples/CaseStudies.txt @@ -0,0 +1,23 @@ +1. Software Engineering for Science + +https://gitlab.cas.mcmaster.ca/SEforSC/se4sc + +https://gitlab.cas.mcmaster.ca/SEforSC/se4sc/tree/git-svn/SciCompAndSoftEngPapers + + +2. Case Study Examples of Scientific Computing Projects + +SWHS: https://github.com/smiths/swhs + +GlassBR: https://github.com/smiths/caseStudies/tree/master/CaseStudies/glass + +noPCM: https://github.com/smiths/caseStudies/tree/master/CaseStudies/noPCM + +SSP: https://github.com/smiths/caseStudies/tree/master/CaseStudies/ssp + +GamePhysics: https://github.com/smiths/caseStudies/tree/master/CaseStudies/gamephys + + +3. Document and Code Generation + +https://github.com/JacquesCarette/Drasil \ No newline at end of file diff --git a/Examples/Repos_2017_2018.xlsx b/Examples/Repos_2017_2018.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..53de01c7a5b10c04fa96ba19006188fb225f34a9 Binary files /dev/null and b/Examples/Repos_2017_2018.xlsx differ diff --git a/Lectures/Figures/VModelOfProcess.pdf b/Lectures/Figures/VModelOfProcess.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c591513de529f1c3be99c3876a91399a1b84ca68 Binary files /dev/null and b/Lectures/Figures/VModelOfProcess.pdf differ diff --git a/Lectures/Figures/VModelOfProcess.xml b/Lectures/Figures/VModelOfProcess.xml new file mode 100644 index 0000000000000000000000000000000000000000..783a3bc07fd24b2f9a58df33c2674724a9e8fe3f --- /dev/null +++ b/Lectures/Figures/VModelOfProcess.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" version="9.1.2" editor="www.draw.io" type="device"><diagram id="2fff91af-da45-001d-f88e-792518e503a6" name="Page-1">3Zpdb5swFIZ/TW4rbBMCt0vTrtIqVY3WtZduOAU2wMhxmmS/fgZMgJhW0RoMSi4SfPDn4XnxsZ0JmSe7W06z8J75EE+w5e8m5HqCMbI8W/7kln1pmVmz0hDwyFeZasMy+gtVSWXdRD6sWxkFY7GIsrZxxdIUVqJlo5yzbTvbG4vbrWY0AM2wXNFYt/6KfBGWVhc7tf07REFYtYwcr7zzSld/As42qWpvgslb8SlvJ7SqSw10HVKfbRsmspiQOWdMlFfJbg5x7tvKbWW5mw/uHvrNIRUnFVAjWot9NXbwpStUknERsoClNF7U1m/F+CCvwZKpUCSxvETyEnaReM7NV3iqki/VrVTw/bMqUiReiox5vt8gxF5BQDeCSVPd8A/GMlVH2dW8fx+OVpnWbMNXKhdW/FAegMpFDp6WBANLQHZHZuEQUxG9t2unCqXgkK92p7xQHu32rmr6ncYbVekDZ68xJNK4FFRAknf8+AG03bsNIwHLjBbD2Uq5tV2uWgAuYPe5V/TxqgJEsai0aqvktgYfVbiGDegd6+sOQrOLx4/o+NmG8CMaftfwDjHLSuysh5img9PntulDxCR+7sXjZ+v4TU29/bw+vIsarh3IgciUgG1NwMvH5eCKRUcTxiGYMSLZXqAalWSnOnGOqRkD9eFd05L96gtOFX1gUTFNVmHSrI09sY9wLh+YKnXk80M3TnoMU03397fDy/5opibIoOwP66XLlb3TMdF88ETOr3t8Cbr/6lvyNN3bpDfdO7ru74af7/UFoknhEzNk1rq/mk2b0ke9Y+vqwvcM6d7VgPuZRjn7T+mT/H6ETI5zcACnaEgAe1kjjgpAr2PmsbqfyNkJ9DQC71IBAZetsHR0IB6HgCZDoKqt5mpwvxbFZuKovOTgAdeH2FAkM6BcUXUi0tCra0iuVdsNCOfMh8GZIzPSniK8Duaq3eZzM0ds08yZXpsgPCBy+PMgpXMXW1YRZWsYhD3SxV7X+849B3vG42Pj7HWcoJiKj5F+hNIVnowPwVMj5LMg2MvezKgQ7DoEMBUho45TgHbcNzr88Klx8X/gJ5P13yPKPZb6Pyhk8Q8=</diagram></mxfile> \ No newline at end of file diff --git a/Lectures/Figures/VModelOfProcessXOut.pdf b/Lectures/Figures/VModelOfProcessXOut.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5812016151c10eeb5330ef7b3f283cff402aacc8 Binary files /dev/null and b/Lectures/Figures/VModelOfProcessXOut.pdf differ diff --git a/Lectures/Figures/VModelOfProcessXOut.xml b/Lectures/Figures/VModelOfProcessXOut.xml new file mode 100644 index 0000000000000000000000000000000000000000..783a3bc07fd24b2f9a58df33c2674724a9e8fe3f --- /dev/null +++ b/Lectures/Figures/VModelOfProcessXOut.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" version="9.1.2" editor="www.draw.io" type="device"><diagram id="2fff91af-da45-001d-f88e-792518e503a6" name="Page-1">3Zpdb5swFIZ/TW4rbBMCt0vTrtIqVY3WtZduOAU2wMhxmmS/fgZMgJhW0RoMSi4SfPDn4XnxsZ0JmSe7W06z8J75EE+w5e8m5HqCMbI8W/7kln1pmVmz0hDwyFeZasMy+gtVSWXdRD6sWxkFY7GIsrZxxdIUVqJlo5yzbTvbG4vbrWY0AM2wXNFYt/6KfBGWVhc7tf07REFYtYwcr7zzSld/As42qWpvgslb8SlvJ7SqSw10HVKfbRsmspiQOWdMlFfJbg5x7tvKbWW5mw/uHvrNIRUnFVAjWot9NXbwpStUknERsoClNF7U1m/F+CCvwZKpUCSxvETyEnaReM7NV3iqki/VrVTw/bMqUiReiox5vt8gxF5BQDeCSVPd8A/GMlVH2dW8fx+OVpnWbMNXKhdW/FAegMpFDp6WBANLQHZHZuEQUxG9t2unCqXgkK92p7xQHu32rmr6ncYbVekDZ68xJNK4FFRAknf8+AG03bsNIwHLjBbD2Uq5tV2uWgAuYPe5V/TxqgJEsai0aqvktgYfVbiGDegd6+sOQrOLx4/o+NmG8CMaftfwDjHLSuysh5img9PntulDxCR+7sXjZ+v4TU29/bw+vIsarh3IgciUgG1NwMvH5eCKRUcTxiGYMSLZXqAalWSnOnGOqRkD9eFd05L96gtOFX1gUTFNVmHSrI09sY9wLh+YKnXk80M3TnoMU03397fDy/5opibIoOwP66XLlb3TMdF88ETOr3t8Cbr/6lvyNN3bpDfdO7ru74af7/UFoknhEzNk1rq/mk2b0ke9Y+vqwvcM6d7VgPuZRjn7T+mT/H6ETI5zcACnaEgAe1kjjgpAr2PmsbqfyNkJ9DQC71IBAZetsHR0IB6HgCZDoKqt5mpwvxbFZuKovOTgAdeH2FAkM6BcUXUi0tCra0iuVdsNCOfMh8GZIzPSniK8Duaq3eZzM0ds08yZXpsgPCBy+PMgpXMXW1YRZWsYhD3SxV7X+849B3vG42Pj7HWcoJiKj5F+hNIVnowPwVMj5LMg2MvezKgQ7DoEMBUho45TgHbcNzr88Klx8X/gJ5P13yPKPZb6Pyhk8Q8=</diagram></mxfile> \ No newline at end of file diff --git a/Lectures/L01_IntroToCourse/IntroToCourse.pdf b/Lectures/L01_IntroToCourse/IntroToCourse.pdf index 5cf61707d78ce0df131e17321b1fa22e45b0feb5..49c4e418778c668e2c67d0cd7c141d7545f65c5d 100644 Binary files a/Lectures/L01_IntroToCourse/IntroToCourse.pdf and b/Lectures/L01_IntroToCourse/IntroToCourse.pdf differ diff --git a/Lectures/L01_IntroToCourse/IntroToCourse.tex b/Lectures/L01_IntroToCourse/IntroToCourse.tex index 4e41a4e028e6f5c8ebea598d0ea1726a73c6f345..d53178e565898882b0d9e7dd0835339e0f2970c7 100755 --- a/Lectures/L01_IntroToCourse/IntroToCourse.tex +++ b/Lectures/L01_IntroToCourse/IntroToCourse.tex @@ -62,10 +62,10 @@ \begin{itemize} -\item Lecture times +\item Lecture times (ITB/222) \begin{itemize} -\item Tuesdays, 9:00 am to 10:30 am -\item Fridays, 9:00 am to 10:30 am +\item Wednesdays, 10:30 am to 12:00 noon +\item Fridays, , 10:30 am to 12:00 noon \end{itemize} \item This course uses Avenue \begin{itemize} @@ -82,8 +82,7 @@ \begin{itemize} \item \url{https://github.com/} \item Create an account, if you do not already have one -\item Access to your repo to instructor, all students in - the class, your supervisor?, other interested parties? +\item Give the instructor (me) master access to your repo \end{itemize} \end{itemize} @@ -273,7 +272,8 @@ logic and discrete mathematics \item System architecture \item Detailed design \item Implementation -\item Testing and inspection +\item Verification and Validation Plan +\item Verification and Validation Report \ei \end{itemize} \end{itemize} @@ -300,7 +300,8 @@ logic and discrete mathematics \item Module Guide (MG) \item Module Interface Specification (MIS) \item Implementation (and appropriate programming language) -\item Testing +\item VnV Plan +\item VnV Report \ee \item Deliverables can potentially be modified to provide project flexibility \end {itemize} @@ -314,7 +315,7 @@ logic and discrete mathematics \frametitle{``Faked'' Rational Design Process} \begin{center} -\includegraphics[scale=0.6]{../Figures/OverviewOfProcess.pdf} +\includegraphics[scale=0.4]{../Figures/Waterfall.pdf} \end{center} See Parnas and Clements 1986 about ``Faking It'' @@ -323,6 +324,34 @@ See Parnas and Clements 1986 about ``Faking It'' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame} + +\frametitle{Our ``Faked'' Process} + +\begin{center} +\includegraphics[scale=0.55]{../Figures/VModelOfProcess.pdf} +\end{center} +\vspace{-1.0cm} +V Model + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + +\frametitle{Our Deliverables} + +\begin{center} +\includegraphics[scale=0.55]{../Figures/VModelOfProcessXOut.pdf} +\end{center} +\vspace{-1.0cm} +Not all docs necessary + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \begin{frame} \frametitle{Course Structure} @@ -353,14 +382,18 @@ See Parnas and Clements 1986 about ``Faking It'' \item System Requirements Specification (SRS) 20\% -\item Verification and Validation Plan 10\% +\item Verification and Validation Plan 15\% +\begin{itemize} +\item System VnV Plan 10\% +\item Unit VnV Plan 5\% +\end{itemize} -\item Module Guide (MG) 10\% +\item Module Guide (MG) 5\% -\item Module Interface Specification (MIS) 10\% +\item Module Interface Specification (MIS) 15\% \item Final Documentation (including revised versions of previous documents, - plus the source code and a testing report) 35\% + plus the source code and a testing reports (System and Unit)) 30\% \end {enumerate} @@ -374,7 +407,8 @@ See Parnas and Clements 1986 about ``Faking It'' \begin {itemize} \item Ideas to improve the course are welcomed -\item Missed/late work use MSAF, or a penalty of 20 \% per working day +\item Missed/late work please communicate in advance, or a penalty of 20 \% per + working day \item If there is a problem with discrimination please contact the Department Chair, or other appropriate body @@ -413,7 +447,7 @@ the transcript, and/or suspension or expulsion from the university. \item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/blob/master/ReferenceMaterial/SoftEngForScienceBook.pdf}{\bibentry{Smith2016}} \item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/blob/master/ReferenceMaterial/SmithLaiAndKhedri2007fulltext.pdf}{\bibentry{SmithEtAl2007}} - +\item \href{https://github.com/smiths/swhs}{Solar Water Heating System Example} \end{itemize} \end{frame} diff --git a/Repos.xlsx b/Repos.xlsx index 53de01c7a5b10c04fa96ba19006188fb225f34a9..32affd2c4fe1825e6d20b32e47dca68c811f8c10 100644 Binary files a/Repos.xlsx and b/Repos.xlsx differ