forked from klausuren/klausuren-allgemein
93 lines
3.6 KiB
TeX
93 lines
3.6 KiB
TeX
\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} |