CAS400 Assignment J021 Ques CBN
CAS400 Assignment J021 Ques CBN
CAS400 Assignment J021 Ques CBN
LEVEL : BACHELOR
ACADEMIC :
FACILITATOR
LEARNING CENTRE :
INSTRUCTIONS TO STUDENTS
2) Plagiarism in all forms is forbidden. Students who submit plagiarised assignment will be
penalised.
Question 1
b) Identify THREE (3) project attributes that agile development model is the best to be
applied.
[6 Marks]
c) Explain the impact of agile adoption on the performance of IT organisations.
[4 Marks]
[Total: 20 Marks]
Question 2
The primary mechanisms behind the Open-Closed Principle are abstraction and polymorphism.
With an appropriate example, elaborate on how both object-oriented concepts can be applied in
order to deliver flexibility, reusability and maintainability.
[10 Marks]
Question 3
The Single Responsibility Principle (SRP) states that a class should have only one reason to
change. It was first cited in this form by Robert C. Martin in an article that later formed a chapter
in his Principles, Patterns, and Practices of Agile Software Development book.
Question 4
Unified Modeling Language (UML) has THREE (3) main kinds of diagrams: Static, Dynamic
and Physical. Briefly explain each of them with an appropriate example.
[15 Marks]
a)
b)
2) Scrum is a lightweight agile project management framework with broad applicability for
managing and controlling iterative and incremental projects of all types.
3) The Crystal methodology is one of the most lightweight, adaptable approaches to software
development.
c) Agile method emphasizes agility and speed in an organization, The main focus is on how to
provide a fast and responsive user experience. Because, in an IT organization, speed is one of the
key factors that determine publication.
- The application of the agile method provides flexibility for developers to add or replace features
according to the requirements.
- The interaction is going well, Agile culture emphasizes collaboration with clients over project
negotiations between the two.
- Able to organize themselves without being tied to a position. Initiative aspects are the main
driving force of this method.
- The application of incremental and iterative principles provides flexibility for the team to work
at a measured speed.
Answer 2:
The primary mechanisms behind the Open/Closed principle are abstraction and polymorphism.
Open/Closed Principle is at the heart of object-oriented design, In object-oriented programming language
(OOPL), it's possible to create abstractions that are fixed and yet represent an unbounded group of
possible behaviors.
It's possible for a module to manipulate an abstraction. Such a module can be closed for modification,
since it depends on an abstraction that is fixed.
Client <<Interface>>
X Client Interface
Server
Y
The image above shows a suitable design in OCP using the STRATEGY pattern which is an abstract
Client Interface is a class with abstract member functions. The Client class uses this abstraction. However,
objects of the Client class will be using objects of the derivative Server class. If we want Client objects to
use a different server class, a new derivative of the Client Interface class can be created. The Client class
can remain unchanged.
Answer 3:
In this design, it can be seen that, if there are changes in the GUI, we should modify the Rectangle class,
then we obliged to test again the other application that attacks the same class. The solution to this problem
is to divide the class in two, so that each class has a unique responsibility.
Rectangle Rectangle
Computational Geometry Geometry GUI
Geometry +area () double:
This design violates SRP. The Rectangle class has two responsibilities.
1.To provide a mathematical model of the geometry of a rectangle.
2.To render the rectangle on a GUI.
Answer 4: