\include{Klausuren-Settings} 
\usepackage{listings} \lstset{numbers=left, numberstyle=\tiny, numbersep=5pt}
\lstset{language=Java}

\begin{document}
	 \klausur{Software Engineering for Information Systems}{Prof. L"uttgen}{Wintersemester 13/14}{90}{Einsprachiges Dictionary}
	 
	 \section{Description}
	 Make Assumptions if needed!
	 Here is a brief description of the system treated in the exercises.
	 Mensa Electronic Payment system (MEPS)
	 \begin{itemize}
	 \item computer-based system for e-payment at Mensa
	 \item operated by Mensa Services Ltd.
	 \item shall allow each student and staff to load money on a card and to pay for food with it
	 \end{itemize}
	 Meps consits of
	 \begin{itemize}
	 \item central database storing only food prices (different for students and staff) and serial numbers of valid cards
	 \item admin interface for pricing
	 \end{itemize}
	 It shall connect to an increasing number of loading and payment terminals\\
	 Loading:
	 \begin{itemize}
	 \item Place card on card reader
	 \item Displays money available
	 \item User can put 10 or 20 Euros into the money slot, money is then credited to the card
	 \item At any point the user may cancel, the terminal then ejects the card
	 \item Money can be loaded also by Mensa cashier
	 \end{itemize}
	 Payment:
	 \begin{itemize}
	 \item Cashier inputs food selection
	 \item system calculates price depending on role
	 \item displays price to customer \& cashier
	 \item customer places card on card reader
	 \item card is debited
	 \item if there is not enough money on the card the cashier can load it
	 \item if the card is invalid the cashier retains the card and the food
	 \end{itemize}
	 Administration:
	 logged-in admin (manager of Mensa Service Ltd.) can maintian and service MAPS
	 \begin{itemize}
	 \item add cards
	 \item invalidate cards
	 \item set food prices
	 \end{itemize}
	 
	 \section{Q1}
	 	(1a) Specify a goal (purpose, advantage, measurement) of MEPS\\
	 	(1b) List the stakeholders of MEPS\\
	 	(1c) Describe a realistic non functional requirement of MEPS including description, fit criterion and the source of the requirement\\
	 	(1d) Write a requirement document that satisfies SMART quality attributes for requirements
	 
	 \section{Q2: Use Cases}
	 	(2a) What are the purposes of a use case diagram? \\
	 	(2b) Draw a use case diagram for MEPS\\
	 	(2c) Produce a detailed use case "paying for food"using the high ceremony template\\
	 	
	 \section{Q3: Design \& Testing}
	 	(3a) Name and explain the differneces and commodities of the following kinds of UML diagram:
	 	\begin{enumerate}
	 		\item Sequence and state diagram
	 		\item Package and class diagram
	 	\end{enumerate}
	 	(3b) Explain the MVC pattern and its components\\
	 	(3c) State three test cases for the code below. Whih coverage do your test cases provide?\\
	 	
	 	\begin{lstlisting}[]{}
String debitCard (int cardId, float Price){
	if(isValid(cardID)){
		float currentValue = getValue(cardID);
		if(currentValue < price){
			return "Not enough money on card: " + currentValue;
		} 
		else {
			float newValue = currentValue - price;
			setValue(cardId, newValue);
			return "New Value: " + newValue;
		}	
	}
	else{
		return "Invalid cardId";
	}			
}
		\end{lstlisting}
	
	\section{Q4: Project \& Change Management}
		(4a) Is Scrum an appropriate developement model for MEPS? Justify your answer. If no, then propose a more appropriate model and 		state why you would choose this model.\\
		(4b) Define 'configuration management' and name 4 of its activities\\
		(4c) Define the 4 forms of traceability taught in the lecture. Give 2 reasons why tracability is important.
	 	
\end{document}