MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

Similar documents
MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

Institute of Computer Science. MTAT Software Engineering (Tarkvaratehnika) Final Exam 8 January 2010

CPSC 310: Sample Final Exam Study Questions 2014S1 (These are in addition to the Study Questions listed at the end of some lectures)

Tutorial notes on. Object relational structural patterns

Practice Problems. Review, with SOME solutions

Darshan Institute of Engineering & Technology for Diploma Studies

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)

Final Exam. COMP Summer I June 26, points

Exam in TDDB84: Design Patterns,

a. The following method would allow an object of the static type List<String> to be passed to it as an argument.

Enhanced Entity- Relationship Models (EER)

MSO Exam November 7, 2016, 13:30 15:30, Educ-Gamma

CSE331 Winter 2014, Midterm Examination February 12, 2014

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Object Orientated Analysis and Design. Benjamin Kenwright

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Object-Oriented Systems Analysis and Design Using UML

6 February 2014 CSE-3421M Test #1 w/ answers p. 1 of 14. CSE-3421M Test #1. Design

Chapter (4) Enhanced Entity-Relationship and Object Modeling

King Fahd University of Petroleum and Minerals

Sofware Requirements Engineeing

Marking Guidelines for MVK Projects. MVK12. Version 6.2 (PPD, URD, RURD, ADD and software demo)

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

MTAT : Software Testing

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO

Object Oriented Software Development CIS Today: Object Oriented Analysis

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation

Exam Duration: 2hrs and 30min Software Design

Q1: Functions / 33 Q2: Arrays / 47 Q3: Multiple choice / 20 TOTAL SCORE / 100 Q4: EXTRA CREDIT / 10

Unit Wise Questions. Unit-1 Concepts

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

CSE331 Winter 2014, Midterm Examination February 12, 2014

Lecture 8 Requirements Engineering

Final Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Introduction to Programming

A4 Explain how the Visitor design pattern works (4 marks)

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

Scrums effects on software maintainability and usability

EXAM (Tentamen) TDDI11 Embedded Software. Good Luck! :00-12:00. On-call (jour): Admitted material: General instructions:

MTAT : Software Testing

OHJ-306x: Software Testing Introduction to the Course Project Part 1: General Information and Project phases 1 & 2: Unit testing

Object-Oriented Software Engineering Practical Software Development using UML and Java

East Tennessee State University Department of Computer and Information Sciences CSCI 4717 Computer Architecture TEST 3 for Fall Semester, 2005

Marking Guidelines for MVK Projects. MVK11. Version 6.2 (PPD, URD, ADD, revised URD+ADD, and software demo)

CS164: Midterm Exam 2

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1

No SVN checkout today. Object-Oriented Design

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

14 October 2015 EECS-3421A Test #1 p. 1 of 14. EECS-3421A Test #1. Design

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo

The Need for Agile Project Management

CIS 110 Introduction To Computer Programming. February 29, 2012 Midterm

BCS THE CHARTERED INSTITUTE FOR IT. BCS Higher Education Qualifications BCS Level 6 Professional Graduate Diploma in IT EXAMINERS' REPORT

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams

5 Object Oriented Analysis

EECS 470 Midterm Exam Winter 2009

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

University of Utah School of Computing

CS3205: Task Analysis and Techniques

Software Testing CS 408. Lecture 11: Review 2/20/18

EINDHOVEN UNIVERSITY OF TECHNOLOGY

MTAT : Software Testing

Review sheet for Final Exam (List of objectives for this course)

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Chapter 2: ER-Diagrams. Content: Learn how to draw ER diagrams Useful to model a database

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance

Software Engineering Lab Manual

Database Design Phases. History. Entity-relationship model. ER model basics 9/25/11. Entity-relationship (ER) model. ER model basics II

UNIT-4 Black Box & White Box Testing

Linköping University, Sweden Last Modified 13 June 2011 Peter Bunus

ENCM 369 Winter 2019 Lab 6 for the Week of February 25

CPSC 121 Some Sample Questions for the Final Exam Tuesday, April 15, 2014, 8:30AM

Database Design. ER Model. Overview. Introduction to Database Design. UVic C SC 370. Database design can be divided in six major steps:

CS211 Prelim Oct 2001 NAME NETID

Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered.

CS164: Midterm I. Fall 2003

Chapter 8: Enhanced ER Model

Written exam TDDD04 Software Testing

Program Correctness and Efficiency. Chapter 2

Project Assignment 2 (due April 6 th, 2016, 4:00pm, in class hard-copy please)

Final Exam, CS130 Fall 2008

DATABASE DESIGN I - 1DL300

ENJOY! Problem 2 What does the following code do, in a brief English sentence? int mystery(int k) { int i = 0; if (k < 0) return -1;

Homework , Fall 2013 Software process Due Wednesday, September Automated location data on public transit vehicles (35%)

Business Modelling. PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e. Early phase of development Inputs: Activities: informal specification

Announcements. 1. Forms to return today after class:

CS Problem Solving and Object-Oriented Programming

CSE351 Winter 2016, Final Examination March 16, 2016

DAVIS SYSTEMS

Structural specification

1 Inheritance (8 minutes, 9 points)

How to Generate Secondary Report Cards SMS 2.0 rev 02/2018

UNIT-4 Black Box & White Box Testing

Mark Important Points in Margin. Significant Figures. Determine which digits in a number are significant.

COMP 401 Midterm. Tuesday, Oct 18, pm-3:15pm. Instructions

Foundation Level Syllabus Usability Tester Sample Exam

Transcription:

MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail clients nor Instant Messaging clients, nor to share any information live with anybody inside or outside the exam room. At the end of the exam you must submit both the question sheets and your answer sheets. To avoid that any of your solutions get lost, make sure to write your name (and student ID) on each sheet of paper that you submit. Also, please number the pages on your answer sheets. Write clearly. Answers that are illegible cannot be counted as correct answers. Only answers written in English will be marked. Total marks: 30 (equivalent to 30% total grade). You must get at least 10 marks in this exam to not fail the course. =========================================================================== PART 1: Multiple-Choice Questionnaire (10 marks + 2 bonus marks) PART 2: Open Questions (10 marks + 3 bonus marks) PART 3: Constructive Tasks (10 marks) --- Total: 30 marks (=100%) plus 5 bonus marks Page 1 of 6

PART 1: Multiple-Choice Questionnaire (10 marks + 2 bonus marks) Note: For Part 1, please check boxes on the separate questionnaire answer sheet. Read carefully before you answer and observe instructions carefully! The following questions (up to question Q-10) have exactly one correct answer, thus, you must check exactly one answer box on the separate answer sheet. If you think that more than one answer is correct, choose the one answer that seems to be most correct/suitable/relevant. Question Q-11 at the end of Part 1 is a bonus questions. Q-01 (1 mark): Which of the following statements describes work that is not part of the (core) work of a software engineer? A: To design and develop program code B: To invent a new programming language C: To understand the problem domain of a software system to-be-developed D: To define/evolve the architecture of a software system Q-02 (1 mark): Which of the following statements about UML class diagrams is not correct? A: A class has the following elements: name, list of attributes, list of operations B: Aggregation is a specific type of inheritance relationship C: Composition describes a whole/part relationship D: A superclass and its subclasses describe a generalization relationship Q-03 (1 mark): For which of the following requirements engineering activities is the UML notation the least suitable/useful? A: Requirements validation (e.g., consistency checking) B: Requirements analysis C: Requirements specification D: Requirements gathering/elicitation Q-04 (1 mark): Which of the following statements about use case descriptions is not correct? A: A participating actor is an actor who helps achieve the goals of the initiating actor B: An alternate flow describes exeptions from or extensions to the normal interaction scenario C: A use case diagram is a graphical representation of a use case description D: Preconditions describe the state of the system before the start of the interaction scenario Q-05 (1 mark): Why is requirements elicitation difficult? A: Because there doesn t exist a suitable UML notation for requirements elicitation B: Because it is difficult to identify the relevant stakeholders, and, once identified, the stakeholders have difficulties describing what they want/need C: Because requirements can change over time D: Because stakeholders don t understand use cases Page 2 of 6

Q-06 (1 mark): Which of the following statements about code refactoring is not correct? A: Before refactoring a code module, a test suite for this code module must be in place B: Refactoring is done in order to add new functionality C: Refactoring is not a test activity D: Refactoring does influence (or change) the program design Q-07 (1 mark): Which of the following statements about test techniques is correct? A: Mutation testing does require a test oracle derived from the program specification B: Boundary-value testing is a white-box testing technique C: Black-box testing techniques exploit knowledge about the code that is tested D: White-box testing techniques exploit knowledge about the code that is tested Q-08 (1 mark): You compile a program and you see the following compiler message on the screen: missing return statement. Which of the following describes your experience best? A: I made an error B: I detected an error C: I detected a fault D: I triggered a failure Q-09 (1 mark): Which of the following is essential for XP (Extreme Programming) but not for SCRUM? A: A role model B: Pair-Programming C: Product Owner D: Sprint Burn-down Chart Q-10 (1 mark): Which of the following is a suitable unit for effort measurement? A: Lines of Code B: Week C: Person-Month D: Duration The following question (question Q-11) is a bonus question and can have more than one correct answer. You must check all correct answer choices to get full marks. You get partial marks, if you check some of the correct answer choices. You will get a penalty, if you check an incorrect answer choice. You don t get a penalty, if you miss a correct answer choice. Overall, the lowest possible mark you can get is 0 (i.e., even if everything you check is wrong, you won t get a negative mark). Q-11 (2 marks - bonus): Which of the following types of meetings is/are defined by SCRUM? A: Product Owner Meeting B: Sprint Retrospective C: Weekly Scrum D: Sprint Review Page 3 of 6

PART 2: Open Questions (10 marks + 3 bonus marks) Note: Please give your answers on separate answer sheet(s) and state clearly to which question number each answer refers. Answers that have no question number stated will not be marked. Don t forget to write your name on each separate answer sheet. Q-12 (3 marks): Briefly explain (point out) the most important differences between the following: (1) Software Engineering versus Programming (2) Software Engineering versus Software Development in a Craftsmanship-style (3) Software Engineering Systems Engineering Q-13 (3 marks): First give one example of a fault and one example of a failure (in the context of software development). In you examples, make it clear how the fault and failure you are describing either is introduced/committed, or detected/encountered. Then explain why it is important to distinguish between fault and failure. Ideally, describe benefits from making the distinction and/or describe problems that could emerge if the distinction is not made. Q-14 (2 marks): In the following excerpt of a domain model, there is (at least) one obvious mistake regarding the conceptualization of the domain classes (i.e., ignore the fact that the exact nature of the relations between classes are not yet fully specified). Spot the mistake and briefly explain why it is a mistake. To get two marks, it is sufficient that you point out one mistake and explain it even if you think that there is more than one mistake in the domain model. Note: The excerpt of the domain model below on the left is intended to model (a part of) a payroll system that among other things will produce reports similar to the one shown below on the right. Q-15 (2 marks): For each recommendation listed below, state one type of waste that is reduced by implementing the recommendation (Note: the recommendations are made for agile projects): Recommendation 1: One person always works on one task at a time. Recommendation 2: The items in the product backlog are prioritized (and re-prioritized if needed) and only refined as they move up the priority scale. Q-16 (3 marks bonus): Assume, you hear the following sentence: We decided to measure code maintainability by calculating the complexity of Java methods in terms of MCC (McCabe complexity). What is the correct mapping of the four underlined terms to the following elements of the described measure: Name (1), Entity (2), Attribute (3), and Unit (4)? Note: You will get a penalty, if you incorrectly assign an underlined term to any of (1) to (4). For not assigning a term to any of (1) to (4), you won t get a penalty. Also, in case you give more wrong than correct answers, the worst thing that can happen is that you get 0 marks. Page 4 of 6

PART 3: Constructive Tasks (10 marks) Note: Please provide solution on separate answer sheet(s) and state clearly to which task number each solution relates. Solutions that have no task number stated will not be marked. Don t forget to write your name on each separate answer sheet. T-01 (2 marks): Assume you have a use case diagram containing 2 Actors (A1, A2) and 5 Use Cases (UC1 to UC5). From the use case descriptions you know the following: - Actors are of type complex - UC1 and UC2 have 5 transactions each - UC3 has 4 transactions - UC4 and UC5 have 2 transactions each To Do: Calculate the Unadjusted Use Case Points (UUCP) for the use case diagram. Show all your calculations and briefly explain each of your steps. T-02 (6 marks): The code snippet below shows a method that calculates fines for speeding when driving a car. Fines are calculated based on age of the driver, overspeed, and number of penalty points (licencemark) accumulated in the driver s police record. 1 public static int speedingfine (int age, int overspeed; int licencemark) { 2 int fine = 0; 3 if ((age >= 25) && (overspeed < 30) && (licencemark < 3)) { 4 fine = fine + 100 * overspeed; 5 return fine; } 6 if ((age < 25) (licencemark >= 3)) 7 fine = fine + (200 * overspeed); 8 if (overspeed >= 30) 9 fine = fine + 5000; 10 return fine; } To do: (1) Draw the Control Flow Graph (CFG) (2) Calculate the Cyclomatic Complexity (McCabe). Show the details of your calculations. (3) Design a set of test cases that will cover all linearly independent paths in the CFG. Remember that complete test cases include both input values and expected output values. Hint: Use the following table to present your test cases: Test case number Age (in) Overspeed (in) Licencemark (in) 1 2 Fine (out) Page 5 of 6

T-03 (2 marks): Two persons independently review the same requirements specification. In total, both reviewers find 10 unique defects (as shown in the table below). Defect data table: 0 represents not found by reviewer and 1 represents found by reviewer. To Do: Estimate how many defects are still in the document after all defects found by reviewers 1 and 2 have been corrected. (Assume that no new defects are introduced when corrections are made.) To get full marks you must show all your calculations and explain what estimation (or prediction) model you are using and what assumptions you are making about the nature of the defects. If you only write down a number for the estimated total number of defects and/or remaining defects in the document, you will get 0 marks (even if the numbers you come up with are plausible). Page 6 of 6