Refactoring Code - Software Development - Old Exam, Exams of Software Development Methodologies

These are the Old Exam of Software Development which includes Primenumber, Palindrome, Payrate, String Responsibility, Double Payrate, Double Time, String Name, Private Double Calculatepay, Public Void Displaydetails etc.Key important points are: Refactoring Code, Moscow Rules, Agile Modelling, Agile Software Development, Extreme Programming, Iterative Development, incremental Process, Refactoring Code, Case Scenario, Illustrate Relationship

Typology: Exams

2012/2013

Uploaded on 03/25/2013

digvijay
digvijay 🇮🇳

4.4

(17)

185 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Cork Institute of Technology
Bachelor of Science (Honours) in Software Development & Computer
Networking - Stage 3
(NFQ – Level 8)
Spring 2006
Software Development
(Time: 3 Hours)
Instructions
Answer any five questions.
All questions carry equal marks.
Examiner: Ms. M. Davin
Dr. J. Buckley
Dr. A. Kinsella
Q1 (a) Distinguish between a software process and a software process model.
[2]
(b) The requirements for any project can be prioritised using the MoSCow Rules.
What are these rules? [2]
(c) What is meant by Agile Modelling? [2]
(d) Give a brief overview of the Manifesto for Agile Software development. [2]
(e) Give an overview of the four commandments of Extreme Programming(XP) [4]
(f) Give a brief overview of the main characteristics of iterative development [4]
(g) What is the primary measure of progress in an iterative incremental process? [2]
(h) What is meant by Refactoring code? [2]
pf3
pf4
pf5

Partial preview of the text

Download Refactoring Code - Software Development - Old Exam and more Exams Software Development Methodologies in PDF only on Docsity!

Cork Institute of Technology

Bachelor of Science (Honours) in Software Development & Computer

Networking - Stage 3

(NFQ – Level 8)

Spring 2006

Software Development

(Time: 3 Hours)

Instructions Answer any five questions. All questions carry equal marks.

Examiner: Ms. M. Davin Dr. J. Buckley Dr. A. Kinsella

Q1 (a) Distinguish between a software process and a software process model.

[2]

(b) The requirements for any project can be prioritised using the MoSCow Rules.

What are these rules? [2]

(c) What is meant by Agile Modelling? [2]

(d) Give a brief overview of the Manifesto for Agile Software development. [2]

(e) Give an overview of the four commandments of Extreme Programming(XP) [4]

(f) Give a brief overview of the main characteristics of iterative development [4]

(g) What is the primary measure of progress in an iterative incremental process? [2]

(h) What is meant by Refactoring code? [2]

Q2 (a) Differentiate between functional and non-functional requirements. [2]

(b) Describe what is meant by each of the following terms

i. Use Case

ii. Use Case Scenario [2]

(c) How can uses cases be related to each other?

Use a diagram to illustrate relationships. [4]

(d) What is a use case realization? [2]

(e) Why is the Use Case View the most important view when modelling Software? [2] (f) A library holds a collection of publications each of which has a title, author and reference number. The library has a several hundred users, but each has a unique number, name and address. A user may request a display of the current list of library books available. A user can have a maximum of three books out on loan at any time. When a borrower returns a book he/she may have to pay a fine if the book is overdue. A user may reserve a book that is currently unavailable. The librarian can add new borrowers to the system and remove existing borrowers. The librarian maintains a list of all publishers in its system. The senior librarian is responsible for deciding on which publications should be purchased. It is possible for the library to hold multiple copies of the same book.

Perform an object-oriented analysis of the system in which you do the following:

i. Construct a suitable use case diagram to illustrate Actors, use cases and relationships. ii. Write a use case description for one use case [8]

Q4 (a) Give an overview of any four of Schneiderman’s principles that should be followed when designing the interface of a system. [2] (b) What is the purpose of the UML sequence diagram? [2] (c) What is meant by each of the following design principles? [2] i. Increase Cohesion where possible ii. Reduce Coupling where possible

(d) Use the diagram to illustrate the meaning of the following modelling terms. [5] i. Guard ii. Lifeline iii. Message iv. Alternative combination fragment v. Self Delegation

(e) What is meant by the term Software Engineering? [2]

(f) In a classic paper entitled “No silver Bullet” Fred Brooks argued that there would be no silver Bullet to solve Software Engineering Problems. At the heart of his argument is the distinction between Accidental and Essential complexity. Distinguish between theses two types of complexity inherent in software development. [2]

(g) What strategy would you use to map the following class diagram into Java Code? [5]

S t a ffM e m b e r

  • s t a ffN a m e
  • s t a ffN o
  • S t a ffS t a r t D a t e

C a m p a i g n

  • a c t u a l c o s t
  • c a m p a i g n F i n i s h d a t e 0.. *0.. * 0.. *0.. *- t i t l e

W o r k D e t a i l s

  • s t a r t D a t e
  • R e s p o n s i b i l i t y

a s s i g n e d t o - - >

Q5 (a) For each of the following, describe the term, identify its symptoms and its effects.

[3] i. Software Rigidity ii. Software Fragility iii. Software Immobility

(b) The OCP Design principle states that a module should be open for extension but closed for modification. How is this achieved through abstraction and polymorphism? Use an example to illustrate your answer. [6]

(c) Explain the motivation behind the dependency inversion principle (DIP). [2]

(d) For any two^ of the following design principles outline the motivation behind its use. [4] The common closure principle(CCP) The common Reuse principle (CRP) The Acyclic dependencies principle(ADP) (e) Explain what the following terms mean and how they are modeled in UML. [3] i. Component ii. Required Interface iii. Provided Interface. (f) What is the purpose of a UML package diagram? [2]

EN

Q7 (a) What is a design pattern? [2]

(b) What constitutes a design pattern? [2]

(c) How is the abstraction Occurrence pattern applied in the following diagram? [2]

Title

  • name
  • Author
  • Isbn

LibraryItem ** - barCodeNumber

(d) What design problem does the Player Role Pattern address? [2] (e) Using the Player Role pattern model the following problem. [4] A company pays its employees on a weekly basis. The company has four types of employees: salaried who are paid a fixed weekly salary regardless of the number of hours worked; hourly employees, who are paid by the hour and receive overtime pay; commission employees who are paid a percentage of their sales; and salaried- commission employees, who receive a base salary plus a percentage of their sales. It is possible for an employee to change from one type to another.

(f) Give an overview of the following design patterns. In your answer give a description of pattern, a UML diagram to illustrate the pattern and an example of a situation in which it could be applied. [6] i. Observer Pattern ii. Adapter Pattern

(g) Differentiate between a closed and open architecture. How can the Façade pattern be used to realize a closed architecture? [2]