University Assignment: Process Development Methodologies (PRT 453)
VerifiedAdded on 2023/01/18
|20
|2763
|70
Homework Assignment
AI Summary
This assignment solution delves into various process development methodologies relevant to software engineering, addressing key concepts such as Agile methodologies, refactoring techniques, and the implications of technical debt. It explores the application of Brooks' Law in project management and examines design patterns, along with object-oriented programming principles like encapsulation, abstraction, inheritance, and polymorphism. The assignment also covers unit testing, continuous integration, and offers code examples to illustrate the discussed concepts. Furthermore, the solution provides an analysis of code refactoring and offers a refactored code example, along with class diagrams to improve code quality and efficiency. The document is a comprehensive resource for understanding software development processes and best practices.

Running head: PROCESS DEVELOPMENT METHODOLOGIES
Process Development Methodologies
Name of the Student
Name of the University
Author Note:
Process Development Methodologies
Name of the Student
Name of the University
Author Note:
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

1
PROCESS DEVELOPMENT METHODOLOGIES
Table of Contents
Answer to Question 1......................................................................................................................2
Answer to Question 2......................................................................................................................2
Answer to Question 3......................................................................................................................6
Answer to Question 4......................................................................................................................6
Answer to Question 5......................................................................................................................7
Answer to Question 6......................................................................................................................8
Answer to Question 7......................................................................................................................8
Answer to Question 8....................................................................................................................13
Answer to Question 9....................................................................................................................13
References......................................................................................................................................14
PROCESS DEVELOPMENT METHODOLOGIES
Table of Contents
Answer to Question 1......................................................................................................................2
Answer to Question 2......................................................................................................................2
Answer to Question 3......................................................................................................................6
Answer to Question 4......................................................................................................................6
Answer to Question 5......................................................................................................................7
Answer to Question 6......................................................................................................................8
Answer to Question 7......................................................................................................................8
Answer to Question 8....................................................................................................................13
Answer to Question 9....................................................................................................................13
References......................................................................................................................................14

2
PROCESS DEVELOPMENT METHODOLOGIES
Answer to Question 1
a) Team leader of ten software engineering projects is working on an IT project that is
running late. It has been 8 months and the point is clear that project will not be completed
in deadline.
b) Project Manager needs to prepare a Gantt chart for the IT project that will help in
completing in each phase of the project in assigned time (Meyer and Nordio, 2016). If
each and every stage of the project is complete in given time, then the whole project can
be complete in assigned deadline.
c) Brook law is completely referred to man- month a popular concept in project
management for development of software. It is all about measuring the work done by the
person in one month (Bruegge, Krusche and Alperowitz 2015). As per brooks law man-
month is not considered to be valid measurement of effort. Brook’s law is completely
based on the fact that communication is an important factor in software projects. The
work on software project is not easily portioned into isolated and independent task (Porru
et al. 2017). Brook’s law is an observation in software management in which adding
human resources to software projects can make it late.
Answer to Question 2
Addition of more labor does not become faster in IT projects does not work because of
two reasons:
Task of Programming is not partitionable
PROCESS DEVELOPMENT METHODOLOGIES
Answer to Question 1
a) Team leader of ten software engineering projects is working on an IT project that is
running late. It has been 8 months and the point is clear that project will not be completed
in deadline.
b) Project Manager needs to prepare a Gantt chart for the IT project that will help in
completing in each phase of the project in assigned time (Meyer and Nordio, 2016). If
each and every stage of the project is complete in given time, then the whole project can
be complete in assigned deadline.
c) Brook law is completely referred to man- month a popular concept in project
management for development of software. It is all about measuring the work done by the
person in one month (Bruegge, Krusche and Alperowitz 2015). As per brooks law man-
month is not considered to be valid measurement of effort. Brook’s law is completely
based on the fact that communication is an important factor in software projects. The
work on software project is not easily portioned into isolated and independent task (Porru
et al. 2017). Brook’s law is an observation in software management in which adding
human resources to software projects can make it late.
Answer to Question 2
Addition of more labor does not become faster in IT projects does not work because of
two reasons:
Task of Programming is not partitionable
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

