diff --git a/software_engineering/WS1314-swe.tex b/software_engineering/WS1314-swe.tex new file mode 100644 index 0000000..3e64ba6 --- /dev/null +++ b/software_engineering/WS1314-swe.tex @@ -0,0 +1,93 @@ +\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} \ No newline at end of file