Skip to content
Snippets Groups Projects
Commit 8a7e5e65 authored by W. Spencer Smith's avatar W. Spencer Smith
Browse files

Updates to MIS continued lecture

parent 74ff2cfa
No related branches found
No related tags found
No related merge requests found
......@@ -926,7 +926,7 @@ seq\_init():
\item Example
\bi
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2018/A2/A2.pdf}
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2018/A2-CurveADT/A2.pdf}
{Curve ADT Module}
\ei
\end{itemize}
......
No preview for this file type
......@@ -45,11 +45,8 @@
\frametitle{MIS Continued}
\bi
\item Start recording
\item Administrative details
%\item Feedback on System VnV Plan
\item Questions?
%\item Take up Homework
\item Nonfunctional requirements
\item Review: Records, Libraries, ADTs, Abstract Objects, Generic ADTs
\item Example - Student data
......@@ -66,94 +63,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details}
\bi
\item When developing your code, remember that your goal is for someone else to
be able to compile and run it
\item Upcoming classes
\bi
\item L16 - MIS Continued
\item L17 - POC + MG Presentations
\item L18 - MIS Presentations
\ei
\item Mathematical review (\cite{HoffmanAndStrooper1995} and separate slides)
\item Potential software for drawing figures
\bi
\item \href{https://app.diagrams.net/} {draw.io}
\item \href{https://www.bu.edu/math/files/2013/08/tikzpgfmanual.pdf} {Tkiz}
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details: Report Deadlines}
~\newline
\begin{tabular}{l l}
%\textbf{SRS} & Oct 8\\
\textbf{MG + MIS (Traditional)} & Nov 19\\
\textbf{Drasil Code and Report (Drasil)} & Nov 19\\
Final Documentation & Dec 9\\
\end {tabular}
\bi
\item The written deliverables will be graded based on the repo contents as of
11:59 pm of the due date
\item If you need an extension for a written deliverable, please ask
\item You should inform your primary and secondary reviewers of the extension
\item Two days after each major deliverable, your GitHub issues will be due
%\item Domain expert code due 1 week after MIS deadline
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Admin Details: Presentation Schedule}
\bi
\item Proof of Concept Demonstrations (15 min)
\bi
\item \textbf{Thurs, Nov 12: Salah, John}
\ei
\item MG Present (10 minutes)
\bi
\item \textbf{Thurs, Nov 12: John, Tiago, Leila, Xuanming, Andrea}
\ei
\item MIS Present
\bi
\item Mon, Nov 16: Shayan, Parsa, Gaby, Sid, Xingzhi
\ei
\item Drasil Project Present (20 min each)
\bi
\item Thurs, Nov 26: Andrea, Naveen, Ting-Yu
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Presentation Schedule Continued}
\bi
\item Test or Impl.\ Present (15 min each)
\bi
\item Mon, Nov 30: John, Salah, Liz, Xingzhi, Leila
\item Thurs, Dec 3: Shayan, Naveen, Sid, Gaby, Seyed
\item Mon, Dec 7: Ting-Yu, Xuanming, Mohamed, Andrea, Tiago
\ei
\item 4 presentations each
\item If you will miss a presentation, please trade with someone else
\ei
\end{frame}
\input{../Deadlines.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -170,15 +80,15 @@ Final Documentation & Dec 9\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Nonfunctional Requirements}
\begin{itemize}
\item Aim to be unambiguous
\item Say the quality you want to achieve, not how you are going to achieve it
\item Point to the Verification and Validation plan
\item Added to the blank SRS template
\end{itemize}
\end{frame}
% \begin{frame}
% \frametitle{Nonfunctional Requirements}
% \begin{itemize}
% \item Aim to be unambiguous
% \item Say the quality you want to achieve, not how you are going to achieve it
% \item Point to the Verification and Validation plan
% \item Added to the blank SRS template
% \end{itemize}
% \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -214,65 +124,6 @@ Final Documentation & Dec 9\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules: Record \cite{GhezziEtAl2003}}
\begin{itemize}
\item Consists of only data
\item Has state but no behaviour
\item Example
\bi
\item Specification Parameters Module in SWHS
\ei
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules: Library \cite{GhezziEtAl2003}}
\begin{itemize}
\item \structure{Collection of related procedures (library)}
\item Has behaviour but no state
\item Procedural abstractions
% like many routines in a scientific computing library
\item Example
\bi
\item Library of trigonometric functions
\item ODE Solver Module in SWHS
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2018/A2/A2.pdf}
{Sequence Services Module}
\ei
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules: Abstract Object \cite{GhezziEtAl2003}}
\begin{itemize}
\item Consists of data (\structure{fields}) and procedures (\structure{methods})
\item Consists of a collection of \structure{constructors},
\structure{selectors}, and \structure{mutators}
\item Has state and behaviour
\item There is only ONE
\item Singleton design pattern
\item Example
\begin{itemize}
\item Input Parameters Module for SWHS
\item Logger
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules: Abstract Data Type \cite{GhezziEtAl2003}}
......@@ -288,7 +139,7 @@ Final Documentation & Dec 9\\
\item Example
\bi
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2018/A2/A2.pdf}
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2018/A2-CurveADT/A2.pdf}
{Curve ADT Module}
\ei
\end{itemize}
......@@ -297,75 +148,32 @@ Final Documentation & Dec 9\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules: Generic \cite{GhezziEtAl2003}}
\begin{itemize}
\item A single abstract description for a family of abstract objects or ADTs
\item Parameterized by type
\item Eliminates the need for writing similar specifications for modules that
only differ in their type information
\item A generic module facilitates specification of a stack of integers, stack
of strings, stack of stacks etc.
\item Example
\bi
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2019/A2/A2.pdf}
{Generic Sequence ADT Module}
\ei
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Chemistry Example - Highlight Mathematics}
\begin{itemize}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/blob/master/Assignments/A2/A2.pdf}
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/blob/master/Assignments/PreviousYears/2020/A2-ChemReacts/A2.pdf}
{Problem Description}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/tree/master/Assignments/A2/A2Soln/src}
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/-/tree/master/Assignments/PreviousYears/2020/A2-ChemReacts/A2Soln/src}
{Source Code}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Exception Signalling}
\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Lectures/MathReviewPlusExample/StoichExamplePage1.pdf} {Stoichiometry page 1}
\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Lectures/MathReviewPlusExample/StoichExamplePage2.pdf} {Stoichiometry page 2}
\begin{itemize}
\item Useful to think about exceptions in the design process
\item Will need to decide how exception signalling will be done
\begin{itemize}
\item A special return value, a special status parameter, a global variable
\item Invoking an exception procedure
\item Using built-in language constructs
\end{itemize}
\item Caused by errors made by programmers, not by users
\item Write code so that it avoid exceptions
\item Exceptions will be particularly useful during testing
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Assumptions versus Exceptions}
\frametitle{SWHS Example}
\begin{itemize}
\item The assumptions section lists assumptions the module developer is permitted to make about the programmer's behaviour
\item Assumptions are expressed in prose
\item Use assumptions to simplify the MIS and to reduce the complexity of the final implementation
\item Interface design should provide the programmer with a means to check so that they can avoid exceptions
\item When an exceptions occurs no state transitions should take place, any output is {\it don't care}
\item \href{https://github.com/smiths/swhs/blob/master/docs/Design/MIS/PCM_MIS.pdf}
{SWHS MIS}
\item Shows environment variables
\item Specification parameters module
\item Shows modules with external interaction
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment