Software design and Implementation 1/6. Software Design and Implementation. Sample Final Exam

Similar documents
Exam Duration: 2hrs and 30min Software Design

IMPORTANT NOTICE TO STUDENTS

Encapsulation in C++

Software Design and Implementation. Example Architecture KIWC

In his paper of 1972, Parnas proposed the following problem [42]:

CS111: PROGRAMMING LANGUAGE II

CPSC 410 Advanced Software Engineering Mid-term Examination (Term I ): Solution Instructor: Gail Murphy

CSE 70 Final Exam Fall 2009

CS171 Midterm Exam. October 29, Name:

CS111: PROGRAMMING LANGUAGE II

Software Architecture. Lecture 4

CS 110 Practice Final Exam originally from Winter, Instructions: closed books, closed notes, open minds, 3 hour time limit.

CS111: PROGRAMMING LANGUAGE II

Practice Questions for Final Exam: Advanced Java Concepts + Additional Questions from Earlier Parts of the Course

1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4'

CPSC 310 Software Engineering. Lecture 11. Design Patterns

CPSC 211, Sections : Data Structures and Implementations, Honors Final Exam May 4, 2001

1- Differentiate between extends and implements keywords in java? 2- What is wrong with this code:

REVIEW EXERCISES. Draw an inheritance diagram that shows the relationships between these classes.

Tutorial notes on. Object relational structural patterns

KWIC Implemented with Event Based Architectural Style

St. Catherine s High School

CS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam

Cpt S 122 Data Structures. Course Review Midterm Exam # 2

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.

University of Palestine. Mid Exam Total Grade: 100

Do not start the test until instructed to do so!

CMSC 132: Object-Oriented Programming II

I BCS-031 BACHELOR OF COMPUTER APPLICATIONS (BCA) (Revised) Term-End Examination. June, 2015 BCS-031 : PROGRAMMING IN C ++

C++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay

CS1150 Principles of Computer Science Objects and Classes

TREES. Tree Overview 9/28/16. Prelim 1 tonight! Important Announcements. Tree terminology. Binary trees were in A1!

University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ June Exam

Q1 Q2 Q3 Q4 Q5 Total 1 * 7 1 * 5 20 * * Final marks Marks First Question

Inheritance. Reference Text: Chapter11, Big C++

Department of Computer Science Faculty of Engineering, Built Environment & IT University of Pretoria. COS122: Operating Systems

Exam 1 - (20 points)

EINDHOVEN UNIVERSITY OF TECHNOLOGY

CompSci 125 Lecture 20. Inheritance: Introduction, Overrides UML: Introduction to Class Diagrams

Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

CS 215 Software Design Sample midterm solutions

Software Architecture in Practice

Module Contact: Dr Geoff McKeown, CMP Copyright of the University of East Anglia Version 1

a) Answer all questions. b) Write your answers in the space provided. c) Show all calculations where applicable.

TREES Lecture 12 CS2110 Fall 2016

In Java there are three types of data values:

CLO Assessment CLO1 Q1(10) CLO2 Q2 (10) CLO3 Q4 (10) CLO4 Q3a (4)

The way I feel about music is that there is no right and wrong. Only true and false. Fiona Apple. true false false

This exam is open book. Each question is worth 3 points.

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

EECS 1001 and EECS 1030M, lab 01 conflict

CS 116 Week 8 Page 1

The second statement selects character number 1 from and assigns it to.

CS Week 15 Page 1

CSE 341, Autumn 2015, Ruby Introduction Summary

4. Assignment statements Give an assignment statement that sets the value of a variable called total to 20: Answer: total = 20;

Create your first workbook

Reviewing all Topics this term

CS111: PROGRAMMING LANGUAGE II

Review Questions for Final Exam

EECS168 Exam 3 Review

University of Massachusetts Amherst, Electrical and Computer Engineering

Conversions and Overloading : Overloading

CSE143 Summer 2008 Final Exam Part B KEY August 22, 2008

NAME (as it appears on your UF ID): (Please PRINT) CEN Software Engineering

Tutorial 13 Salary Survey Application: Introducing One- Dimensional Arrays

Computer Science II (20082) Week 1: Review and Inheritance

Spring 2013 CS 122C & CS 222 Midterm Exam (and Comprehensive Exam, Part I) (Max. Points: 100)

Chapter 7. Inheritance

CS 111X - Fall Test 1

CS 2102 Exam 1 D-Term 2014

Lecture 10 Declarations and Scope

CS 112 Final May 8, 2008 (Lightly edited for 2012 Practice) Name: BU ID: Instructions

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I

CS 215 Software Design Sample Midterm Questions

Midterm Exam. CS169 Fall November 17, 2009 LOGIN: NAME: SID: Problem Max Points Points TOTAL 100

1.00 Lecture 13. Inheritance

Introduction to Object-Oriented Programming

CS 111X - Fall Test 1 - KEY KEY KEY KEY KEY KEY KEY

Objectives. Introduce static keyword examine syntax describe common uses

AP Computer Science A

Decaf Language Reference Manual

COMP 250 Winter 2011 Reading: Java background January 5, 2011

CS 112 Programming 2. Lecture 10. Abstract Classes & Interfaces (1) Chapter 13 Abstract Classes and Interfaces

CS 113 MIDTERM EXAM 2 SPRING 2013

Pace University. Fundamental Concepts of CS121 1

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

EXAMINATIONS 2012 END-OF-YEAR SWEN222. Software Design. Question Topic Marks 1. Design Quality Design Patterns Design by Contract 12

COS 126 Written Exam 2 (Spring 2015)

CS 367: Introduction to Data Structures Midterm Sample Questions

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

Midterm Exam. Sample Solutions

Lecture 3. Parnas Information Hiding

c. Is the VPN running over the open Internet? Yes. This is why the VPN encryption/security is required.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Summer I Instructions:

Building Java Programs

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. Object Oriented Programming

CS111: PROGRAMMING LANGUAGE II. Lecture 1: Introduction to classes

Sample Examination Paper Programming and Software Development

Transcription:

Software design and Implementation 1/6 Software Design and Implementation Sample Final Exam 18.11.2004 Conditions: Closed book Duration: 120 min Name: Student ID: 1. /20 2. /20 3. /20 4. /20 5. /20 Total /100

Software design and Implementation 2/6 1. For each of the following statements, indicate whether the statement is true (mark T) or false (mark F). There is no penalty for false answers. Read statements very carefully (20 marks) T 1. This is the sample of final exam for Software Design and Implementation. 2. Software design is executed before software specifications, since specifications are design dependent. 3. Deliverable is always milestone and milestone is always deliverable. 4. RUP is Use-Case centric, architecture centric iterative software development process. 5. For single specification there exists only one single design that can be computed using formal transformation from problem to solution space. 6. A software architecture serves as (abstract) skeleton, which can be used to expose the ability to meet its system requirements. 7. Aspect Oriented Programming cannot be used to temporarily introduce internal monitoring. 8. The single primary role of non-functional requirements during architectural design should be only in selecting among software alternatives after they have been produced by software architects. 9. In architectural style pipes and filters modules communicate trough shared memory what makes this style very attractive when addressing performance. 10. Anti-pattern is just different name for bad smells in a code 2. Consider following architectures for the KWIC problem (20 marks) Architecture 1 Master control Input Circular Shift Alphabetizer Output Insert I-th Control I-Lines CS-Lines A-Lines I-th Input medium Output medium

Software design and Implementation 3/6 Architecture 2 Master control Input Circular Shift Alphabetizer Output Characters Index Alphabetized Index Input medium Output medium a) Compare architectures with respect to reusability and space performance b) Describe briefly what and where modification is needed to efficiently omit noise words (eg. the, a, an, to, or, etc.) c) Describe major disadvantage of architecture 1 compared to architecture 2 when running in interactive mode d) Suppose the Output module in architecture 1 is to be implicitly invoked instead of explicitly invoked by Master Control module. What kind data should be generated for implicit invocation in which module and when? 3. Design patterns a) Under what circumstances would you choose to use Decorator design pattern? (5 marks)

Software design and Implementation 4/6 b) Below is a diagram that illustrates a structure of Decorator pattern. Explain briefly the primary role of each element (5 marks) c) A company employs large number of employees in the sales department. Standard model of payment for all sales staff is their basic monthly salary and 6 per each solld item. As additional motivation, every month they are ranked by number of saled units. Top 30% of all sales staff gets their monthly salary 5% increment of basic salary before salary calculation. Top 5% recive additional 250 bonus on top of calculated salary. (10 marks) A class model for standard sales staff has following attributes and operations public class CSalesStaff { private String name; private double basicsalary; private int unitssold; } public CSalesStaff( ) { /*Constructor*/} public void addunits(int pamount) { /* adds units onto unitssold */ } public int getunits() { /* return unitssold*/ } public double getbasicsalary() { /* returns basicsalary*/ } public void setbasicsalary(double pbasicsalary) { /* sets basicsalary*/ } public double getsalary() { /* calculates salary and sets untissold to 0*/ } Discuss (and/or write a class) how decorator pattern could be used to support system that manages salaries for sales staff.

Software design and Implementation 5/6 4. J2EE a) Explain benefits and drawbacks of Data access object design pattern. (8 marks) b) When it is not possible to use DAO? (2 marks) c) Below is a diagram that illustrated DAO design pattern. Explain briefly primary roles of each element. (8 marks) d) Which design patterns are commonly used with DAO design pattern? (2 marks) 5. Refactoring (20 marks) a) Explain when would you use Remove Middle Man refactorings?

Software design and Implementation 6/6 b) What is opposite refactorings of Remove Middle Man. Draw structure of elements before and after refactoring? c) What design pattern can be used to avoid inverse Remove Middle Man refactorings? d) What is Rule of Three? Write it down. -THE END -