3
PROCESS DEVELOPMENT METHODOLOGIES
Men
Months
Both Men and Method are known to be interchangeable commodity only when a task can
be easily partitioned among the workers that do not have any communication among them
(Braude and Bernstein 2016). The graph for the scenario has been given below:
Fig 1: Graph of Perfectly Partitionable Task
(Source: Month, 2019)
If the given the task cannot be partitioned, then it will have sequential constraints. It
merely highlights the fact that increasing the team will not bring any advantage (Foster et al.
2018). Below the graph, provides an idea with respect to Un-Practitionable task.
PROCESS DEVELOPMENT METHODOLOGIES
Men
Months
Both Men and Method are known to be interchangeable commodity only when a task can
be easily partitioned among the workers that do not have any communication among them
(Braude and Bernstein 2016). The graph for the scenario has been given below:
Fig 1: Graph of Perfectly Partitionable Task
(Source: Month, 2019)
If the given the task cannot be partitioned, then it will have sequential constraints. It
merely highlights the fact that increasing the team will not bring any advantage (Foster et al.
2018). Below the graph, provides an idea with respect to Un-Practitionable task.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

4
PROCESS DEVELOPMENT METHODOLOGIES
Men
Months
Fig 2: Graph of Un-Partitionable Task
(Source: Month, 2019)
Programming that requires communication
There is mainly two kinds of communication that is related to training related and
secondly task related. Real drain is completed related to intercommunication that increases the
overall level of effort by each of the team members (Maalej et al. 2016). Any profit in the
completion saddle can result in increase in overall project communication.
PROCESS DEVELOPMENT METHODOLOGIES
Men
Months
Fig 2: Graph of Un-Partitionable Task
(Source: Month, 2019)
Programming that requires communication
There is mainly two kinds of communication that is related to training related and
secondly task related. Real drain is completed related to intercommunication that increases the
overall level of effort by each of the team members (Maalej et al. 2016). Any profit in the
completion saddle can result in increase in overall project communication.

5
PROCESS DEVELOPMENT METHODOLOGIES
Men
Months
Men
Months
Fig 3: Practitionable Task Requiring Communication
(Source: Month, 2019)
Fig 4: Task requiring Complex communication
(Source: Month, 2019)
PROCESS DEVELOPMENT METHODOLOGIES
Men
Months
Men
Months
Fig 3: Practitionable Task Requiring Communication
(Source: Month, 2019)
Fig 4: Task requiring Complex communication
(Source: Month, 2019)
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

6
PROCESS DEVELOPMENT METHODOLOGIES
Answer to Question 3
a) Refactoring technique can be considered to be a group of methods which is needed for
removing code duplication and look for future improvement (Cruz, da Silva and Capretz
2015). Three of the most well-known refactoring techniques are composing methods,
moving features between objects and lastly organizing data.
b) Technical depth is a good concept in software development which focuses on implied
cost of additional rework by making a choice of much better approach. There are mainly
two categories of technical depth that is intentional and unintentional (Devanbu,
Zimmermann and Bird 2016). Cause of intentional technical debt is time constraint,
source code complexity, business decision, lack of coding standards, junior coder with
minimum skills and lastly lack of planning for future development.
c) There are mainly three steps of action plan in case of identified dirty code like
Planning of requiring software and the requirement of the client in proper way.
Focusing on employment development and proper learning
The need for new technology results in increase in overall productivity along with job
satisfaction.
Modernization of the culture of workplace and focusing on diversity.
Answer to Question 4
a) Agile is known to be a software development method which is very much self-sufficient
and cross-section teams aim to work on the deliveries by the help of iteration. It requires
the method of collecting feedback for collecting data from end user (Fitzgerald and Stol
2017). It is considered to be as one of the widely used and recognized frameworks for
PROCESS DEVELOPMENT METHODOLOGIES
Answer to Question 3
a) Refactoring technique can be considered to be a group of methods which is needed for
removing code duplication and look for future improvement (Cruz, da Silva and Capretz
2015). Three of the most well-known refactoring techniques are composing methods,
moving features between objects and lastly organizing data.
b) Technical depth is a good concept in software development which focuses on implied
cost of additional rework by making a choice of much better approach. There are mainly
two categories of technical depth that is intentional and unintentional (Devanbu,
Zimmermann and Bird 2016). Cause of intentional technical debt is time constraint,
source code complexity, business decision, lack of coding standards, junior coder with
minimum skills and lastly lack of planning for future development.
c) There are mainly three steps of action plan in case of identified dirty code like
Planning of requiring software and the requirement of the client in proper way.
Focusing on employment development and proper learning
The need for new technology results in increase in overall productivity along with job
satisfaction.
Modernization of the culture of workplace and focusing on diversity.
Answer to Question 4
a) Agile is known to be a software development method which is very much self-sufficient
and cross-section teams aim to work on the deliveries by the help of iteration. It requires
the method of collecting feedback for collecting data from end user (Fitzgerald and Stol
2017). It is considered to be as one of the widely used and recognized frameworks for
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

