Вы находитесь на странице: 1из 2

PRT 453 Assignment 1

This assignment needs to be completed and submitted using the learnline submission
point provided for the assignment

Q1 (10 marks) You are the team leader of a team of ten software engineers working on an
important IT 1 year project that has heavy penalties for running late. It is now 8 months into
the project and it is clear that the project will not reach its deadline.

a) One obvious option is to add more staff to the project, explains if you will take up
this option.
b) What other software process options should be considered?
c) Discuss brooks law in relation to the above case?

Q2 (10 marks)

Man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. It implies
that men and months are interchangeable

Explain with graph and example for the following tasks

a) Perfectly partitionable task


b) Unpartitionable task
c) Partitionable task requiring communication
d) Task with complex interrelationships

Q3 (10 marks)

a) Explain any 3 refactoring techniques in detail?


b) Discuss reasons for technical depth?
c) You identified dirty code when working on separate task, detail your plan of action?

Q4 (10 marks)

a) What is Agile and what happens in agile?


b) What are the different roles and their responsibilities/day-to-day activities in agile
software development?
c) Explain any 3 agile methodologies?

Q5 (10 marks)

a) What are design patterns and why we need them?


b) Give an example where you prefer abstract class over interface?

Q6 (10 marks) Explain the following:


1. What is the rationale for refactoring in agile development?
2. Is refactoring just cleaning up code? Explain your answer
3. The key motivations for Iterative Development.

Q7 (10 marks) Explain with examples/code on the following:

1. Encapsulation
2. Abstraction
3. Inheritance & Polymorphism
4. Access specifiers, Interface, Abstract, static

Q8 (10 marks) Explain the following:

1. How unit testing is useful to increase productivity?


2. What is CI and explain benefits?

Q9. (20 marks) Find your own example of where a refactoring to patterns was be used (For
example the Move Creation Knowledge to Factory) refactoring would be used. Please
explain the following

 Explain the details of the scenario


 Explain the pattern your trying to implement and justify your changes
 UML / ER diagram
 Before changes – code snapshot of the skeleton of the classes/methods
 After changes – code snapshot of the skeleton of the classes/methods
 Risk assessment of the changes
 Test Analysis

Please follow the approach/pattern from text book: @Joshua_Kerievsky - Refactoring to Patterns