\documentclass[12pt]{article}
\usepackage{stmaryrd}
\usepackage{amsfonts, amssymb, amsmath, comment}
\usepackage{times}
%\usepackage{listings}
\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage{url}
%\usepackage{xypic}
%\usepackage{epsf}
%\usepackage{epsfig}
\usepackage{enumitem}
\usepackage{comment}

\setlist[itemize]{nosep}
\setlist[enumerate]{nosep}

\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9.0in}
\setlength{\topmargin}{-0.5in}
\setlength{\headheight}{0in}
\parskip12pt
\parindent0pt
\pagestyle{fancy}
\lhead{CS 430 - Fall 2023}
\chead{CM A03}
\rhead{Due Friday, October 27, 11:59 PM EST}
\cfoot{\normalfont\medskip Copyright \copyright 2023}

\newtheorem{DefinitionPlaceHolder}{Definition}
\newtheorem{DefinitionHoareTriple}[DefinitionPlaceHolder]{Definition}
\newtheorem{DefinitionSpecification}[DefinitionPlaceHolder]{Definition}
\newtheorem{DefinitionState}[DefinitionPlaceHolder]{Definition}
\newtheorem{DefinitionSatisfiedUnderPartialCorrectness}[DefinitionPlaceHolder]{Definition}

\newcommand{\rmp}{\reversemarginpar\marginpar}

\providecommand{\SolutionQuestionOpenSourceTeam}{\vspace{8cm}}
\providecommand{\SolutionQuestionCostBenefitAnalysisPartA}{\vspace{6cm}}
\providecommand{\SolutionQuestionCostBenefitAnalysisPartB}{}
\providecommand{\SolutionQuestionManagerialIndependence}{\vspace{10cm}}
\providecommand{\SolutionQuestionSoftwareMetricsFaultDetection}{}
\providecommand{\SolutionQuestionNonExecutionBasedTestingPartA}{\vspace{7cm}}
\providecommand{\SolutionQuestionNonExecutionBasedTestingPartB}{\vspace{7cm}}
\providecommand{\SolutionQuestionNonExecutionBasedTestingPartC}{}
\providecommand{\SolutionQuestionExecutionBasedTestingPartA}{\vspace{2cm}}
\providecommand{\SolutionQuestionExecutionBasedTestingPartB}{\vspace{2cm}}
\providecommand{\SolutionQuestionExecutionBasedTestingPartC}{\vspace{2cm}}
\providecommand{\SolutionQuestionExecutionBasedTestingPartD}{\vspace{2cm}}
\providecommand{\SolutionQuestionExecutionBasedTestingPartE}{\vspace{2cm}}
\providecommand{\SolutionQuestionExecutionBasedTestingPartF}{}
\providecommand{\SolutionQuestionCASETools}{}

\input xy
\xyoption{all}

\begin{document}

\begin{itemize}
\item{
Assignments should be completed individually.
}
\item{
No late assignments will be accepted.
}
\item{
Provide \textbf{concise} answers to the following questions.
Use \textbf{point form} whenever possible.
}
\item{
Submit your completed solutions to \textbf{Crowdmark}.
}
\end{itemize}

\begin{enumerate}

\item \label{QuestionOpenSourceTeam}
What \rmp{[4]}are the differences between an open-source team and a democratic team?
\SolutionQuestionOpenSourceTeam

\newpage

\item{ \label{QuestionCostBenefitAnalysis}
You are an IT team manager at a startup firm called \textbf{RiseAndShine}, which manufactures and sells solar panels.
You maintain a system which supports the \textbf{Customer Relationship Management} team.
Your business partners have requested that your team create a new screen to display consolidated customer information.
%If you re-use this question, incorporate the development costs!
\begin{enumerate}
\item \label{QuestionCostBenefitAnalysisPartA}
Your \rmp{[3]}business partners have indicated that creating the requested screen will save their department \$2,000 per month in their time spent doing the customer consolidation manually.
Your business analyst has determined that you will need to subscribe to a third-party firm (e.g. EquiFax) to continually maintain the data which this screen will require.
EquiFax charges \$3,000 per month for a subscription.
Do you initiate a project to build the requested screen to display consolidated customer data?
Why or why not?
\SolutionQuestionCostBenefitAnalysisPartA

\item \label{QuestionCostBenefitAnalysisPartB}
After \rmp{[3]}making your decision in part \ref{QuestionCostBenefitAnalysisPartA} above, a new employee joins the Customer Management business team.
At her previous firm, this employee reports that subscribing to EquiFax and leveraging consolidated customer data increased the probability that a casual visitor to the firm's website creates an online ordering account from $0.1$ to $0.25$.
Knowing this, your business analyst now provides the following additional facts.
\begin{itemize}
\item{
You get an average of $125$ new casual visitors to your firm's website per month.
}
\item{
Holders of online ordering accounts purchase an average of \$150 worth of your products per month.
}
\end{itemize}
Do you initiate a project to build the requested screen to display consolidated customer data?
Why or why not?
\SolutionQuestionCostBenefitAnalysisPartB
\end{enumerate}
}

\newpage

\item \label{QuestionCASETools}
The \rmp{[6]}following list of CASE tools is summarized in Figure 5.14 in the text.
One advantage of adopting CASE tools is developing software having fewer faults.
Select \textbf{three} CASE tools from the list, which if adopted would facilitate developing software having fewer faults.\\
For each CASE tool that you select, briefly explain how it would facilitate developing software having fewer faults.\\
\begin{tabular}{|l|l|}
\hline
Build tool (\S 5.11) & Coding tool (\S 5.8) \\
Configuration-control tool (\S 5.10) & Consistency checker (\S 5.7) \\
Data dictionary (\S 5.7) & E-mail (\S 5.8) \\
Interface checker (\S 5.8) & Online documentation (\S 5.8) \\
Operating system front end (\S 5.8) & Pretty printer (\S 5.8) \\
Report generator (\S 5.7) & Screen generator (\S 5.7) \\
Source-level debugger (\S 5.8) & Spreadsheet (\S 5.8) \\
Structure editor (\S 5.8) & Version-control tool (\S 5.9) \\
Word-processor (\S 5.8) & World Wide Web browser (\S 5.8) \\
\hline
\end{tabular}
\SolutionQuestionCASETools

\newpage

\item \label{QuestionManagerialIndependence}
Consider \rmp{[4]}the fragment of an organization chart shown below.\\
\xymatrix{
 & \fbox{IT \ Director} \ar@{-}[d] & \\
 & \fbox{SQA \ Team \ Lead} \ar@{-}[d] & \\
 & \fbox{Development \ Team \ Lead} \ar@{-}[dl] \ar@{-}[d] \ar@{-}[dr] & \\
\fbox{Programmer \ \# 1} & \fbox{Programmer \ \# 2} & \fbox{Programmer \ \# 3} \\
}

\noindent
Briefly summarize the reason why using an organization chart like this would \textbf{not} be a good idea for an IT team.
\SolutionQuestionManagerialIndependence

\item \label{QuestionSoftwareMetricsFaultDetection}
What \rmp{[2]}can we deduce if the rate of fault detection during design inspections doubles, as compared to the rate of fault detection during analysis inspections?
\SolutionQuestionSoftwareMetricsFaultDetection

\newpage

\item \label{QuestionNonExecutionBasedTesting}
\begin{enumerate}
\item \label{QuestionNonExecutionBasedTestingPartA}
State \rmp{[2]}one key difference between a walkthrough and an inspection.
\SolutionQuestionNonExecutionBasedTestingPartA
\item \label{QuestionNonExecutionBasedTestingPartB}
Briefly \rmp{[2]}describe one situation in which a walkthrough would be preferable to an inspection.
\SolutionQuestionNonExecutionBasedTestingPartB
\item \label{QuestionNonExecutionBasedTestingPartC}
Briefly \rmp{[2]}describe one situation in which an inspection would be preferable to a walkthrough.
\SolutionQuestionNonExecutionBasedTestingPartC
\end{enumerate}

\newpage

\item \label{QuestionExecutionBasedTesting}
This question is about the five key things to test under \textbf{execution-based testing}.
In each part, state the name of the one thing of the five that is being tested.
No additional explanation will be required.
\begin{enumerate}
\item \label{QuestionExecutionBasedTestingPartA}
You \rmp{[1]}confirm that, upon receiving an unacceptable input, your software product produces a readable error message instead of crashing.
\SolutionQuestionExecutionBasedTestingPartA
\item \label{QuestionExecutionBasedTestingPartB}
You \rmp{[1]}confirm that, assuming the input obeys its specification, your software product produces the desired output.
\SolutionQuestionExecutionBasedTestingPartB
\item \label{QuestionExecutionBasedTestingPartC}
You \rmp{[1]}confirm that it would be cost-effective to build the software product.
\SolutionQuestionExecutionBasedTestingPartC
\item \label{QuestionExecutionBasedTestingPartD}
You \rmp{[1]}confirm that your software product (a smart phone app) runs demanding no more physical memory than is available on the oldest supported phone.
\SolutionQuestionExecutionBasedTestingPartD
\item \label{QuestionExecutionBasedTestingPartE}
You \rmp{[1]}confirm that your software product performs functions that your clients consider to be useful.
\SolutionQuestionExecutionBasedTestingPartE
\item \label{QuestionExecutionBasedTestingPartF}
You \rmp{[1]}confirm that your software product has a long average time between failures.
\SolutionQuestionExecutionBasedTestingPartF
\end{enumerate}

\end{enumerate}

\end{document}