7
PROCESS DEVELOPMENT METHODOLOGIES
software development. In Agile methodology, customers can get proper look and feel of
the progress of project at every stage of iteration.
b) There are large number of day to day activities in Agile software development like
Backlog of products
Sprint
Planning of Sprint
Execution of Sprint
Daily Scrum
Sprint Overview
c) The widely used Agile methodologies are agile scrum methodology, extreme
programming, and Feature driven development.
Agile Scrum Methodology: It is known to be a lightweight project management
framework which is needed for managing iterative and incremental projects.
Feature Driven Development: It is model driven, short process which is completely built
around the software engineering practices like domain modeling and development of features
and ownership of code.
Extreme Programming (XP): It a discipline of delivering high-quality software in much
quicker way.
Answer to Question 5
a) Design Pattern is commonly known to be solution that is time tested for
understanding the design problem (Ko, Latoza and Burnett 2015). The term is
completely related to description of solution that is easily readable It can be stated as
instance of solution that is required for solving problem. Design pattern comes up
PROCESS DEVELOPMENT METHODOLOGIES
software development. In Agile methodology, customers can get proper look and feel of
the progress of project at every stage of iteration.
b) There are large number of day to day activities in Agile software development like
Backlog of products
Sprint
Planning of Sprint
Execution of Sprint
Daily Scrum
Sprint Overview
c) The widely used Agile methodologies are agile scrum methodology, extreme
programming, and Feature driven development.
Agile Scrum Methodology: It is known to be a lightweight project management
framework which is needed for managing iterative and incremental projects.
Feature Driven Development: It is model driven, short process which is completely built
around the software engineering practices like domain modeling and development of features
and ownership of code.
Extreme Programming (XP): It a discipline of delivering high-quality software in much
quicker way.
Answer to Question 5
a) Design Pattern is commonly known to be solution that is time tested for
understanding the design problem (Ko, Latoza and Burnett 2015). The term is
completely related to description of solution that is easily readable It can be stated as
instance of solution that is required for solving problem. Design pattern comes up

8
PROCESS DEVELOPMENT METHODOLOGIES
with two major benefits like they provide the methods to overcome issues with
respect to software development. The solution focus development of highly cohesive
modules that comes up with minimal coupling.
b) Abstract class can easily implement interface by using proper keyword. As there is
abstract, so there is no need for implementation of method (Ye et al. 2016). The best
scenario will be several database classes where the implementation along with some
extra methods for which the implementation differs completely from subclasses.
Answer to Question 6
a) Code refactoring is the method of clarifying and simplifying the design of current code
without making changes in the behavior (Zhang et al. 2016). Extensibility can be defined
as the main reason for refactoring and measuring overall success.
b) Yes, Code refactoring is a method used by developers in software development approach
which is needed for cleaning and editing of previously written codes. The whole process
works without making any changes in the complete function of code.
c) In the very first round, software developments are very much rarely perfect. By the help
of frequent iteration, incorporating rounds are there for user feedback (Dick, Hull and
Jackson 2017). Sentiments are needed for creating products that succeed and meet the
needs of the user.
Answer to Question 7
Encapsulation: Encapsulation can be defined as the method of wrapping of data under
into a single unit. It a mechanism which binds codes and data into single unit (Meyer and
PROCESS DEVELOPMENT METHODOLOGIES
with two major benefits like they provide the methods to overcome issues with
respect to software development. The solution focus development of highly cohesive
modules that comes up with minimal coupling.
b) Abstract class can easily implement interface by using proper keyword. As there is
abstract, so there is no need for implementation of method (Ye et al. 2016). The best
scenario will be several database classes where the implementation along with some
extra methods for which the implementation differs completely from subclasses.
Answer to Question 6
a) Code refactoring is the method of clarifying and simplifying the design of current code
without making changes in the behavior (Zhang et al. 2016). Extensibility can be defined
as the main reason for refactoring and measuring overall success.
b) Yes, Code refactoring is a method used by developers in software development approach
which is needed for cleaning and editing of previously written codes. The whole process
works without making any changes in the complete function of code.
c) In the very first round, software developments are very much rarely perfect. By the help
of frequent iteration, incorporating rounds are there for user feedback (Dick, Hull and
Jackson 2017). Sentiments are needed for creating products that succeed and meet the
needs of the user.
Answer to Question 7
Encapsulation: Encapsulation can be defined as the method of wrapping of data under
into a single unit. It a mechanism which binds codes and data into single unit (Meyer and
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

9
PROCESS DEVELOPMENT METHODOLOGIES
Nordio, 2016). Encapsulation is known to be a protective shield which prevents data from being
accessed by the outside of code.
Fig 5: Encapsulation Example
(Source: Porru et al. 2017)
Abstraction: Abstraction can be stated defined as a property by which only important
parts are displayed to its users (Bruegge, Krusche and Alperowitz 2015). Trivial or non-essential
parts are not displayed to users. It can be stated as looking for identity the needed characteristics
for the objects removing the irrelevant details.
PROCESS DEVELOPMENT METHODOLOGIES
Nordio, 2016). Encapsulation is known to be a protective shield which prevents data from being
accessed by the outside of code.
Fig 5: Encapsulation Example
(Source: Porru et al. 2017)
Abstraction: Abstraction can be stated defined as a property by which only important
parts are displayed to its users (Bruegge, Krusche and Alperowitz 2015). Trivial or non-essential
parts are not displayed to users. It can be stated as looking for identity the needed characteristics
for the objects removing the irrelevant details.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

10
PROCESS DEVELOPMENT METHODOLOGIES
Fig 6: Abstraction example
(Source: Braude and Bernstein 2016)
Inheritance and Polymorphism: Inheritance can be stated as a class which is derived
from an existing class (Foster et al. 2018). While polymorphism is all about dealing with
programs that make decision with respect the methods to be used. It totally depends on the type
of thing it comprises of.
Fig 7: Inheritance example
(Source: Maalej et al. 2016)
Fig 8: Polymorphism Example
(Source: Cruz, da Silva and Capretz 2015)
Access Specifier: Access modifiers are needed for implementing for important option for
Object Oriented Programming which is known to be data hiding (Devanbu, Zimmermann and
PROCESS DEVELOPMENT METHODOLOGIES
Fig 6: Abstraction example
(Source: Braude and Bernstein 2016)
Inheritance and Polymorphism: Inheritance can be stated as a class which is derived
from an existing class (Foster et al. 2018). While polymorphism is all about dealing with
programs that make decision with respect the methods to be used. It totally depends on the type
of thing it comprises of.
Fig 7: Inheritance example
(Source: Maalej et al. 2016)
Fig 8: Polymorphism Example
(Source: Cruz, da Silva and Capretz 2015)
Access Specifier: Access modifiers are needed for implementing for important option for
Object Oriented Programming which is known to be data hiding (Devanbu, Zimmermann and

11
PROCESS DEVELOPMENT METHODOLOGIES
Bird 2016). There are mainly three kind of access modifier like public, private and lastly
protected.
Fig 8: Access Specifier
(Source: Fitzgerald and Stol 2017)
Interface: An interface is known to be reference type in Java. It is considered to be very
much similar to class. It is known to be bunch of abstract methods.
Fig 9: Interface
(Source: Ko, Latoza and Burnett 2015)
Abstract: In Abstract class is considered to have interface for expecting the default
method for implementation. Abstract class can have abstract method without body it can have
methods of implementing it.
PROCESS DEVELOPMENT METHODOLOGIES
Bird 2016). There are mainly three kind of access modifier like public, private and lastly
protected.
Fig 8: Access Specifier
(Source: Fitzgerald and Stol 2017)
Interface: An interface is known to be reference type in Java. It is considered to be very
much similar to class. It is known to be bunch of abstract methods.
Fig 9: Interface
(Source: Ko, Latoza and Burnett 2015)
Abstract: In Abstract class is considered to have interface for expecting the default
method for implementation. Abstract class can have abstract method without body it can have
methods of implementing it.
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide
1 out of 20
Related Documents
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2026 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.



